add : Selectio scene

This commit is contained in:
Cviat 2026-07-22 09:30:32 +03:00
parent 47e98018c6
commit 4f90ac87b4
12 changed files with 6794 additions and 328 deletions

View File

@ -17,7 +17,7 @@ TerrainLayer:
m_Smoothness: 0.219
m_NormalScale: 1
m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_DiffuseRemapMax: {x: 0.7169812, y: 0.5299214, z: 0.21306516, w: 1}
m_DiffuseRemapMax: {x: 0.21176468, y: 0.7176471, z: 0.29987016, w: 1}
m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1}
m_SmoothnessSource: 1

View File

@ -30,7 +30,8 @@ Material:
- _Cull: 0
- _Metallic: 1
- _Smoothness: 0.892
m_Colors: []
m_Colors:
- _Color: {r: 0.49524605, g: 0.49524605, b: 0.49524605, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &2562075926935352605

View File

@ -8,14 +8,10 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Buggy_Toon
m_Shader: {fileID: 4800000, guid: be891319084e9d147b09d89e80ce60e0, type: 3}
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSIVE_SIMPLE
- _IS_CLIPPING_OFF
- _IS_OUTLINE_CLIPPING_NO
- _OUTLINE_NML
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -301,6 +297,7 @@ Material:
- _Base_Speed: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BlurLevelMatcap: 0
- _BlurLevelSGM: 0
- _BumpScale: 1
@ -438,6 +435,7 @@ Material:
- _Rotate_NormalMapForMatCapUV: 0
- _SPRDefaultUnlitColorMask: 15
- _SRPDefaultUnlitColMode: 1
- _SampleGI: 0
- _Scroll_EmissiveU: 0
- _Scroll_EmissiveV: 0
- _SecondShadeOverridden: 0

View File

@ -24,16 +24,17 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7344874181333496819}
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: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!96 &7344874181333496816
TrailRenderer:
serializedVersion: 2
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
@ -43,11 +44,17 @@ TrailRenderer:
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
@ -69,10 +76,13 @@ TrailRenderer:
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_Time: 10
m_PreviewTimeScale: 1
m_Parameters:
serializedVersion: 3
widthMultiplier: 0.15
@ -118,14 +128,17 @@ TrailRenderer:
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: -1
m_NumColorKeys: 2
m_NumAlphaKeys: 4
numCornerVertices: 0
numCapVertices: 0
alignment: 1
textureMode: 1
textureScale: {x: 1, y: 1}
shadowBias: 1
generateLightingData: 0
m_MinVertexDistance: 0.1
m_Autodestruct: 0
m_Emitting: 1
m_Emitting: 0
m_ApplyActiveColorSpace: 0

View File

@ -12,7 +12,6 @@ GameObject:
- component: {fileID: 1526969493285030162}
- component: {fileID: 3028635662867362029}
- component: {fileID: 6160474623360790755}
- component: {fileID: 3845397162297609382}
m_Layer: 0
m_Name: Buggy_ThirdPersonCamera
m_TagString: Untagged
@ -112,47 +111,3 @@ MonoBehaviour:
positionSmoothTime: 0.12
rotationLerp: 12
autoFindTarget: 1
--- !u!114 &3845397162297609382
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2079360422283849323}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2

File diff suppressed because it is too large Load Diff

View File

@ -385,7 +385,7 @@ AudioSource:
m_Resource: {fileID: 8300000, guid: 771ce407ce807b74885ec23ebd1e6647, type: 3}
m_PlayOnAwake: 0
m_Volume: 0.65
m_Pitch: 1.0001354
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
@ -641,14 +641,14 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a0cbe93f4cc415445a4349d5ceb77af8, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::RaceFields.Vehicles.ArcadeBuggyController
frontLeftCollider: {fileID: 0}
frontRightCollider: {fileID: 0}
rearLeftCollider: {fileID: 0}
rearRightCollider: {fileID: 0}
frontLeftVisual: {fileID: 0}
frontRightVisual: {fileID: 0}
rearLeftVisual: {fileID: 0}
rearRightVisual: {fileID: 0}
frontLeftCollider: {fileID: 8595123710845055691}
frontRightCollider: {fileID: 5637019483994500057}
rearLeftCollider: {fileID: 4723959167736873253}
rearRightCollider: {fileID: 8455356023009735661}
frontLeftVisual: {fileID: 6568762801989271014}
frontRightVisual: {fileID: 6646537075740649271}
rearLeftVisual: {fileID: 8356230433521916086}
rearRightVisual: {fileID: 2249468117103579809}
maxSpeedKmh: 120
maxReverseSpeedKmh: 45
accelerationMultiplier: 6
@ -1095,8 +1095,28 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
--- !u!4 &2249468117103579809 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -4538098116802963192, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
m_PrefabInstance: {fileID: 6787725748994149289}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6465024907358825538 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
m_PrefabInstance: {fileID: 6787725748994149289}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6568762801989271014 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8855705879118399921, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
m_PrefabInstance: {fileID: 6787725748994149289}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6646537075740649271 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -9074780898063438690, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
m_PrefabInstance: {fileID: 6787725748994149289}
m_PrefabAsset: {fileID: 0}
--- !u!4 &8356230433521916086 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3298204846480446239, guid: 77247b62c3b41bf4d95ff56d18001c8e, type: 3}
m_PrefabInstance: {fileID: 6787725748994149289}
m_PrefabAsset: {fileID: 0}

