【问题标题】:Prefab / GameObject as CameraPrefab / GameObject 作为相机
【发布时间】:2018-01-21 23:53:17
【问题描述】:

我允许用户在检查器中拖放一个相机预制件,但是当我尝试在下面的 sn-p 中使用它时,我得到一个错误,我明白为什么(Camera 类型的变量方法中需要),但我似乎找不到将其投射为相机的正确方法。

我查看了各种可用的方法,看看是否有使用 . 或使用 as CameraGetComponent<Camera> 进行投射的方法,但我尝试的所有变体都不起作用。

当我使用这些关键字进行谷歌搜索时(unity cast prefab gameobject camera as camera)我没有找到关于此的先前问题。有人可以帮我理解我该怎么做吗?

public GameObject myCamera;
planes = GeometryUtility.CalculateFrustumPlanes(myCamera);

【问题讨论】:

  • 当您尝试GetComponent<Camera> 时会发生什么?
  • 当我尝试GeometryUtility.CalculateFrustumPlanes(_renderCamera.GetComponent<Camera>) 我得到The best overloaded method match for UnityEngine.GeometryUtility.CalculateFrustumPlanes(UnityEngine.Camera) has some invalid argumentsArgument #1 cannot convert method group expression to type UnityEngine.Camera
  • 应该是GeometryUtility.CalculateFrustumPlanes(_renderCamera.GetComp‌​onent<Camera>())。注意<Camera> 后面的(),因为那是一个函数。
  • 不客气!
  • 应该可以。如果没有,请提出一个新问题,解释附在哪里。或许也有截图。

标签: c# unity3d


【解决方案1】:

你可以用这个

public Camera myCamera;
planes = GeometryUtility.CalculateFrustumPlanes(myCamera);

或:

public GameObject myCamera;
planes = GeometryUtility.CalculateFrustumPlanes(myCamera.GetComponent<Camera>());

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多