- Camera follower will now track the upper-midsections of VRChat players.
- Camera tracking now has a follow speed setting. - Camera anchor FOV scaler is now a separate object. - Camera overlays now overlay properly once again. - Implemented a much better check for whether a camera was detached. - Improved code that detects when a game is over, and why it ended. - Tweaked ending camera animation timing.
This commit is contained in:
parent
6b376463ba
commit
0b6a8440fc
@ -19,7 +19,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 28.591, y: -90, z: 0}
|
||||
value: {x: 43.82, y: -90, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
@ -71,26 +71,26 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 1, y: 1, z: 0.22346}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
value: {x: 1, y: 1, z: 0.4}
|
||||
inSlope: {x: 0, y: 0, z: 0.847138}
|
||||
outSlope: {x: 0, y: 0, z: 0.847138}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.04411765}
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0.062066503}
|
||||
outSlope: {x: 0, y: 0, z: 0.062066503}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.08137256}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
@ -119,7 +119,7 @@ AnimationClip:
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 317110899
|
||||
path: 1531435860
|
||||
attribute: 3
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
@ -245,7 +245,7 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 28.591
|
||||
value: 43.82
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
@ -355,7 +355,7 @@ AnimationClip:
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.x
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
@ -385,7 +385,7 @@ AnimationClip:
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.y
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
@ -395,27 +395,27 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0.22346
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
value: 0.4
|
||||
inSlope: 0.847138
|
||||
outSlope: 0.847138
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
outWeight: 0.04411765
|
||||
- serializedVersion: 3
|
||||
time: 2
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
inSlope: 0.062066503
|
||||
outSlope: 0.062066503
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
inWeight: 0.08137256
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.z
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
|
||||
@ -27,7 +27,7 @@ AnimationClip:
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: {x: 15.834, y: -90, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: -0.0000085965, y: 0, z: 0}
|
||||
@ -62,7 +62,7 @@ AnimationClip:
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: {x: -15, y: 0.25, z: 1.04}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0.11348749, z: 0}
|
||||
@ -96,10 +96,19 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 4.5
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves: []
|
||||
m_SampleRate: 60
|
||||
@ -128,7 +137,7 @@ AnimationClip:
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
- serializedVersion: 2
|
||||
path: 317110899
|
||||
path: 1531435860
|
||||
attribute: 3
|
||||
script: {fileID: 0}
|
||||
typeID: 4
|
||||
@ -172,7 +181,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: -15
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -211,7 +220,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: 0.25
|
||||
inSlope: 0
|
||||
outSlope: 0.11348749
|
||||
@ -250,7 +259,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: 1.04
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -289,7 +298,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: 15.834
|
||||
inSlope: 0
|
||||
outSlope: -0.0000085965
|
||||
@ -328,7 +337,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: -90
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -367,7 +376,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.5
|
||||
time: 0.33333334
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@ -405,11 +414,20 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 4.5
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.x
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
@ -426,11 +444,20 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 4.5
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.y
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
@ -447,11 +474,20 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 4.5
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalScale.z
|
||||
path: Overhead Camera Anchor/Camera Root
|
||||
path: Overhead Camera Anchor/Camera FOV Scaler
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
flags: 0
|
||||
@ -463,7 +499,7 @@ AnimationClip:
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.x
|
||||
attribute: m_LocalEulerAngles.z
|
||||
path: Overhead Camera Anchor
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
@ -487,7 +523,7 @@ AnimationClip:
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
attribute: m_LocalEulerAngles.z
|
||||
attribute: m_LocalEulerAngles.x
|
||||
path: Overhead Camera Anchor
|
||||
classID: 4
|
||||
script: {fileID: 0}
|
||||
|
||||
@ -63,6 +63,7 @@ Transform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6802575006468162178}
|
||||
- {fileID: 4789832517991542133}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1360612188282181879
|
||||
@ -87,11 +88,12 @@ MonoBehaviour:
|
||||
PrefabModifications: []
|
||||
SerializationNodes: []
|
||||
_udonSharpBackingUdonBehaviour: {fileID: 4941474114823655580}
|
||||
CameraSystemManager: {fileID: 0}
|
||||
FOV: 60
|
||||
NearClippingPlane: 0.3
|
||||
FarClippingPlane: 1000
|
||||
CameraRoot: {fileID: 6802575006468162178}
|
||||
FOVChangeObject: {fileID: 0}
|
||||
CameraFOVScaler: {fileID: 4789832517991542133}
|
||||
--- !u!114 &4941474114823655580
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -118,3 +120,34 @@ MonoBehaviour:
|
||||
serializedPublicVariablesBytesString: Ai8AAAAAATIAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAFQAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AAAAAAAYBAAAAAAAAACcBBAAAAHQAeQBwAGUAAWgAAABTAHkAcwB0AGUAbQAuAEMAbwBsAGwAZQBjAHQAaQBvAG4AcwAuAEcAZQBuAGUAcgBpAGMALgBMAGkAcwB0AGAAMQBbAFsAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4ALgBJAG4AdABlAHIAZgBhAGMAZQBzAC4ASQBVAGQAbwBuAFYAYQByAGkAYQBiAGwAZQAsACAAVgBSAEMALgBVAGQAbwBuAC4AQwBvAG0AbQBvAG4AXQBdACwAIABtAHMAYwBvAHIAbABpAGIAAQEJAAAAVgBhAHIAaQBhAGIAbABlAHMALwEAAAABaAAAAFMAeQBzAHQAZQBtAC4AQwBvAGwAbABlAGMAdABpAG8AbgBzAC4ARwBlAG4AZQByAGkAYwAuAEwAaQBzAHQAYAAxAFsAWwBWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAEkAbgB0AGUAcgBmAGEAYwBlAHMALgBJAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlACwAIABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgBdAF0ALAAgAG0AcwBjAG8AcgBsAGkAYgABAAAABgEAAAAAAAAAAi8CAAAAAUkAAABWAFIAQwAuAFUAZABvAG4ALgBDAG8AbQBtAG8AbgAuAFUAZABvAG4AVgBhAHIAaQBhAGIAbABlAGAAMQBbAFsAUwB5AHMAdABlAG0ALgBJAG4AdAAzADIALAAgAG0AcwBjAG8AcgBsAGkAYgBdAF0ALAAgAFYAUgBDAC4AVQBkAG8AbgAuAEMAbwBtAG0AbwBuAAIAAAAGAgAAAAAAAAAnAQQAAAB0AHkAcABlAAEXAAAAUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwAsACAAbQBzAGMAbwByAGwAaQBiACcBCgAAAFMAeQBtAGIAbwBsAE4AYQBtAGUAAR8AAABfAF8AXwBVAGQAbwBuAFMAaABhAHIAcABCAGUAaABhAHYAaQBvAHUAcgBWAGUAcgBzAGkAbwBuAF8AXwBfACcBBAAAAHQAeQBwAGUAARYAAABTAHkAcwB0AGUAbQAuAEkAbgB0ADMAMgAsACAAbQBzAGMAbwByAGwAaQBiABcBBQAAAFYAYQBsAHUAZQACAAAABwUHBQcF
|
||||
publicVariablesUnityEngineObjects: []
|
||||
publicVariablesSerializationDataFormat: 0
|
||||
--- !u!1 &4909882456066066431
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4789832517991542133}
|
||||
m_Layer: 0
|
||||
m_Name: Camera FOV Scaler
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4789832517991542133
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4909882456066066431}
|
||||
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: []
|
||||
m_Father: {fileID: 5462889507286591849}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
||||
@ -1497,7 +1497,7 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 5462889507286591849, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
- targetCorrespondingSourceObject: {fileID: 6802575006468162178, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1300477146}
|
||||
@ -1521,6 +1521,12 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 609222593c2107c47884603707a4071a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &50383832 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6802575006468162178, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 50383829}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &51134226 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 1705145681487634870, guid: e9914385266bca24db809c39e395f03c,
|
||||
@ -9902,7 +9908,7 @@ PrefabInstance:
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 5462889507286591849, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
- targetCorrespondingSourceObject: {fileID: 6802575006468162178, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1528283347}
|
||||
@ -9926,6 +9932,12 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 609222593c2107c47884603707a4071a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &169430330 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6802575006468162178, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 169430327}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &169542778 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 4032262213944914853, guid: be33bc7f6c414e6409becfa348b9310d,
|
||||
@ -33915,8 +33927,8 @@ BoxCollider:
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 4.936206, y: 4.318262, z: 9.658502}
|
||||
m_Center: {x: -0.93300486, y: 1.659131, z: -0.4586978}
|
||||
m_Size: {x: 4.647025, y: 4.318262, z: 9.658502}
|
||||
m_Center: {x: -0.7884145, y: 1.659131, z: -0.4586978}
|
||||
--- !u!1 &792054283 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 2410518288693767928, guid: 6587765855cbbb94c8cc3eb80d5956d6,
|
||||
@ -52329,12 +52341,12 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1300477145}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0.00000003090862, y: 0.70710677, z: -0.70710677, w: -0.00000003090862}
|
||||
m_LocalPosition: {x: 0, y: -0, z: 0.321}
|
||||
m_LocalScale: {x: 0.027999999, y: 1.1199999, z: 0.021000003}
|
||||
m_LocalRotation: {x: -0.000000044703484, y: 0.7071068, z: -0.7071068, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.32099998}
|
||||
m_LocalScale: {x: 0.028, y: 1.1199996, z: 0.020999996}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 50383830}
|
||||
m_Father: {fileID: 50383832}
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180}
|
||||
--- !u!23 &1300477147
|
||||
MeshRenderer:
|
||||
@ -53707,8 +53719,8 @@ BoxCollider:
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.8664986, y: 4.318262, z: 9.658502}
|
||||
m_Center: {x: -0.07990724, y: 1.659131, z: -0.4586978}
|
||||
m_Size: {x: 1.9585377, y: 4.318262, z: 9.658502}
|
||||
m_Center: {x: 0.46611232, y: 1.659131, z: -0.4586978}
|
||||
--- !u!1 &1331320732
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -64878,12 +64890,12 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1528283344}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0}
|
||||
m_LocalPosition: {x: -0, y: -0, z: 0.406}
|
||||
m_LocalScale: {x: 0.024999999, y: 1, z: 0.018750004}
|
||||
m_LocalRotation: {x: -0.000000007450581, y: -0.7071068, z: 0.7071068, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0.406}
|
||||
m_LocalScale: {x: 0.025, y: 1, z: 0.018750004}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 169430328}
|
||||
m_Father: {fileID: 169430330}
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180}
|
||||
--- !u!1 &1528591628 stripped
|
||||
GameObject:
|
||||
@ -69639,6 +69651,11 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: Player 1 Camera Anchor
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4789832517991542133, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5462889507286591849, guid: b7be9e74a7f7fe24cb526bc367e85829,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
|
||||
@ -44,7 +44,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 10
|
||||
Data: 12
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
@ -329,7 +329,7 @@ MonoBehaviour:
|
||||
Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 3
|
||||
Data: 2
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 21|UnityEngine.SpaceAttribute, UnityEngine.CoreModule
|
||||
@ -341,7 +341,61 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 22|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
|
||||
Data: 22|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: CameraFOVScaler
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: CameraFOVScaler
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 19
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 19
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
- Name:
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 2
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 25|UnityEngine.TooltipAttribute, UnityEngine.CoreModule
|
||||
- Name: tooltip
|
||||
Entry: 1
|
||||
Data: Changing the Z scale of this object will change the FOV of the attached
|
||||
@ -351,7 +405,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 23|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 26|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@ -375,13 +429,13 @@ MonoBehaviour:
|
||||
Data: _AttachedCameraIndex
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _AttachedCameraIndex
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 25|System.RuntimeType, mscorlib
|
||||
Data: 28|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Int32, mscorlib
|
||||
@ -390,7 +444,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Data: 28
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@ -405,13 +459,13 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 27|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
Data: 30|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@ -433,72 +487,18 @@ MonoBehaviour:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _AttachedCamera
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _AttachedCamera
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 29|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: UnityEngine.Camera, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 29
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
- Name:
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _FollowedPlayerNames
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _FollowedPlayerNames
|
||||
Data: _AttachedCamera
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 32|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.String[], mscorlib
|
||||
Data: UnityEngine.Camera, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@ -540,19 +540,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _FollowedPlayerNames_Cache
|
||||
Data: _FollowedPlayerNames
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _FollowedPlayerNames_Cache
|
||||
Data: _FollowedPlayerNames
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 32
|
||||
Entry: 7
|
||||
Data: 35|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.String[], mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 32
|
||||
Data: 35
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@ -567,7 +573,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 35|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
@ -588,25 +594,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _FollowedPlayers
|
||||
Data: _FollowedPlayerNames_Cache
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _FollowedPlayers
|
||||
Data: _FollowedPlayerNames_Cache
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 37|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCPlayerApi[], VRCSDKBase
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 35
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 37
|
||||
Data: 35
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@ -637,6 +637,108 @@ MonoBehaviour:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _FollowedPlayers
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _FollowedPlayers
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 40|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDKBase.VRCPlayerApi[], VRCSDKBase
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 40
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
- Name:
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CameraFollowSpeed
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CameraFollowSpeed
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 8
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
- Name:
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 43|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
using CameraSystem;
|
||||
using MMMaellon.LightSync;
|
||||
using UdonSharp;
|
||||
using UnityEditor.Overlays;
|
||||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
using VRC.Udon.Common;
|
||||
@ -17,8 +16,9 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
[SerializeField] private float NearClippingPlane = 0.3f;
|
||||
[SerializeField] private float FarClippingPlane = 1000.0f;
|
||||
[Space]
|
||||
[Tooltip("Changing the Z scale of this object will change the FOV of the attached camera.")]
|
||||
[SerializeField] private Transform CameraRoot;
|
||||
[Tooltip("Changing the Z scale of this object will change the FOV of the attached camera.")]
|
||||
[SerializeField] private Transform CameraFOVScaler;
|
||||
|
||||
[UdonSynced] private int _AttachedCameraIndex = -1;
|
||||
|
||||
@ -26,19 +26,23 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
private string[] _FollowedPlayerNames = new string[0];
|
||||
private string[] _FollowedPlayerNames_Cache = new string[0];
|
||||
private VRCPlayerApi[] _FollowedPlayers = new VRCPlayerApi[0];
|
||||
private float _CameraFollowSpeed = 1.0f;
|
||||
|
||||
|
||||
void LateUpdate()
|
||||
void Update()
|
||||
{
|
||||
if (_AttachedCamera)
|
||||
{
|
||||
if (CameraRoot.childCount <= 0)
|
||||
if (_AttachedCamera.transform.parent != CameraRoot)
|
||||
{
|
||||
Debug.Log("[CameraAnchor] Camera has been detached from " + gameObject.name + ".");
|
||||
_AttachedCamera = null;
|
||||
_AttachedCameraIndex = -1;
|
||||
RequestSerialization();
|
||||
}
|
||||
else
|
||||
{
|
||||
_AttachedCamera.fieldOfView = FOV * CameraRoot.transform.localScale.z;
|
||||
_AttachedCamera.fieldOfView = FOV * CameraFOVScaler.transform.localScale.z;
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,8 +61,15 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
(LeftEyePosition.y + RightEyePosition.y + LeftFootPosition.y + RightFootPosition.y) / 4.0f,
|
||||
(LeftEyePosition.z + RightEyePosition.z + LeftFootPosition.z + RightFootPosition.z) / 4.0f);
|
||||
}
|
||||
Vector3 CentroidAverage = CentroidSum / _FollowedPlayers.Length;
|
||||
|
||||
CameraRoot.LookAt(CentroidSum / _FollowedPlayers.Length, Vector3.up);
|
||||
Vector3 LookDirection = (CentroidAverage - transform.position).normalized;
|
||||
CameraRoot.transform.rotation = Quaternion.LookRotation(
|
||||
Vector3.Lerp(
|
||||
CameraRoot.transform.forward,
|
||||
Vector3.RotateTowards(CameraRoot.transform.forward, LookDirection, 10.0f, 0.0f),
|
||||
_CameraFollowSpeed / 10.0f)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -66,6 +77,7 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void OnDeserialization(DeserializationResult Result)
|
||||
{
|
||||
_AttachCamera_Synced();
|
||||
@ -74,6 +86,19 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
base.OnDeserialization(Result);
|
||||
}
|
||||
|
||||
public override void OnPlayerLeft(VRCPlayerApi LeavingPlayer)
|
||||
{
|
||||
//foreach (VRCPlayerApi FollowedPlayer in _FollowedPlayers)
|
||||
//{
|
||||
// if (FollowedPlayer.displayName == LeavingPlayer.displayName)
|
||||
// {
|
||||
|
||||
// }
|
||||
//}
|
||||
|
||||
base.OnPlayerLeft(LeavingPlayer);
|
||||
}
|
||||
|
||||
|
||||
public void AttachCamera(Camera CameraComponent)
|
||||
{
|
||||
@ -96,9 +121,10 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
public void FollowPlayers(string[] Players)
|
||||
public void FollowPlayers(string[] Players, float FollowSpeed = 1.0f)
|
||||
{
|
||||
_FollowedPlayerNames = Players;
|
||||
_CameraFollowSpeed = FollowSpeed;
|
||||
_FollowPlayers_Synced();
|
||||
RequestSerialization();
|
||||
}
|
||||
@ -113,16 +139,19 @@ public class CameraAnchor : UdonSharpBehaviour
|
||||
|
||||
private void _AttachCamera_Synced()
|
||||
{
|
||||
Camera NewCamera = CameraSystemManager.camerasObjects[_AttachedCameraIndex];
|
||||
if (NewCamera != _AttachedCamera)
|
||||
if (_AttachedCameraIndex >= 0)
|
||||
{
|
||||
_AttachedCamera = NewCamera;
|
||||
_AttachedCamera.gameObject.SetActive(true);
|
||||
_AttachedCamera.transform.parent = CameraRoot;
|
||||
_AttachedCamera.fieldOfView = FOV;
|
||||
_AttachedCamera.nearClipPlane = NearClippingPlane;
|
||||
_AttachedCamera.farClipPlane = FarClippingPlane;
|
||||
_AttachedCamera.GetComponent<LightSync>().TeleportToLocalSpace(Vector3.zero, Quaternion.identity, true);
|
||||
Camera NewCamera = CameraSystemManager.camerasObjects[_AttachedCameraIndex];
|
||||
if (NewCamera != _AttachedCamera)
|
||||
{
|
||||
_AttachedCamera = NewCamera;
|
||||
_AttachedCamera.gameObject.SetActive(true);
|
||||
_AttachedCamera.transform.parent = CameraRoot;
|
||||
_AttachedCamera.fieldOfView = FOV;
|
||||
_AttachedCamera.nearClipPlane = NearClippingPlane;
|
||||
_AttachedCamera.farClipPlane = FarClippingPlane;
|
||||
_AttachedCamera.GetComponent<LightSync>().TeleportToLocalSpace(Vector3.zero, Quaternion.identity, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -117,18 +117,18 @@ public class CameraControllerRound3 : CameraControllerBase
|
||||
}
|
||||
|
||||
|
||||
public void OverheadCamera_FollowPlayers(string[] Players)
|
||||
public void OverheadCamera_FollowPlayers(string[] Players, float FollowSpeed = 1.0f)
|
||||
{
|
||||
OverheadCameraAnchor.FollowPlayers(Players);
|
||||
OverheadCameraAnchor.FollowPlayers(Players, FollowSpeed);
|
||||
}
|
||||
public void OverheadCamera_StopFollowingPlayers()
|
||||
{
|
||||
OverheadCameraAnchor.StopFollowingPlayers();
|
||||
}
|
||||
|
||||
public void FrontCamera_FollowPlayers(string[] Players)
|
||||
public void FrontCamera_FollowPlayers(string[] Players, float FollowSpeed = 1.0f)
|
||||
{
|
||||
FrontCameraAnchor.FollowPlayers(Players);
|
||||
FrontCameraAnchor.FollowPlayers(Players, FollowSpeed);
|
||||
}
|
||||
public void FrontCamera_StopFollowingPlayers()
|
||||
{
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Video;
|
||||
using VRC.SDK3.Data;
|
||||
using VRC.SDK3.UdonNetworkCalling;
|
||||
using VRC.SDKBase;
|
||||
@ -96,6 +95,8 @@ public class GameManagerRound3 : GameManagerBase
|
||||
|
||||
_CameraControllerRound3.InitialiseCameras();
|
||||
_CameraControllerRound3.PlayIFeelGood(true);
|
||||
DeinitialiseGameplayCameraFollowers();
|
||||
DeinitialiseEndingCameraFollowers();
|
||||
|
||||
RequestSerialization();
|
||||
}
|
||||
@ -200,6 +201,8 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_CameraControllerRound3.DisableAllSwitchers();
|
||||
_CameraControllerRound3.HostPlayerTimerToggle.Activate = false;
|
||||
_CameraControllerRound3.ActivatePlayfieldSwitchTriggerGroup = true;
|
||||
InitialiseGameplayCameraFollowers();
|
||||
|
||||
GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true);
|
||||
|
||||
_EndingPlayer.LoadRandomVideo();
|
||||
@ -231,7 +234,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_Timer--;
|
||||
if (_Timer < 0)
|
||||
{
|
||||
SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameHasBeenLost), false);
|
||||
SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameIsOver), false, false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -252,7 +255,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
SuccessCounter++;
|
||||
if (SuccessCounter >= MAX_SUCCESS_COUNT)
|
||||
{
|
||||
GameHasBeenWon();
|
||||
GameIsOver(true, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -323,7 +326,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
if (ActiveMarker >= FloorMap.MAX_SELECTED_COUNTRIES)
|
||||
{
|
||||
// If we ran out of countries, lose the game here.
|
||||
SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameHasBeenLost), true);
|
||||
SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameIsOver), false, true);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -335,7 +338,21 @@ public class GameManagerRound3 : GameManagerBase
|
||||
}
|
||||
|
||||
[NetworkCallable]
|
||||
public void GameHasBeenWon()
|
||||
public void GameIsOver(bool GameWon, bool HaveWeRunOutOfMarkers)
|
||||
{
|
||||
if (GameWon)
|
||||
{
|
||||
_GameHasBeenWon();
|
||||
}
|
||||
else
|
||||
{
|
||||
_GameHasBeenLost(HaveWeRunOutOfMarkers);
|
||||
}
|
||||
|
||||
InitialiseEndingCameraFollowers();
|
||||
}
|
||||
|
||||
private void _GameHasBeenWon()
|
||||
{
|
||||
_RunTimer = false;
|
||||
|
||||
@ -380,18 +397,17 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_NewspaperPublicDisplay.Activate(true);
|
||||
}
|
||||
|
||||
[NetworkCallable]
|
||||
public void GameHasBeenLost(bool RanOutOfMarkers)
|
||||
private void _GameHasBeenLost(bool HaveWeRunOutOfMarkers)
|
||||
{
|
||||
_RunTimer = false;
|
||||
|
||||
if (_GameStatus == GameStatus.Begin)
|
||||
{
|
||||
GameStatusUpdate(RanOutOfMarkers ? GameStatus.RanOutOfMarkers : GameStatus.RanOutOfTime);
|
||||
GameStatusUpdate(HaveWeRunOutOfMarkers ? GameStatus.RanOutOfMarkers : GameStatus.RanOutOfTime);
|
||||
|
||||
HostCardBetweenRoundsInterface GameLossInterface =
|
||||
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
|
||||
GameLossInterface.HeaderUI.text = "The player has run out of " + (RanOutOfMarkers ? "markers" : "time") + ".";
|
||||
GameLossInterface.HeaderUI.text = "The player has run out of " + (HaveWeRunOutOfMarkers ? "markers" : "time") + ".";
|
||||
GameLossInterface.CommentUI.text =
|
||||
"- Found " + SuccessCounter + " countries in " + TIMER_LENGTH + " seconds.\n\n" +
|
||||
"- There's one more thing I want you to do for us. You know what it is...";
|
||||
@ -477,7 +493,7 @@ public class GameManagerRound3 : GameManagerBase
|
||||
_EndingPlayer.PlayVideo = false;
|
||||
_AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, "FadeOutMusic");
|
||||
|
||||
_CameraControllerRound3.SwitchToOverheadCamera();
|
||||
_CameraControllerRound3.SwitchToFrontCamera();
|
||||
_CameraControllerRound3.DeinitialiseCameras();
|
||||
|
||||
_CaseManager.EndGame();
|
||||
@ -546,6 +562,30 @@ public class GameManagerRound3 : GameManagerBase
|
||||
return CurrentWinner[0];
|
||||
}
|
||||
|
||||
private void InitialiseGameplayCameraFollowers()
|
||||
{
|
||||
_CameraControllerRound3.FrontCamera_FollowPlayers(new string[1] { GetRound3PlayerName() });
|
||||
}
|
||||
private void DeinitialiseGameplayCameraFollowers()
|
||||
{
|
||||
_CameraControllerRound3.FrontCamera_StopFollowingPlayers();
|
||||
}
|
||||
|
||||
private void InitialiseEndingCameraFollowers()
|
||||
{
|
||||
string[] PlayerFollows = new string[2] {
|
||||
_CaseManager.GetHostOwner().displayName,
|
||||
GetRound3PlayerName()
|
||||
};
|
||||
|
||||
_CameraControllerRound3.FrontCamera_FollowPlayers(PlayerFollows);
|
||||
_CameraControllerRound3.OverheadCamera_FollowPlayers(PlayerFollows);
|
||||
}
|
||||
private void DeinitialiseEndingCameraFollowers()
|
||||
{
|
||||
_CameraControllerRound3.OverheadCamera_StopFollowingPlayers();
|
||||
}
|
||||
|
||||
|
||||
protected override HostCardInterfaceBase GetHostCardInterface(RoundSegmentType Question)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user