Introduce a free-fly camera as the next entry in the Tab mode cycle (Player Control -> Paint -> Free Cam): - FreeCamController: dedicated CinemachineCamera plus a CharacterController mirroring the player capsule (radius 0.1, height 1.3, slope 59, step 0.15) so the free camera collides with walls/ceiling/floor exactly like the player. WASD/Q-E (and Space/Ctrl) fly relative to view; mouse looks. - FreeCamMode: plain-C# GameMode mirroring PaintMode, with an Exit() that restores camera priority and re-enables player control + camera input. - GameModeManager: register freeCam in the Tab cycle (gated like player). - Scene: FreeCamera object wired, Main Camera custom blends (0.4s) for the vcam priority hand-off. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
733 B
Plaintext
27 lines
733 B
Plaintext
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!114 &11400000
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 36baaa8bdcb9d8b49b9199833965d2c3, type: 3}
|
|
m_Name: Main Camera Custom Blends
|
|
m_EditorClassIdentifier: Unity.Cinemachine::Unity.Cinemachine.CinemachineBlenderSettings
|
|
CustomBlends:
|
|
- From: '**ANY CAMERA**'
|
|
To: '**ANY CAMERA**'
|
|
Blend:
|
|
Style: 1
|
|
Time: 0.4
|
|
CustomCurve:
|
|
serializedVersion: 2
|
|
m_Curve: []
|
|
m_PreInfinity: 0
|
|
m_PostInfinity: 0
|
|
m_RotationOrder: 0
|