diff options
| author | Weicao-CatilGrass <1992414357@qq.com> | 2026-05-30 17:19:33 +0800 |
|---|---|---|
| committer | Weicao-CatilGrass <1992414357@qq.com> | 2026-05-30 17:19:33 +0800 |
| commit | 4408cc53e044a9c649572991a764f46d247c67bf (patch) | |
| tree | 3885c3bfddb2a53527f533d2096a6f036824b035 /Assets/Scripts | |
| parent | 6820cbf9a79016bb9f437a131af42d46aeb26adc (diff) | |
更新相机部分
1. 增加 Cinemachine
2. 将 Camera Holder 独立成 Prefab
3. 将 CameraHandler 字段 targetTransform 改名为 player 并提至开头
4. CameraHandler 现在会自动绑定 PlayerLocomotion 所在对象 (如果没设置 player)
Diffstat (limited to 'Assets/Scripts')
| -rw-r--r-- | Assets/Scripts/CameraHandler.cs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Assets/Scripts/CameraHandler.cs b/Assets/Scripts/CameraHandler.cs index e170503..b995d93 100644 --- a/Assets/Scripts/CameraHandler.cs +++ b/Assets/Scripts/CameraHandler.cs @@ -8,10 +8,11 @@ namespace DS { public class CameraHandler : MonoBehaviour { + public Transform player; // 跟踪目标(如玩家角色) + // ========== 公开引用 ========== [Header("Camera Transforms")] public Transform cameraTransform; // 摄像机 Transform(子物体) - public Transform targetTransform; // 跟踪目标(如玩家角色) public Transform cameraPivotTransform; // 摄像机枢轴 Transform(用于俯仰旋转) // ========== 私有引用与状态 ========== @@ -57,6 +58,12 @@ namespace DS _defaultPosition = cameraTransform.localPosition.z; // 记录默认 Z 距离 // 忽略层级:8(玩家)、9、10;使用位取反运算 _ignoreLayers = ~(1 << 8 | 1 << 9 | 1 << 10); + + // 自动绑定 PlayerLocomotion + if (player == null) + { + player = FindObjectOfType<PlayerLocomotion>().transform; + } } // ==================================================================== @@ -97,7 +104,7 @@ namespace DS // 使用 SmoothDamp 平滑移动到目标位置 Vector3 targetPosition = Vector3.SmoothDamp( _myTransform.position, - targetTransform.position, + player.position, ref cameraFollowVelocity, delta / followSpeed); |
