aboutsummaryrefslogtreecommitdiff
path: root/Assets
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
parent6820cbf9a79016bb9f437a131af42d46aeb26adc (diff)
更新相机部分
1. 增加 Cinemachine 2. 将 Camera Holder 独立成 Prefab 3. 将 CameraHandler 字段 targetTransform 改名为 player 并提至开头 4. CameraHandler 现在会自动绑定 PlayerLocomotion 所在对象 (如果没设置 player)
Diffstat (limited to 'Assets')
-rw-r--r--Assets/Prefabs/Camera.prefab227
-rw-r--r--Assets/Prefabs/Camera.prefab.meta7
-rw-r--r--Assets/Scenes/SampleScene.unity337
-rw-r--r--Assets/Scripts/CameraHandler.cs11
4 files changed, 328 insertions, 254 deletions
diff --git a/Assets/Prefabs/Camera.prefab b/Assets/Prefabs/Camera.prefab
new file mode 100644
index 0000000..a27cbdf
--- /dev/null
+++ b/Assets/Prefabs/Camera.prefab
@@ -0,0 +1,227 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &2092845032689522800
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8360136777278242030}
+ - component: {fileID: 2643216581844201031}
+ - component: {fileID: 5514224016007798452}
+ - component: {fileID: 3915827422921841680}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8360136777278242030
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092845032689522800}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.3, z: -3.47}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7796844081671490865}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!20 &2643216581844201031
+Camera:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092845032689522800}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 1
+ m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
+ m_projectionMatrixMode: 1
+ m_GateFitMode: 2
+ m_FOVAxisMode: 0
+ m_Iso: 200
+ m_ShutterSpeed: 0.005
+ m_Aperture: 16
+ m_FocusDistance: 10
+ m_FocalLength: 50
+ m_BladeCount: 5
+ m_Curvature: {x: 2, y: 11}
+ m_BarrelClipping: 0.25
+ m_Anamorphism: 0
+ m_SensorSize: {x: 36, y: 24}
+ m_LensShift: {x: 0, y: 0}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: 0.3
+ far clip plane: 1000
+ field of view: 75
+ orthographic: 0
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 1
+ m_AllowMSAA: 1
+ m_AllowDynamicResolution: 0
+ m_ForceIntoRT: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: 0.022
+--- !u!81 &5514224016007798452
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092845032689522800}
+ m_Enabled: 1
+--- !u!114 &3915827422921841680
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2092845032689522800}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_RenderShadows: 1
+ m_RequiresDepthTextureOption: 2
+ m_RequiresOpaqueTextureOption: 2
+ m_CameraType: 0
+ m_Cameras: []
+ m_RendererIndex: -1
+ m_VolumeLayerMask:
+ serializedVersion: 2
+ m_Bits: 1
+ m_VolumeTrigger: {fileID: 0}
+ m_VolumeFrameworkUpdateModeOption: 2
+ m_RenderPostProcessing: 1
+ m_Antialiasing: 0
+ m_AntialiasingQuality: 2
+ m_StopNaN: 0
+ m_Dithering: 0
+ m_ClearDepth: 1
+ m_AllowXRRendering: 1
+ m_AllowHDROutput: 1
+ m_UseScreenCoordOverride: 0
+ m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
+ m_RequiresDepthTexture: 0
+ m_RequiresColorTexture: 0
+ m_Version: 2
+ m_TaaSettings:
+ m_Quality: 3
+ m_FrameInfluence: 0.1
+ m_JitterScale: 1
+ m_MipBias: 0
+ m_VarianceClampScale: 0.9
+ m_ContrastAdaptiveSharpening: 0
+--- !u!1 &2437604724584673593
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4026152251359113875}
+ - component: {fileID: 2366565221016314013}
+ m_Layer: 10
+ m_Name: Camera
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4026152251359113875
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2437604724584673593}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7796844081671490865}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2366565221016314013
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2437604724584673593}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: eb1b68ec627ba6d45a0ea7b392c986b2, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ cameraTransform: {fileID: 8360136777278242030}
+ targetTransform: {fileID: 0}
+ cameraPivotTransform: {fileID: 7796844081671490865}
+ lookSpeed: 0.1
+ followSpeed: 0.1
+ pivotSpeed: 0.03
+ minimumPivot: -35
+ maximumPivot: 35
+ cameraSphereRadius: 0.2
+ cameraCollisionOffSet: 0.2
+ minimumCollisionOffSet: 0.2
+--- !u!1 &7048044712634968914
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7796844081671490865}
+ m_Layer: 10
+ m_Name: Camera Pivot
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7796844081671490865
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7048044712634968914}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.65, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 8360136777278242030}
+ m_Father: {fileID: 4026152251359113875}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Prefabs/Camera.prefab.meta b/Assets/Prefabs/Camera.prefab.meta
new file mode 100644
index 0000000..8021729
--- /dev/null
+++ b/Assets/Prefabs/Camera.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 1b3b02b866aed5e488d324604cd5b357
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity
index fa2de82..08b63c5 100644
--- a/Assets/Scenes/SampleScene.unity
+++ b/Assets/Scenes/SampleScene.unity
@@ -122,12 +122,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
---- !u!4 &166230154 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 1832712451512634858, guid: e605747809f5707438e8bb21e40534e4,
- type: 3}
- m_PrefabInstance: {fileID: 618494597}
- m_PrefabAsset: {fileID: 0}
--- !u!1 &244384876
GameObject:
m_ObjectHideFlags: 0
@@ -160,143 +154,6 @@ Transform:
- {fileID: 475036455}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &330585543
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 330585546}
- - component: {fileID: 330585545}
- - component: {fileID: 330585544}
- - component: {fileID: 330585547}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &330585544
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 330585543}
- m_Enabled: 1
---- !u!20 &330585545
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 330585543}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_Iso: 200
- m_ShutterSpeed: 0.005
- m_Aperture: 16
- m_FocusDistance: 10
- m_FocalLength: 50
- m_BladeCount: 5
- m_Curvature: {x: 2, y: 11}
- m_BarrelClipping: 0.25
- m_Anamorphism: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 75
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &330585546
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 330585543}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 1.3, z: -3.47}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 672788657}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &330585547
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 330585543}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_RenderShadows: 1
- m_RequiresDepthTextureOption: 2
- m_RequiresOpaqueTextureOption: 2
- m_CameraType: 0
- m_Cameras: []
- m_RendererIndex: -1
- m_VolumeLayerMask:
- serializedVersion: 2
- m_Bits: 1
- m_VolumeTrigger: {fileID: 0}
- m_VolumeFrameworkUpdateModeOption: 2
- m_RenderPostProcessing: 1
- m_Antialiasing: 0
- m_AntialiasingQuality: 2
- m_StopNaN: 0
- m_Dithering: 0
- m_ClearDepth: 1
- m_AllowXRRendering: 1
- m_AllowHDROutput: 1
- m_UseScreenCoordOverride: 0
- m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
- m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
- m_RequiresDepthTexture: 0
- m_RequiresColorTexture: 0
- m_Version: 2
- m_TaaSettings:
- m_Quality: 3
- m_FrameInfluence: 0.1
- m_JitterScale: 1
- m_MipBias: 0
- m_VarianceClampScale: 0.9
- m_ContrastAdaptiveSharpening: 0
--- !u!1 &392352792
GameObject:
m_ObjectHideFlags: 0
@@ -446,62 +303,84 @@ MonoBehaviour:
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 1
---- !u!1 &464634225
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 464634227}
- - component: {fileID: 464634226}
- m_Layer: 10
- m_Name: Camera Holder
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &464634226
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 464634225}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: eb1b68ec627ba6d45a0ea7b392c986b2, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- cameraTransform: {fileID: 330585546}
- targetTransform: {fileID: 166230154}
- cameraPivotTransform: {fileID: 672788657}
- lookSpeed: 0.1
- followSpeed: 0.1
- pivotSpeed: 0.03
- minimumPivot: -35
- maximumPivot: 35
- cameraSphereRadius: 0.2
- cameraCollisionOffSet: 0.2
- minimumCollisionOffSet: 0.2
---- !u!4 &464634227
-Transform:
+--- !u!1001 &471398698
+PrefabInstance:
m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 464634225}
serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 672788657}
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2366565221016314013, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: player
+ value:
+ objectReference: {fileID: 1410867615}
+ - target: {fileID: 2366565221016314013, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: targetTransform
+ value:
+ objectReference: {fileID: 1410867615}
+ - target: {fileID: 2437604724584673593, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_Name
+ value: Camera
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4026152251359113875, guid: 1b3b02b866aed5e488d324604cd5b357,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 1b3b02b866aed5e488d324604cd5b357, type: 3}
--- !u!1 &475036454
GameObject:
m_ObjectHideFlags: 0
@@ -607,7 +486,7 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 475036454}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
---- !u!1001 &618494597
+--- !u!1001 &480109298
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@@ -665,26 +544,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 3042037858319377207, guid: e605747809f5707438e8bb21e40534e4,
- type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 3042037858319377207, guid: e605747809f5707438e8bb21e40534e4,
- type: 3}
- propertyPath: m_LocalRotation.x
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 3042037858319377207, guid: e605747809f5707438e8bb21e40534e4,
- type: 3}
- propertyPath: m_LocalRotation.y
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: 3042037858319377207, guid: e605747809f5707438e8bb21e40534e4,
- type: 3}
- propertyPath: m_LocalRotation.z
- value: -0
- objectReference: {fileID: 0}
- target: {fileID: 7492058951075886424, guid: e605747809f5707438e8bb21e40534e4,
type: 3}
propertyPath: m_Name
@@ -695,38 +554,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e605747809f5707438e8bb21e40534e4, type: 3}
---- !u!1 &672788656
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 672788657}
- m_Layer: 10
- m_Name: Camera Pivot
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &672788657
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 672788656}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 1.65, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children:
- - {fileID: 330585546}
- m_Father: {fileID: 464634227}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &832575517
GameObject:
m_ObjectHideFlags: 0
@@ -807,6 +634,12 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!4 &1410867615 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 1832712451512634858, guid: e605747809f5707438e8bb21e40534e4,
+ type: 3}
+ m_PrefabInstance: {fileID: 480109298}
+ m_PrefabAsset: {fileID: 0}
--- !u!1 &1696157891
GameObject:
m_ObjectHideFlags: 0
@@ -951,9 +784,9 @@ SceneRoots:
- {fileID: 410087041}
- {fileID: 832575519}
- {fileID: 1696157895}
- - {fileID: 464634227}
- {fileID: 244384877}
- {fileID: 972458805}
- {fileID: 2145279731}
- {fileID: 392352793}
- - {fileID: 618494597}
+ - {fileID: 480109298}
+ - {fileID: 471398698}
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);