参考网址:https://unity3d.com/cn/learn/tutorials/projects/roll-ball-tutorial/moving-camera?playlist=17141
https://unity3d.com/cn/learn/tutorials/projects/roll-ball-tutorial/moving-camera?playlist=17141
实现结果: Camera跟随player小球移动
代码:
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class CameraController : MonoBehaviour 6 { 7 public GameObject mPlayerball = null; 8 private Vector3 mCameraOffsetVec = Vector3.zero; 9 10 private void Start() 11 { 12 if (mPlayerball != null) 13 { 14 mCameraOffsetVec = transform.position - mPlayerball.transform.position; 15 } 16 } 17 18 private void LateUpdate() 19 { 20 if (mPlayerball != null) 21 { 22 transform.position = mPlayerball.transform.position + mCameraOffsetVec; 23 } 24 } 25 }
总结:针对LateUpdate:
-
However, for follow cameras, procedural animation,and gathering last known states it's best to use LateUpdate. LateUpdate runs every frame, just like update.But it is guaranteed to run after all items have been processed in update.
LateUpdate在所有脚本的Update之后执行。
针对Update之后进行最后的数据处理。例如:摄像机跟随、代码动画、获取最终状态。