View File

@ -23,8 +23,8 @@ RenderSettings:
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1.44
m_AmbientMode: 0
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 2100000, guid: 4e6dff801eb13874a87d918fab5e0ff1, type: 2}
m_HaloStrength: 0.5
@ -285,10 +285,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6160474623360790755, guid: 5be9815168b750e43a3cafd4741a38ec, type: 3}
propertyPath: target
value:
objectReference: {fileID: 1544989257}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@ -302,67 +298,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 6568762801989271014, guid: 1c6eef4db4f06c940a02fc3a54abcaab, type: 3}
m_PrefabInstance: {fileID: 1186595579}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &890174951
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.x
value: 145.87083
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.y
value: 0.012552671
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalPosition.z
value: 82.75275
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -2002868518202131178, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 919132149155446097, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
propertyPath: m_Name
value: Harvester
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b1dfea447adb74843b8085dbe3a6bd24, type: 3}
--- !u!1001 &1186595579
PrefabInstance:
m_ObjectHideFlags: 0
@ -556,11 +491,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1c6eef4db4f06c940a02fc3a54abcaab, type: 3}
--- !u!4 &1544989257 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4772777578382570152, guid: 1c6eef4db4f06c940a02fc3a54abcaab, type: 3}
m_PrefabInstance: {fileID: 1186595579}
m_PrefabAsset: {fileID: 0}
--- !u!146 &1555743207 stripped
WheelCollider:
m_CorrespondingSourceObject: {fileID: 8595123710845055691, guid: 1c6eef4db4f06c940a02fc3a54abcaab, type: 3}
@ -673,13 +603,13 @@ Light:
serializedVersion: 13
m_Type: 1
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 2.33
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize2D: {x: 0.5, y: 0.5}
m_Shadows:
m_Type: 2
m_Type: 1
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
@ -716,8 +646,8 @@ Light:
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 5000
m_UseColorTemperature: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
@ -752,155 +682,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 6646537075740649271, guid: 1c6eef4db4f06c940a02fc3a54abcaab, type: 3}
m_PrefabInstance: {fileID: 1186595579}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &4081677818479339325
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 30055885768626893, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 1309468370366508180, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 1374416832813343906, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 1495843530475538565, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 3878778438366419488, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 3878778438366419488, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 3884369135471139329, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 3884369135471139329, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 4292201610895144585, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: rearLeftWheelName
value: Wheel_RL
objectReference: {fileID: 0}
- target: {fileID: 4292201610895144585, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: frontLeftWheelName
value: Wheel_FL
objectReference: {fileID: 0}
- target: {fileID: 4292201610895144585, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: rearRightWheelName
value: Wheel_RR
objectReference: {fileID: 0}
- target: {fileID: 4292201610895144585, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: frontRightWheelName
value: Wheel_FR
objectReference: {fileID: 0}
- target: {fileID: 5591684590600678750, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 5591684590600678750, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 6104986495466407533, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.x
value: 155.19724
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.y
value: 0.033763755
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalPosition.z
value: 82.28427
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6187829236652007928, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6328131455391148953, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 6815148326285687618, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: m_Name
value: Buggy
objectReference: {fileID: 0}
- target: {fileID: 7218355336742249219, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: b3e837478d85f9e4d804bf34d748b479, type: 2}
- target: {fileID: 7218355336742249219, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[1]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 7811917622661281773, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 7816400608200870962, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
- target: {fileID: 8212852673395945781, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 786c09285195d61479bfcc73a4060a9e, type: 2}
- target: {fileID: 8880012082068208961, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 786c09285195d61479bfcc73a4060a9e, type: 2}
- target: {fileID: 8937895760897618758, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: bd7a4fcb0f71b9846aeb33b4d16c9459, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c1c572ed415ae0846901f837bd2dc728, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -909,5 +690,3 @@ SceneRoots:
- {fileID: 1186595579}
- {fileID: 829907302}
- {fileID: 1735981103}
- {fileID: 4081677818479339325}
- {fileID: 890174951}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c8d93f5e005091249906eb8692282a9d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2a4579adec0226449b62f9ce4a0edd1b
guid: 43805e3b08ca1ea44a44cd24e425d831
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -7,48 +7,52 @@ namespace RaceFields.EditorTools
{
public static class BuggyPrefabBuilder
{
private const string BuggyPrefabPath = "Assets/_Project/Prefabs/Vehicles/Player/Buggy_Player.prefab";
private const string BuggyPrefabPath = "Assets/_Project/Prefabs/Vehicles/Player/Buggy.prefab";
private const string CameraPrefabPath = "Assets/_Project/Prefabs/Cameras/Buggy_ThirdPersonCamera.prefab";
private const string TireSmokePrefabPath = "Assets/PROMETEO - Car Controller/Effects/Particle Systems/Prefabs/TireSmoke_PS.prefab";
private const string TireSkidPrefabPath = "Assets/PROMETEO - Car Controller/Effects/Trails/Prefabs/TireSkid.prefab";
private const string TireSmokePrefabPath = "Assets/_Project/Art/VFX/Effects/Particle Systems/Prefabs/TireSmoke_PS.prefab";
private const string TireSkidPrefabPath = "Assets/_Project/Art/VFX/Effects/Trails/Prefabs/TireSkid.prefab";
private const string EngineSoundPath = "Assets/PROMETEO - Car Controller/Sounds/CarEngine.wav";
private const string TireScreechSoundPath = "Assets/PROMETEO - Car Controller/Sounds/TireScreech.wav";
[MenuItem("Race Fields/Setup/Rebuild Buggy Prefab")]
public static void RebuildBuggyPrefab()
{
Selection.activeObject = null;
GameObject root = PrefabUtility.LoadPrefabContents(BuggyPrefabPath);
try
{
EnsureComponent<Rigidbody>(root, ConfigureBody);
EnsureComponent<BoxCollider>(root, ConfigureBodyCollider);
EnsureComponent<BoxCollider>(root, collider => ConfigureBodyCollider(root, collider));
ArcadeBuggyController controller = EnsureComponent<ArcadeBuggyController>(root, null);
EnsureComponent<BuggyWheelSetup>(root, setup => setup.AlignAllWheels());
BuggyWheelSetup wheelSetup = EnsureComponent<BuggyWheelSetup>(root, ConfigureWheelSetup);
SetupWheel(root.transform, "F_L", "WheelCollider_FL");
SetupWheel(root.transform, "F_R", "WheelCollider_FR");
SetupWheel(root.transform, "B_L", "WheelCollider_RL");
SetupWheel(root.transform, "B_R", "WheelCollider_RR");
SetupWheel(root.transform, "Wheel_FL", "WheelCollider_FL");
SetupWheel(root.transform, "Wheel_FR", "WheelCollider_FR");
SetupWheel(root.transform, "Wheel_RL", "WheelCollider_RL");
SetupWheel(root.transform, "Wheel_RR", "WheelCollider_RR");
SetupControllerReferences(root.transform, controller);
SetupEffects(root.transform, controller);
SetupSounds(root.transform, controller);
BuggyWheelSetup wheelSetup = root.GetComponent<BuggyWheelSetup>();
wheelSetup.AlignAllWheels();
PrefabUtility.SaveAsPrefabAsset(root, BuggyPrefabPath);
}
finally
{
Selection.activeObject = null;
PrefabUtility.UnloadPrefabContents(root);
}
RebuildCameraPrefab();
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
EditorApplication.delayCall += SelectBuggyPrefabAsset;
}
private static void RebuildCameraPrefab()
{
Selection.activeObject = null;
GameObject cameraObject = new GameObject("Buggy_ThirdPersonCamera");
try
{
@ -66,10 +70,16 @@ namespace RaceFields.EditorTools
}
finally
{
Selection.activeObject = null;
Object.DestroyImmediate(cameraObject);
}
}
private static void SelectBuggyPrefabAsset()
{
Selection.activeObject = AssetDatabase.LoadAssetAtPath<GameObject>(BuggyPrefabPath);
}
private static void SetupWheel(Transform root, string visualName, string colliderName)
{
Transform visual = FindDescendant(root, visualName);
@ -106,10 +116,45 @@ namespace RaceFields.EditorTools
body.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
}
private static void ConfigureBodyCollider(BoxCollider collider)
private static void ConfigureBodyCollider(GameObject root, BoxCollider collider)
{
collider.center = new Vector3(0f, 0.55f, 0f);
collider.size = new Vector3(1.8f, 0.9f, 3.1f);
Bounds bounds = CalculateLocalRendererBounds(root);
collider.center = new Vector3(0f, Mathf.Max(0.55f, bounds.center.y), bounds.center.z);
collider.size = new Vector3(
Mathf.Max(1.8f, bounds.size.x * 0.75f),
Mathf.Max(0.9f, bounds.size.y * 0.75f),
Mathf.Max(3.1f, bounds.size.z * 0.8f));
}
private static Bounds CalculateLocalRendererBounds(GameObject root)
{
Renderer[] renderers = root.GetComponentsInChildren<Renderer>(true);
bool hasBounds = false;
Bounds bounds = new Bounds(Vector3.zero, Vector3.one);
for (int i = 0; i < renderers.Length; i++)
{
if (renderers[i] is ParticleSystemRenderer || renderers[i] is TrailRenderer)
continue;
Bounds rendererBounds = renderers[i].bounds;
Vector3 localCenter = root.transform.InverseTransformPoint(rendererBounds.center);
Vector3 localSize = root.transform.InverseTransformVector(rendererBounds.size);
localSize = new Vector3(Mathf.Abs(localSize.x), Mathf.Abs(localSize.y), Mathf.Abs(localSize.z));
Bounds localBounds = new Bounds(localCenter, localSize);
if (!hasBounds)
{
bounds = localBounds;
hasBounds = true;
}
else
{
bounds.Encapsulate(localBounds);
}
}
return hasBounds ? bounds : new Bounds(new Vector3(0f, 0.55f, 0f), new Vector3(1.8f, 0.9f, 3.1f));
}
private static void ConfigureWheel(WheelCollider wheelCollider, Transform visual)
@ -127,6 +172,34 @@ namespace RaceFields.EditorTools
wheelCollider.suspensionSpring = spring;
}
private static void ConfigureWheelSetup(BuggyWheelSetup setup)
{
SerializedObject serializedSetup = new SerializedObject(setup);
serializedSetup.FindProperty("frontLeftWheelName").stringValue = "Wheel_FL";
serializedSetup.FindProperty("frontRightWheelName").stringValue = "Wheel_FR";
serializedSetup.FindProperty("rearLeftWheelName").stringValue = "Wheel_RL";
serializedSetup.FindProperty("rearRightWheelName").stringValue = "Wheel_RR";
serializedSetup.FindProperty("frontLeftColliderName").stringValue = "WheelCollider_FL";
serializedSetup.FindProperty("frontRightColliderName").stringValue = "WheelCollider_FR";
serializedSetup.FindProperty("rearLeftColliderName").stringValue = "WheelCollider_RL";
serializedSetup.FindProperty("rearRightColliderName").stringValue = "WheelCollider_RR";
serializedSetup.ApplyModifiedPropertiesWithoutUndo();
}
private static void SetupControllerReferences(Transform root, ArcadeBuggyController controller)
{
SerializedObject serializedController = new SerializedObject(controller);
serializedController.FindProperty("frontLeftCollider").objectReferenceValue = FindWheelCollider(root, "WheelCollider_FL");
serializedController.FindProperty("frontRightCollider").objectReferenceValue = FindWheelCollider(root, "WheelCollider_FR");
serializedController.FindProperty("rearLeftCollider").objectReferenceValue = FindWheelCollider(root, "WheelCollider_RL");
serializedController.FindProperty("rearRightCollider").objectReferenceValue = FindWheelCollider(root, "WheelCollider_RR");
serializedController.FindProperty("frontLeftVisual").objectReferenceValue = FindDescendant(root, "Wheel_FL");
serializedController.FindProperty("frontRightVisual").objectReferenceValue = FindDescendant(root, "Wheel_FR");
serializedController.FindProperty("rearLeftVisual").objectReferenceValue = FindDescendant(root, "Wheel_RL");
serializedController.FindProperty("rearRightVisual").objectReferenceValue = FindDescendant(root, "Wheel_RR");
serializedController.ApplyModifiedPropertiesWithoutUndo();
}
private static void SetupEffects(Transform root, ArcadeBuggyController controller)
{
GameObject effectsRoot = GetOrCreateChild(root, "Effects");
@ -195,12 +268,20 @@ namespace RaceFields.EditorTools
Transform existing = FindDescendant(parent, effectName);
GameObject effectObject;
if (existing != null)
if (existing != null && existing.GetComponentInChildren<T>(true) != null)
{
effectObject = existing.gameObject;
}
else
{
if (existing != null)
{
if (Selection.activeTransform != null && Selection.activeTransform.IsChildOf(existing))
Selection.activeObject = null;
Object.DestroyImmediate(existing.gameObject);
}
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);
effectObject = prefab != null
? (GameObject)PrefabUtility.InstantiatePrefab(prefab)
@ -269,5 +350,11 @@ namespace RaceFields.EditorTools
return null;
}
private static WheelCollider FindWheelCollider(Transform root, string name)
{
Transform wheel = FindDescendant(root, name);
return wheel != null ? wheel.GetComponent<WheelCollider>() : null;
}
}
}