【问题标题】:Unity, how to get Camera angle WidthUnity,如何获得相机角度宽度
【发布时间】:2018-01-28 09:42:30
【问题描述】:

我正在制作必须在屏幕上对所有敌人设置目标数量的游戏。
我找不到像 IsInsideCameraView(gameObject) 这样的函数

现在我正在尝试扫描相机所看到的区域。 为此,我需要相机角度宽度,角度高度。 As described in this emage(我的名气不够直接展示图片)

我的问题与 How to get angles value of perspective camera in Three.js? 类似,但针对 Unity。

如果你知道
如何计算相机宽度和高度(统一开始时遵循屏幕尺寸)或
有没有像 IsInsideCameraView(Camera, gameObject) 这样的好功能
欢迎任何答案。

【问题讨论】:

  • 没有“相机宽度”这样的东西。有视口宽度

标签: c# unity3d camera width


【解决方案1】:

[未经测试。 Javascript] 您可以使用renderer.isVisible 来确定对象是否在相机截锥体内。

【讨论】:

    【解决方案2】:

    我找不到像 IsInsideCameraView(gameObject) 这样的函数

    你可以使用:

    object.Renderer.isVisible
    

    ...检查对象是否在任何相机中可见。

    要测试特定相机,请使用:

    Vector3 screenPos = camera.WorldToScreenPoint(target.position);
    

    然后检查XY坐标是否在(0,0)和Screen.widthScreen.height之间。

    如何计算相机的宽度和高度

    这就是 Camera.pixelWidthCamera.pixelHeight 的用途,或者您可以将 Screen.widthScreen.height 用于代表整个屏幕的摄像头。

    无论如何,这可以说是一个XY问题,请参阅我的答案的开头以获得直接解决方案。

    告诉我更多

    【讨论】:

    • 哇,我好像错过了有用的功能。谢谢你的回答
    • 信息给其他人。直接访问“渲染器”已过时。需要使用 object.GetComponent().isVisible
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多