public class Test : MonoBehaviour
{
public GameObject PrefabObj; //预设
public Transform Cube1; //加载后眼睛面向的方向和位置
Transform m_head; //头部相机
GameObject m_CmaeraRig; //加载后的对象
void Start()
{
m_CmaeraRig = Instantiate(PrefabObj) as GameObject;
m_head = m_CmaeraRig.transform.FindChild("Camera (head)");
StartCoroutine(SetTransform());
}
float f;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SetCameraRigTransform();
}
}
IEnumerator SetTransform()
{
//加载进来之后需要给一段时间让它初始化
yield return new WaitForSeconds(0.03f);
SetCameraRigTransform();
}
/// <summary>
/// 设置CameraRig的变换
/// </summary>
void SetCameraRigTransform()
{
m_CmaeraRig.transform.position = Cube1.position;
f = Cube1.eulerAngles.y - m_head.localEulerAngles.y;
if (f > 360) f -= 360;
if (f < 0) f += 360;
m_CmaeraRig.transform.rotation = Quaternion.Euler(new Vector3(Cube1.eulerAngles.x, f, Cube1.eulerAngles.z));
}
}
SteamVR动态加载后固定视角
最新推荐文章于 2025-01-19 00:00:00 发布