From 6e7252e04e1a0c24574ce83fbfb8f8a4e6855405 Mon Sep 17 00:00:00 2001 From: Ali Sharoz Date: Tue, 6 May 2025 19:24:41 +0500 Subject: [PATCH] Client Movement not working --- .../Resources/NetworkProjectConfig.fusion | 2 +- .../PhysicsMaterials/Friction.physicMaterial | 2 +- Assets/Prefabs/Player.prefab | 152 +- Assets/Scenes/Gameplay.unity | 1448 ++++++++++++++++- Assets/Scripts/FusionInputProvider.cs | 3 +- Assets/Scripts/FusionLauncher.cs | 62 +- Assets/Scripts/PlayerCameraSetup.cs | 24 + Assets/Scripts/PlayerCameraSetup.cs.meta | 11 + Assets/Scripts/VehicleController.cs | 149 +- Assets/Scripts/VehicleTracker.cs | 13 +- Assets/Waypoint System/WaypointCircuit.cs | 1 + 11 files changed, 1723 insertions(+), 144 deletions(-) create mode 100644 Assets/Scripts/PlayerCameraSetup.cs create mode 100644 Assets/Scripts/PlayerCameraSetup.cs.meta diff --git a/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion b/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion index 4837814..caf6935 100644 --- a/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion +++ b/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion @@ -19,7 +19,7 @@ "ReplicationFeatures": 1, "InputTransferMode": 0, "SimulationUpdateTimeMode": 0, - "PlayerCount": 10, + "PlayerCount": 2, "TickRateSelection": { "Client": 64, "ServerIndex": 0, diff --git a/Assets/PhysicsMaterials/Friction.physicMaterial b/Assets/PhysicsMaterials/Friction.physicMaterial index e16c3ca..9bb047d 100644 --- a/Assets/PhysicsMaterials/Friction.physicMaterial +++ b/Assets/PhysicsMaterials/Friction.physicMaterial @@ -7,7 +7,7 @@ PhysicMaterial: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Friction - dynamicFriction: 0.069989614 + dynamicFriction: 0.069869936 staticFriction: 1 bounciness: 0.3 frictionCombine: 3 diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index de6b92d..780b247 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -9,7 +9,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3226499851666629583} - m_Layer: 0 + m_Layer: 6 m_Name: Mazda m_TagString: Untagged m_Icon: {fileID: 0} @@ -277,7 +277,7 @@ GameObject: - component: {fileID: 1996295117967270797} - component: {fileID: 6197741949574967842} - component: {fileID: 7521214933862820584} - m_Layer: 0 + m_Layer: 6 m_Name: trunk m_TagString: Untagged m_Icon: {fileID: 0} @@ -5142,7 +5142,7 @@ GameObject: - component: {fileID: 6803286133500254843} - component: {fileID: 1594210206718728218} - component: {fileID: 262702581224657110} - m_Layer: 0 + m_Layer: 6 m_Name: TyreRR m_TagString: Untagged m_Icon: {fileID: 0} @@ -5365,7 +5365,7 @@ GameObject: - component: {fileID: 5064165004536092304} - component: {fileID: 4147676425898162954} - component: {fileID: 1328552291722723726} - m_Layer: 0 + m_Layer: 6 m_Name: back_bumper m_TagString: Untagged m_Icon: {fileID: 0} @@ -5451,7 +5451,7 @@ GameObject: - component: {fileID: 6970494082404099418} - component: {fileID: 6663596786161004473} - component: {fileID: 4965503589446646918} - m_Layer: 0 + m_Layer: 6 m_Name: Car_body m_TagString: Untagged m_Icon: {fileID: 0} @@ -5534,7 +5534,7 @@ GameObject: - component: {fileID: 1672444639989337543} - component: {fileID: 7438406277822851816} - component: {fileID: 6240239830454016561} - m_Layer: 0 + m_Layer: 6 m_Name: Wheel_Back_L m_TagString: Untagged m_Icon: {fileID: 0} @@ -5838,7 +5838,7 @@ GameObject: - component: {fileID: 3232755990715192808} - component: {fileID: 7052088971751748253} - component: {fileID: 2403882921928812561} - m_Layer: 0 + m_Layer: 6 m_Name: hood m_TagString: Untagged m_Icon: {fileID: 0} @@ -5922,7 +5922,7 @@ GameObject: m_Component: - component: {fileID: 2266507765795612964} - component: {fileID: 2918063940594996821} - m_Layer: 0 + m_Layer: 6 m_Name: Collider m_TagString: Untagged m_Icon: {fileID: 0} @@ -6437,7 +6437,9 @@ GameObject: - component: {fileID: 9134473496284358468} - component: {fileID: 8529057636489690899} - component: {fileID: 2057786069090330772} - m_Layer: 0 + - component: {fileID: 3882702838211760068} + - component: {fileID: 3623752505267742778} + m_Layer: 6 m_Name: Car m_TagString: Untagged m_Icon: {fileID: 0} @@ -6634,6 +6636,7 @@ MonoBehaviour: _leadMultiplier: 0.25 _sideOffset: 0 waypointsCircuit: {fileID: 0} + allwaypointCircuits: [] --- !u!114 &2057786069090330772 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6652,6 +6655,46 @@ MonoBehaviour: boostAcceleration: 40 audioVolume: 0.5 boostAudio: {fileID: 0} +--- !u!114 &3882702838211760068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3051241455344466857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1552182283, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: + m_EditorClassIdentifier: + SortKey: 4247044062 + ObjectInterest: 1 + Flags: 1 + NestedObjects: [] + NetworkedBehaviours: + - {fileID: 9134473496284358468} + - {fileID: 8529057636489690899} + - {fileID: 2057786069090330772} + - {fileID: 3623752505267742778} + - {fileID: 8272960029338994865} + ForceRemoteRenderTimeframe: 0 +--- !u!114 &3623752505267742778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3051241455344466857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: + m_EditorClassIdentifier: + _stateAuthorityChangeErrorCorrectionDelta: 0 + SyncScale: 0 + SyncParent: 0 + _autoAOIOverride: 1 + DisableSharedModeInterpolation: 0 --- !u!1 &3067970480224447241 GameObject: m_ObjectHideFlags: 0 @@ -6663,7 +6706,7 @@ GameObject: - component: {fileID: 8680394452251988295} - component: {fileID: 5337483041725024036} - component: {fileID: 6318049027298034118} - m_Layer: 0 + m_Layer: 6 m_Name: Glass_11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -6849,7 +6892,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5232010396526986649} - m_Layer: 0 + - component: {fileID: 8272960029338994865} + m_Layer: 6 m_Name: Car_11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -6884,6 +6928,23 @@ Transform: - {fileID: 3247130376224316042} m_Father: {fileID: 6916985649869243490} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8272960029338994865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3261787744023920864} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 158639473, guid: e725a070cec140c4caffb81624c8c787, type: 3} + m_Name: + m_EditorClassIdentifier: + _stateAuthorityChangeErrorCorrectionDelta: 0 + SyncScale: 0 + SyncParent: 0 + _autoAOIOverride: 1 + DisableSharedModeInterpolation: 0 --- !u!1 &3291397491900579732 GameObject: m_ObjectHideFlags: 0 @@ -6893,7 +6954,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1762526813149383710} - m_Layer: 0 + m_Layer: 6 m_Name: Muscle car_sample (1) m_TagString: Untagged m_Icon: {fileID: 0} @@ -6935,7 +6996,7 @@ GameObject: - component: {fileID: 4488184777392333071} - component: {fileID: 1842507426309031076} - component: {fileID: 8536542080551445843} - m_Layer: 0 + m_Layer: 6 m_Name: Wheel_R m_TagString: Untagged m_Icon: {fileID: 0} @@ -7018,7 +7079,7 @@ GameObject: - component: {fileID: 7015308072600729786} - component: {fileID: 36960728362727297} - component: {fileID: 1647803835742587026} - m_Layer: 0 + m_Layer: 6 m_Name: Body_11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -7101,7 +7162,7 @@ GameObject: - component: {fileID: 4716740515574034154} - component: {fileID: 1910489791145566734} - component: {fileID: 3203309624762926779} - m_Layer: 0 + m_Layer: 6 m_Name: TyreFR m_TagString: Untagged m_Icon: {fileID: 0} @@ -7286,7 +7347,6 @@ MonoBehaviour: zoomSpeed: 5 followSmoothness: 5 heightOffset: {x: 0, y: 3, z: 0} - mainCam: {fileID: 961411950535835066} --- !u!114 &2693913534197745363 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7375,7 +7435,7 @@ GameObject: - component: {fileID: 1654061785997455814} - component: {fileID: 6038027056347595344} - component: {fileID: 6397768575863822657} - m_Layer: 0 + m_Layer: 3 m_Name: SphereRB m_TagString: Untagged m_Icon: {fileID: 0} @@ -7645,7 +7705,7 @@ GameObject: - component: {fileID: 7681462549031831539} - component: {fileID: 2304826065750897704} - component: {fileID: 6651685192230433237} - m_Layer: 0 + m_Layer: 6 m_Name: tyr_3 m_TagString: Untagged m_Icon: {fileID: 0} @@ -7731,7 +7791,7 @@ GameObject: - component: {fileID: 7242234252648806363} - component: {fileID: 7209189895504951126} - component: {fileID: 9163889422368046705} - m_Layer: 0 + m_Layer: 6 m_Name: TyreRL m_TagString: Untagged m_Icon: {fileID: 0} @@ -7953,6 +8013,7 @@ GameObject: m_Component: - component: {fileID: 4431542291951001293} - component: {fileID: 3020599757856457735} + - component: {fileID: 2945888187208384748} m_Layer: 0 m_Name: Player m_TagString: Untagged @@ -7992,12 +8053,25 @@ MonoBehaviour: SortKey: 4082538716 ObjectInterest: 1 Flags: 262145 - NestedObjects: [] + NestedObjects: + - {fileID: 3882702838211760068} NetworkedBehaviours: - - {fileID: 9134473496284358468} - - {fileID: 8529057636489690899} - - {fileID: 2057786069090330772} + - {fileID: 2945888187208384748} ForceRemoteRenderTimeframe: 0 +--- !u!114 &2945888187208384748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5097956068855214732} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2459e596155711c43a1b4565da9d7f1b, type: 3} + m_Name: + m_EditorClassIdentifier: + playerCamera: {fileID: 961411950535835066} + audioListener: {fileID: 3230930961156683196} --- !u!1 &5143393733947949188 GameObject: m_ObjectHideFlags: 0 @@ -8080,7 +8154,7 @@ GameObject: - component: {fileID: 7214299775216957279} - component: {fileID: 8671006277334484659} - component: {fileID: 4289609783625436990} - m_Layer: 0 + m_Layer: 6 m_Name: front_bumper m_TagString: Untagged m_Icon: {fileID: 0} @@ -8166,7 +8240,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4727001567768885926} - m_Layer: 0 + m_Layer: 6 m_Name: FollowTarget m_TagString: Untagged m_Icon: {fileID: 0} @@ -8199,7 +8273,7 @@ GameObject: - component: {fileID: 3417349902575571392} - component: {fileID: 1281223456738738731} - component: {fileID: 5838869942376004407} - m_Layer: 0 + m_Layer: 6 m_Name: tyr_4 m_TagString: Untagged m_Icon: {fileID: 0} @@ -8285,7 +8359,7 @@ GameObject: - component: {fileID: 7887662612557220543} - component: {fileID: 6508062126828638862} - component: {fileID: 3764622463982554021} - m_Layer: 0 + m_Layer: 6 m_Name: TyreFL m_TagString: Untagged m_Icon: {fileID: 0} @@ -8368,7 +8442,7 @@ GameObject: - component: {fileID: 9151363907653717790} - component: {fileID: 8637257680980531595} - component: {fileID: 4234080948044246345} - m_Layer: 0 + m_Layer: 6 m_Name: tyr_1 m_TagString: Untagged m_Icon: {fileID: 0} @@ -13709,7 +13783,7 @@ GameObject: - component: {fileID: 9155755284567349372} - component: {fileID: 8081453901173687489} - component: {fileID: 8727577569916513256} - m_Layer: 0 + m_Layer: 6 m_Name: left_door m_TagString: Untagged m_Icon: {fileID: 0} @@ -13799,7 +13873,7 @@ GameObject: - component: {fileID: 2425101814241512375} - component: {fileID: 8475796777219271733} - component: {fileID: 198073813527369734} - m_Layer: 0 + m_Layer: 6 m_Name: Right_door m_TagString: Untagged m_Icon: {fileID: 0} @@ -13887,7 +13961,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1076547100095614248} - m_Layer: 0 + m_Layer: 6 m_Name: 2_new m_TagString: Untagged m_Icon: {fileID: 0} @@ -13931,7 +14005,7 @@ GameObject: - component: {fileID: 4881283934181763003} - component: {fileID: 7032801709433171668} - component: {fileID: 2303916293644935058} - m_Layer: 0 + m_Layer: 6 m_Name: tyr_2 m_TagString: Untagged m_Icon: {fileID: 0} @@ -14017,7 +14091,7 @@ GameObject: - component: {fileID: 3085344055384771255} - component: {fileID: 5874836419271216831} - component: {fileID: 8971606842087962358} - m_Layer: 0 + m_Layer: 6 m_Name: Body m_TagString: Untagged m_Icon: {fileID: 0} @@ -14132,7 +14206,7 @@ GameObject: - component: {fileID: 5468423092481466504} - component: {fileID: 3465752022036891919} - component: {fileID: 6864287260375896421} - m_Layer: 0 + m_Layer: 6 m_Name: Matte_11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -14215,7 +14289,7 @@ GameObject: - component: {fileID: 6181287152015309424} - component: {fileID: 7812991909640515695} - component: {fileID: 4107218409780147572} - m_Layer: 0 + m_Layer: 6 m_Name: Wheel_Back_R m_TagString: Untagged m_Icon: {fileID: 0} @@ -14298,7 +14372,7 @@ GameObject: - component: {fileID: 4711483572375990403} - component: {fileID: 6569281955002429979} - component: {fileID: 4076015669934214686} - m_Layer: 0 + m_Layer: 6 m_Name: Glass_light m_TagString: Untagged m_Icon: {fileID: 0} @@ -14381,7 +14455,7 @@ GameObject: - component: {fileID: 8565247240076481468} - component: {fileID: 3818793658648145862} - component: {fileID: 2201859981911300386} - m_Layer: 0 + m_Layer: 6 m_Name: Taillights_11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -14764,7 +14838,7 @@ GameObject: - component: {fileID: 7728721352201334614} - component: {fileID: 2243603945259504288} - component: {fileID: 5262079114703104570} - m_Layer: 0 + m_Layer: 6 m_Name: Wheel_L m_TagString: Untagged m_Icon: {fileID: 0} @@ -14845,7 +14919,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6916985649869243490} - m_Layer: 0 + m_Layer: 6 m_Name: Meshes m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/Scenes/Gameplay.unity b/Assets/Scenes/Gameplay.unity index 33dc161..fbd1ec8 100644 --- a/Assets/Scenes/Gameplay.unity +++ b/Assets/Scenes/Gameplay.unity @@ -153,6 +153,68 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &53203310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 53203311} + m_Layer: 0 + m_Name: Waypoint 006 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53203311 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 53203310} + serializedVersion: 2 + m_LocalRotation: {x: -0.0011126285, y: 0.8783656, z: 0.0020446186, w: 0.4779838} + m_LocalPosition: {x: 126.715, y: 5.210804, z: -2.1236708} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &86042751 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 86042752} + m_Layer: 0 + m_Name: Waypoint 027 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &86042752 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 86042751} + serializedVersion: 2 + m_LocalRotation: {x: 0.0113954, y: -0.70510626, z: 0.011334105, w: 0.7089196} + m_LocalPosition: {x: 97.784515, y: 5.6733093, z: 37.51745} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &142445175 GameObject: m_ObjectHideFlags: 0 @@ -277,6 +339,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &257026486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 257026487} + m_Layer: 0 + m_Name: Waypoint 002 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &257026487 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257026486} + serializedVersion: 2 + m_LocalRotation: {x: -0.012668625, y: 0.7040211, z: 0.01256274, w: 0.7099549} + m_LocalPosition: {x: 35.52911, y: 2.2374516, z: 0.45} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &290851099 GameObject: m_ObjectHideFlags: 0 @@ -339,6 +432,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &316627923 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 316627924} + m_Layer: 0 + m_Name: Waypoint 025 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &316627924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 316627923} + serializedVersion: 2 + m_LocalRotation: {x: 0.0037274214, y: -0.62433887, z: 0.0029792062, w: 0.781139} + m_LocalPosition: {x: 173.88576, y: 7.084835, z: 30.343433} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &363527889 GameObject: m_ObjectHideFlags: 0 @@ -370,6 +494,68 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &404940111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 404940112} + m_Layer: 0 + m_Name: Waypoint 007 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404940112 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 404940111} + serializedVersion: 2 + m_LocalRotation: {x: 0.0019119495, y: 0.9539601, z: -0.006082468, w: 0.2998657} + m_LocalPosition: {x: 144.50728, y: 5.30945, z: -13.630593} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &471013398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 471013399} + m_Layer: 0 + m_Name: Waypoint 034 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &471013399 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 471013398} + serializedVersion: 2 + m_LocalRotation: {x: 0.018750018, y: 0.5339756, z: -0.011845651, w: 0.84520894} + m_LocalPosition: {x: -85.46063, y: 0.2651291, z: -43.19798} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &472995952 GameObject: m_ObjectHideFlags: 0 @@ -401,6 +587,68 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &493551301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 493551302} + m_Layer: 0 + m_Name: Waypoint 015 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &493551302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 493551301} + serializedVersion: 2 + m_LocalRotation: {x: 0.0008379841, y: 0.9947326, z: 0.0081582405, w: -0.10217521} + m_LocalPosition: {x: 33.43298, y: 0.14018631, z: -110.72598} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &497517108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 497517109} + m_Layer: 0 + m_Name: Waypoint 028 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &497517109 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 497517108} + serializedVersion: 2 + m_LocalRotation: {x: 0.014450454, y: -0.7157934, z: 0.014818708, w: 0.69800544} + m_LocalPosition: {x: 69.22944, y: 4.7550516, z: 37.671463} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &501743646 GameObject: m_ObjectHideFlags: 0 @@ -432,6 +680,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &502146670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 502146671} + m_Layer: 0 + m_Name: Waypoint 018 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &502146671 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 502146670} + serializedVersion: 2 + m_LocalRotation: {x: -0.014622378, y: 0.55913794, z: 0.009863741, w: 0.828887} + m_LocalPosition: {x: 69.52483, y: 2.9641857, z: -166.54128} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &504439174 GameObject: m_ObjectHideFlags: 0 @@ -663,7 +942,7 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &648870149 +--- !u!1 &584558028 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -671,30 +950,30 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 648870150} + - component: {fileID: 584558029} m_Layer: 0 - m_Name: Waypoint 010 + m_Name: Waypoint 026 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &648870150 +--- !u!4 &584558029 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 648870149} + m_GameObject: {fileID: 584558028} serializedVersion: 2 - m_LocalRotation: {x: 0.008311714, y: -0.60826933, z: 0.0063701724, w: 0.79366165} - m_LocalPosition: {x: 146.0524, y: 4.0717335, z: -80.89904} + m_LocalRotation: {x: 0.009647699, y: -0.7237188, z: 0.010119846, w: 0.6899534} + m_LocalPosition: {x: 134.38995, y: 6.698395, z: 39.267086} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2062866432} + m_Father: {fileID: 731796938} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &653252759 +--- !u!1 &607214325 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -702,18 +981,80 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 653252760} - - component: {fileID: 653252762} - - component: {fileID: 653252761} - m_Layer: 5 - m_Name: NOSFillAmount + - component: {fileID: 607214326} + m_Layer: 0 + m_Name: Waypoint 013 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &653252760 -RectTransform: +--- !u!4 &607214326 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607214325} + serializedVersion: 2 + m_LocalRotation: {x: 0.01265411, y: -0.8138674, z: 0.017736861, w: 0.5806421} + m_LocalPosition: {x: 87.206665, y: 2.1265945, z: -56.823746} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &648870149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 648870150} + m_Layer: 0 + m_Name: Waypoint 010 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &648870150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648870149} + serializedVersion: 2 + m_LocalRotation: {x: 0.008311714, y: -0.60826933, z: 0.0063701724, w: 0.79366165} + m_LocalPosition: {x: 146.0524, y: 4.0717335, z: -80.89904} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2062866432} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &653252759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 653252760} + - component: {fileID: 653252762} + - component: {fileID: 653252761} + m_Layer: 5 + m_Name: NOSFillAmount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &653252760 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -769,6 +1110,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 653252759} m_CullTransparentMesh: 1 +--- !u!1 &654499597 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 654499598} + m_Layer: 0 + m_Name: Waypoint 038 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &654499598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 654499597} + serializedVersion: 2 + m_LocalRotation: {x: -0.014590003, y: 0.68724847, z: 0.013808486, w: 0.7261446} + m_LocalPosition: {x: -4.8939104, y: 0.21853256, z: 0.9251905} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &655617227 GameObject: m_ObjectHideFlags: 0 @@ -965,6 +1337,319 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &710679485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 710679486} + m_Layer: 0 + m_Name: Waypoint 032 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &710679486 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 710679485} + serializedVersion: 2 + m_LocalRotation: {x: -0.00021645374, y: 0.99126035, z: 0.0016265762, w: 0.13191023} + m_LocalPosition: {x: -111.39226, y: 0.19439125, z: 14.385028} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &731796936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 731796938} + - component: {fileID: 731796937} + m_Layer: 0 + m_Name: Waypoint (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &731796937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 731796936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70852dc981465ea48bb527b9e33a87fd, type: 3} + m_Name: + m_EditorClassIdentifier: + _smoothRoute: 1 + _closedLoop: 1 + _editorVisualisationSubsteps: 653 + _waypoints: + - {fileID: 767280236} + - {fileID: 737455355} + - {fileID: 257026487} + - {fileID: 1378673213} + - {fileID: 1571515484} + - {fileID: 1995066740} + - {fileID: 53203311} + - {fileID: 404940112} + - {fileID: 834880817} + - {fileID: 1626519745} + - {fileID: 1320858897} + - {fileID: 1685698106} + - {fileID: 783280640} + - {fileID: 607214326} + - {fileID: 1901819473} + - {fileID: 493551302} + - {fileID: 1691212592} + - {fileID: 1763153156} + - {fileID: 502146671} + - {fileID: 1332135701} + - {fileID: 863487003} + - {fileID: 1176913278} + - {fileID: 785351349} + - {fileID: 833202313} + - {fileID: 868797855} + - {fileID: 316627924} + - {fileID: 584558029} + - {fileID: 86042752} + - {fileID: 497517109} + - {fileID: 1475148424} + - {fileID: 1102892427} + - {fileID: 1164684954} + - {fileID: 710679486} + - {fileID: 1430811092} + - {fileID: 471013399} + - {fileID: 760762376} + - {fileID: 1949399901} + - {fileID: 1368592432} + - {fileID: 654499598} + accepted: 0 +--- !u!4 &731796938 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 731796936} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -12.7, y: -17.3955, z: 0.02} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 767280236} + - {fileID: 737455355} + - {fileID: 257026487} + - {fileID: 1378673213} + - {fileID: 1571515484} + - {fileID: 1995066740} + - {fileID: 53203311} + - {fileID: 404940112} + - {fileID: 834880817} + - {fileID: 1626519745} + - {fileID: 1320858897} + - {fileID: 1685698106} + - {fileID: 783280640} + - {fileID: 607214326} + - {fileID: 1901819473} + - {fileID: 493551302} + - {fileID: 1691212592} + - {fileID: 1763153156} + - {fileID: 502146671} + - {fileID: 1332135701} + - {fileID: 863487003} + - {fileID: 1176913278} + - {fileID: 785351349} + - {fileID: 833202313} + - {fileID: 868797855} + - {fileID: 316627924} + - {fileID: 584558029} + - {fileID: 86042752} + - {fileID: 497517109} + - {fileID: 1475148424} + - {fileID: 1102892427} + - {fileID: 1164684954} + - {fileID: 710679486} + - {fileID: 1430811092} + - {fileID: 471013399} + - {fileID: 760762376} + - {fileID: 1949399901} + - {fileID: 1368592432} + - {fileID: 654499598} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &737455354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 737455355} + m_Layer: 0 + m_Name: Waypoint 001 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &737455355 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 737455354} + serializedVersion: 2 + m_LocalRotation: {x: -0.01736217, y: 0.7075912, z: 0.017396506, w: 0.7061946} + m_LocalPosition: {x: 13.865241, y: 1.1715698, z: 0.4928014} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &760762375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 760762376} + m_Layer: 0 + m_Name: Waypoint 035 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &760762376 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 760762375} + serializedVersion: 2 + m_LocalRotation: {x: 0.0081973355, y: 0.18668509, z: -0.0015577613, w: 0.9823844} + m_LocalPosition: {x: -63.660625, y: -0.80641174, z: -32.831062} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &767280235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 767280236} + m_Layer: 0 + m_Name: Waypoint 000 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &767280236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767280235} + serializedVersion: 2 + m_LocalRotation: {x: -0.01399557, y: 0.71415806, z: 0.0142847905, w: 0.6996988} + m_LocalPosition: {x: -0.66348743, y: 0.59, z: 0.79} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &783280639 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 783280640} + m_Layer: 0 + m_Name: Waypoint 012 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &783280640 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 783280639} + serializedVersion: 2 + m_LocalRotation: {x: 0.01633949, y: -0.6378887, z: 0.013538956, w: 0.7698361} + m_LocalPosition: {x: 104.83696, y: 2.8885975, z: -60.158047} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &785351348 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 785351349} + m_Layer: 0 + m_Name: Waypoint 022 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785351349 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 785351348} + serializedVersion: 2 + m_LocalRotation: {x: -0.018603072, y: -0.011205812, z: -0.0002085117, w: 0.99976414} + m_LocalPosition: {x: 214.8356, y: 3.0984116, z: -77.856415} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &824599545 GameObject: m_ObjectHideFlags: 0 @@ -1165,6 +1850,68 @@ MonoBehaviour: m_Script: {fileID: -1199893898, guid: e725a070cec140c4caffb81624c8c787, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &833202312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 833202313} + m_Layer: 0 + m_Name: Waypoint 023 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &833202313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 833202312} + serializedVersion: 2 + m_LocalRotation: {x: -0.019364301, y: -0.19688615, z: -0.003889468, w: 0.9802274} + m_LocalPosition: {x: 214.06712, y: 4.3747854, z: -43.579536} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &834880816 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 834880817} + m_Layer: 0 + m_Name: Waypoint 008 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &834880817 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 834880816} + serializedVersion: 2 + m_LocalRotation: {x: 0.0012874214, y: 0.9917552, z: -0.009994564, w: 0.12775013} + m_LocalPosition: {x: 158.34232, y: 5.0010796, z: -33.462795} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &850827171 GameObject: m_ObjectHideFlags: 0 @@ -1271,6 +2018,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &863487002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 863487003} + m_Layer: 0 + m_Name: Waypoint 020 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &863487003 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 863487002} + serializedVersion: 2 + m_LocalRotation: {x: 0.009483357, y: 0.5069929, z: -0.0055784956, w: 0.86188} + m_LocalPosition: {x: 142.84647, y: 4.536748, z: -130.46231} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &864225708 GameObject: m_ObjectHideFlags: 0 @@ -1293,14 +2071,45 @@ Transform: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 864225708} + m_GameObject: {fileID: 864225708} + serializedVersion: 2 + m_LocalRotation: {x: 0.018750018, y: 0.5339756, z: -0.011845651, w: 0.84520894} + m_LocalPosition: {x: -85.46063, y: 0.2651291, z: -43.19798} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2062866432} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &868797854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 868797855} + m_Layer: 0 + m_Name: Waypoint 024 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &868797855 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 868797854} serializedVersion: 2 - m_LocalRotation: {x: 0.018750018, y: 0.5339756, z: -0.011845651, w: 0.84520894} - m_LocalPosition: {x: -85.46063, y: 0.2651291, z: -43.19798} + m_LocalRotation: {x: -0.010211086, y: -0.31398478, z: -0.0033771188, w: 0.9493671} + m_LocalPosition: {x: 195.05319, y: 6.321064, z: 1.8427771} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2062866432} + m_Father: {fileID: 731796938} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &978028147 GameObject: @@ -1737,6 +2546,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1102892426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102892427} + m_Layer: 0 + m_Name: Waypoint 030 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1102892427 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102892426} + serializedVersion: 2 + m_LocalRotation: {x: -0.005067748, y: -0.72706395, z: -0.0053669563, w: 0.68653005} + m_LocalPosition: {x: -64.56944, y: -0.79291725, z: 37.592052} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1146359388 GameObject: m_ObjectHideFlags: 0 @@ -1768,6 +2608,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1164684953 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1164684954} + m_Layer: 0 + m_Name: Waypoint 031 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1164684954 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1164684953} + serializedVersion: 2 + m_LocalRotation: {x: 0.0033370163, y: 0.94236434, z: 0.009402846, w: -0.33443975} + m_LocalPosition: {x: -93.91431, y: -0.35895157, z: 35.90778} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1172126928 GameObject: m_ObjectHideFlags: 0 @@ -1799,6 +2670,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1176913277 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1176913278} + m_Layer: 0 + m_Name: Waypoint 021 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1176913278 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1176913277} + serializedVersion: 2 + m_LocalRotation: {x: 0.0013321807, y: 0.3309035, z: -0.0004671402, w: 0.9436636} + m_LocalPosition: {x: 196.7136, y: 3.1803398, z: -100.51908} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1195283487 GameObject: m_ObjectHideFlags: 0 @@ -1892,6 +2794,68 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1320858896 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1320858897} + m_Layer: 0 + m_Name: Waypoint 010 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1320858897 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1320858896} + serializedVersion: 2 + m_LocalRotation: {x: 0.008311714, y: -0.60826933, z: 0.0063701724, w: 0.79366165} + m_LocalPosition: {x: 146.0524, y: 4.0717335, z: -80.89904} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1332135700 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1332135701} + m_Layer: 0 + m_Name: Waypoint 019 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1332135701 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1332135700} + serializedVersion: 2 + m_LocalRotation: {x: -0.0045988006, y: 0.5118536, z: 0.0027401154, w: 0.85905606} + m_LocalPosition: {x: 95.78704, y: 3.9638166, z: -155.93301} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1357738588 GameObject: m_ObjectHideFlags: 0 @@ -1923,6 +2887,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1368592431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1368592432} + m_Layer: 0 + m_Name: Waypoint 037 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1368592432 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368592431} + serializedVersion: 2 + m_LocalRotation: {x: -0.014590003, y: 0.68724847, z: 0.013808486, w: 0.7261446} + m_LocalPosition: {x: -31.11457, y: -0.8371639, z: -0.5190718} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1378213326 GameObject: m_ObjectHideFlags: 0 @@ -1950,16 +2945,109 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1541174865} - m_Father: {fileID: 551422371} + m_Children: + - {fileID: 1541174865} + m_Father: {fileID: 551422371} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1378673212 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1378673213} + m_Layer: 0 + m_Name: Waypoint 003 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1378673213 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1378673212} + serializedVersion: 2 + m_LocalRotation: {x: -0.012027405, y: 0.6987694, z: 0.0117519265, w: 0.71514934} + m_LocalPosition: {x: 62.093235, y: 3.1858215, z: 0.67295957} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1380364436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1380364437} + m_Layer: 0 + m_Name: Waypoint 025 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1380364437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1380364436} + serializedVersion: 2 + m_LocalRotation: {x: 0.0037274214, y: -0.62433887, z: 0.0029792062, w: 0.781139} + m_LocalPosition: {x: 173.88576, y: 7.084835, z: 30.343433} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2062866432} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1412927613 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1412927614} + m_Layer: 0 + m_Name: Waypoint 032 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1412927614 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1412927613} + serializedVersion: 2 + m_LocalRotation: {x: -0.00021645374, y: 0.99126035, z: 0.0016265762, w: 0.13191023} + m_LocalPosition: {x: -111.39226, y: 0.19439125, z: 14.385028} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1380364436 +--- !u!1 &1430811091 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1967,30 +3055,30 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1380364437} + - component: {fileID: 1430811092} m_Layer: 0 - m_Name: Waypoint 025 + m_Name: Waypoint 033 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1380364437 +--- !u!4 &1430811092 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1380364436} + m_GameObject: {fileID: 1430811091} serializedVersion: 2 - m_LocalRotation: {x: 0.0037274214, y: -0.62433887, z: 0.0029792062, w: 0.781139} - m_LocalPosition: {x: 173.88576, y: 7.084835, z: 30.343433} + m_LocalRotation: {x: 0.00023054653, y: 0.9531407, z: -0.0007263604, w: 0.30252647} + m_LocalPosition: {x: -102.224945, y: 0.3094349, z: -19.449627} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2062866432} + m_Father: {fileID: 731796938} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1412927613 +--- !u!1 &1453498123 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1998,30 +3086,30 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1412927614} + - component: {fileID: 1453498124} m_Layer: 0 - m_Name: Waypoint 032 + m_Name: Waypoint 016 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1412927614 +--- !u!4 &1453498124 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1412927613} + m_GameObject: {fileID: 1453498123} serializedVersion: 2 - m_LocalRotation: {x: -0.00021645374, y: 0.99126035, z: 0.0016265762, w: 0.13191023} - m_LocalPosition: {x: -111.39226, y: 0.19439125, z: 14.385028} + m_LocalRotation: {x: -0.0057756, y: 0.96329427, z: 0.020792373, w: 0.26757902} + m_LocalPosition: {x: 26.80191, y: 0.6752701, z: -142.664} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1453498123 +--- !u!1 &1475148423 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2029,28 +3117,28 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1453498124} + - component: {fileID: 1475148424} m_Layer: 0 - m_Name: Waypoint 016 + m_Name: Waypoint 029 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1453498124 +--- !u!4 &1475148424 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1453498123} + m_GameObject: {fileID: 1475148423} serializedVersion: 2 - m_LocalRotation: {x: -0.0057756, y: 0.96329427, z: 0.020792373, w: 0.26757902} - m_LocalPosition: {x: 26.80191, y: 0.6752701, z: -142.664} + m_LocalRotation: {x: 0.014728632, y: -0.703355, z: 0.014579768, w: 0.71053654} + m_LocalPosition: {x: 28.504925, y: 3.0675964, z: 36.646538} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2062866432} + m_Father: {fileID: 731796938} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1506820232 GameObject: @@ -2410,6 +3498,37 @@ Transform: m_Children: [] m_Father: {fileID: 2062866432} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1571515483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1571515484} + m_Layer: 0 + m_Name: Waypoint 004 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1571515484 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1571515483} + serializedVersion: 2 + m_LocalRotation: {x: -0.01207914, y: 0.7097439, z: 0.012173352, w: 0.70425105} + m_LocalPosition: {x: 96.673935, y: 4.349622, z: 1.4742869} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1614665873 GameObject: m_ObjectHideFlags: 0 @@ -2544,6 +3663,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1614665873} m_CullTransparentMesh: 1 +--- !u!1 &1626519744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1626519745} + m_Layer: 0 + m_Name: Waypoint 009 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1626519745 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1626519744} + serializedVersion: 2 + m_LocalRotation: {x: -0.002395715, y: 0.915725, z: -0.005460494, w: -0.40176144} + m_LocalPosition: {x: 165.96793, y: 4.3945274, z: -62.57139} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1627785074 GameObject: m_ObjectHideFlags: 0 @@ -2658,6 +3808,99 @@ RectTransform: m_AnchoredPosition: {x: -5, y: 0} m_SizeDelta: {x: -20, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1685698105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1685698106} + m_Layer: 0 + m_Name: Waypoint 011 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1685698106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1685698105} + serializedVersion: 2 + m_LocalRotation: {x: 0.012701145, y: -0.45618355, z: 0.006511846, w: 0.8897712} + m_LocalPosition: {x: 126.28758, y: 3.642971, z: -75.578575} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1691212591 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1691212592} + m_Layer: 0 + m_Name: Waypoint 016 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1691212592 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1691212591} + serializedVersion: 2 + m_LocalRotation: {x: -0.0057756, y: 0.96329427, z: 0.020792373, w: 0.26757902} + m_LocalPosition: {x: 26.80191, y: 0.6752701, z: -142.664} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1763153155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1763153156} + m_Layer: 0 + m_Name: Waypoint 017 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1763153156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763153155} + serializedVersion: 2 + m_LocalRotation: {x: -0.013611831, y: 0.7699672, z: 0.016434412, w: 0.63772666} + m_LocalPosition: {x: 37.524376, y: 1.5731716, z: -160.47542} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1785527288 GameObject: m_ObjectHideFlags: 0 @@ -2859,13 +4102,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1868736288} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: 0, y: 0.69528586, z: 0, w: 0.7187333} m_LocalPosition: {x: -48.340305, y: -17.914295, z: -5.1727653} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 88.1, z: 0} --- !u!1 &1897337258 GameObject: m_ObjectHideFlags: 0 @@ -2934,6 +4177,37 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1901819472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1901819473} + m_Layer: 0 + m_Name: Waypoint 014 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1901819473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1901819472} + serializedVersion: 2 + m_LocalRotation: {x: -0.0018714204, y: 0.96407205, z: -0.0067942035, w: -0.2655476} + m_LocalPosition: {x: 59.979733, y: 0.8709698, z: -66.19297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1906425621 GameObject: m_ObjectHideFlags: 0 @@ -3249,12 +4523,74 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1928440682} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -48.340305, y: -17.914295, z: 1.85} + m_LocalRotation: {x: 0, y: 0.71422845, z: 0, w: 0.6999127} + m_LocalPosition: {x: -43.49, y: -17.914295, z: 2.99} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 91.16, z: 0} +--- !u!1 &1949399900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1949399901} + m_Layer: 0 + m_Name: Waypoint 036 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1949399901 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1949399900} + serializedVersion: 2 + m_LocalRotation: {x: -0.005591012, y: 0.54155403, z: 0.0036018228, w: 0.84063965} + m_LocalPosition: {x: -55.23869, y: -1.1896, z: -11.4721} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1995066739 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1995066740} + m_Layer: 0 + m_Name: Waypoint 005 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1995066740 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1995066739} + serializedVersion: 2 + m_LocalRotation: {x: -0.008038728, y: 0.7678189, z: 0.009636006, w: 0.6405441} + m_LocalPosition: {x: 107.42949, y: 4.7186947, z: 1.3907232} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 731796938} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2062866431 GameObject: @@ -3382,6 +4718,7 @@ MonoBehaviour: - {fileID: 2094892511} - {fileID: 1047083314} - {fileID: 1054980405} + accepted: 0 --- !u!1 &2094892510 GameObject: m_ObjectHideFlags: 0 @@ -23948,6 +25285,7 @@ SceneRoots: - {fileID: 1567472685} - {fileID: 824599549} - {fileID: 2062866432} + - {fileID: 731796938} - {fileID: 1897337261} - {fileID: 824699890} - {fileID: 2531209556464813522} diff --git a/Assets/Scripts/FusionInputProvider.cs b/Assets/Scripts/FusionInputProvider.cs index 57f929c..90bb962 100644 --- a/Assets/Scripts/FusionInputProvider.cs +++ b/Assets/Scripts/FusionInputProvider.cs @@ -34,7 +34,8 @@ public class FusionInputProvider : SimulationBehaviour, INetworkRunnerCallbacks // read your steering/throttle data.Horizontal = CnInputManager.GetAxis("Horizontal"); data.Vertical = CnInputManager.GetAxis("Vertical"); - + Debug.Log("Horizontal: " + data.Horizontal); + Debug.Log("Vertical: " + data.Vertical); // grab the NOS state from the local player's spawned object if (runner.TryGetPlayerObject(runner.LocalPlayer, out var playerObj)) { diff --git a/Assets/Scripts/FusionLauncher.cs b/Assets/Scripts/FusionLauncher.cs index 0c74d17..bd8c39c 100644 --- a/Assets/Scripts/FusionLauncher.cs +++ b/Assets/Scripts/FusionLauncher.cs @@ -112,34 +112,84 @@ public class FusionLauncher : MonoBehaviour, INetworkRunnerCallbacks // —————— RESET / CREATE FRESH RUNNER —————— private async Task EnsureFreshRunner() { - // Reset flags + // — Teardown any existing runner — playerCount = 0; gameplayLoaded = false; connectedToServer = false; - // If an old runner exists & is running, shut it down & destroy its GO if (runner != null && runner.IsRunning) { await runner.Shutdown(); Destroy(runner.gameObject); } - // Stop auto-refresh while we rebuild if (refreshCoroutine != null) { StopCoroutine(refreshCoroutine); refreshCoroutine = null; } - // Make brand-new runner GameObject + // — Build a new runner GameObject — var go = new GameObject("NetworkRunnerGO"); - DontDestroyOnLoad(go); // keep it alive across scenes + DontDestroyOnLoad(go); + // 1) Add the NetworkRunner runner = go.AddComponent(); + + // 2) Enable input collection BEFORE StartGame runner.ProvideInput = true; + + // 3) Register this launcher’s callbacks runner.AddCallbacks(this); + + // 4) Attach & register your FusionInputProvider + var inputProv = go.AddComponent(); + runner.AddCallbacks(inputProv); + + // 5) Log out what we’ve done + Debug.Log($"[Launcher] Spawned {go.name} → ProvideInput={runner.ProvideInput}; " + + $"FusionInputProvider attached"); + + // Note: we don’t call StartGame here. That happens in CreateLobby() / JoinLobby(). } + //private async Task EnsureFreshRunner() + //{ + // // Reset flags + // playerCount = 0; + // gameplayLoaded = false; + // connectedToServer = false; + + // // If an old runner exists & is running, shut it down & destroy its GO + // if (runner != null && runner.IsRunning) + // { + // await runner.Shutdown(); + // Destroy(runner.gameObject); + // } + + // // Stop auto-refresh while we rebuild + // if (refreshCoroutine != null) + // { + // StopCoroutine(refreshCoroutine); + // refreshCoroutine = null; + // } + + // // Make brand-new runner GameObject + // var go = new GameObject("NetworkRunnerGO"); + // DontDestroyOnLoad(go); // keep it alive across scenes + + // runner = go.AddComponent(); + // var inputProv = go.AddComponent(); + // runner.AddCallbacks(inputProv); + // Debug.Log("✔️ Added FusionInputProvider AND registered it on " + go.name); + + // // 3) Tell Fusion we’ll be providing input + // runner.ProvideInput = true; + + // // 4) Register your launcher callbacks + // runner.AddCallbacks(this); + //} + // —————— CREATE LOBBY (Host) —————— public async void CreateLobby() { @@ -160,6 +210,7 @@ public class FusionLauncher : MonoBehaviour, INetworkRunnerCallbacks SessionName = name, PlayerCount = maxPlayers, Scene = sceneRef, + SceneManager = runner.gameObject.AddComponent() }); @@ -290,6 +341,7 @@ public class FusionLauncher : MonoBehaviour, INetworkRunnerCallbacks PlayerRef p = players[i]; Transform sp = provider.spawnPoints[i]; runner.Spawn(playerPrefab, sp.position, sp.rotation, p); + Debug.Log("SpawnPoints done: "+i); } } } diff --git a/Assets/Scripts/PlayerCameraSetup.cs b/Assets/Scripts/PlayerCameraSetup.cs new file mode 100644 index 0000000..7390a6a --- /dev/null +++ b/Assets/Scripts/PlayerCameraSetup.cs @@ -0,0 +1,24 @@ +using Fusion; +using UnityEngine; + +[RequireComponent(typeof(NetworkObject))] +public class PlayerCameraSetup : NetworkBehaviour +{ + [Tooltip("Drag your MainCamera child here")] + [SerializeField] Camera playerCamera; + + [Tooltip("If you have an AudioListener on that camera")] + [SerializeField] AudioListener audioListener; + + public override void Spawned() + { + base.Spawned(); + + bool isMine = Object.HasInputAuthority; + + if (playerCamera != null) + playerCamera.enabled = isMine; + if (audioListener != null) + audioListener.enabled = isMine; + } +} diff --git a/Assets/Scripts/PlayerCameraSetup.cs.meta b/Assets/Scripts/PlayerCameraSetup.cs.meta new file mode 100644 index 0000000..dbc7907 --- /dev/null +++ b/Assets/Scripts/PlayerCameraSetup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2459e596155711c43a1b4565da9d7f1b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/VehicleController.cs b/Assets/Scripts/VehicleController.cs index 5b3d6a7..bba383b 100644 --- a/Assets/Scripts/VehicleController.cs +++ b/Assets/Scripts/VehicleController.cs @@ -92,30 +92,66 @@ public class VehicleController : NetworkBehaviour { base.Spawned(); InitializeVehicle(); + bool isLocalPlayer = Object.HasInputAuthority; // true on the runner that owns this object + bool isHostRunner = Runner.IsServer; // true on the host’s runner + Debug.Log("Spawned"); + // if (local && hostRunner) OR (remote && clientRunner) ⇒ this is the host’s car + if (isLocalPlayer == isHostRunner) + gameObject.name = "PlayerHost"; + else + gameObject.name = "PlayerClient"; } // 1) Fusion will call this every tick to collect local input - - // 2) Fusion runs your simulation here instead of Update/FixedUpdate public override void FixedUpdateNetwork() { if (!isRunning || !RaceCountdownManager.Instance || !RaceCountdownManager.Instance.RaceStarted) return; - if (Object.HasInputAuthority && GetInput(out CarNetworkInput data)) + if (/*Object.HasInputAuthority && */GetInput(out CarNetworkInput data)) { inputHorizontal = data.Horizontal; inputVertical = data.Vertical; - - if (data.NOS) - ActivateNOS(); + if (data.NOS) ActivateNOS(); } + // ✅ Only simulate physics on authoritative runner + //if (!Object.HasStateAuthority) return; + + ApplyControls(); CheckGround(); HandleMovement(); - UpdateVisuals(); + + UpdateVisuals(); // OK on all clients } + + // 2) Fusion runs your simulation here instead of Update/FixedUpdate + //public override void FixedUpdateNetwork() + //{ + // if (!isRunning || !RaceCountdownManager.Instance || !RaceCountdownManager.Instance.RaceStarted) + // return; + + // if (!Object.HasInputAuthority) + // { + // Debug.Log("🚫 No Input Authority on this player"); + // return; + // } + + // if (Object.HasInputAuthority && GetInput(out CarNetworkInput data)) + // { + // inputHorizontal = data.Horizontal; + // inputVertical = data.Vertical; + // Debug.Log("inputVertical: " + inputVertical); + // Debug.Log("inputHorizontal : " + inputHorizontal); + // if (data.NOS) + // ActivateNOS(); + // ApplyControls(); + // CheckGround(); + // HandleMovement(); + // } + // UpdateVisuals(); + //} private void Awake() { vehicleRigidbody = GetComponent(); @@ -221,53 +257,84 @@ public class VehicleController : NetworkBehaviour private void CheckGround() { - if (groundDetection == SurfaceDetection.RayCast) - { - isOnGround = Physics.Raycast(sphereRigidbody.position, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface) - || Physics.Raycast(sphereRigidbody.position + Vector3.forward * 3f, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface) - || Physics.Raycast(sphereRigidbody.position - Vector3.forward * 3f, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface); - } - else if (groundDetection == SurfaceDetection.SphereCast) - { - isOnGround = Physics.SphereCast(sphereRigidbody.position + wheelRadius * Vector3.up, wheelRadius + 0.25f, -transform.up, out surfaceHit, maxGroundDistance, driveableSurface); - } - else isOnGround = false; + isOnGround = true; + //if (groundDetection == SurfaceDetection.RayCast) + //{ + // isOnGround = Physics.Raycast(sphereRigidbody.position, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface) + // || Physics.Raycast(sphereRigidbody.position + Vector3.forward * 3f, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface) + // || Physics.Raycast(sphereRigidbody.position - Vector3.forward * 3f, Vector3.down, out surfaceHit, maxGroundDistance, driveableSurface); + //} + //else if (groundDetection == SurfaceDetection.SphereCast) + //{ + // isOnGround = Physics.SphereCast(sphereRigidbody.position + wheelRadius * Vector3.up, wheelRadius + 0.25f, -transform.up, out surfaceHit, maxGroundDistance, driveableSurface); + //} + //else isOnGround = false; } private void HandleMovement() { - velocityLocal = vehicleRigidbody.transform.InverseTransformDirection(vehicleRigidbody.velocity); - if (angleDifference > brakeThreshold && velocityLocal.z > 15f) + if (!Object.HasInputAuthority) { - wheelFrictionMaterial.dynamicFriction = 0.01f; + Debug.LogWarning("Client without InputAuthority is simulating movement — this should not happen!"); } else { - wheelFrictionMaterial.dynamicFriction = _frictionCurve.Evaluate(Mathf.Abs(velocityLocal.x / 100)); - } - steeringMultiplier = _turnCurve.Evaluate(velocityLocal.magnitude / maxSpeed); + if (Object.HasStateAuthority || Object.HasInputAuthority) + { + velocityLocal = vehicleRigidbody.transform.InverseTransformDirection(vehicleRigidbody.velocity); + } - if (Grounded) - { - steeringSign = Mathf.Sign(velocityLocal.z); - - if (Mathf.Abs(accelerationInput) > 0.1f) - vehicleRigidbody.AddTorque(Vector3.up * (steeringAI * steeringSign * steeringSensitivity * 100f * steeringMultiplier * steeringFactor)); + // velocityLocal = vehicleRigidbody.transform.InverseTransformDirection(vehicleRigidbody.velocity); - if (Mathf.Abs(accelerationInput) > 0.1f) - sphereRigidbody.velocity = Vector3.Lerp(sphereRigidbody.velocity, vehicleRigidbody.transform.forward * (accelerationInput * maxSpeed), accelerationForce / 10f * Time.fixedDeltaTime); + if (float.IsNaN(velocityLocal.z) || float.IsInfinity(velocityLocal.z)) + { + Debug.LogWarning($"⚠ Detected invalid velocity: {velocityLocal}. Resetting to zero."); + velocityLocal = Vector3.zero; + } - sphereRigidbody.AddForce(-transform.up * (downforce * sphereRigidbody.mass)); - vehicleRigidbody.MoveRotation(Quaternion.Slerp(vehicleRigidbody.rotation, Quaternion.FromToRotation(vehicleRigidbody.transform.up, surfaceHit.normal) * vehicleRigidbody.transform.rotation, 0.12f)); - } - else - { - if (allowAirControl) - vehicleRigidbody.AddTorque(Vector3.up * (steeringAI * steeringSensitivity * 100f * steeringMultiplier * steeringFactor)); - - sphereRigidbody.velocity = Vector3.Lerp(sphereRigidbody.velocity, (vehicleRigidbody.transform.forward * (accelerationInput * maxSpeed)) + Vector3.down * (gravityForce * 9.8f), (accelerationForce / 25f) * Time.deltaTime); + if (angleDifference > brakeThreshold && velocityLocal.z > 15f) + { + wheelFrictionMaterial.dynamicFriction = 0.01f; + } + else + { + wheelFrictionMaterial.dynamicFriction = _frictionCurve.Evaluate(Mathf.Abs(velocityLocal.x / 100)); + } + + steeringMultiplier = _turnCurve.Evaluate(velocityLocal.magnitude / maxSpeed); + + if (Grounded) + { + steeringSign = Mathf.Sign(velocityLocal.z); + + if (Mathf.Abs(accelerationInput) > 0.1f) + vehicleRigidbody.AddTorque(Vector3.up * (steeringAI * steeringSign * steeringSensitivity * 100f * steeringMultiplier * steeringFactor)); + + if (Mathf.Abs(accelerationInput) > 0.1f) + sphereRigidbody.velocity = Vector3.Lerp(sphereRigidbody.velocity, vehicleRigidbody.transform.forward * (accelerationInput * maxSpeed), accelerationForce / 10f * Time.fixedDeltaTime); + + sphereRigidbody.AddForce(-transform.up * (downforce * sphereRigidbody.mass)); + vehicleRigidbody.MoveRotation( + Quaternion.Slerp( + vehicleRigidbody.rotation, + Quaternion.FromToRotation(vehicleRigidbody.transform.up, surfaceHit.normal) * vehicleRigidbody.transform.rotation, + 0.12f + ) + ); + } + else + { + if (allowAirControl) + vehicleRigidbody.AddTorque(Vector3.up * (steeringAI * steeringSensitivity * 100f * steeringMultiplier * steeringFactor)); + + sphereRigidbody.velocity = Vector3.Lerp( + sphereRigidbody.velocity, + (vehicleRigidbody.transform.forward * (accelerationInput * maxSpeed)) + Vector3.down * (gravityForce * 9.8f), + (accelerationForce / 25f) * Time.deltaTime + ); + } } } diff --git a/Assets/Scripts/VehicleTracker.cs b/Assets/Scripts/VehicleTracker.cs index a6e768b..dba76f6 100644 --- a/Assets/Scripts/VehicleTracker.cs +++ b/Assets/Scripts/VehicleTracker.cs @@ -28,6 +28,7 @@ public class VehicleTracker : NetworkBehaviour public Vector3 TargetPos => _targetTracker != null ? _targetTracker.position : Vector3.zero; private float VehicleSpeed => _linkedController != null ? _linkedController.LocalVelocity.z : 0f; public WaypointCircuit waypointsCircuit; + public WaypointCircuit[] allwaypointCircuits; private float _offsetSwitchTimer; //private void Start() @@ -55,7 +56,17 @@ public class VehicleTracker : NetworkBehaviour _distanceTraveled = 0f; _offsetTimerRandom = Random.Range(2.5f, 15f); _offsetSwitchTimer = _offsetTimerRandom; - waypointsCircuit = FindObjectOfType(); + allwaypointCircuits=FindObjectsOfType(); + for (int i = 0; i < allwaypointCircuits.Length; i++) + { + if (allwaypointCircuits[i].accepted==false) + { + allwaypointCircuits[i].accepted = true; + waypointsCircuit = allwaypointCircuits[i]; + break; + } + } + //waypointsCircuit = FindObjectOfType(); } public override void FixedUpdateNetwork() { diff --git a/Assets/Waypoint System/WaypointCircuit.cs b/Assets/Waypoint System/WaypointCircuit.cs index 46833c6..c2cad16 100644 --- a/Assets/Waypoint System/WaypointCircuit.cs +++ b/Assets/Waypoint System/WaypointCircuit.cs @@ -14,6 +14,7 @@ public class WaypointCircuit : MonoBehaviour [SerializeField] bool _closedLoop = true; [Range(100f, 1000f)][SerializeField] float _editorVisualisationSubsteps = 100f; [SerializeField] List _waypoints = new List(); + public bool accepted = false; //=================================================== // PRIVATE FIELDS