aboutsummaryrefslogtreecommitdiff
path: root/Assets/Scripts/CameraHandler.cs
diff options
context:
space:
mode:
authorWeicao-CatilGrass <1992414357@qq.com>2026-05-30 17:19:33 +0800
committerWeicao-CatilGrass <1992414357@qq.com>2026-05-30 17:19:33 +0800
commit4408cc53e044a9c649572991a764f46d247c67bf (patch)
tree3885c3bfddb2a53527f533d2096a6f036824b035 /Assets/Scripts/CameraHandler.cs
parent6820cbf9a79016bb9f437a131af42d46aeb26adc (diff)
更新相机部分
1. 增加 Cinemachine 2. 将 Camera Holder 独立成 Prefab 3. 将 CameraHandler 字段 targetTransform 改名为 player 并提至开头 4. CameraHandler 现在会自动绑定 PlayerLocomotion 所在对象 (如果没设置 player)
Diffstat (limited to 'Assets/Scripts/CameraHandler.cs')
-rw-r--r--Assets/Scripts/CameraHandler.cs11
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);