Wrong way indicator, collision sound, fixed winner screen
This commit is contained in:
parent
21c8a650e3
commit
9f10cbc5fc
@ -136,6 +136,154 @@ MonoBehaviour:
|
|||||||
m_hasFontAssetChanged: 0
|
m_hasFontAssetChanged: 0
|
||||||
m_baseMaterial: {fileID: 0}
|
m_baseMaterial: {fileID: 0}
|
||||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
--- !u!1 &759185982889710626
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1251444078252046342}
|
||||||
|
- component: {fileID: 9182074428259740160}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Trail (1)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1251444078252046342
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 759185982889710626}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: -1.51}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 2739604471974086380}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!96 &9182074428259740160
|
||||||
|
TrailRenderer:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 759185982889710626}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
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_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_Time: 0.05
|
||||||
|
m_PreviewTimeScale: 1
|
||||||
|
m_Parameters:
|
||||||
|
serializedVersion: 3
|
||||||
|
widthMultiplier: 2
|
||||||
|
widthCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.76580465
|
||||||
|
value: 0.35365856
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
colorGradient:
|
||||||
|
serializedVersion: 2
|
||||||
|
key0: {r: 1, g: 0.9882353, b: 0.2509804, a: 1}
|
||||||
|
key1: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
key5: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
key6: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
key7: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
ctime0: 0
|
||||||
|
ctime1: 65535
|
||||||
|
ctime2: 0
|
||||||
|
ctime3: 0
|
||||||
|
ctime4: 0
|
||||||
|
ctime5: 0
|
||||||
|
ctime6: 0
|
||||||
|
ctime7: 0
|
||||||
|
atime0: 0
|
||||||
|
atime1: 65535
|
||||||
|
atime2: 0
|
||||||
|
atime3: 0
|
||||||
|
atime4: 0
|
||||||
|
atime5: 0
|
||||||
|
atime6: 0
|
||||||
|
atime7: 0
|
||||||
|
m_Mode: 0
|
||||||
|
m_ColorSpace: 0
|
||||||
|
m_NumColorKeys: 2
|
||||||
|
m_NumAlphaKeys: 2
|
||||||
|
numCornerVertices: 0
|
||||||
|
numCapVertices: 0
|
||||||
|
alignment: 0
|
||||||
|
textureMode: 0
|
||||||
|
textureScale: {x: 1, y: 1}
|
||||||
|
shadowBias: 0.5
|
||||||
|
generateLightingData: 0
|
||||||
|
m_MinVertexDistance: 0.1
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_Autodestruct: 0
|
||||||
|
m_Emitting: 1
|
||||||
|
m_ApplyActiveColorSpace: 1
|
||||||
--- !u!1 &1269682946183619831
|
--- !u!1 &1269682946183619831
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -152,7 +300,7 @@ GameObject:
|
|||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 0
|
||||||
--- !u!4 &2684802689901416212
|
--- !u!4 &2684802689901416212
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -284,6 +432,142 @@ TrailRenderer:
|
|||||||
m_Autodestruct: 0
|
m_Autodestruct: 0
|
||||||
m_Emitting: 1
|
m_Emitting: 1
|
||||||
m_ApplyActiveColorSpace: 1
|
m_ApplyActiveColorSpace: 1
|
||||||
|
--- !u!1 &3137021681585047558
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4209967134487703583}
|
||||||
|
- component: {fileID: 4851873612469887564}
|
||||||
|
- component: {fileID: 4764067250207221816}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text (TMP)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4209967134487703583
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3137021681585047558}
|
||||||
|
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: 6150292465518131551}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 1200, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4851873612469887564
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3137021681585047558}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4764067250207221816
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3137021681585047558}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_text: wrong way !!
|
||||||
|
m_isRightToLeft: 0
|
||||||
|
m_fontAsset: {fileID: 11400000, guid: 978007a8ddca8ef408c6e3469f9496d1, type: 2}
|
||||||
|
m_sharedMaterial: {fileID: 706495386608451938, guid: 978007a8ddca8ef408c6e3469f9496d1, type: 2}
|
||||||
|
m_fontSharedMaterials: []
|
||||||
|
m_fontMaterial: {fileID: 0}
|
||||||
|
m_fontMaterials: []
|
||||||
|
m_fontColor32:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontColor: {r: 0.81568635, g: 0.13333334, b: 0, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 72
|
||||||
|
m_fontSizeBase: 72
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 0
|
||||||
|
m_fontSizeMin: 18
|
||||||
|
m_fontSizeMax: 72
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 2
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
m_textAlignment: 65535
|
||||||
|
m_characterSpacing: 0
|
||||||
|
m_wordSpacing: 0
|
||||||
|
m_lineSpacing: 0
|
||||||
|
m_lineSpacingMax: 0
|
||||||
|
m_paragraphSpacing: 0
|
||||||
|
m_charWidthMaxAdj: 0
|
||||||
|
m_TextWrappingMode: 1
|
||||||
|
m_wordWrappingRatios: 0.4
|
||||||
|
m_overflowMode: 0
|
||||||
|
m_linkedTextComponent: {fileID: 0}
|
||||||
|
parentLinkedComponent: {fileID: 0}
|
||||||
|
m_enableKerning: 0
|
||||||
|
m_ActiveFontFeatures: 6e72656b
|
||||||
|
m_enableExtraPadding: 0
|
||||||
|
checkPaddingRequired: 0
|
||||||
|
m_isRichText: 1
|
||||||
|
m_EmojiFallbackSupport: 1
|
||||||
|
m_parseCtrlCharacters: 1
|
||||||
|
m_isOrthographic: 1
|
||||||
|
m_isCullingEnabled: 0
|
||||||
|
m_horizontalMapping: 0
|
||||||
|
m_verticalMapping: 0
|
||||||
|
m_uvLineOffset: 0
|
||||||
|
m_geometrySortingOrder: 0
|
||||||
|
m_IsTextObjectScaleStatic: 0
|
||||||
|
m_VertexBufferAutoSizeReduction: 0
|
||||||
|
m_useMaxVisibleDescender: 1
|
||||||
|
m_pageToDisplay: 1
|
||||||
|
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
--- !u!1 &3205211927287796582
|
--- !u!1 &3205211927287796582
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -396,6 +680,7 @@ RectTransform:
|
|||||||
- {fileID: 7211960240219488103}
|
- {fileID: 7211960240219488103}
|
||||||
- {fileID: 2718635251434518077}
|
- {fileID: 2718635251434518077}
|
||||||
- {fileID: 218548550622008583}
|
- {fileID: 218548550622008583}
|
||||||
|
- {fileID: 4209967134487703583}
|
||||||
m_Father: {fileID: 2739604471974086380}
|
m_Father: {fileID: 2739604471974086380}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
@ -1007,7 +1292,7 @@ AudioSource:
|
|||||||
OutputAudioMixerGroup: {fileID: 0}
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
m_audioClip: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
m_audioClip: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
||||||
m_Resource: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
m_Resource: {fileID: 8300000, guid: 08201d878210b114e813f4133c6fd322, type: 3}
|
||||||
m_PlayOnAwake: 1
|
m_PlayOnAwake: 0
|
||||||
m_Volume: 0.32
|
m_Volume: 0.32
|
||||||
m_Pitch: -1.76
|
m_Pitch: -1.76
|
||||||
Loop: 0
|
Loop: 0
|
||||||
@ -1136,7 +1421,7 @@ AudioSource:
|
|||||||
OutputAudioMixerGroup: {fileID: 0}
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
m_audioClip: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
m_audioClip: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
||||||
m_Resource: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
m_Resource: {fileID: 8300000, guid: c953c4df8e4207f4db2ac3d8603809d9, type: 3}
|
||||||
m_PlayOnAwake: 1
|
m_PlayOnAwake: 0
|
||||||
m_Volume: 0.471
|
m_Volume: 0.471
|
||||||
m_Pitch: 1
|
m_Pitch: 1
|
||||||
Loop: 0
|
Loop: 0
|
||||||
@ -1260,6 +1545,7 @@ Transform:
|
|||||||
- {fileID: 9160487209143755372}
|
- {fileID: 9160487209143755372}
|
||||||
- {fileID: 360567747910623970}
|
- {fileID: 360567747910623970}
|
||||||
- {fileID: 2684802689901416212}
|
- {fileID: 2684802689901416212}
|
||||||
|
- {fileID: 1251444078252046342}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!54 &7162886650759621711
|
--- !u!54 &7162886650759621711
|
||||||
@ -1450,6 +1736,7 @@ MonoBehaviour:
|
|||||||
- {fileID: 0}
|
- {fileID: 0}
|
||||||
- {fileID: 0}
|
- {fileID: 0}
|
||||||
canAccelerate: 0
|
canAccelerate: 0
|
||||||
|
wrongWayText: {fileID: 0}
|
||||||
hoverHeight: 3
|
hoverHeight: 3
|
||||||
raycastDistance: 20
|
raycastDistance: 20
|
||||||
smoothTerrainLayer:
|
smoothTerrainLayer:
|
||||||
@ -1467,6 +1754,8 @@ MonoBehaviour:
|
|||||||
timeBeforeReset: 3
|
timeBeforeReset: 3
|
||||||
trackRaycastDistance: 20
|
trackRaycastDistance: 20
|
||||||
trackTag: Track
|
trackTag: Track
|
||||||
|
collisionSound: {fileID: 0}
|
||||||
|
audioSource: {fileID: 0}
|
||||||
--- !u!114 &7105996084223619230
|
--- !u!114 &7105996084223619230
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -348,7 +348,7 @@ AudioSource:
|
|||||||
OutputAudioMixerGroup: {fileID: 0}
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
m_audioClip: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
m_audioClip: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
||||||
m_Resource: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
m_Resource: {fileID: 8300000, guid: ad8a021cc75c4d2498f62c9468f0c57a, type: 3}
|
||||||
m_PlayOnAwake: 1
|
m_PlayOnAwake: 0
|
||||||
m_Volume: 1
|
m_Volume: 1
|
||||||
m_Pitch: 1
|
m_Pitch: 1
|
||||||
Loop: 0
|
Loop: 0
|
||||||
@ -477,7 +477,7 @@ AudioSource:
|
|||||||
OutputAudioMixerGroup: {fileID: 0}
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
m_audioClip: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
m_audioClip: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
||||||
m_Resource: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
m_Resource: {fileID: 8300000, guid: b7c5bbd3b60bdec4c970a96f623bb757, type: 3}
|
||||||
m_PlayOnAwake: 1
|
m_PlayOnAwake: 0
|
||||||
m_Volume: 1
|
m_Volume: 1
|
||||||
m_Pitch: 1
|
m_Pitch: 1
|
||||||
Loop: 0
|
Loop: 0
|
||||||
|
@ -119,6 +119,17 @@ NavMeshSettings:
|
|||||||
debug:
|
debug:
|
||||||
m_Flags: 0
|
m_Flags: 0
|
||||||
m_NavMeshData: {fileID: 0}
|
m_NavMeshData: {fileID: 0}
|
||||||
|
--- !u!114 &121175909 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 6682387771288872990}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &149090130 stripped
|
--- !u!114 &149090130 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 7330093094718640193, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
m_CorrespondingSourceObject: {fileID: 7330093094718640193, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
@ -883,6 +894,17 @@ GameObject:
|
|||||||
m_CorrespondingSourceObject: {fileID: 3270263327541053123, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3270263327541053123, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
m_PrefabInstance: {fileID: 6388558628322318749}
|
m_PrefabInstance: {fileID: 6388558628322318749}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &418144275 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4764067250207221816, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 6388558628322318749}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &456547926 stripped
|
--- !u!114 &456547926 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_CorrespondingSourceObject: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
m_CorrespondingSourceObject: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
@ -3313,6 +3335,135 @@ MonoBehaviour:
|
|||||||
m_LightCookieSize: {x: 1, y: 1}
|
m_LightCookieSize: {x: 1, y: 1}
|
||||||
m_LightCookieOffset: {x: 0, y: 0}
|
m_LightCookieOffset: {x: 0, y: 0}
|
||||||
m_SoftShadowQuality: 0
|
m_SoftShadowQuality: 0
|
||||||
|
--- !u!1 &2055079843
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2055079844}
|
||||||
|
- component: {fileID: 2055079845}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Collision
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2055079844
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2055079843}
|
||||||
|
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: 1703462600}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!82 &2055079845
|
||||||
|
AudioSource:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2055079843}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
OutputAudioMixerGroup: {fileID: 0}
|
||||||
|
m_audioClip: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||||
|
m_Resource: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||||
|
m_PlayOnAwake: 0
|
||||||
|
m_Volume: 0.463
|
||||||
|
m_Pitch: -1.95
|
||||||
|
Loop: 0
|
||||||
|
Mute: 0
|
||||||
|
Spatialize: 0
|
||||||
|
SpatializePostEffects: 0
|
||||||
|
Priority: 128
|
||||||
|
DopplerLevel: 1
|
||||||
|
MinDistance: 1
|
||||||
|
MaxDistance: 500
|
||||||
|
Pan2D: 0
|
||||||
|
rolloffMode: 0
|
||||||
|
BypassEffects: 0
|
||||||
|
BypassListenerEffects: 0
|
||||||
|
BypassReverbZones: 0
|
||||||
|
rolloffCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
panLevelCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
spreadCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
reverbZoneMixCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
--- !u!64 &2140352485
|
--- !u!64 &2140352485
|
||||||
MeshCollider:
|
MeshCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -6130,6 +6281,18 @@ PrefabInstance:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransformParent: {fileID: 0}
|
m_TransformParent: {fileID: 0}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: audioSource
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 2055079845}
|
||||||
|
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: wrongWayText
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 418144275}
|
||||||
|
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: collisionSound
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 8300000, guid: 6769b43fd3db2634f9e81c93ac3e093e, type: 3}
|
||||||
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
- target: {fileID: 341120459158792421, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
propertyPath: 'checkpoints.Array.data[0]'
|
propertyPath: 'checkpoints.Array.data[0]'
|
||||||
value:
|
value:
|
||||||
@ -6674,6 +6837,18 @@ PrefabInstance:
|
|||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3137021681585047558, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: WrongWay
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3137021681585047558, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4764067250207221816, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
propertyPath: m_fontColor32.rgba
|
||||||
|
value: 4278198992
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6552287091957501518, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
- target: {fileID: 6552287091957501518, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
propertyPath: raceManager
|
propertyPath: raceManager
|
||||||
value:
|
value:
|
||||||
@ -6684,7 +6859,10 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 2739604471974086380, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 2055079844}
|
||||||
m_AddedComponents: []
|
m_AddedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: dd7b06eb9076d6c429cee20c704cae64, type: 3}
|
||||||
--- !u!1 &6466939393724566181 stripped
|
--- !u!1 &6466939393724566181 stripped
|
||||||
@ -6885,6 +7063,14 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: RaceManager
|
value: RaceManager
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
|
propertyPath: m_fontSize
|
||||||
|
value: 72
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5216672097827285888, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
|
propertyPath: m_fontSizeBase
|
||||||
|
value: 72
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5961961246965211052, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
- target: {fileID: 5961961246965211052, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||||
value:
|
value:
|
||||||
@ -6933,10 +7119,18 @@ PrefabInstance:
|
|||||||
propertyPath: playerUI
|
propertyPath: playerUI
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 377076480}
|
objectReference: {fileID: 377076480}
|
||||||
|
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
|
propertyPath: totalLaps
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
propertyPath: finishLine
|
propertyPath: finishLine
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 1535149051}
|
objectReference: {fileID: 1535149051}
|
||||||
|
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
|
propertyPath: victoryText
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 121175909}
|
||||||
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
- target: {fileID: 8956791611276861029, guid: 3d3c243c1b15b8d47b49111dee600ae6, type: 3}
|
||||||
propertyPath: lapsLeftText
|
propertyPath: lapsLeftText
|
||||||
value:
|
value:
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI; // Required for UI elements
|
||||||
|
|
||||||
public class StableHovercarController : BaseHovercarController
|
public class StableHovercarController : BaseHovercarController
|
||||||
{
|
{
|
||||||
|
[Header("UI")]
|
||||||
|
public TextMeshProUGUI wrongWayText;
|
||||||
|
|
||||||
[Header("Hover Settings")]
|
[Header("Hover Settings")]
|
||||||
public float hoverHeight = 3.0f;
|
public float hoverHeight = 3.0f;
|
||||||
public float raycastDistance = 10.0f;
|
public float raycastDistance = 10.0f;
|
||||||
@ -18,9 +23,9 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
public float bumpyPositionAdjustmentSpeed = 5.0f;
|
public float bumpyPositionAdjustmentSpeed = 5.0f;
|
||||||
|
|
||||||
[Header("Movement Settings")]
|
[Header("Movement Settings")]
|
||||||
public float movementSpeed = 10.0f; // Max speed
|
public float movementSpeed = 10.0f;
|
||||||
public float acceleration = 5.0f; // How quickly to accelerate
|
public float acceleration = 5.0f;
|
||||||
public float deceleration = 7.0f; // How quickly to decelerate
|
public float deceleration = 7.0f;
|
||||||
public float rotationSpeed = 100.0f;
|
public float rotationSpeed = 100.0f;
|
||||||
|
|
||||||
[Header("Reset Settings")]
|
[Header("Reset Settings")]
|
||||||
@ -33,6 +38,9 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
[Tooltip("Tag used on the track geometry.")]
|
[Tooltip("Tag used on the track geometry.")]
|
||||||
public string trackTag = "Track";
|
public string trackTag = "Track";
|
||||||
|
|
||||||
|
public AudioClip collisionSound;
|
||||||
|
public AudioSource audioSource;
|
||||||
|
|
||||||
private float currentSpeed = 0.0f;
|
private float currentSpeed = 0.0f;
|
||||||
private Rigidbody rb;
|
private Rigidbody rb;
|
||||||
private RacerProgress racerProgress;
|
private RacerProgress racerProgress;
|
||||||
@ -42,6 +50,9 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
// Flag that indicates whether a raycast hit was detected in this physics update.
|
// Flag that indicates whether a raycast hit was detected in this physics update.
|
||||||
private bool groundContact = false;
|
private bool groundContact = false;
|
||||||
|
|
||||||
|
// Timer to track how long the next checkpoint is not in front.
|
||||||
|
private float wrongWayTimer = 0.0f;
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
rb = GetComponent<Rigidbody>();
|
rb = GetComponent<Rigidbody>();
|
||||||
@ -52,62 +63,115 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
{
|
{
|
||||||
Debug.LogWarning("No RacerProgress component found on this vehicle!");
|
Debug.LogWarning("No RacerProgress component found on this vehicle!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (wrongWayText != null)
|
||||||
|
{
|
||||||
|
wrongWayText.enabled = false; // Hide the "Wrong Way" message initially
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FixedUpdate()
|
void FixedUpdate()
|
||||||
{
|
{
|
||||||
HandleHovering();
|
HandleHovering();
|
||||||
HandleMovement();
|
HandleMovement();
|
||||||
|
CheckWrongWay();
|
||||||
|
|
||||||
// If we aren’t detecting ground/track contact, count up.
|
|
||||||
if (!groundContact)
|
if (!groundContact)
|
||||||
{
|
{
|
||||||
noContactTimer += Time.fixedDeltaTime;
|
noContactTimer += Time.fixedDeltaTime;
|
||||||
if (noContactTimer >= timeBeforeReset)
|
if (noContactTimer >= timeBeforeReset)
|
||||||
{
|
{
|
||||||
ResetToCheckpoint();
|
ResetToCheckpoint();
|
||||||
noContactTimer = 0.0f; // Reset timer after repositioning
|
noContactTimer = 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Reset the timer when ground/track is detected.
|
|
||||||
noContactTimer = 0.0f;
|
noContactTimer = 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnCollisionEnter(Collision collision)
|
||||||
|
{
|
||||||
|
// Check if the collided object has the "Racer" tag
|
||||||
|
if (collision.gameObject.CompareTag("Racer"))
|
||||||
|
{
|
||||||
|
// Play the sound effect
|
||||||
|
if (collisionSound != null && audioSource != null)
|
||||||
|
{
|
||||||
|
audioSource.PlayOneShot(collisionSound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Checks whether the next checkpoint is in the vehicle's forward hemisphere.
|
||||||
|
/// If it isn’t for longer than one second, the "Wrong Way" warning is displayed.
|
||||||
|
/// </summary>
|
||||||
|
void CheckWrongWay()
|
||||||
|
{
|
||||||
|
// Validate that we have checkpoints and progress data.
|
||||||
|
if (checkpoints == null || racerProgress == null || checkpoints.Length == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine the next checkpoint.
|
||||||
|
int nextCheckpointIndex = (racerProgress.currentCheckpointIndex + 1) % checkpoints.Length;
|
||||||
|
Transform nextCheckpoint = checkpoints[nextCheckpointIndex];
|
||||||
|
|
||||||
|
// Compute the direction from the vehicle to the next checkpoint.
|
||||||
|
Vector3 toNextCheckpoint = (nextCheckpoint.position - transform.position).normalized;
|
||||||
|
|
||||||
|
// Check if the next checkpoint is in front.
|
||||||
|
// A positive dot product means the checkpoint is in the forward hemisphere.
|
||||||
|
if (Vector3.Dot(transform.forward, toNextCheckpoint) > 0)
|
||||||
|
{
|
||||||
|
// Checkpoint is in front – reset the timer and hide the warning.
|
||||||
|
wrongWayTimer = 0.0f;
|
||||||
|
if (wrongWayText != null)
|
||||||
|
{
|
||||||
|
wrongWayText.enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Checkpoint is behind; accumulate the timer.
|
||||||
|
wrongWayTimer += Time.fixedDeltaTime;
|
||||||
|
if (wrongWayTimer >= 1.0f)
|
||||||
|
{
|
||||||
|
if (wrongWayText != null)
|
||||||
|
{
|
||||||
|
wrongWayText.enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void HandleHovering()
|
void HandleHovering()
|
||||||
{
|
{
|
||||||
RaycastHit hit;
|
RaycastHit hit;
|
||||||
Vector3 rayOrigin = transform.position;
|
Vector3 rayOrigin = transform.position;
|
||||||
|
|
||||||
// Combine both terrain layers for the raycast.
|
|
||||||
LayerMask combinedLayer = smoothTerrainLayer | bumpyTerrainLayer;
|
LayerMask combinedLayer = smoothTerrainLayer | bumpyTerrainLayer;
|
||||||
|
|
||||||
// Cast a ray downward to detect the terrain.
|
|
||||||
if (Physics.Raycast(rayOrigin, -transform.up, out hit, raycastDistance, combinedLayer))
|
if (Physics.Raycast(rayOrigin, -transform.up, out hit, raycastDistance, combinedLayer))
|
||||||
{
|
{
|
||||||
// We have ground contact.
|
|
||||||
groundContact = true;
|
groundContact = true;
|
||||||
|
|
||||||
// Determine the triangle on the mesh that was hit.
|
|
||||||
Mesh mesh = hit.collider.GetComponent<MeshFilter>().mesh;
|
Mesh mesh = hit.collider.GetComponent<MeshFilter>().mesh;
|
||||||
int triangleIndex = hit.triangleIndex;
|
int triangleIndex = hit.triangleIndex;
|
||||||
int vertex1Index = mesh.triangles[triangleIndex * 3 + 0];
|
int vertex1Index = mesh.triangles[triangleIndex * 3 + 0];
|
||||||
int vertex2Index = mesh.triangles[triangleIndex * 3 + 1];
|
int vertex2Index = mesh.triangles[triangleIndex * 3 + 1];
|
||||||
int vertex3Index = mesh.triangles[triangleIndex * 3 + 2];
|
int vertex3Index = mesh.triangles[triangleIndex * 3 + 2];
|
||||||
|
|
||||||
// Convert the triangle vertices to world space.
|
|
||||||
Vector3 worldVertex1 = hit.collider.transform.TransformPoint(mesh.vertices[vertex1Index]);
|
Vector3 worldVertex1 = hit.collider.transform.TransformPoint(mesh.vertices[vertex1Index]);
|
||||||
Vector3 worldVertex2 = hit.collider.transform.TransformPoint(mesh.vertices[vertex2Index]);
|
Vector3 worldVertex2 = hit.collider.transform.TransformPoint(mesh.vertices[vertex2Index]);
|
||||||
Vector3 worldVertex3 = hit.collider.transform.TransformPoint(mesh.vertices[vertex3Index]);
|
Vector3 worldVertex3 = hit.collider.transform.TransformPoint(mesh.vertices[vertex3Index]);
|
||||||
|
|
||||||
// Interpolate to find the hit point on the triangle.
|
|
||||||
Vector3 interpolatedPoint = worldVertex1 * hit.barycentricCoordinate.x +
|
Vector3 interpolatedPoint = worldVertex1 * hit.barycentricCoordinate.x +
|
||||||
worldVertex2 * hit.barycentricCoordinate.y +
|
worldVertex2 * hit.barycentricCoordinate.y +
|
||||||
worldVertex3 * hit.barycentricCoordinate.z;
|
worldVertex3 * hit.barycentricCoordinate.z;
|
||||||
|
|
||||||
// Similarly, interpolate the normals.
|
|
||||||
Vector3 localNormal1 = mesh.normals[vertex1Index];
|
Vector3 localNormal1 = mesh.normals[vertex1Index];
|
||||||
Vector3 localNormal2 = mesh.normals[vertex2Index];
|
Vector3 localNormal2 = mesh.normals[vertex2Index];
|
||||||
Vector3 localNormal3 = mesh.normals[vertex3Index];
|
Vector3 localNormal3 = mesh.normals[vertex3Index];
|
||||||
@ -118,40 +182,33 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
worldNormal2 * hit.barycentricCoordinate.y +
|
worldNormal2 * hit.barycentricCoordinate.y +
|
||||||
worldNormal3 * hit.barycentricCoordinate.z).normalized;
|
worldNormal3 * hit.barycentricCoordinate.z).normalized;
|
||||||
|
|
||||||
// Choose the appropriate adjustment speed based on which terrain layer was hit.
|
|
||||||
float currentAdjustmentSpeed = smoothPositionAdjustmentSpeed;
|
float currentAdjustmentSpeed = smoothPositionAdjustmentSpeed;
|
||||||
if (IsInLayerMask(hit.collider.gameObject, bumpyTerrainLayer))
|
if (IsInLayerMask(hit.collider.gameObject, bumpyTerrainLayer))
|
||||||
{
|
{
|
||||||
currentAdjustmentSpeed = bumpyPositionAdjustmentSpeed;
|
currentAdjustmentSpeed = bumpyPositionAdjustmentSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute the target hover position.
|
|
||||||
Vector3 targetPosition = interpolatedPoint + interpolatedNormal * hoverHeight;
|
Vector3 targetPosition = interpolatedPoint + interpolatedNormal * hoverHeight;
|
||||||
rb.MovePosition(Vector3.Lerp(transform.position, targetPosition, Time.fixedDeltaTime * currentAdjustmentSpeed));
|
rb.MovePosition(Vector3.Lerp(transform.position, targetPosition, Time.fixedDeltaTime * currentAdjustmentSpeed));
|
||||||
|
|
||||||
// Smoothly rotate the vehicle to align with the terrain.
|
|
||||||
Quaternion targetRotation = Quaternion.FromToRotation(transform.up, interpolatedNormal) * transform.rotation;
|
Quaternion targetRotation = Quaternion.FromToRotation(transform.up, interpolatedNormal) * transform.rotation;
|
||||||
rb.rotation = Quaternion.Slerp(rb.rotation, targetRotation, Time.fixedDeltaTime * 5.0f);
|
rb.rotation = Quaternion.Slerp(rb.rotation, targetRotation, Time.fixedDeltaTime * 5.0f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// No ground detected.
|
|
||||||
groundContact = false;
|
groundContact = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleMovement()
|
void HandleMovement()
|
||||||
{
|
{
|
||||||
// Get player input.
|
|
||||||
float input = Input.GetAxis("Vertical");
|
float input = Input.GetAxis("Vertical");
|
||||||
if (!canAccelerate) {
|
if (!canAccelerate)
|
||||||
|
{
|
||||||
input = 0;
|
input = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate target speed.
|
|
||||||
float targetSpeed = input * movementSpeed;
|
float targetSpeed = input * movementSpeed;
|
||||||
|
|
||||||
// Smooth acceleration/deceleration.
|
|
||||||
if (input != 0)
|
if (input != 0)
|
||||||
{
|
{
|
||||||
currentSpeed = Mathf.Lerp(currentSpeed, targetSpeed, Time.fixedDeltaTime * acceleration);
|
currentSpeed = Mathf.Lerp(currentSpeed, targetSpeed, Time.fixedDeltaTime * acceleration);
|
||||||
@ -161,77 +218,50 @@ public class StableHovercarController : BaseHovercarController
|
|||||||
currentSpeed = Mathf.Lerp(currentSpeed, 0, Time.fixedDeltaTime * deceleration);
|
currentSpeed = Mathf.Lerp(currentSpeed, 0, Time.fixedDeltaTime * deceleration);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply forward movement.
|
|
||||||
rb.linearVelocity = transform.forward * currentSpeed;
|
rb.linearVelocity = transform.forward * currentSpeed;
|
||||||
|
|
||||||
// Apply rotation.
|
|
||||||
float turn = Input.GetAxis("Horizontal") * rotationSpeed;
|
float turn = Input.GetAxis("Horizontal") * rotationSpeed;
|
||||||
rb.angularVelocity = transform.up * turn * Mathf.Deg2Rad;
|
rb.angularVelocity = transform.up * turn * Mathf.Deg2Rad;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetToCheckpoint()
|
void ResetToCheckpoint()
|
||||||
{
|
{
|
||||||
// Ensure checkpoints and progress tracking are valid.
|
if (checkpoints == null || checkpoints.Length == 0 || racerProgress == null)
|
||||||
if (checkpoints == null || checkpoints.Length == 0)
|
|
||||||
{
|
{
|
||||||
Debug.LogWarning("No checkpoints have been assigned in the Inspector.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (racerProgress == null)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("RacerProgress component is missing. Cannot reset to checkpoint.");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cpIndex = racerProgress.currentCheckpointIndex;
|
int cpIndex = racerProgress.currentCheckpointIndex;
|
||||||
if (cpIndex < 0 || cpIndex >= checkpoints.Length)
|
if (cpIndex < 0 || cpIndex >= checkpoints.Length)
|
||||||
{
|
{
|
||||||
Debug.LogWarning("Invalid checkpoint index in RacerProgress!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the last checkpoint.
|
|
||||||
Transform lastCheckpoint = checkpoints[cpIndex];
|
Transform lastCheckpoint = checkpoints[cpIndex];
|
||||||
|
|
||||||
// Determine the next checkpoint in sequence.
|
|
||||||
int nextCheckpointIndex = (cpIndex + 1) % checkpoints.Length;
|
int nextCheckpointIndex = (cpIndex + 1) % checkpoints.Length;
|
||||||
Transform nextCheckpoint = checkpoints[nextCheckpointIndex];
|
Transform nextCheckpoint = checkpoints[nextCheckpointIndex];
|
||||||
|
|
||||||
// Determine desired forward direction toward the next checkpoint.
|
|
||||||
Vector3 desiredForward = (nextCheckpoint.position - lastCheckpoint.position).normalized;
|
Vector3 desiredForward = (nextCheckpoint.position - lastCheckpoint.position).normalized;
|
||||||
|
Vector3 desiredUp = Vector3.up;
|
||||||
// Determine the track’s surface normal using a raycast.
|
|
||||||
Vector3 desiredUp = Vector3.up; // Fallback if no track surface is detected.
|
|
||||||
RaycastHit hit;
|
RaycastHit hit;
|
||||||
Vector3 rayOrigin = lastCheckpoint.position + Vector3.up * 1.0f;
|
Vector3 rayOrigin = lastCheckpoint.position + Vector3.up * 1.0f;
|
||||||
if (Physics.Raycast(rayOrigin, -Vector3.up, out hit, trackRaycastDistance))
|
|
||||||
{
|
if (Physics.Raycast(rayOrigin, -Vector3.up, out hit, trackRaycastDistance) && hit.collider.CompareTag(trackTag))
|
||||||
if (hit.collider.CompareTag(trackTag))
|
|
||||||
{
|
{
|
||||||
desiredUp = -hit.normal;
|
desiredUp = -hit.normal;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Adjust the forward vector to be perpendicular to the track's surface.
|
|
||||||
desiredForward = Vector3.ProjectOnPlane(desiredForward, desiredUp).normalized;
|
desiredForward = Vector3.ProjectOnPlane(desiredForward, desiredUp).normalized;
|
||||||
|
|
||||||
// Build the final rotation.
|
|
||||||
Quaternion desiredRotation = Quaternion.LookRotation(desiredForward, desiredUp);
|
Quaternion desiredRotation = Quaternion.LookRotation(desiredForward, desiredUp);
|
||||||
|
|
||||||
// Reset position and orientation.
|
|
||||||
transform.position = lastCheckpoint.position;
|
transform.position = lastCheckpoint.position;
|
||||||
transform.rotation = desiredRotation;
|
transform.rotation = desiredRotation;
|
||||||
|
|
||||||
// Clear any existing velocity.
|
|
||||||
currentSpeed = 0f;
|
currentSpeed = 0f;
|
||||||
rb.linearVelocity = Vector3.zero;
|
rb.linearVelocity = Vector3.zero;
|
||||||
rb.angularVelocity = Vector3.zero;
|
rb.angularVelocity = Vector3.zero;
|
||||||
|
|
||||||
Debug.Log("Vehicle reset to checkpoint: " + lastCheckpoint.name +
|
|
||||||
" with front facing: " + nextCheckpoint.name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Helper method to determine if a GameObject's layer is in a given LayerMask.
|
// Helper method to determine if a GameObject's layer is in a given LayerMask.
|
||||||
private bool IsInLayerMask(GameObject obj, LayerMask mask)
|
private bool IsInLayerMask(GameObject obj, LayerMask mask)
|
||||||
{
|
{
|
||||||
|
@ -5,20 +5,30 @@ public class Checkpoint : MonoBehaviour
|
|||||||
[Tooltip("The order index of this checkpoint along the track.")]
|
[Tooltip("The order index of this checkpoint along the track.")]
|
||||||
public int checkpointIndex = 0;
|
public int checkpointIndex = 0;
|
||||||
|
|
||||||
|
[Tooltip("The amount of checkpoints the player can skip without penalty.")]
|
||||||
|
public int skippableCheckpointsQty = 5;
|
||||||
|
|
||||||
private void OnTriggerEnter(Collider other)
|
private void OnTriggerEnter(Collider other)
|
||||||
{
|
{
|
||||||
RacerProgress progress = other.GetComponent<RacerProgress>();
|
RacerProgress progress = other.GetComponent<RacerProgress>();
|
||||||
if (progress != null && RaceManager.Instance != null)
|
if (progress != null && RaceManager.Instance != null)
|
||||||
{
|
|
||||||
// Only update if the racer is expecting this checkpoint next.
|
|
||||||
if (progress.currentCheckpointIndex == checkpointIndex)
|
|
||||||
{
|
{
|
||||||
int totalCheckpoints = RaceManager.Instance.numberOfCheckpoints;
|
int totalCheckpoints = RaceManager.Instance.numberOfCheckpoints;
|
||||||
|
|
||||||
|
// Check if this checkpoint is within the skippable range or expected next.
|
||||||
|
int distanceToCheckpoint = (checkpointIndex - progress.currentCheckpointIndex + totalCheckpoints) % totalCheckpoints;
|
||||||
|
|
||||||
|
if (distanceToCheckpoint == 0 || (distanceToCheckpoint <= skippableCheckpointsQty + 1))
|
||||||
|
{
|
||||||
|
// Update the current checkpoint index
|
||||||
progress.currentCheckpointIndex = (checkpointIndex + 1) % totalCheckpoints;
|
progress.currentCheckpointIndex = (checkpointIndex + 1) % totalCheckpoints;
|
||||||
|
|
||||||
// If the racer just passed the final checkpoint, increment the lap count.
|
// If the racer just passed the final checkpoint, increment the lap count.
|
||||||
if (checkpointIndex == totalCheckpoints - 1)
|
if (checkpointIndex == totalCheckpoints - 1)
|
||||||
|
{
|
||||||
progress.lapCount++;
|
progress.lapCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -31,6 +31,7 @@ public class RaceManager : MonoBehaviour
|
|||||||
public CinemachineCamera victoryCamera;
|
public CinemachineCamera victoryCamera;
|
||||||
public CinemachineCamera playerCamera;
|
public CinemachineCamera playerCamera;
|
||||||
public GameObject postRaceCanvas;
|
public GameObject postRaceCanvas;
|
||||||
|
public TextMeshProUGUI victoryText;
|
||||||
public GameObject playerUI;
|
public GameObject playerUI;
|
||||||
|
|
||||||
private List<RacerProgress> racers = new List<RacerProgress>();
|
private List<RacerProgress> racers = new List<RacerProgress>();
|
||||||
@ -108,6 +109,12 @@ public class RaceManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
foreach (RacerProgress racer in racers)
|
foreach (RacerProgress racer in racers)
|
||||||
{
|
{
|
||||||
|
BaseHovercarController controller = racer.GetComponent<BaseHovercarController>();
|
||||||
|
if (controller != null)
|
||||||
|
{
|
||||||
|
controller.enabled = false; // Disable the movement script.
|
||||||
|
}
|
||||||
|
|
||||||
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
||||||
if (rb != null)
|
if (rb != null)
|
||||||
{
|
{
|
||||||
@ -122,6 +129,12 @@ public class RaceManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
foreach (RacerProgress racer in racers)
|
foreach (RacerProgress racer in racers)
|
||||||
{
|
{
|
||||||
|
BaseHovercarController controller = racer.GetComponent<BaseHovercarController>();
|
||||||
|
if (controller != null)
|
||||||
|
{
|
||||||
|
controller.enabled = true; // Disable the movement script.
|
||||||
|
}
|
||||||
|
|
||||||
racer.GetComponent<BaseHovercarController>().canAccelerate = true;
|
racer.GetComponent<BaseHovercarController>().canAccelerate = true;
|
||||||
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
Rigidbody rb = racer.GetComponent<Rigidbody>();
|
||||||
if (rb != null)
|
if (rb != null)
|
||||||
@ -143,14 +156,19 @@ public class RaceManager : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void UpdatePositionUI(int position)
|
private void UpdatePositionUI(int position)
|
||||||
|
{
|
||||||
|
playerPositionText.text = GetPrettyPosition(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetPrettyPosition(int position)
|
||||||
{
|
{
|
||||||
if (position < 4)
|
if (position < 4)
|
||||||
{
|
{
|
||||||
playerPositionText.text = placeMapping[position - 1];
|
return placeMapping[position - 1];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerPositionText.text = position + "th";
|
return position + "th";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,15 +196,25 @@ public class RaceManager : MonoBehaviour
|
|||||||
|
|
||||||
private void TriggerPostRaceEvents()
|
private void TriggerPostRaceEvents()
|
||||||
{
|
{
|
||||||
|
LockRacers();
|
||||||
if (victoryCamera != null && playerVehicle != null && playerCamera != null)
|
if (victoryCamera != null && playerVehicle != null && playerCamera != null)
|
||||||
{
|
{
|
||||||
victoryCamera.gameObject.SetActive(true);
|
victoryCamera.gameObject.SetActive(true);
|
||||||
playerCamera.gameObject.SetActive(false);
|
playerCamera.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (postRaceCanvas != null) postRaceCanvas.SetActive(true);
|
if (postRaceCanvas != null)
|
||||||
|
{
|
||||||
|
int playerPosition = GetPlayerPosition();
|
||||||
|
postRaceCanvas.SetActive(true);
|
||||||
|
if (playerPosition == 1) {
|
||||||
|
victoryText.text = "You win";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
victoryText.text = "you placed " + GetPrettyPosition(playerPosition);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (playerUI != null) playerUI.SetActive(false);
|
if (playerUI != null) playerUI.SetActive(false);
|
||||||
|
|
||||||
LockRacers(); // Lock racers at the end of the race
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,28 +33,28 @@ MonoBehaviour:
|
|||||||
m_Settings:
|
m_Settings:
|
||||||
m_SettingsList:
|
m_SettingsList:
|
||||||
m_List:
|
m_List:
|
||||||
- rid: 6527416841684648058
|
- rid: 6527416841684648070
|
||||||
- rid: 6527416841684648059
|
- rid: 6527416841684648071
|
||||||
- rid: 6852985685364965378
|
- rid: 6852985685364965378
|
||||||
- rid: 6852985685364965379
|
- rid: 6852985685364965379
|
||||||
- rid: 6852985685364965380
|
- rid: 6852985685364965380
|
||||||
- rid: 6852985685364965381
|
- rid: 6852985685364965381
|
||||||
- rid: 6527416841684648060
|
- rid: 6527416841684648072
|
||||||
- rid: 6527416841684648061
|
- rid: 6527416841684648073
|
||||||
- rid: 6852985685364965384
|
- rid: 6852985685364965384
|
||||||
- rid: 6852985685364965385
|
- rid: 6852985685364965385
|
||||||
- rid: 6527416841684648062
|
- rid: 6527416841684648074
|
||||||
- rid: 6527416841684648063
|
- rid: 6527416841684648075
|
||||||
- rid: 6527416841684648064
|
- rid: 6527416841684648076
|
||||||
- rid: 6527416841684648065
|
- rid: 6527416841684648077
|
||||||
- rid: 6527416841684648066
|
- rid: 6527416841684648078
|
||||||
- rid: 6527416841684648067
|
- rid: 6527416841684648079
|
||||||
- rid: 6852985685364965392
|
- rid: 6852985685364965392
|
||||||
- rid: 6527416841684648068
|
- rid: 6527416841684648080
|
||||||
- rid: 6852985685364965394
|
- rid: 6852985685364965394
|
||||||
- rid: 8712630790384254976
|
- rid: 8712630790384254976
|
||||||
- rid: 6954400632628051968
|
- rid: 6954400632628051968
|
||||||
- rid: 6527416841684648069
|
- rid: 6527416841684648081
|
||||||
m_RuntimeSettings:
|
m_RuntimeSettings:
|
||||||
m_List:
|
m_List:
|
||||||
- rid: 6852985685364965378
|
- rid: 6852985685364965378
|
||||||
@ -97,14 +97,14 @@ MonoBehaviour:
|
|||||||
references:
|
references:
|
||||||
version: 2
|
version: 2
|
||||||
RefIds:
|
RefIds:
|
||||||
- rid: 6527416841684648058
|
- rid: 6527416841684648070
|
||||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
m_StripUnusedPostProcessingVariants: 1
|
m_StripUnusedPostProcessingVariants: 1
|
||||||
m_StripUnusedVariants: 1
|
m_StripUnusedVariants: 1
|
||||||
m_StripScreenCoordOverrideVariants: 1
|
m_StripScreenCoordOverrideVariants: 1
|
||||||
- rid: 6527416841684648059
|
- rid: 6527416841684648071
|
||||||
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
||||||
@ -116,7 +116,7 @@ MonoBehaviour:
|
|||||||
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
||||||
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
||||||
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
||||||
- rid: 6527416841684648060
|
- rid: 6527416841684648072
|
||||||
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
@ -131,7 +131,7 @@ MonoBehaviour:
|
|||||||
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||||
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||||
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
||||||
- rid: 6527416841684648061
|
- rid: 6527416841684648073
|
||||||
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
@ -140,7 +140,7 @@ MonoBehaviour:
|
|||||||
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
||||||
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
||||||
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||||
- rid: 6527416841684648062
|
- rid: 6527416841684648074
|
||||||
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
@ -153,13 +153,13 @@ MonoBehaviour:
|
|||||||
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
||||||
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
||||||
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
||||||
- rid: 6527416841684648063
|
- rid: 6527416841684648075
|
||||||
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
|
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
|
||||||
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
|
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
|
||||||
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
|
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
|
||||||
- rid: 6527416841684648064
|
- rid: 6527416841684648076
|
||||||
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
@ -172,12 +172,12 @@ MonoBehaviour:
|
|||||||
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
|
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
|
||||||
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||||
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||||
- rid: 6527416841684648065
|
- rid: 6527416841684648077
|
||||||
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
m_ProbeVolumeDisableStreamingAssets: 0
|
m_ProbeVolumeDisableStreamingAssets: 0
|
||||||
- rid: 6527416841684648066
|
- rid: 6527416841684648078
|
||||||
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
@ -187,21 +187,21 @@ MonoBehaviour:
|
|||||||
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
||||||
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
||||||
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
||||||
- rid: 6527416841684648067
|
- rid: 6527416841684648079
|
||||||
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_version: 0
|
m_version: 0
|
||||||
m_IncludeReferencedInScenes: 0
|
m_IncludeReferencedInScenes: 0
|
||||||
m_IncludeAssetsByLabel: 0
|
m_IncludeAssetsByLabel: 0
|
||||||
m_LabelToInclude:
|
m_LabelToInclude:
|
||||||
- rid: 6527416841684648068
|
- rid: 6527416841684648080
|
||||||
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
||||||
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
||||||
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
||||||
- rid: 6527416841684648069
|
- rid: 6527416841684648081
|
||||||
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
|
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
|
||||||
|
BIN
Assets/Sounds/Clang.wav
Normal file
BIN
Assets/Sounds/Clang.wav
Normal file
Binary file not shown.
23
Assets/Sounds/Clang.wav.meta
Normal file
23
Assets/Sounds/Clang.wav.meta
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6769b43fd3db2634f9e81c93ac3e093e
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 8
|
||||||
|
defaultSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
preloadAudioData: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
x
Reference in New Issue
Block a user