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 | |
| parent | 6820cbf9a79016bb9f437a131af42d46aeb26adc (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.prefab | 227 | ||||
| -rw-r--r-- | Assets/Prefabs/Camera.prefab.meta | 7 | ||||
| -rw-r--r-- | Assets/Scenes/SampleScene.unity | 337 | ||||
| -rw-r--r-- | Assets/Scripts/CameraHandler.cs | 11 |
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); |
