如何在 Unity / C# 中访问 Cinemachine 的相机距离值?
Posted
技术标签:
【中文标题】如何在 Unity / C# 中访问 Cinemachine 的相机距离值?【英文标题】:How to access the value of cinemachine's camera distance in Unity / C#? 【发布时间】:2021-10-11 03:44:00 【问题描述】:我现在正在使用 Unity/C#,并且一直无法在脚本中访问 CinemachineVirtualCamera 的相机距离值。我想要做的是改变身体部分的相机距离值。
首先,如何访问这个游戏对象中的 CinemachineVirtualCamera 组件? MoveScript 是我附加到玩家游戏对象的,我想根据玩家的移动缩小相机。由于我正在制作的游戏很小,我不会制作其他.cs文件。
我写的
public class MoveScript: MonoBehaviour
private GameObject camObj;
void Start()
camObj = GameObject.Find("Vertical Follow Camera");
camObj.GetComponent<CinemachineVirtualCamera>(); // <- but I get error saying, The type or namespace name 'CinemachineVirtualCamera' could not be found
我还阅读了this document,我认为m_CameraDistance
是我正在寻找的,但我如何才能访问该值?
【问题讨论】:
【参考方案1】:试试这个,别忘了提到命名空间
public class MoveScript: MonoBehaviour
private CinemachineVirtualCamera virtualCamera;
private GameObject camObj;
void Start()
camObj = GameObject.Find("Vertical Follow Camera");
virtualCamera = camObj.GetComponent<CinemachineVirtualCamera>();
float f = virtualCamera.m_CameraDistance;
【讨论】:
以上是关于如何在 Unity / C# 中访问 Cinemachine 的相机距离值?的主要内容,如果未能解决你的问题,请参考以下文章
Unity、C#、SocketIO:在回调/动作中不可访问的变量、对象、方法
在 Directory<system.String, system.Object> 中按键访问值 - C# Unity Dictionary