浏览代码

Merge branch 'demo-work-temp' into demo-work

# Conflicts:
#	ProjectSettings/GraphicsSettings.asset
/demo-work
André McGrail 5 年前
当前提交
a60e6f47
共有 771 个文件被更改,包括 4480 次插入4895 次删除
  1. 4
      .gitignore
  2. 11
      Assets/Data/InputControls.inputactions
  3. 28
      Assets/Data/UniversalRP/BoatDemoRenderer.asset
  4. 10
      Assets/Data/UniversalRP/PipelineAsset_High.asset
  5. 2
      Assets/Data/UniversalRP/PipelineAsset_Low.asset
  6. 8
      Assets/Data/UniversalRP/PipelineAsset_Medium.asset
  7. 5
      Assets/Data/UniversalRP/PlanarReflectionRenderer.asset
  8. 63
      Assets/Data/Volumes/HighQuality.asset
  9. 63
      Assets/Data/Volumes/MediumQuality.asset
  10. 4
      Assets/Data/WaterSettingsData.asset
  11. 20
      Assets/Data/WaterSurfaceData.asset
  12. 2
      Assets/Materials/BushTest.mat
  13. 4
      Assets/Materials/Sky.mat
  14. 128
      Assets/Objects/Levels/Island/Audio.prefab
  15. 10
      Assets/Objects/Levels/Island/ClearSky/ClearSky.mat
  16. 6
      Assets/Objects/Levels/Island/ClearSky/Island_Post_Clear.asset
  17. 298
      Assets/Objects/Levels/Island/Dynamic Objects.prefab
  18. 993
      Assets/Objects/Levels/Island/Environment Objects Prefabs/Buildings.prefab
  19. 6
      Assets/Objects/Levels/Island/Environment Objects Prefabs/Env_Seaweed.prefab
  20. 998
      Assets/Objects/Levels/Island/Environment Objects Prefabs/Props_Floating.prefab
  21. 963
      Assets/Objects/Levels/Island/Environment Objects.prefab
  22. 2
      Assets/Objects/Levels/Island/FX.prefab
  23. 271
      Assets/Objects/Levels/Island/Island Level.prefab
  24. 48
      Assets/Objects/Levels/Island/Lighting.prefab
  25. 617
      Assets/Objects/Levels/Island/Logic.prefab
  26. 38
      Assets/Objects/boats/Interceptor/MSLL.tif.meta
  27. 44
      Assets/Objects/boats/Interceptor/Normal.tif.meta
  28. 5
      Assets/Objects/boats/Prefabs/Wake.prefab.meta
  29. 457
      Assets/Objects/boats/Prefabs/_BoatBase.prefab
  30. 5
      Assets/Objects/boats/Prefabs/_BoatBase.prefab.meta
  31. 104
      Assets/Objects/boats/Prefabs/_Renegade.prefab
  32. 183
      Assets/Objects/boats/Speedboat/BoatSpeedboat.fbx
  33. 44
      Assets/Objects/boats/Speedboat/Normal.tif.meta
  34. 2
      Assets/Objects/boats/_waterFoam.mat
  35. 7
      Assets/Objects/environment/Cliffs/Env_Hero_Mountain.fbx.meta
  36. 54
      Assets/Objects/environment/Cliffs/Maps/Cave_defaultMat_AONormal.tif.meta
  37. 50
      Assets/Objects/environment/Cliffs/Maps/Cave_defaultMat_BaseCurvature.tif.meta
  38. 50
      Assets/Objects/environment/Cliffs/Maps/Cliff_Full_01_defaultMat_AONormal.tif.meta
  39. 54
      Assets/Objects/environment/Cliffs/Maps/Cliff_Full_01_defaultMat_BaseCurvature.tif.meta
  40. 50
      Assets/Objects/environment/Cliffs/Maps/Cliff_defaultMat_AONormal.tif.meta
  41. 54
      Assets/Objects/environment/Cliffs/Maps/Cliff_defaultMat_BaseCurvature.tif.meta
  42. 54
      Assets/Objects/environment/Cliffs/Maps/Hero_defaultMat_AONormal.tif.meta
  43. 50
      Assets/Objects/environment/Cliffs/Maps/Hero_defaultMat_BaseCurvature.tif.meta
  44. 50
      Assets/Objects/environment/Cliffs/Maps/Rocks_defaultMat_AONormal.tif.meta
  45. 54
      Assets/Objects/environment/Cliffs/Maps/Rocks_defaultMat_BaseCurvature.tif.meta
  46. 108
      Assets/Objects/environment/Cliffs/Materials/Env_Cliff_Full_01.mat
  47. 108
      Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat
  48. 94
      Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat
  49. 101
      Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat
  50. 137
      Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat
  51. 17
      Assets/Objects/environment/Cliffs/Prefabs/Cliff_Wall_02.prefab
  52. 16
      Assets/Objects/environment/Cliffs/Prefabs/Cliff_Wall_03.prefab
  53. 11
      Assets/Objects/environment/Cliffs/Prefabs/Rock_Small_04.prefab
  54. 19
      Assets/Objects/environment/Clouds/Clouds.fbx.meta
  55. 4
      Assets/Objects/environment/Clouds/Clouds.mat
  56. 26
      Assets/Objects/environment/Clouds/Clouds.tif.meta
  57. 24
      Assets/Objects/environment/Trees/Maps/TreeBillBoards_Normal_Smoothness.tif.meta
  58. 28
      Assets/Objects/environment/Trees/Maps/TreeBillBoards_albedo.png.meta
  59. 16
      Assets/Objects/environment/Trees/Maps/Trees_Albedo.png.meta
  60. 24
      Assets/Objects/environment/Trees/Maps/Trees_Normal_Smoothness.tif.meta
  61. 114
      Assets/Objects/environment/Trees/Meshes/Bush_Large_01.fbx
  62. 12
      Assets/Objects/environment/Trees/Meshes/Bush_Large_01.fbx.meta
  63. 255
      Assets/Objects/environment/Trees/Meshes/PalmB_02.fbx
  64. 15
      Assets/Objects/environment/Trees/Meshes/PalmB_02_tmp.fbx.meta
  65. 43
      Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_AlbedoTransparency.tif.meta
  66. 48
      Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_Emission.tif.meta
  67. 44
      Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_MetallicSmoothness.tif.meta
  68. 37
      Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_Normal.tif.meta
  69. 51
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_AO.png.meta
  70. 63
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_AlbedoTransparency.tif.meta
  71. 29
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_MetallicSmoothness.tif.meta
  72. 65
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_Normal.tif.meta
  73. 2
      Assets/Objects/props/props/Matr_Props.mat
  74. 23
      Assets/Objects/props/props/Prefabs/Props_ArrowSign.prefab
  75. 68
      Assets/Objects/props/props/Prefabs/Props_Paraglider.prefab
  76. 6
      Assets/Objects/props/props/Prefabs/Windsurfer.prefab
  77. 61
      Assets/Scripts/Boat/Engine.cs
  78. 53
      Assets/Scripts/Boat/HumanController.cs
  79. 5
      Assets/Scripts/Camera/CameraManager.cs
  80. 16
      Assets/Scripts/Camera/LODTweaker.cs
  81. 3
      Assets/Scripts/Editor/CreateTexture2DArrayAsset.cs
  82. 8
      Assets/Scripts/Editor/DirectionalLightmapperCorrector.cs
  83. 49
      Assets/Scripts/Effects/BoatFoamGenerator.cs
  84. 40
      Assets/Scripts/Effects/RandomHue.cs
  85. 111
      Assets/Scripts/Effects/WakeGenerator.cs
  86. 75
      Assets/Scripts/Environment/BuoyManager.cs
  87. 44
      Assets/Scripts/Environment/CloudManager.cs
  88. 72
      Assets/Scripts/Environment/DayNightController.cs
  89. 14
      Assets/Scripts/Environment/FogOverride.cs
  90. 19
      Assets/Scripts/Environment/VegetationSystem.cs
  91. 47
      Assets/Scripts/Environment/WindsurferManager.cs
  92. 228
      Assets/Scripts/GameSystem/AppSettings.cs
  93. 188
      Assets/Scripts/GameSystem/Editor/WaypointGroupEditor.cs
  94. 100
      Assets/Scripts/GameSystem/InputControls.cs
  95. 306
      Assets/Scripts/GameSystem/RaceManager.cs
  96. 4
      Assets/Scripts/GameSystem/RaceManager.cs.meta
  97. 310
      Assets/Scripts/GameSystem/WaypointGroup.cs
  98. 26
      Assets/Scripts/System/MaxLodOption.cs
  99. 9
      Assets/Scripts/System/PerfomanceStats.cs
  100. 6
      Assets/Scripts/Utility/GenericRotation.cs

4
.gitignore


Assets/Plugins/Editor/JetBrains
Assets/Plugins/Editor/JetBrains.meta
Recordings
Packages/com.unity.*
MemoryCaptures
Assets/BuildReports
SerializedBuildInfo

11
Assets/Data/InputControls.inputactions


"action": "Time",
"isComposite": false,
"isPartOfComposite": true
},
{
"name": "",
"id": "38dc845f-f219-4b56-947c-542a4cf33da6",
"path": "<Touchscreen>/primaryTouch/tapCount",
"interactions": "MultiTap",
"processors": "",
"groups": "TouchScreen",
"action": "Time",
"isComposite": false,
"isPartOfComposite": false
}
]
}

28
Assets/Data/UniversalRP/BoatDemoRenderer.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-5007552800156170450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc3f76324391a408d9c0770ca6fcb666, type: 3}
m_Name: Water FX
m_EditorClassIdentifier:
settings:
debug: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0

m_Name: BoatDemoRenderer
m_EditorClassIdentifier:
m_RendererFeatures:
- {fileID: 7749027049794126836}
- {fileID: -5007552800156170450}
- {fileID: 770174969183694509}
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}

samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295

passOperation: 2
failOperation: 0
zFailOperation: 0
--- !u!114 &7749027049794126836
--- !u!114 &770174969183694509
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01c60659bc43f4603be9d5b8afb185fb, type: 3}
m_Name: Caustics
m_Script: {fileID: 11500000, guid: adbe377f4f72c497faee64bc3f0580b9, type: 3}
m_Name: WaterSystemPass
material: {fileID: 2100000, guid: 7e6ea000873112847bd146ddb78ac67d, type: 2}
mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
causticScale: 0.25
causticShader: {fileID: 4800000, guid: 90939d2e4b62841d29c136c866715501, type: 3}

10
Assets/Data/UniversalRP/PipelineAsset_High.asset


m_OpaqueDownsampling: 0
m_SupportsTerrainHoles: 0
m_SupportsHDR: 1
m_MSAA: 1
m_MSAA: 2
m_AdditionalLightsPerObjectLimit: 1
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 512
m_AdditionalLightsPerObjectLimit: 8
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 1024
m_ShadowDistance: 250
m_ShadowCascades: 2
m_Cascade2Split: 0.20930393

m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 1
m_ShaderVariantLogLevel: 0

2
Assets/Data/UniversalRP/PipelineAsset_Low.asset


m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 1
m_ShaderVariantLogLevel: 0

8
Assets/Data/UniversalRP/PipelineAsset_Medium.asset


m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 0
m_AdditionalLightsPerObjectLimit: 1
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 512
m_AdditionalLightsPerObjectLimit: 8
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 1024
m_ShadowDistance: 250
m_ShadowCascades: 1
m_Cascade2Split: 0.20930393

m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 1
m_ShaderVariantLogLevel: 0

5
Assets/Data/UniversalRP/PlanarReflectionRenderer.asset


screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
type: 3}
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_Bits: 2147548727
m_Bits: 4294967295
m_Bits: 2147548727
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 1

63
Assets/Data/Volumes/HighQuality.asset


- {fileID: -7727310714029012460}
- {fileID: 8548842792206942746}
- {fileID: 5077167897243365550}
- {fileID: 573530256564144338}
--- !u!114 &573530256564144338
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
mode:
m_OverrideState: 1
m_Value: 2
gaussianStart:
m_OverrideState: 0
m_Value: 10
min: 0
gaussianEnd:
m_OverrideState: 0
m_Value: 30
min: 0
gaussianMaxRadius:
m_OverrideState: 0
m_Value: 1
min: 0.5
max: 1.5
highQualitySampling:
m_OverrideState: 0
m_Value: 0
focusDistance:
m_OverrideState: 0
m_Value: 10
min: 0.1
aperture:
m_OverrideState: 0
m_Value: 5.6
min: 1
max: 32
focalLength:
m_OverrideState: 0
m_Value: 50
min: 1
max: 300
bladeCount:
m_OverrideState: 0
m_Value: 5
min: 3
max: 9
bladeCurvature:
m_OverrideState: 0
m_Value: 1
min: 0
max: 1
bladeRotation:
m_OverrideState: 0
m_Value: 0
min: -180
max: 180
--- !u!114 &728348182538368657
MonoBehaviour:
m_ObjectHideFlags: 3

63
Assets/Data/Volumes/MediumQuality.asset


m_Value: 0.1
min: 0
max: 0.2
--- !u!114 &-1433603139918535974
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
mode:
m_OverrideState: 1
m_Value: 1
gaussianStart:
m_OverrideState: 0
m_Value: 10
min: 0
gaussianEnd:
m_OverrideState: 0
m_Value: 30
min: 0
gaussianMaxRadius:
m_OverrideState: 0
m_Value: 1
min: 0.5
max: 1.5
highQualitySampling:
m_OverrideState: 0
m_Value: 0
focusDistance:
m_OverrideState: 0
m_Value: 10
min: 0.1
aperture:
m_OverrideState: 0
m_Value: 5.6
min: 1
max: 32
focalLength:
m_OverrideState: 0
m_Value: 50
min: 1
max: 300
bladeCount:
m_OverrideState: 0
m_Value: 5
min: 3
max: 9
bladeCurvature:
m_OverrideState: 0
m_Value: 1
min: 0
max: 1
bladeRotation:
m_OverrideState: 0
m_Value: 0
min: -180
max: 180
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0

- {fileID: 728348182538368657}
- {fileID: -7727310714029012460}
- {fileID: 8548842792206942746}
- {fileID: -1433603139918535974}
--- !u!114 &728348182538368657
MonoBehaviour:
m_ObjectHideFlags: 3

4
Assets/Data/WaterSettingsData.asset


m_ClipPlaneOffset: 0.24
m_ReflectLayers:
serializedVersion: 2
m_Bits: 64311
m_Bits: 65287
cubemapRefType: {fileID: 8900000, guid: a90d3c9b1c3ed4d36bffc02f6b335464, type: 3}
cubemapRefType: {fileID: 8900000, guid: 97b307d339af74760a04adfbe9544b9b, type: 3}
isInfinite: 0
originOffset: {x: 0, y: 0, z: 500, w: 500}

20
Assets/Data/WaterSurfaceData.asset


serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.049636208
time: 0
inSlope: 0.58054006
outSlope: 0.58054006
tangentMode: 0
inSlope: 1
outSlope: 1
tangentMode: 34
outWeight: 0.08360549
outWeight: 0
time: 0.8919692
time: 1
inSlope: 1.4549338
outSlope: 1.4549338
tangentMode: 0
inSlope: 1
outSlope: 1
tangentMode: 34
inWeight: 0.060654216
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2

2
Assets/Materials/BushTest.mat


- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.11320742, g: 0.11320742, b: 0.11320742, a: 0.5}
- _SpecColor: {r: 0.11320739, g: 0.11320739, b: 0.11320739, a: 0.5}
--- !u!114 &7331025373869863914
MonoBehaviour:
m_ObjectHideFlags: 11

4
Assets/Materials/Sky.mat


- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Rotation: 147.4
- _Rotation: 86
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

- _Color: {r: 0.7256604, g: 0.5880559, b: 0.44544768, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _Tint: {r: 1, g: 1, b: 1, a: 1}
- _Tint: {r: 0.52331346, g: 0.54246366, b: 0.53789765, a: 1}

128
Assets/Objects/Levels/Island/Audio.prefab


- {fileID: 8558074729278497651}
- {fileID: 8558074730379000046}
- {fileID: 8558074730337248073}
- {fileID: 8558074729808128190}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

- 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
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!1 &8558074729808128191
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8558074729808128190}
- component: {fileID: 8558074729808128189}
m_Layer: 0
m_Name: Music
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &8558074729808128190
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8558074729808128191}
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_Children: []
m_Father: {fileID: 8558074729138429003}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!82 &8558074729808128189
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8558074729808128191}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 643024a49360c40c0a27365c40d4d58d, type: 3}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 1
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

10
Assets/Objects/Levels/Island/ClearSky/ClearSky.mat


m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _AtmosphereThickness: 0.75
- _AtmosphereThickness: 0.5
- _Blend: 0
- _BumpScale: 1
- _Cull: 2

- _Exposure: 5
- _Exposure: 4
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0

- _SpecularHighlights: 1
- _SrcBlend: 1
- _SunDisk: 2
- _SunSize: 0.064
- _SunSize: 0.025
- _SunSizeConvergence: 1
- _Surface: 0
- _WorkflowMode: 1

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _GroundColor: {r: 0.589, g: 0.67805004, b: 1, a: 1}
- _SkyTint: {r: 0.6886792, g: 0.6886792, b: 0.6886792, a: 1}
- _GroundColor: {r: 0.43454075, g: 0.6274593, b: 0.8773585, a: 1}
- _SkyTint: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
--- !u!114 &1725530308311404393
MonoBehaviour:

6
Assets/Objects/Levels/Island/ClearSky/Island_Post_Clear.asset


m_AdvancedMode: 0
postExposure:
m_OverrideState: 1
m_Value: -1.5
m_Value: -1
m_Value: 15
m_Value: 10
min: -100
max: 100
colorFilter:

max: 180
saturation:
m_OverrideState: 1
m_Value: 10
m_Value: 15
min: -100
max: 100

298
Assets/Objects/Levels/Island/Dynamic Objects.prefab


m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299465910115698}
m_LocalRotation: {x: 0.0037202202, y: -0.5582551, z: 0.0025032402, w: 0.82965726}
m_LocalPosition: {x: -126.25714, y: 26.723145, z: -42.830498}
m_LocalRotation: {x: 0.006206675, y: -0.5611448, z: 0.0042079403, w: 0.82768375}
m_LocalPosition: {x: -125.91327, y: 26.754333, z: -42.95073}
m_LocalScale: {x: 1.0000002, y: 1, z: 1}
m_Children:
- {fileID: 3687029360008883863}

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299466218782728}
m_LocalRotation: {x: 0.075143576, y: 0.44248784, z: -0.037240665, w: 0.89284444}
m_LocalPosition: {x: 61.39312, y: 22.733078, z: 4.9478455}
m_LocalRotation: {x: 0.07668159, y: 0.44133908, z: -0.037886817, w: 0.89325494}
m_LocalPosition: {x: 61.696922, y: 22.669907, z: 5.1802673}
m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 1}
m_Children:
- {fileID: 3687029361275514629}

roll: 27.37
- position: {x: -176.3747, y: 0, z: 12.219006}
roll: 40.1
- position: {x: -189.05183, y: 0, z: -15.46616}
- position: {x: -197.48553, y: 0, z: -10.683151}
- position: {x: -178.01414, y: 0, z: -28.527164}
roll: -30.98
- position: {x: -179.2291, y: 0, z: -62.536274}
roll: -18
- position: {x: -187.95375, y: 0, z: -75.59731}
roll: -29.04
- position: {x: -206.55954, y: 0, z: -66.12929}
roll: -23.18
- position: {x: -206.1935, y: 0, z: -42.43238}
- position: {x: -220.93034, y: 0, z: -25.313473}
- position: {x: -207.40845, y: 0, z: -15.96875}
- position: {x: -220.21953, y: 0, z: 2.1246185}
roll: -31.89
- position: {x: -165.93674, y: 0, z: 2.5899353}
roll: -21.36

roll: 50.5
- position: {x: -181.90814, y: 0, z: 5.895054}
roll: 30.52
- position: {x: -175.61343, y: 0, z: -13.885166}
- position: {x: -217.2178, y: 0, z: 1.3969498}
- position: {x: -176.43317, y: 0, z: -38.803585}
- position: {x: -223.08896, y: 0, z: -15.459911}
- position: {x: -176.06714, y: 0, z: -61.745785}
roll: -26.06
- position: {x: -187.95375, y: 0, z: -75.59731}
roll: -46.41
- position: {x: -206.55954, y: 0, z: -66.12929}
roll: -58
- position: {x: -215.28416, y: 0, z: -41.6419}
roll: -32.77
- position: {x: -205.03696, y: 0, z: -16.364006}
roll: -29.35
- position: {x: -165.93674, y: 0, z: 2.5899353}

roll: 0
- position: {x: -232.67598, y: -43.557564, z: 174.18425}
roll: 0
- position: {x: -207.66257, y: -51.26719, z: 195.8076}
- position: {x: -210.62173, y: -54.93422, z: 193.57764}
- position: {x: -183.1859, y: -58.976814, z: 216.5305}
- position: {x: -190.28647, y: -58.976814, z: 215.82954}
- position: {x: -161.94946, y: -48.06146, z: 219.38664}
- position: {x: -165.5713, y: -55.18848, z: 215.77066}
roll: 0
- position: {x: -143.18599, y: -45.18091, z: 204.71272}
roll: 0

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299467085645504}
m_LocalRotation: {x: 0.04515341, y: 0.7257085, z: -0.047847304, w: 0.6848496}
m_LocalPosition: {x: 93.87082, y: 16.694439, z: 22.236816}
m_LocalRotation: {x: 0.044035, y: 0.73099506, z: -0.047385402, w: 0.67930984}
m_LocalPosition: {x: 94.210335, y: 16.650879, z: 22.215057}
m_LocalScale: {x: 1, y: 0.9999999, z: 1}
m_Children:
- {fileID: 3687029361035548319}

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299467152779943}
m_LocalRotation: {x: 0.03721129, y: -0.68838894, z: 0.03540442, w: 0.72352093}
m_LocalRotation: {x: 0.037211265, y: -0.68838894, z: 0.0354044, w: 0.72352093}
m_LocalPosition: {x: 102, y: 73.7, z: -160.9}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299467367477595}
m_LocalRotation: {x: 0.045619424, y: 0.42306006, z: -0.021332743, w: 0.90470105}
m_LocalPosition: {x: -140.33954, y: 31.50964, z: 6.434555}
m_LocalRotation: {x: 0.048610363, y: 0.4203235, z: -0.022557179, w: 0.9057905}
m_LocalPosition: {x: -140.82118, y: 32.15644, z: 6.1891937}
m_LocalScale: {x: 0.9999999, y: 0.9999999, z: 1}
m_Children:
- {fileID: 3687029360349540377}

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3691299467484457467}
m_LocalRotation: {x: 0.1413816, y: -0.3374391, z: 0.05133984, w: 0.92925256}
m_LocalPosition: {x: 60.55375, y: 64.18173, z: -142.73357}
m_LocalRotation: {x: 0.141175, y: -0.33798864, z: 0.051357668, w: 0.9290832}
m_LocalPosition: {x: 60.588345, y: 64.19851, z: -142.77487}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3687029360019781275}

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (8)
objectReference: {fileID: 0}
value: -116.21794
value: -99.99582
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 79.32994
value: 82.39697
value: -0.20251693
value: -0.13933356
value: 0.5515426
value: 0.76442504
value: -0.27891278
value: -0.112876415
value: 0.75960207
value: 0.6192733
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 1.0000001
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (8)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (5)
objectReference: {fileID: 0}
value: 70.377174
value: 94.293884
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 81.85585
value: 75.29604
value: 0.07835323
value: -0.16865414
value: -0.3920828
value: -0.6946572
value: -0.17961794
value: 0.16498607
value: 0.8988155
value: 0.67954904
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalScale.z
value: 0.9999998
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (5)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (3)
objectReference: {fileID: 0}
value: 150.44687
value: 147.28241
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: -23.217178
value: -12.134232
value: -0.31674406
value: -0.18537161
value: 0.94290787
value: 0.8389315
value: 0.03278182
value: -0.110401824
value: -0.09758742
value: 0.4996427
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 0.9999998
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (3)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (4)
objectReference: {fileID: 0}
value: -70.368675
value: -24.485832
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 82.75232
value: 78.70347
value: 0.09013435
value: 0.19530846
value: -0.52148455
value: -0.65545154
value: -0.14451131
value: -0.20833462
value: 0.83608985
value: 0.6991671
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 1.0000001
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (4)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299467085645505}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 198632074567173708, guid: aaef2c234fe6c4fe6ad88fe05905b60f,
type: 3}
propertyPath: InitialModule.startColor.maxColor.r

m_Modification:
m_TransformParent: {fileID: 3691299466218782729}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 198632074567173708, guid: aaef2c234fe6c4fe6ad88fe05905b60f,
type: 3}
propertyPath: InitialModule.startColor.maxColor.r

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.x
value: 68.9

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (9)
objectReference: {fileID: 0}
value: 147.51144
value: 146.97679
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: -27.286774
value: -17.14093
value: 0.19911286
value: -0.07779002
value: 0.9794274
value: 0.99620783
value: 0.0065351296
value: -0.0030338985
value: 0.032146014
value: 0.038853228
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalScale.z
value: 1.0000007
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (9)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}

m_Modification:
m_TransformParent: {fileID: 3691299467152779960}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
--- !u!4 &3687029361121245939 stripped

m_Modification:
m_TransformParent: {fileID: 3691299467367477596}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 198632074567173708, guid: aaef2c234fe6c4fe6ad88fe05905b60f,
type: 3}
propertyPath: InitialModule.startColor.maxColor.g

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (6)
objectReference: {fileID: 0}
value: -82.03012
value: -48.017036
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 97.48169
value: 79.15643
value: -0.15138415
value: 0.10812149
value: -0.64166206
value: -0.47072572
value: 0.17265199
value: -0.19601993
value: 0.73180866
value: 0.8534069
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 1.0000002
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (6)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299465910115699}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
--- !u!4 &3687029360008883863 stripped

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (7)
objectReference: {fileID: 0}
value: 70.88732
value: 70.615265
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 62.87564
value: 63.53189
value: -0.105819836
value: -0.12169451
value: 0.97537374
value: 0.97281635
value: -0.020872317
value: -0.024456222
value: 0.19238651
value: 0.1955011
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 1.0000006
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (7)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (1)
objectReference: {fileID: 0}
value: 89.761
value: 113.631226
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 69.69532
value: 49.215836
value: 0.03592601
value: -0.06753482
value: -0.19048321
value: -0.40845287
value: -0.18182172
value: 0.14849196
value: 0.9640365
value: 0.89808434
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

propertyPath: m_LocalScale.z
value: 1.0000006
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (1)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}
propertyPath: m_Path

m_Modification:
m_TransformParent: {fileID: 3691299466161859038}
m_Modifications:
- target: {fileID: 1498022358861262, guid: c3d58a4b3ca744acf803225ae9cec836, type: 3}
propertyPath: m_Name
value: Geo_Props_Blimp
objectReference: {fileID: 0}
- target: {fileID: 4932471864557294, guid: c3d58a4b3ca744acf803225ae9cec836, type: 3}
propertyPath: m_LocalPosition.x
value: 0

propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1498022358861262, guid: c3d58a4b3ca744acf803225ae9cec836, type: 3}
propertyPath: m_Name
value: Geo_Props_Blimp
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c3d58a4b3ca744acf803225ae9cec836, type: 3}
--- !u!4 &3687224614954565107 stripped

m_Modification:
m_TransformParent: {fileID: 3691299467484457468}
m_Modifications:
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 4737683640255136, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_LocalPosition.x
value: -0

propertyPath: m_LocalEulerAnglesHint.z
value: -13.045592
objectReference: {fileID: 0}
- target: {fileID: 1259152042251220, guid: aaef2c234fe6c4fe6ad88fe05905b60f, type: 3}
propertyPath: m_Name
value: Props_Paraglider
objectReference: {fileID: 0}
- target: {fileID: 198632074567173708, guid: aaef2c234fe6c4fe6ad88fe05905b60f,
type: 3}
propertyPath: InitialModule.startColor.maxColor.g

m_Modification:
m_TransformParent: {fileID: 3691299467046892349}
m_Modifications:
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (2)
objectReference: {fileID: 0}
value: -122.03492
value: -103.41802
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalPosition.y

propertyPath: m_LocalPosition.z
value: 69.180565
value: 76.07407
value: -0.19615851
value: -0.23919632
value: 0.46840408
value: 0.538359
value: -0.33276284
value: -0.32809758
value: 0.79459953
value: 0.7384489
objectReference: {fileID: 0}
- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_RootOrder

- target: {fileID: 4510310561805642, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_LocalScale.z
value: 0.9999998
objectReference: {fileID: 0}
- target: {fileID: 1840323375275930, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71, type: 3}
propertyPath: m_Name
value: Windsurfer (2)
objectReference: {fileID: 0}
- target: {fileID: 114111596105315798, guid: cb2fae9bfdf2e44f6a5973fccdc7cf71,
type: 3}

993
Assets/Objects/Levels/Island/Environment Objects Prefabs/Buildings.prefab
文件差异内容过多而无法显示
查看文件

6
Assets/Objects/Levels/Island/Environment Objects Prefabs/Env_Seaweed.prefab


m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5469468815885862140}
m_LocalRotation: {x: -0.69786495, y: -0.087130725, z: -0.009070425, w: 0.710852}
m_LocalPosition: {x: -94.44, y: -4.56, z: 18.32}
m_LocalRotation: {x: -0.6944286, y: -0.06009065, z: -0.10864951, w: 0.70876896}
m_LocalPosition: {x: -104, y: -4.6, z: 18.7}
m_LocalEulerAnglesHint: {x: -83.58501, y: -84.461006, z: 76.647}
m_LocalEulerAnglesHint: {x: -94.103, y: -113.31, z: 99.59599}
--- !u!198 &5469468815885862142
ParticleSystem:
m_ObjectHideFlags: 0

998
Assets/Objects/Levels/Island/Environment Objects Prefabs/Props_Floating.prefab
文件差异内容过多而无法显示
查看文件

963
Assets/Objects/Levels/Island/Environment Objects.prefab
文件差异内容过多而无法显示
查看文件

2
Assets/Objects/Levels/Island/FX.prefab


m_Icon: {fileID: 2800000, guid: d6e27dc5ad82e7c4e8cddded5872eb77, type: 3}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &7473329029648627037
Transform:
m_ObjectHideFlags: 0

271
Assets/Objects/Levels/Island/Island Level.prefab


- {fileID: 6589000190473970530}
- {fileID: 6183048159549592066}
- {fileID: 1753825904496165226}
- {fileID: 2415006786018098342}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

blendDistance: 0
weight: 1
sharedProfile: {fileID: 11400000, guid: d153a876a90764357ab87d707662af52, type: 2}
--- !u!1 &8412588744993800169
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2415006786018098342}
- component: {fileID: 7121332023826027706}
m_Layer: 4
m_Name: Water
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 64
m_IsActive: 1
--- !u!4 &2415006786018098342
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8412588744993800169}
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_Children: []
m_Father: {fileID: 6589000189934312487}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7121332023826027706
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8412588744993800169}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b6edb8448c9b94f018953ca2a6fa5891, type: 3}
m_Name:
m_EditorClassIdentifier:
computeOverride: 1
_depthTex: {fileID: 0}
bakedDepthTex: {fileID: 0}
_waves:
- amplitude: 0.22704089
direction: -88.46054
wavelength: 2.919414
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.2336182
direction: -264.46985
wavelength: 3.8296328
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.40407777
direction: -248.35088
wavelength: 4.2887726
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.3570003
direction: -134.96402
wavelength: 5.330845
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.50889087
direction: -224.16226
wavelength: 6.2237782
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.5514862
direction: -180.3995
wavelength: 6.997999
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.45657623
direction: -264.3355
wavelength: 5.834793
origin:
x: 0
y: 0
onmiDir: 0
- amplitude: 0.7236925
direction: -142.20044
wavelength: 8.133936
origin:
x: 0
y: 0
onmiDir: 0
settingsData: {fileID: 11400000, guid: 51d5286b580b54b69a91da9e3338548f, type: 2}
surfaceData: {fileID: 11400000, guid: 9e1c83d2d3fac4b94b91c7b3a80ce964, type: 2}
resources: {fileID: 11400000, guid: 40615c805d6e84ce7800418367985fe1, type: 2}
--- !u!1001 &1488833590889370986
PrefabInstance:
m_ObjectHideFlags: 0

- target: {fileID: 5753826262829751717, guid: 7ed82495330ea49f2a89c49547caac21,
type: 3}
propertyPath: m_Name
value: Terrain
value: TerrainGroup
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7ed82495330ea49f2a89c49547caac21, type: 3}

m_Modification:
m_TransformParent: {fileID: 6589000189934312487}
m_Modifications:
- target: {fileID: 7473329029648627034, guid: 7eaaf74a3b1a44574b756860caf933d6,
type: 3}
propertyPath: m_Name
value: FX
objectReference: {fileID: 0}
- target: {fileID: 7473329029648627037, guid: 7eaaf74a3b1a44574b756860caf933d6,
type: 3}
propertyPath: m_LocalPosition.x

type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7473329029648627034, guid: 7eaaf74a3b1a44574b756860caf933d6,
type: 3}
propertyPath: m_Name
value: FX
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7eaaf74a3b1a44574b756860caf933d6, type: 3}

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4874933704009890329, guid: 0c7985f2d9089445f8defe14345f3439,
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.1305909
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.084755756
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.27362624
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9491529
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_Name
value: Environment Objects
propertyPath: m_LocalPosition.x
value: 69.48111
- target: {fileID: 6623074950612673231, guid: 0c7985f2d9089445f8defe14345f3439,
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000190670539093}
- target: {fileID: 3484116708459303791, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalPosition.y
value: 20.594471
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000190670539093}
- target: {fileID: 3409621908025969400, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalPosition.z
value: -9.651398
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000190670539093}
- target: {fileID: 2683457576032775243, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalScale.x
value: 2.4556508
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000190670539093}
- target: {fileID: 8306662402027733795, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalScale.y
value: 2.4556496
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000189100116603}
- target: {fileID: 7425571165278243360, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalScale.z
value: 2.45565
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000189100116603}
- target: {fileID: 1011130718722807485, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalEulerAnglesHint.x
value: -17.115002
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 5.3690004
objectReference: {fileID: 0}
- target: {fileID: 215976479964415149, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000189100116603}
- target: {fileID: 3352395244846150342, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_LocalEulerAnglesHint.z
value: 31.354002
objectReference: {fileID: 0}
- target: {fileID: 4874933704009890329, guid: 0c7985f2d9089445f8defe14345f3439,
propertyPath: m_ProbeAnchor
value:
objectReference: {fileID: 6589000189100116603}
propertyPath: m_Name
value: Environment Objects
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0c7985f2d9089445f8defe14345f3439, type: 3}
--- !u!4 &6361922109487643698 stripped

m_Modification:
m_TransformParent: {fileID: 6589000189934312487}
m_Modifications:
- target: {fileID: 5076232292041737950, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_Name
value: Logic
objectReference: {fileID: 0}
- target: {fileID: 5076232292041737951, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5076232292041737950, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_Name
value: Logic
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e8d3746aee68c468f86cbabb0b56502f, type: 3}
--- !u!4 &1753825904496165226 stripped

m_Modification:
m_TransformParent: {fileID: 6589000189934312487}
m_Modifications:
- target: {fileID: 4503953258026586762, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
propertyPath: m_Name
value: Lighting
objectReference: {fileID: 0}
- target: {fileID: 4503953258026586773, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4503953258026586762, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
propertyPath: m_Name
value: Lighting
objectReference: {fileID: 0}
- target: {fileID: 543646049902552566, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
propertyPath: m_Intensity
value: 5
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: af7e3352382514479b91bf48c1e8f88e, type: 3}
--- !u!4 &6589000189763280055 stripped

m_PrefabInstance: {fileID: 7345816720632778274}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6589000190670539093 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4503953259267295095, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
m_PrefabInstance: {fileID: 7345816720632778274}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6589000189100116603 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4503953258506241113, guid: af7e3352382514479b91bf48c1e8f88e,
type: 3}
m_PrefabInstance: {fileID: 7345816720632778274}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &7515088917347921359
PrefabInstance:
m_ObjectHideFlags: 0

m_Modifications:
- target: {fileID: 3691299466235561721, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_Name
value: Dynamic Objects
objectReference: {fileID: 0}
- target: {fileID: 3691299466235561722, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_LocalPosition.x

type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3691299466235561721, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_Name
value: Dynamic Objects
objectReference: {fileID: 0}
- target: {fileID: 3691299467085645505, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.7257085
objectReference: {fileID: 0}
- target: {fileID: 3691299467085645505, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.6848496
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 344be8fa397804294b1b2f63976790a9, type: 3}

48
Assets/Objects/Levels/Island/Lighting.prefab


serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 148.28072, y: 49.23163, z: 116.290085}
m_BoxSize: {x: 148.28072, y: 100, z: 116.290085}
m_BoxOffset: {x: 21.548485, y: 15, z: -21.328354}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 66.135086, y: 50, z: 48.24503}
m_BoxSize: {x: 66.135086, y: 100, z: 48.24503}
m_BoxOffset: {x: -10.163631, y: 0, z: -2.0956554}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 78.03863, y: 25, z: 87.03796}
m_BoxSize: {x: 78.03863, y: 100, z: 87.03796}
m_BoxOffset: {x: -1.7241936, y: 3.3000002, z: 3.0435143}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 53.70655, y: 50.98197, z: 46.515266}
m_BoxSize: {x: 53.70655, y: 100, z: 46.515266}
m_BoxOffset: {x: 3.2, y: 10.2, z: -2.81}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 59.04794, y: 50, z: 68.302986}
m_BoxSize: {x: 59.04794, y: 100, z: 68.302986}
m_BoxOffset: {x: 0.18692589, y: 0, z: 9.151493}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 107.56966, y: 49.23163, z: 86.46125}
m_BoxSize: {x: 107.56966, y: 100, z: 86.46125}
m_BoxOffset: {x: -3.2490082, y: 15, z: -8.383949}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 100, y: 49.23163, z: 86}
m_BoxSize: {x: 100, y: 100, z: 86}
m_BoxOffset: {x: 5.7522316, y: 13.6, z: -2.612671}
m_NearClip: 0.5
m_FarClip: 200

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4503953259267295092}
m_Enabled: 1
m_Enabled: 0
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 60, y: 10, z: 40}
m_BoxSize: {x: 60, y: 100, z: 40}
m_BoxOffset: {x: 0, y: 0, z: 0}
m_NearClip: 0.5
m_FarClip: 200

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 134.3395, y: 49.23163, z: 106.84509}
m_BoxSize: {x: 134.3395, y: 100, z: 106.84509}
m_BoxOffset: {x: -15.898178, y: 12.307907, z: -13.498505}
m_NearClip: 0.5
m_FarClip: 200

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8468332563005190509}
m_LocalRotation: {x: -0.2537706, y: 0.62999517, z: -0.22929946, w: -0.6972291}
m_LocalRotation: {x: -0.53654194, y: -0.66060746, z: 0.27422032, w: -0.44779894}
m_LocalEulerAnglesHint: {x: 40, y: 275.8, z: 0}
m_LocalEulerAnglesHint: {x: 30.4, y: -38.2, z: 57.412003}
--- !u!108 &543646049902552566
Light:
m_ObjectHideFlags: 0

serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.9692217, b: 0.8632076, a: 1}
m_Color: {r: 0.9716981, g: 0.89161044, b: 0.7287736, a: 1}
m_Intensity: 4
m_Range: 39.903427
m_SpotAngle: 59.46183

serializedVersion: 2
m_Type: 0
m_Mode: 1
m_RefreshMode: 0
m_RefreshMode: 2
m_BoxSize: {x: 418.93488, y: 50, z: 149.85187}
m_BoxSize: {x: 418.93488, y: 100, z: 149.85187}
m_BoxOffset: {x: -0.45895386, y: 0, z: 37.582314}
m_NearClip: 0.5
m_FarClip: 200

617
Assets/Objects/Levels/Island/Logic.prefab


m_Component:
- component: {fileID: 4233294543437945176}
- component: {fileID: 7401198662849869679}
m_Layer: 0
m_Layer: 1
m_Name: Wall
m_TagString: Untagged
m_Icon: {fileID: 0}

- component: {fileID: 5076232290459243460}
m_Layer: 0
m_Name: WayPoints
m_TagString: Untagged
m_TagString: waypoint
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0

m_Script: {fileID: 11500000, guid: 647b62ae31d264ee5a0839e89dcad48f, type: 3}
m_Name:
m_EditorClassIdentifier:
WaypointGroupID: 0
WaypointColour: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
Loop: 1
NextWPradius: 5
waypointGroupId: 0
waypointColour: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
loop: 1
- point: {x: -76.222084, y: 0, z: -30.110664}
WPwidth: 6.4
rotation: {x: 0, y: -0.27212518, z: 0, w: 0.96226186}
WPnumber: 0
WPgroup: 0
- point: {x: -89.091484, y: 0, z: 0.08934003}
WPwidth: 6.4
rotation: {x: 0, y: -0.13860865, z: 0, w: 0.9903472}
WPnumber: 1
WPgroup: 0
- point: {x: -92.19, y: 0, z: 30.037535}
WPwidth: 5.06
rotation: {x: 0, y: 0.07111021, z: 0, w: 0.9974685}
WPnumber: 2
WPgroup: 0
- point: {x: -77, y: 0, z: 54.7}
WPwidth: 4.7
rotation: {x: 0, y: 0.5660723, z: 0, w: 0.8243556}
WPnumber: 3
WPgroup: 0
- point: {x: -57.29, y: 0, z: 51.25}
WPwidth: 5.190468
rotation: {x: 0, y: 0.905824, z: 0, w: 0.4236542}
WPnumber: 4
WPgroup: 0
- point: {x: -76.22, y: 0, z: -30.11}
width: 6.4
rotation: {x: 0, y: 0.27563736, z: 0, w: -0.9612617}
index: 0
isCheckpoint: 0
normalizedDistance: 0
- point: {x: -93.66, y: 0, z: -0.15}
width: 7.32
rotation: {x: 0, y: 0.21643972, z: 0, w: -0.976296}
index: 0
isCheckpoint: 0
normalizedDistance: 0
- point: {x: -106.82, y: 0, z: 40.37}
width: 6.4
rotation: {x: 0, y: 0.06975647, z: 0, w: 0.9975641}
index: 0
isCheckpoint: 1
normalizedDistance: 0
- point: {x: -88.95, y: 0, z: 61.94}
width: 7.33
rotation: {x: 0, y: 0.6427876, z: 0, w: 0.76604444}
index: 0
isCheckpoint: 0
normalizedDistance: 0
- point: {x: -60, y: 0, z: 50.22}
width: 6.514844
rotation: {x: 0, y: 0.9063078, z: 0, w: 0.42261824}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 4.8
rotation: {x: 0, y: 0.6714136, z: 0, w: 0.74108285}
WPnumber: 5
WPgroup: 0
- point: {x: -8.030386, y: 0, z: 52.115753}
WPwidth: 5.6619344
rotation: {x: 0, y: 0.580926, z: 0, w: 0.8139564}
WPnumber: 6
WPgroup: 0
width: 4.8
rotation: {x: 0, y: 0.6691306, z: 0, w: 0.7431448}
index: 0
isCheckpoint: 1
normalizedDistance: 0
- point: {x: -7.98, y: 0, z: 54.16}
width: 5.6619344
rotation: {x: 0, y: 0.58070296, z: 0, w: 0.8141155}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 6.995
rotation: {x: 0, y: 0.822779, z: 0, w: 0.56836146}
WPnumber: 7
WPgroup: 0
width: 6.995
rotation: {x: 0, y: 0.8241262, z: 0, w: 0.56640625}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 7.15
rotation: {x: 0, y: 0.8878766, z: 0, w: 0.46008176}
WPnumber: 8
WPgroup: 0
width: 7.15
rotation: {x: 0, y: 0.8870109, z: 0, w: 0.4617486}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 10.37
rotation: {x: 0, y: 0.911225, z: 0, w: 0.41190892}
WPnumber: 9
WPgroup: 0
- point: {x: 120.65459, y: 0, z: -26.681784}
WPwidth: 3.75
rotation: {x: 0, y: -0.9970711, z: 0, w: -0.07648}
WPnumber: 10
WPgroup: 0
width: 10.37
rotation: {x: 0, y: 0.9099613, z: 0, w: 0.41469327}
index: 0
isCheckpoint: 1
normalizedDistance: 0
- point: {x: 121.34, y: 0, z: -31.15}
width: 3.75
rotation: {x: 0, y: 0.99026805, z: 0, w: -0.13917308}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 9.15
rotation: {x: 0, y: -0.990972, z: 0, w: 0.13406907}
WPnumber: 11
WPgroup: 0
width: 9.15
rotation: {x: 0, y: 0.7986355, z: 0, w: -0.6018151}
index: 0
isCheckpoint: 0
normalizedDistance: 0
WPwidth: 7.24
rotation: {x: 0, y: -0.7450562, z: 0, w: 0.6670017}
WPnumber: 12
WPgroup: 0
width: 7.24
rotation: {x: 0, y: 0.7431448, z: 0, w: -0.6691307}
index: 0
isCheckpoint: 1
normalizedDistance: 0
WPwidth: 5.635
rotation: {x: 0, y: -0.6415948, z: 0, w: 0.7670437}
WPnumber: 13
WPgroup: 0
- point: {x: -53.779583, y: 0, z: -52.759575}
WPwidth: 5.235
rotation: {x: 0, y: -0.4651221, z: 0, w: 0.8852465}
WPnumber: 14
WPgroup: 0
width: 5.635
rotation: {x: 0, y: 0.64278764, z: 0, w: -0.76604444}
index: 0
isCheckpoint: 0
normalizedDistance: 0
- point: {x: -53.78, y: 0, z: -52.76}
width: 5.235
rotation: {x: 0, y: 0.46174866, z: 0, w: -0.8870108}
index: 0
isCheckpoint: 0
normalizedDistance: 0
length: 540.5497
checkpoint:
m_AssetGUID: 5b930c10a697b4d8c9c8084e03800523
--- !u!1 &5076232291228677030
GameObject:
m_ObjectHideFlags: 0

- component: {fileID: 5076232291228677031}
- component: {fileID: 5076232291228677029}
- component: {fileID: 5076232291228677028}
m_Layer: 0
m_Layer: 4
m_Name: NavMesh
m_TagString: Untagged
m_Icon: {fileID: 0}

m_Name:
m_EditorClassIdentifier:
m_AgentTypeID: 0
m_CollectObjects: 0
m_Size: {x: 10, y: 10, z: 10}
m_Center: {x: 0, y: 2, z: 0}
m_CollectObjects: 1
m_Size: {x: 300, y: 0.5, z: 200}
m_Center: {x: 6, y: 0, z: 2}
m_Bits: 4294965247
m_Bits: 1041
m_UseGeometry: 1
m_DefaultArea: 0
m_IgnoreNavMeshAgent: 1

m_OverrideVoxelSize: 1
m_VoxelSize: 0.5
m_BuildHeightMesh: 0
m_NavMeshData: {fileID: 23800000, guid: f95aec1be3501404baa37d1fad8e4509, type: 2}
m_NavMeshData: {fileID: 23800000, guid: 0208fa9d8b15e4ddaae8e6511229855e, type: 2}
--- !u!65 &5076232291228677028
BoxCollider:
m_ObjectHideFlags: 0

m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 350, y: 10, z: 200}
m_Center: {x: 0, y: -5, z: 0}
m_Size: {x: 300, y: 10, z: 200}
m_Center: {x: 6, y: -5, z: 2}
--- !u!1 &5076232292041737950
GameObject:
m_ObjectHideFlags: 0

m_Children:
- {fileID: 5076232290459243461}
- {fileID: 5076232291228677031}
- {fileID: 7924522256525669911}
- {fileID: 1956725784267945688}
- {fileID: 8667566407600399212}
- {fileID: 2656621836537040859}
- {fileID: 3552348778889224520}
--- !u!1 &5587893372518074832
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7817592524449496659}
- component: {fileID: 7373587859701647236}
- component: {fileID: 7533697789290038365}
- component: {fileID: 1777906134979283651}
- component: {fileID: 4859758165399504338}
m_Layer: 0
m_Name: cm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7817592524449496659
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5587893372518074832}
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_Children: []
m_Father: {fileID: 7924522256525669911}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7373587859701647236
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5587893372518074832}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &7533697789290038365
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5587893372518074832}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 68bb026fafb42b14791938953eaace77, type: 3}
m_Name:
m_EditorClassIdentifier:
m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2}
m_AmplitudeGain: 1
m_FrequencyGain: 1
mNoiseOffsets: {x: -539.1776, y: -314.93887, z: 367.37033}
--- !u!114 &1777906134979283651
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5587893372518074832}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_TrackedObjectOffset: {x: 0, y: 0.27, z: 0}
m_LookaheadTime: 0.256
m_LookaheadSmoothing: 10.2
m_LookaheadIgnoreY: 0
m_HorizontalDamping: 0.5
m_VerticalDamping: 0.5
m_ScreenX: 0.504
m_ScreenY: 0.519
m_DeadZoneWidth: 0.114
m_DeadZoneHeight: 0.118
m_SoftZoneWidth: 0.818
m_SoftZoneHeight: 0.8
m_BiasX: -0.01399998
m_BiasY: -0.009999946
m_CenterOnActivate: 1
--- !u!114 &4859758165399504338
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5587893372518074832}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 418e42c7d0405cc48a7b83f63ea53bb3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Path: {fileID: 0}
m_PathPosition: 0.952319
m_PositionUnits: 0
m_PathOffset: {x: 0, y: 0, z: 0}
m_XDamping: 3
m_YDamping: 3
m_ZDamping: 3
m_CameraUp: 1
m_PitchDamping: 0
m_YawDamping: 0
m_RollDamping: 0
m_AutoDolly:
m_Enabled: 1
m_PositionOffset: 0
m_SearchRadius: 3
m_SearchResolution: 5
--- !u!1 &6187911570451958519
GameObject:
m_ObjectHideFlags: 0

m_Component:
- component: {fileID: 7220004121617269956}
- component: {fileID: 8910916800249713710}
m_Layer: 0
m_Layer: 1
m_Name: Wall (1)
m_TagString: Untagged
m_Icon: {fileID: 0}

serializedVersion: 2
m_Size: {x: 10, y: 80, z: 250}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &6273923786888198228
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1956725784267945688}
- component: {fileID: 1318747174063776020}
m_Layer: 0
m_Name: DroneTrack
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1956725784267945688
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6273923786888198228}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -43.55, y: 2.95, z: -53.1}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 5076232292041737951}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1318747174063776020
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6273923786888198228}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a200b19ca1a9685429ed7e043c28e904, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Resolution: 20
m_Appearance:
pathColor: {r: 0, g: 1, b: 0, a: 1}
inactivePathColor: {r: 1, g: 0, b: 0, a: 0.2509804}
width: 1.14
m_Looped: 1
m_Waypoints:
- position: {x: 1, y: 3.45, z: 0}
roll: 0
- position: {x: -71.10102, y: 10.742241, z: 67.63784}
roll: 0
- position: {x: -103.091415, y: 4.758482, z: 169.035}
roll: 0
- position: {x: -52.673576, y: -0.27920532, z: 237.37003}
roll: 0
- position: {x: -17.878021, y: -0.6562462, z: 216.99643}
roll: 0
- position: {x: -19.987724, y: 5.0066776, z: 175.62352}
roll: 0
- position: {x: 10.596176, y: 12.952732, z: 146.32361}
roll: 0
- position: {x: 49.0729, y: 11.341269, z: 164.12924}
roll: 0
- position: {x: 61.733486, y: 3.402906, z: 201.41176}
roll: 0
- position: {x: 120.73398, y: -0.3356185, z: 220.73616}
roll: 0
- position: {x: 206.534, y: 15.34079, z: 151.95366}
roll: 0
- position: {x: 265.21436, y: 26.253893, z: 113.37863}
roll: 0
- position: {x: 324.56354, y: 34.94934, z: 70.20174}
roll: 0
- position: {x: 340.92117, y: 25.719652, z: 21.509605}
roll: 0
- position: {x: 306.9261, y: 5.1675525, z: -10.214554}
roll: 0
- position: {x: 221.01312, y: -1.5185266, z: -27.709091}
roll: 0
- position: {x: 118.93849, y: -3.0683866, z: -27.979568}
roll: 0
--- !u!1 &6587431711960133509
GameObject:
m_ObjectHideFlags: 0

serializedVersion: 6
m_Component:
- component: {fileID: 2343824943627837844}
m_Layer: 0
m_Layer: 1
m_Name: LevelBounds
m_TagString: Untagged
m_Icon: {fileID: 0}

- {fileID: 7220004121617269956}
- {fileID: 8841334385287172059}
m_Father: {fileID: 5076232292041737951}
m_RootOrder: 4
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7010826786460218321
GameObject:

m_Component:
- component: {fileID: 8841334385287172059}
- component: {fileID: 1522781926648767702}
m_Layer: 0
m_Layer: 1
m_Name: Wall (2)
m_TagString: Untagged
m_Icon: {fileID: 0}

serializedVersion: 2
m_Size: {x: 10, y: 80, z: 320}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &8351381251499836217
--- !u!1 &8678670369107739667
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Component:
- component: {fileID: 7924522256525669911}
- component: {fileID: 7011785049636061889}
- component: {fileID: 7337433451810753914}
- component: {fileID: 8667566407600399212}
- component: {fileID: 7388913598318473626}
m_Name: DroneCam
m_Name: Culling
--- !u!4 &7924522256525669911
--- !u!4 &8667566407600399212
m_GameObject: {fileID: 8351381251499836217}
m_LocalRotation: {x: 0.16921982, y: -0.81662846, z: 0.32738495, w: 0.44418666}
m_LocalPosition: {x: -77.74759, y: 8.297212, z: -21.408878}
m_GameObject: {fileID: 8678670369107739667}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 7817592524449496659}
m_Children: []
m_RootOrder: 2
m_RootOrder: 3
--- !u!114 &7011785049636061889
MonoBehaviour:
--- !u!192 &7388913598318473626
OcclusionArea:
m_GameObject: {fileID: 8351381251499836217}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ExcludedPropertiesInInspector:
- m_Script
m_LockStageInInspector:
m_StreamingVersion: 20170927
m_Priority: 5
m_StandbyUpdate: 2
m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_Lens:
FieldOfView: 70
OrthographicSize: 10
NearClipPlane: 0.1
FarClipPlane: 500
Dutch: 0
LensShift: {x: 0, y: 0}
m_Transitions:
m_BlendHint: 0
m_InheritPosition: 0
m_OnCameraLive:
m_PersistentCalls:
m_Calls: []
m_LegacyBlendHint: 0
m_ComponentOwner: {fileID: 7817592524449496659}
--- !u!114 &7337433451810753914
MonoBehaviour:
m_GameObject: {fileID: 8678670369107739667}
serializedVersion: 2
m_Size: {x: 350, y: 62, z: 250}
m_Center: {x: 2, y: 25, z: 0}
m_IsViewVolume: 1
--- !u!1001 &2360175940660665367
PrefabInstance:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5076232292041737951}
m_Modifications:
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_RootOrder
value: 4
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3234866870885967210, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
propertyPath: m_Name
value: ReplayCameras
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b02b0cbf2fe7446a4884f4d1b318d58b, type: 3}
--- !u!4 &2656621836537040859 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 297009973342671820, guid: b02b0cbf2fe7446a4884f4d1b318d58b,
type: 3}
m_PrefabInstance: {fileID: 2360175940660665367}
m_GameObject: {fileID: 8351381251499836217}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4700f9f03ad19f94baf0367cb7a9c988, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Width: 16
m_Damping: 1
m_MinFOV: 3
m_MaxFOV: 60
--- !u!1001 &3038847354304535007
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5076232292041737951}
m_Modifications:
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_RootOrder
value: 5
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6788380939245909849, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
propertyPath: m_Name
value: IntroCameras
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: a5f37f20bbe9441558d73eb9920a991f, type: 3}
--- !u!4 &3552348778889224520 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1972679947328239767, guid: a5f37f20bbe9441558d73eb9920a991f,
type: 3}
m_PrefabInstance: {fileID: 3038847354304535007}
m_PrefabAsset: {fileID: 0}

38
Assets/Objects/boats/Interceptor/MSLL.tif.meta


mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0

forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: XboxOne
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1

44
Assets/Objects/boats/Interceptor/Normal.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

5
Assets/Objects/boats/Prefabs/Wake.prefab.meta


fileFormatVersion: 2
guid: dd07c82db50e943ca8314f2c407ea841
NativeFormatImporter:
labels:
- Effect
PrefabImporter:
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

457
Assets/Objects/boats/Prefabs/_BoatBase.prefab


m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1371637880153344}
m_LocalRotation: {x: 0.4055798, y: 0.579228, z: -0.579228, w: 0.4055798}
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
m_LocalEulerAnglesHint: {x: 90, y: 110, z: 0}
m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
--- !u!198 &198274553643828358
ParticleSystem:
m_ObjectHideFlags: 0

lengthInSec: 5
simulationSpeed: 1
stopAction: 0
cullingMode: 3
cullingMode: 0
ringBufferMode: 0
ringBufferLoopRange: {x: 0, y: 1}
looping: 1

startSpeed:
serializedVersion: 2
minMaxState: 0
scalar: 0.2
scalar: 0.25
minScalar: 5
maxCurve:
serializedVersion: 2

startSize:
serializedVersion: 2
minMaxState: 3
scalar: 5
minScalar: 3
scalar: 4
minScalar: 2
maxCurve:
serializedVersion: 2
m_Curve:

m_RotationOrder: 4
startRotationX:
serializedVersion: 2
minMaxState: 0
minMaxState: 3
scalar: 0
minScalar: 0
maxCurve:

m_RotationOrder: 4
startRotationY:
serializedVersion: 2
minMaxState: 0
minMaxState: 3
scalar: 0
minScalar: 0
maxCurve:

m_RotationOrder: 4
startRotation:
serializedVersion: 2
minMaxState: 0
scalar: -0.99850285
minScalar: 0
minMaxState: 3
scalar: 6.283185
minScalar: -6.283185
maxCurve:
serializedVersion: 2
m_Curve:

m_PostInfinity: 2
m_RotationOrder: 4
randomizeRotationDirection: 0
maxNumParticles: 1000
maxNumParticles: 120
size3D: 0
rotation3D: 0
gravityModifier:

m_PostInfinity: 2
m_RotationOrder: 4
arc:
value: 45
value: 360
mode: 0
spread: 0
speed:

rateOverTime:
serializedVersion: 2
minMaxState: 0
scalar: 0.75
scalar: 1
minScalar: 10
maxCurve:
serializedVersion: 2

rateOverDistance:
serializedVersion: 2
minMaxState: 0
scalar: 0.75
scalar: 1
minScalar: 0
maxCurve:
serializedVersion: 2

- serializedVersion: 3
time: 0
value: 0.3373413
inSlope: 1.7212794
outSlope: 1.7212794
inSlope: 16.418978
outSlope: 16.418978
outWeight: 0.10117647
outWeight: 0.18944709
- serializedVersion: 3
time: 0.08198871
value: 0.8877451
inSlope: 1.2009773
outSlope: 1.2009773
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16329525
value: 0.80472606
inSlope: -0.585602
outSlope: -0.585602
tangentMode: 0
weightedMode: 0
inWeight: 0.75508165
outWeight: 0.084002934
value: 1
inSlope: 0.8073834
outSlope: 0.8073834
value: 0.59322166
inSlope: 0.2524439
outSlope: 0.2524439
inWeight: 0.07621962
inWeight: 0.07769663
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2

key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 5975
ctime2: 51464
ctime2: 57054
ctime4: 0
ctime4: 65535
ctime5: 0
ctime6: 0
ctime7: 0

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1500772317517024}
m_LocalRotation: {x: 0.4055798, y: 0.579228, z: -0.579228, w: 0.4055798}
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
m_LocalEulerAnglesHint: {x: 90, y: 110, z: 0}
m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
--- !u!198 &198319431785470242
ParticleSystem:
m_ObjectHideFlags: 0

lengthInSec: 5
simulationSpeed: 1
stopAction: 0
cullingMode: 3
cullingMode: 0
ringBufferMode: 0
ringBufferLoopRange: {x: 0, y: 1}
looping: 1

startSpeed:
serializedVersion: 2
minMaxState: 0
scalar: 0.2
scalar: 0.25
minScalar: 5
maxCurve:
serializedVersion: 2

startSize:
serializedVersion: 2
minMaxState: 3
scalar: 5
minScalar: 3
scalar: 4
minScalar: 2
maxCurve:
serializedVersion: 2
m_Curve:

m_RotationOrder: 4
startRotationX:
serializedVersion: 2
minMaxState: 0
minMaxState: 3
scalar: 0
minScalar: 0
maxCurve:

m_RotationOrder: 4
startRotationY:
serializedVersion: 2
minMaxState: 0
minMaxState: 3
scalar: 0
minScalar: 0
maxCurve:

m_RotationOrder: 4
startRotation:
serializedVersion: 2
minMaxState: 0
scalar: -0.99850285
minScalar: 0
minMaxState: 3
scalar: 6.283185
minScalar: -6.283185
maxCurve:
serializedVersion: 2
m_Curve:

m_PostInfinity: 2
m_RotationOrder: 4
randomizeRotationDirection: 0
maxNumParticles: 1000
maxNumParticles: 120
size3D: 0
rotation3D: 0
gravityModifier:

m_PostInfinity: 2
m_RotationOrder: 4
arc:
value: 45
value: 360
mode: 0
spread: 0
speed:

rateOverTime:
serializedVersion: 2
minMaxState: 0
scalar: 0.75
scalar: 1
minScalar: 10
maxCurve:
serializedVersion: 2

rateOverDistance:
serializedVersion: 2
minMaxState: 0
scalar: 0.75
scalar: 1
minScalar: 0
maxCurve:
serializedVersion: 2

- serializedVersion: 3
time: 0
value: 0.3373413
inSlope: 1.7212794
outSlope: 1.7212794
inSlope: 16.418978
outSlope: 16.418978
outWeight: 0.10117647
outWeight: 0.18944709
- serializedVersion: 3
time: 0.08198871
value: 0.8877451
inSlope: 1.2009773
outSlope: 1.2009773
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16329525
value: 0.80472606
inSlope: -0.585602
outSlope: -0.585602
tangentMode: 0
weightedMode: 0
inWeight: 0.75508165
outWeight: 0.084002934
value: 1
inSlope: 0.8073834
outSlope: 0.8073834
value: 0.59322166
inSlope: 0.2524439
outSlope: 0.2524439
inWeight: 0.07621962
inWeight: 0.07769663
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2

key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 5975
ctime2: 51464
ctime2: 57054
ctime4: 0
ctime4: 65535
ctime5: 0
ctime6: 0
ctime7: 0

- {fileID: 4603238648617514}
- {fileID: 4154958958717284}
- {fileID: 2901399632790975270}
- {fileID: 4399986893398198514}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

m_Script: {fileID: 11500000, guid: 8e14db15b85a74d2288a792b27ee0fa6, type: 3}
m_Name:
m_EditorClassIdentifier:
Human: 0
RandomizeColors: 1
boatRenderer: {fileID: 23139903168929634}
engineRenderer: {fileID: 3607957023957793550}
engine: {fileID: 4301521246144889673}

voxelResolution: 0.3
centerOfMass: {x: 0, y: -0.15, z: -0.9}
waterLevelOffset: 0.25
voxels:
- {x: -0.9000001, y: 0.18077567, z: -2.0381942}
- {x: -0.9000001, y: 0.18077567, z: -1.7381943}
- {x: -0.9000001, y: 0.18077567, z: -1.4381944}
- {x: -0.9000001, y: 0.18077567, z: -1.1381944}
- {x: -0.9000001, y: 0.18077567, z: -0.8381944}
- {x: -0.9000001, y: 0.18077567, z: -0.5381944}
- {x: -0.9000001, y: 0.18077567, z: -0.23819438}
- {x: -0.9000001, y: 0.18077567, z: 0.061805636}
- {x: -0.6, y: -0.11922434, z: -1.4381944}
- {x: -0.6, y: -0.11922434, z: -1.1381944}
- {x: -0.6, y: -0.11922434, z: -0.8381944}
- {x: -0.6, y: -0.11922434, z: -0.5381944}
- {x: -0.6, y: -0.11922434, z: -0.23819438}
- {x: -0.6, y: -0.11922434, z: 0.061805636}
- {x: -0.6, y: 0.18077567, z: -2.938194}
- {x: -0.6, y: 0.18077567, z: -2.638194}
- {x: -0.6, y: 0.18077567, z: -2.3381941}
- {x: -0.6, y: 0.18077567, z: -2.0381942}
- {x: -0.6, y: 0.18077567, z: -1.7381943}
- {x: -0.6, y: 0.18077567, z: -1.4381944}
- {x: -0.6, y: 0.18077567, z: -1.1381944}
- {x: -0.6, y: 0.18077567, z: -0.8381944}
- {x: -0.6, y: 0.18077567, z: -0.5381944}
- {x: -0.6, y: 0.18077567, z: -0.23819438}
- {x: -0.6, y: 0.18077567, z: 0.061805636}
- {x: -0.6, y: 0.18077567, z: 0.36180568}
- {x: -0.6, y: 0.18077567, z: 0.6618056}
- {x: -0.6, y: 0.18077567, z: 0.9618057}
- {x: -0.6, y: 0.18077567, z: 1.2618057}
- {x: -0.6, y: 0.48077568, z: -2.638194}
- {x: -0.6, y: 0.48077568, z: -2.3381941}
- {x: -0.6, y: 0.48077568, z: -2.0381942}
- {x: -0.6, y: 0.48077568, z: -1.7381943}
- {x: -0.6, y: 0.48077568, z: -1.4381944}
- {x: -0.6, y: 0.48077568, z: -1.1381944}
- {x: -0.6, y: 0.48077568, z: -0.8381944}
- {x: -0.6, y: 0.48077568, z: -0.5381944}
- {x: -0.6, y: 0.48077568, z: -0.23819438}
- {x: -0.6, y: 0.48077568, z: 0.061805636}
- {x: -0.6, y: 0.48077568, z: 0.36180568}
- {x: -0.6, y: 0.48077568, z: 0.6618056}
- {x: -0.30000004, y: -0.11922434, z: -2.638194}
- {x: -0.30000004, y: -0.11922434, z: -2.3381941}
- {x: -0.30000004, y: -0.11922434, z: -2.0381942}
- {x: -0.30000004, y: -0.11922434, z: -1.7381943}
- {x: -0.30000004, y: -0.11922434, z: -1.4381944}
- {x: -0.30000004, y: -0.11922434, z: -1.1381944}
- {x: -0.30000004, y: -0.11922434, z: -0.8381944}
- {x: -0.30000004, y: -0.11922434, z: -0.5381944}
- {x: -0.30000004, y: -0.11922434, z: -0.23819438}
- {x: -0.30000004, y: -0.11922434, z: 0.061805636}
- {x: -0.30000004, y: -0.11922434, z: 0.36180568}
- {x: -0.30000004, y: -0.11922434, z: 0.6618056}
- {x: -0.30000004, y: -0.11922434, z: 0.9618057}
- {x: -0.30000004, y: 0.18077567, z: -2.938194}
- {x: -0.30000004, y: 0.18077567, z: -2.638194}
- {x: -0.30000004, y: 0.18077567, z: -2.3381941}
- {x: -0.30000004, y: 0.18077567, z: -2.0381942}
- {x: -0.30000004, y: 0.18077567, z: -1.7381943}
- {x: -0.30000004, y: 0.18077567, z: -1.4381944}
- {x: -0.30000004, y: 0.18077567, z: -1.1381944}
- {x: -0.30000004, y: 0.18077567, z: -0.8381944}
- {x: -0.30000004, y: 0.18077567, z: -0.5381944}
- {x: -0.30000004, y: 0.18077567, z: -0.23819438}
- {x: -0.30000004, y: 0.18077567, z: 0.061805636}
- {x: -0.30000004, y: 0.18077567, z: 0.36180568}
- {x: -0.30000004, y: 0.18077567, z: 0.6618056}
- {x: -0.30000004, y: 0.18077567, z: 0.9618057}
- {x: -0.30000004, y: 0.18077567, z: 1.2618057}
- {x: -0.30000004, y: 0.18077567, z: 1.5618056}
- {x: -0.30000004, y: 0.18077567, z: 1.8618057}
- {x: -0.30000004, y: 0.48077568, z: -2.938194}
- {x: -0.30000004, y: 0.48077568, z: -2.638194}
- {x: -0.30000004, y: 0.48077568, z: -2.3381941}
- {x: -0.30000004, y: 0.48077568, z: -2.0381942}
- {x: -0.30000004, y: 0.48077568, z: -1.7381943}
- {x: -0.30000004, y: 0.48077568, z: -1.4381944}
- {x: -0.30000004, y: 0.48077568, z: -1.1381944}
- {x: -0.30000004, y: 0.48077568, z: -0.8381944}
- {x: -0.30000004, y: 0.48077568, z: -0.5381944}
- {x: -0.30000004, y: 0.48077568, z: -0.23819438}
- {x: -0.30000004, y: 0.48077568, z: 0.061805636}
- {x: -0.30000004, y: 0.48077568, z: 0.36180568}
- {x: -0.30000004, y: 0.48077568, z: 0.6618056}
- {x: -0.30000004, y: 0.48077568, z: 0.9618057}
- {x: -0.30000004, y: 0.48077568, z: 1.2618057}
- {x: -0.30000004, y: 0.48077568, z: 1.5618056}
- {x: -0.30000004, y: 0.78077567, z: -2.3381941}
- {x: -0.30000004, y: 0.78077567, z: -2.0381942}
- {x: -0.30000004, y: 0.78077567, z: -1.7381943}
- {x: -0.30000004, y: 0.78077567, z: -1.4381944}
- {x: -0.30000004, y: 0.78077567, z: -1.1381944}
- {x: -0.30000004, y: 0.78077567, z: -0.8381944}
- {x: -0.000000029802322, y: -0.11922434, z: -2.938194}
- {x: -0.000000029802322, y: -0.11922434, z: -2.638194}
- {x: -0.000000029802322, y: -0.11922434, z: -2.3381941}
- {x: -0.000000029802322, y: -0.11922434, z: -2.0381942}
- {x: -0.000000029802322, y: -0.11922434, z: -1.7381943}
- {x: -0.000000029802322, y: -0.11922434, z: -1.4381944}
- {x: -0.000000029802322, y: -0.11922434, z: -1.1381944}
- {x: -0.000000029802322, y: -0.11922434, z: -0.8381944}
- {x: -0.000000029802322, y: -0.11922434, z: -0.5381944}
- {x: -0.000000029802322, y: -0.11922434, z: -0.23819438}
- {x: -0.000000029802322, y: -0.11922434, z: 0.061805636}
- {x: -0.000000029802322, y: -0.11922434, z: 0.36180568}
- {x: -0.000000029802322, y: -0.11922434, z: 0.6618056}
- {x: -0.000000029802322, y: -0.11922434, z: 0.9618057}
- {x: -0.000000029802322, y: -0.11922434, z: 1.2618057}
- {x: -0.000000029802322, y: 0.18077567, z: -2.938194}
- {x: -0.000000029802322, y: 0.18077567, z: -2.638194}
- {x: -0.000000029802322, y: 0.18077567, z: -2.3381941}
- {x: -0.000000029802322, y: 0.18077567, z: -2.0381942}
- {x: -0.000000029802322, y: 0.18077567, z: -1.7381943}
- {x: -0.000000029802322, y: 0.18077567, z: -1.4381944}
- {x: -0.000000029802322, y: 0.18077567, z: -1.1381944}
- {x: -0.000000029802322, y: 0.18077567, z: -0.8381944}
- {x: -0.000000029802322, y: 0.18077567, z: -0.5381944}
- {x: -0.000000029802322, y: 0.18077567, z: -0.23819438}
- {x: -0.000000029802322, y: 0.18077567, z: 0.061805636}
- {x: -0.000000029802322, y: 0.18077567, z: 0.36180568}
- {x: -0.000000029802322, y: 0.18077567, z: 0.6618056}
- {x: -0.000000029802322, y: 0.18077567, z: 0.9618057}
- {x: -0.000000029802322, y: 0.18077567, z: 1.2618057}
- {x: -0.000000029802322, y: 0.18077567, z: 1.5618056}
- {x: -0.000000029802322, y: 0.18077567, z: 1.8618057}
- {x: -0.000000029802322, y: 0.18077567, z: 2.1618056}
- {x: -0.000000029802322, y: 0.48077568, z: -2.938194}
- {x: -0.000000029802322, y: 0.48077568, z: -2.638194}
- {x: -0.000000029802322, y: 0.48077568, z: -2.3381941}
- {x: -0.000000029802322, y: 0.48077568, z: -2.0381942}
- {x: -0.000000029802322, y: 0.48077568, z: -1.7381943}
- {x: -0.000000029802322, y: 0.48077568, z: -1.4381944}
- {x: -0.000000029802322, y: 0.48077568, z: -1.1381944}
- {x: -0.000000029802322, y: 0.48077568, z: -0.8381944}
- {x: -0.000000029802322, y: 0.48077568, z: -0.5381944}
- {x: -0.000000029802322, y: 0.48077568, z: -0.23819438}
- {x: -0.000000029802322, y: 0.48077568, z: 0.061805636}
- {x: -0.000000029802322, y: 0.48077568, z: 0.36180568}
- {x: -0.000000029802322, y: 0.48077568, z: 0.6618056}
- {x: -0.000000029802322, y: 0.48077568, z: 0.9618057}
- {x: -0.000000029802322, y: 0.48077568, z: 1.2618057}
- {x: -0.000000029802322, y: 0.48077568, z: 1.5618056}
- {x: -0.000000029802322, y: 0.48077568, z: 1.8618057}
- {x: -0.000000029802322, y: 0.48077568, z: 2.1618056}
- {x: -0.000000029802322, y: 0.78077567, z: -2.3381941}
- {x: -0.000000029802322, y: 0.78077567, z: -2.0381942}
- {x: -0.000000029802322, y: 0.78077567, z: -1.7381943}
- {x: -0.000000029802322, y: 0.78077567, z: -1.4381944}
- {x: -0.000000029802322, y: 0.78077567, z: -1.1381944}
- {x: -0.000000029802322, y: 0.78077567, z: -0.8381944}
- {x: -0.000000029802322, y: 0.78077567, z: -0.5381944}
- {x: -0.000000029802322, y: 0.78077567, z: -0.23819438}
- {x: 0.29999998, y: -0.11922434, z: -2.638194}
- {x: 0.29999998, y: -0.11922434, z: -2.3381941}
- {x: 0.29999998, y: -0.11922434, z: -2.0381942}
- {x: 0.29999998, y: -0.11922434, z: -1.7381943}
- {x: 0.29999998, y: -0.11922434, z: -1.4381944}
- {x: 0.29999998, y: -0.11922434, z: -1.1381944}
- {x: 0.29999998, y: -0.11922434, z: -0.8381944}
- {x: 0.29999998, y: -0.11922434, z: -0.5381944}
- {x: 0.29999998, y: -0.11922434, z: -0.23819438}
- {x: 0.29999998, y: -0.11922434, z: 0.061805636}
- {x: 0.29999998, y: -0.11922434, z: 0.36180568}
- {x: 0.29999998, y: -0.11922434, z: 0.6618056}
- {x: 0.29999998, y: -0.11922434, z: 0.9618057}
- {x: 0.29999998, y: 0.18077567, z: -2.938194}
- {x: 0.29999998, y: 0.18077567, z: -2.638194}
- {x: 0.29999998, y: 0.18077567, z: -2.3381941}
- {x: 0.29999998, y: 0.18077567, z: -2.0381942}
- {x: 0.29999998, y: 0.18077567, z: -1.7381943}
- {x: 0.29999998, y: 0.18077567, z: -1.4381944}
- {x: 0.29999998, y: 0.18077567, z: -1.1381944}
- {x: 0.29999998, y: 0.18077567, z: -0.8381944}
- {x: 0.29999998, y: 0.18077567, z: -0.5381944}
- {x: 0.29999998, y: 0.18077567, z: -0.23819438}
- {x: 0.29999998, y: 0.18077567, z: 0.061805636}
- {x: 0.29999998, y: 0.18077567, z: 0.36180568}
- {x: 0.29999998, y: 0.18077567, z: 0.6618056}
- {x: 0.29999998, y: 0.18077567, z: 0.9618057}
- {x: 0.29999998, y: 0.18077567, z: 1.2618057}
- {x: 0.29999998, y: 0.18077567, z: 1.5618056}
- {x: 0.29999998, y: 0.18077567, z: 1.8618057}
- {x: 0.29999998, y: 0.48077568, z: -2.938194}
- {x: 0.29999998, y: 0.48077568, z: -2.638194}
- {x: 0.29999998, y: 0.48077568, z: -2.3381941}
- {x: 0.29999998, y: 0.48077568, z: -2.0381942}
- {x: 0.29999998, y: 0.48077568, z: -1.7381943}
- {x: 0.29999998, y: 0.48077568, z: -1.4381944}
- {x: 0.29999998, y: 0.48077568, z: -1.1381944}
- {x: 0.29999998, y: 0.48077568, z: -0.8381944}
- {x: 0.29999998, y: 0.48077568, z: -0.5381944}
- {x: 0.29999998, y: 0.48077568, z: -0.23819438}
- {x: 0.29999998, y: 0.48077568, z: 0.061805636}
- {x: 0.29999998, y: 0.48077568, z: 0.36180568}
- {x: 0.29999998, y: 0.48077568, z: 0.6618056}
- {x: 0.29999998, y: 0.48077568, z: 0.9618057}
- {x: 0.29999998, y: 0.48077568, z: 1.2618057}
- {x: 0.29999998, y: 0.48077568, z: 1.5618056}
- {x: 0.29999998, y: 0.78077567, z: -2.3381941}
- {x: 0.29999998, y: 0.78077567, z: -2.0381942}
- {x: 0.29999998, y: 0.78077567, z: -1.7381943}
- {x: 0.29999998, y: 0.78077567, z: -1.4381944}
- {x: 0.29999998, y: 0.78077567, z: -1.1381944}
- {x: 0.29999998, y: 0.78077567, z: -0.8381944}
- {x: 0.6, y: -0.11922434, z: -1.4381944}
- {x: 0.6, y: -0.11922434, z: -1.1381944}
- {x: 0.6, y: -0.11922434, z: -0.8381944}
- {x: 0.6, y: -0.11922434, z: -0.5381944}
- {x: 0.6, y: -0.11922434, z: -0.23819438}
- {x: 0.6, y: -0.11922434, z: 0.061805636}
- {x: 0.6, y: 0.18077567, z: -2.938194}
- {x: 0.6, y: 0.18077567, z: -2.638194}
- {x: 0.6, y: 0.18077567, z: -2.3381941}
- {x: 0.6, y: 0.18077567, z: -2.0381942}
- {x: 0.6, y: 0.18077567, z: -1.7381943}
- {x: 0.6, y: 0.18077567, z: -1.4381944}
- {x: 0.6, y: 0.18077567, z: -1.1381944}
- {x: 0.6, y: 0.18077567, z: -0.8381944}
- {x: 0.6, y: 0.18077567, z: -0.5381944}
- {x: 0.6, y: 0.18077567, z: -0.23819438}
- {x: 0.6, y: 0.18077567, z: 0.061805636}
- {x: 0.6, y: 0.18077567, z: 0.36180568}
- {x: 0.6, y: 0.18077567, z: 0.6618056}
- {x: 0.6, y: 0.18077567, z: 0.9618057}
- {x: 0.6, y: 0.18077567, z: 1.2618057}
- {x: 0.6, y: 0.48077568, z: -2.638194}
- {x: 0.6, y: 0.48077568, z: -2.3381941}
- {x: 0.6, y: 0.48077568, z: -2.0381942}
- {x: 0.6, y: 0.48077568, z: -1.7381943}
- {x: 0.6, y: 0.48077568, z: -1.4381944}
- {x: 0.6, y: 0.48077568, z: -1.1381944}
- {x: 0.6, y: 0.48077568, z: -0.8381944}
- {x: 0.6, y: 0.48077568, z: -0.5381944}
- {x: 0.6, y: 0.48077568, z: -0.23819438}
- {x: 0.6, y: 0.48077568, z: 0.061805636}
- {x: 0.6, y: 0.48077568, z: 0.36180568}
- {x: 0.6, y: 0.48077568, z: 0.6618056}
- {x: 0.9, y: 0.18077567, z: -2.0381942}
- {x: 0.9, y: 0.18077567, z: -1.7381943}
- {x: 0.9, y: 0.18077567, z: -1.4381944}
- {x: 0.9, y: 0.18077567, z: -1.1381944}
- {x: 0.9, y: 0.18077567, z: -0.8381944}
- {x: 0.9, y: 0.18077567, z: -0.5381944}
- {x: 0.9, y: 0.18077567, z: -0.23819438}
- {x: 0.9, y: 0.18077567, z: 0.061805636}
percentSubmerged: 0
--- !u!1 &1610670695541802
GameObject:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 0e8a6257865674c219fc5cdb6145cc12, type: 3}
m_Name:
m_EditorClassIdentifier:
_wakes:
- origin: {x: 0.48, y: 0, z: -3.64}
lines: []
- origin: {x: 0.17, y: 0, z: 0.84}
lines: []
_wakePrefab: {fileID: 1446377775785148, guid: dd07c82db50e943ca8314f2c407ea841,
type: 3}
_genDistance: 2.5
_maxAge: 5
wakes: []
wakePrefab:
m_AssetGUID:
genDistance: 0.5
maxAge: 5
--- !u!1 &1852268228170652
GameObject:
m_ObjectHideFlags: 0

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &3078379310858947122
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4399986893398198514}
- component: {fileID: 1964776752951650828}
m_Layer: 11
m_Name: NavmeshCarver
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4399986893398198514
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3078379310858947122}
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4534809148113994}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!208 &1964776752951650828
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3078379310858947122}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 1, y: 3.085, z: 1}
m_MoveThreshold: 0.1
m_Carve: 0
m_CarveOnlyStationary: 0
m_Center: {x: 0, y: -0.5, z: -0.4}
m_TimeToStationary: 0.5
--- !u!1 &3138619813684846845
GameObject:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 01c46922a8ed04b0081de10e51b3762f, type: 3}
m_Name:
m_EditorClassIdentifier:
RB: {fileID: 54710712322113256}
vel: {x: 0, y: 0, z: 0}
--- !u!1 &8128372730392016786
--- !u!1 &7722079641781253370
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8128372730392016786}
m_GameObject: {fileID: 7722079641781253370}
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_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8128372730392016786}
m_GameObject: {fileID: 7722079641781253370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8128372730392016786}
m_GameObject: {fileID: 7722079641781253370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3}

m_FollowOffset: {x: 0, y: 2, z: -5}
m_FollowOffset: {x: 0, y: 1.7, z: -3}
m_XDamping: 1
m_YDamping: 1
m_ZDamping: 1

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8128372730392016786}
m_GameObject: {fileID: 7722079641781253370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4044717213e31446939f7bd49c896ea, type: 3}

5
Assets/Objects/boats/Prefabs/_BoatBase.prefab.meta


fileFormatVersion: 2
guid: fc3ffb83d6eafb1489a5b23bc82d25b6
NativeFormatImporter:
labels:
- Boat
PrefabImporter:
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

104
Assets/Objects/boats/Prefabs/_Renegade.prefab


m_Modifications:
- target: {fileID: 1553288845585282, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_Name
value: _Speedboat
value: _Renegade
objectReference: {fileID: 0}
- target: {fileID: 4416522625512240, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: -0.44
objectReference: {fileID: 0}
- target: {fileID: 4443841052945294, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: 0.95
objectReference: {fileID: 0}
- target: {fileID: 4534809148113994, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4603708908827592, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: -0.95
objectReference: {fileID: 0}
- target: {fileID: 4653116848354930, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.y
value: -0.493
objectReference: {fileID: 0}
- target: {fileID: 4653116848354930, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.z
value: -0.888
objectReference: {fileID: 0}
- target: {fileID: 4693301302057358, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: 0.44
objectReference: {fileID: 0}
- target: {fileID: 23139903168929634, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 437f011fedad9694dba179244c6f6f12, type: 2}
- target: {fileID: 33941223812666896, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: 8247320481306587565, guid: 97ad03fc42a849a41a183025cc835e80,
type: 3}
- target: {fileID: 64258884862185400, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_Mesh

propertyPath: voxels.Array.data[277].z
value: -0.033433765
objectReference: {fileID: 0}
- target: {fileID: 23139903168929634, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
- target: {fileID: 114571606569623246, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 437f011fedad9694dba179244c6f6f12, type: 2}
- target: {fileID: 4301521246144889673, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: enginePosition.y
value: -0.44
propertyPath: m_Enabled
value: 1
- target: {fileID: 4301521246144889673, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
- target: {fileID: 1036935742331195195, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
propertyPath: enginePosition.z
value: -0.7
objectReference: {fileID: 0}
propertyPath: m_Mesh
value:
objectReference: {fileID: -7037502782376635450, guid: 97ad03fc42a849a41a183025cc835e80,
type: 3}
- target: {fileID: 1857749394586354482, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_LocalRotation.x

propertyPath: m_LocalPosition.z
value: -2.9817498
objectReference: {fileID: 0}
- target: {fileID: 33941223812666896, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
- target: {fileID: 3607957023957793550, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
propertyPath: m_Mesh
propertyPath: m_Materials.Array.data[0]
objectReference: {fileID: 8247320481306587565, guid: 97ad03fc42a849a41a183025cc835e80,
objectReference: {fileID: 2100000, guid: 437f011fedad9694dba179244c6f6f12, type: 2}
- target: {fileID: 4301521246144889673, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
- target: {fileID: 4443841052945294, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: 0.95
objectReference: {fileID: 0}
- target: {fileID: 4603708908827592, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: -0.95
objectReference: {fileID: 0}
- target: {fileID: 4693301302057358, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
value: 0.44
objectReference: {fileID: 0}
- target: {fileID: 4416522625512240, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.x
propertyPath: enginePosition.y
- target: {fileID: 4653116848354930, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.y
value: -0.493
- target: {fileID: 4301521246144889673, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: enginePosition.z
value: -0.7
- target: {fileID: 4653116848354930, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}
propertyPath: m_LocalPosition.z
value: -0.888
- target: {fileID: 4301521246144889673, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: horsePower
value: 28
- target: {fileID: 1036935742331195195, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_Mesh
value:
objectReference: {fileID: -7037502782376635450, guid: 97ad03fc42a849a41a183025cc835e80,
type: 3}
- target: {fileID: 3607957023957793550, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 437f011fedad9694dba179244c6f6f12, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: fc3ffb83d6eafb1489a5b23bc82d25b6, type: 3}

183
Assets/Objects/boats/Speedboat/BoatSpeedboat.fbx
文件差异内容过多而无法显示
查看文件

44
Assets/Objects/boats/Speedboat/Normal.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

2
Assets/Objects/boats/_waterFoam.mat


m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 2d0c955e7fc9d4d81ad4cf0e7620e4c8, type: 3}
m_Texture: {fileID: 2800000, guid: d0af25a908ddeb24c927ff33f57876e8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:

7
Assets/Objects/environment/Cliffs/Env_Hero_Mountain.fbx.meta


fileFormatVersion: 2
guid: 52207ac117e4b83479b23870786f549c
ModelImporter:
serializedVersion: 27
serializedVersion: 19300
internalIDToNameTable:
- first:
74: 1827226128182048838

importMaterials: 1
materialImportMode: 1
materialName: 0
materialSearch: 1
materialLocation: 1

tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0

hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0

54
Assets/Objects/environment/Cliffs/Maps/Cave_defaultMat_AONormal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
crunchedCompression: 0
crunchedCompression: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 25
textureCompression: 2
compressionQuality: 100
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 2
crunchedCompression: 0
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []

50
Assets/Objects/environment/Cliffs/Maps/Cave_defaultMat_BaseCurvature.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 12
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 3
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

50
Assets/Objects/environment/Cliffs/Maps/Cliff_Full_01_defaultMat_AONormal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 25
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 2
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []

54
Assets/Objects/environment/Cliffs/Maps/Cliff_Full_01_defaultMat_BaseCurvature.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 12
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

50
Assets/Objects/environment/Cliffs/Maps/Cliff_defaultMat_AONormal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
crunchedCompression: 0
crunchedCompression: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 25
textureCompression: 1
compressionQuality: 100
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
crunchedCompression: 0
crunchedCompression: 1
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
spriteSheet:
serializedVersion: 2
sprites: []

54
Assets/Objects/environment/Cliffs/Maps/Cliff_defaultMat_BaseCurvature.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 12
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

54
Assets/Objects/environment/Cliffs/Maps/Hero_defaultMat_AONormal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
crunchedCompression: 0
crunchedCompression: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 25
textureCompression: 2
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 2
crunchedCompression: 0
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

50
Assets/Objects/environment/Cliffs/Maps/Hero_defaultMat_BaseCurvature.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 12
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 3
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

50
Assets/Objects/environment/Cliffs/Maps/Rocks_defaultMat_AONormal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 2
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 25
textureCompression: 2
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 1
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

54
Assets/Objects/environment/Cliffs/Maps/Rocks_defaultMat_BaseCurvature.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 4096
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureFormat: 12
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
compressionQuality: 50
crunchedCompression: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

108
Assets/Objects/environment/Cliffs/Materials/Env_Cliff_Full_01.mat


m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_C005B064:
m_Texture: {fileID: 2800000, guid: 749d98ca73398436c9d7d4552bfafc30, type: 3}
m_Scale: {x: 1, y: 1}

m_Texture: {fileID: 2800000, guid: 4df23f69cac758749835d538a5c4aaef, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_7F042A:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 94c89d20ffbee42e1a794ccdb0f31988, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 6e7c0ce56e3964cb2806f6ab720192c7, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_EF77D572_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Triplanar_1CFC4A0A_Texture:
- Boolean_17CAA2F8: 0
- Vector1_8B35DE98: 65
- Vector1_A492C01C: 0.5
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossinessSource: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _Shininess: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_D0F47C7A: {r: 1, g: 1, b: 1, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- Vector1_A492C01C: 10.3
m_Colors: []

108
Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat


m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_C005B064:
m_Texture: {fileID: 2800000, guid: 749d98ca73398436c9d7d4552bfafc30, type: 3}
m_Scale: {x: 1, y: 1}

m_Texture: {fileID: 2800000, guid: 199be4fdc4bc3c74ebd817e77da26d2f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_7F042A:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 94c89d20ffbee42e1a794ccdb0f31988, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 6e7c0ce56e3964cb2806f6ab720192c7, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_EF77D572_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Triplanar_1CFC4A0A_Texture:
- Boolean_17CAA2F8: 0
- Vector1_8B35DE98: 65
- Vector1_A492C01C: 0.5
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossinessSource: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _Shininess: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_D0F47C7A: {r: 1, g: 1, b: 1, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- Vector1_A492C01C: 10.3
m_Colors: []

94
Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat


m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 5ab9468c2f0ac4d958d4fab8b7a332b6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_C005B064:
m_Texture: {fileID: 2800000, guid: 749d98ca73398436c9d7d4552bfafc30, type: 3}
m_Scale: {x: 1, y: 1}

m_Texture: {fileID: 2800000, guid: 740e8b31621476e4e8f481c0d5ea409e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_7F042A:
m_Texture: {fileID: 2800000, guid: 72fa33764de20416585e91ba2cbf1769, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 5ab9468c2f0ac4d958d4fab8b7a332b6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: 72fa33764de20416585e91ba2cbf1769, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 5ab9468c2f0ac4d958d4fab8b7a332b6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 2dadfa2a698554d088efd425e50b9142, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: adec7e1f825304798858fddea98d8662, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 4b22792bffdde48d998dea5193accc60, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_EF77D572_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Triplanar_1CFC4A0A_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Boolean_17CAA2F8: 0
- Vector1_8B35DE98: 65
- Vector1_A492C01C: 0.5
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossinessSource: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Shininess: 1
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_D0F47C7A: {r: 1, g: 1, b: 1, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- Vector1_A492C01C: 10.3
m_Colors: []

101
Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat


m_PrefabAsset: {fileID: 0}
m_Name: Env_HeroLarge
m_Shader: {fileID: 4800000, guid: 7cd247c7cbda54323b0e395ea419af3d, type: 3}
m_ShaderKeywords: _NORMALMAP
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1

m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 2bdd7d6ad79724736b1b84446305dfbb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_C005B064:
m_Texture: {fileID: 2800000, guid: 749d98ca73398436c9d7d4552bfafc30, type: 3}
m_Scale: {x: 1, y: 1}

m_Texture: {fileID: 2800000, guid: ef97219b6529eab459d3c569d5e3efb1, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_7F042A:
m_Texture: {fileID: 2800000, guid: c904612e24dae4b598a7c6276fdbcb96, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 2bdd7d6ad79724736b1b84446305dfbb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: c904612e24dae4b598a7c6276fdbcb96, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 2bdd7d6ad79724736b1b84446305dfbb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 2895521fac3d74b0f9a6a715e67d1765, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: ebf94a6db91714472b6e8604b3b93b34, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_EF77D572_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Triplanar_1CFC4A0A_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Boolean_17CAA2F8: 1
- Vector1_8B35DE98: 65
- Vector1_A492C01C: 0.5
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.636
- _GlossinessSource: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _ReceiveShadows: 1
- _Shininess: 1
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_D0F47C7A: {r: 1, g: 1, b: 1, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- Vector1_A492C01C: 10.3
m_Colors: []

137
Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat


m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []

- Texture2D_2D2A40E:
m_Texture: {fileID: 2800000, guid: d32e7607f71a3e6449c16ae86a4f459a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4CCF661D:
m_Texture: {fileID: 28079174106953648, guid: f46269ea1099c4fb4bc7191f76fcfab3,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_5F5D1FE1:
m_Texture: {fileID: 2800000, guid: 58c621426b0004e43b875f1bfbbbf2d9, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_8EA5BCC6:
m_Texture: {fileID: 2800000, guid: 9b83018dda05e4cffb3ca62e0d54d252, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_AE91C5C2:
m_Texture: {fileID: 2800000, guid: de66a605dcddb493bac5bf7d4c20f431, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_BC9E4820:
m_Texture: {fileID: 2800000, guid: b793a644029c648a286a2ebd00e9e848, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_CE9C74A7:
m_Texture: {fileID: 2800000, guid: 36283a22a982c44448b4a62732a0866f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_D3E53D6C:
m_Texture: {fileID: 2800000, guid: 9b6c255f1b0f84e4caab0ca53ff3d44a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_D7D66558:

m_Texture: {fileID: 2800000, guid: 2a5ba3c2bd53ad549b66eae48452debf, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_E3D097C6:
m_Texture: {fileID: 2800000, guid: d389fa646f8a74bae9368b04367ad643, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_FC50AADC:
m_Texture: {fileID: 2800000, guid: b3c2ab157efdd44c79666fe44e45e75e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_7F042A:
m_Texture: {fileID: 2800000, guid: 9dcfebd3827a5451894d55ba9c19dab2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: de66a605dcddb493bac5bf7d4c20f431, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: 9dcfebd3827a5451894d55ba9c19dab2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: de66a605dcddb493bac5bf7d4c20f431, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: f8039dfc360cd443babe236c09c78ed7, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 97db52ea013de44568292e7f0a838ba5, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: b52c4518800ae438cb5557b748fb57eb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_EF77D572_Texture:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Triplanar_1CFC4A0A_Texture:
- Boolean_17CAA2F8: 0
- Vector1_8B35DE98: 65
- Vector1_A492C01C: 0.9
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.767
- _GlossinessSource: 0
- _GlossyReflections: 1
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Shininess: 1
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_D0F47C7A: {r: 1, g: 1, b: 1, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- Vector1_A492C01C: 10.3
m_Colors: []

17
Assets/Objects/environment/Cliffs/Prefabs/Cliff_Wall_02.prefab


m_GameObject: {fileID: 1805546504922292}
m_Enabled: 1
m_EditorHideFlags: 0
m_GeneratorAsset: {fileID: 0}
m_Script: {fileID: 11500000, guid: f5d715ee083c2438f89aa044883b30d6, type: 3}
m_Name:
m_EditorClassIdentifier:

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1334975742582385152}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.30999756, y: 0, z: 0.1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4204711484670512}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2460732971140372927}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.30999756, y: 0, z: 0.1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4204711484670512}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3907063012497362833}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.30999756, y: 0, z: 0.1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4204711484670512}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4792072073723694513}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.30999756, y: 0, z: 0.1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4204711484670512}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

16
Assets/Objects/environment/Cliffs/Prefabs/Cliff_Wall_03.prefab


m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 384496095759017009}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.19999695, y: 0, z: -0.4}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4114248574837390}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5548986727388364856}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.19999695, y: 0, z: -0.4}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4114248574837390}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6020213952702339636}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.19999695, y: 0, z: -0.4}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4114248574837390}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6542048545717440642}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.19999695, y: 0, z: -0.4}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4114248574837390}

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

11
Assets/Objects/environment/Cliffs/Prefabs/Rock_Small_04.prefab


m_GameObject: {fileID: 1571568984215790}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -18.2, y: 0, z: 73.3}
m_LocalScale: {x: 1, y: 1, z: 1}
m_LocalScale: {x: 1.0841652, y: 1.0841652, z: 1.0841652}
m_Children:
- {fileID: 5857247160579110021}
- {fileID: 8481830944680539618}

m_GameObject: {fileID: 1571568984215790}
m_Enabled: 1
m_EditorHideFlags: 0
m_GeneratorAsset: {fileID: 0}
m_Script: {fileID: 11500000, guid: f5d715ee083c2438f89aa044883b30d6, type: 3}
m_Name:
m_EditorClassIdentifier:

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

19
Assets/Objects/environment/Clouds/Clouds.fbx.meta


fileFormatVersion: 2
guid: 1fc48e205716d4a329c637caf29e962a
ModelImporter:
serializedVersion: 28
serializedVersion: 19300
internalIDToNameTable: []
externalObjects:
- first:

addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
importVisibility: 0
importBlendShapes: 0
importCameras: 0
importLights: 0
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1

useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalImportMode: 2
tangentImportMode: 2
blendShapeNormalImportMode: 1
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0

armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 5
globalScale: 500
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0

4
Assets/Objects/environment/Clouds/Clouds.mat


m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_BC0B933D:
m_Texture: {fileID: 2800000, guid: 237a0108b61bc438c9f5768c61752305, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_DC5D1BF4:
m_Texture: {fileID: 2800000, guid: 92def56179142402288965548a00e532, type: 3}
m_Scale: {x: 1, y: 1}

26
Assets/Objects/environment/Clouds/Clouds.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
maxTextureSize: 4096
textureFormat: -1
textureCompression: 1
compressionQuality: 50
textureFormat: 25
textureCompression: 2
compressionQuality: 100
overridden: 0
overridden: 1
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

24
Assets/Objects/environment/Trees/Maps/TreeBillBoards_Normal_Smoothness.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
textureFormat: 25
textureCompression: 2
compressionQuality: 100
overridden: 0
overridden: 1
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

28
Assets/Objects/environment/Trees/Maps/TreeBillBoards_albedo.png.meta


forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 12
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1

androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1

allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

16
Assets/Objects/environment/Trees/Maps/Trees_Albedo.png.meta


maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
maxTextureSize: 2048
textureFormat: -1
textureCompression: 3
textureFormat: 12
textureCompression: 1
overridden: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3

textureFormat: -1
textureCompression: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

24
Assets/Objects/environment/Trees/Maps/Trees_Normal_Smoothness.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
textureFormat: 25
textureCompression: 2
compressionQuality: 100
overridden: 0
overridden: 1
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
maxTextureSize: 1024
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0

114
Assets/Objects/environment/Trees/Meshes/Bush_Large_01.fbx
文件差异内容过多而无法显示
查看文件

12
Assets/Objects/environment/Trees/Meshes/Bush_Large_01.fbx.meta


fileFormatVersion: 2
guid: b66b07b70f13c4cec8125716ec927e5a
ModelImporter:
serializedVersion: 28
serializedVersion: 19300
internalIDToNameTable:
- first:
1: 100000

- first:
95: 9500000
second: //RootNode
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Default
second: {fileID: 2100000, guid: d6b2ae49af6854a50891fe4147d25b5f, type: 2}
materials:
materialImportMode: 1
materialName: 0

useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 0
importBlendShapes: 1
importBlendShapes: 0
importCameras: 0
importLights: 0
swapUVChannels: 0

hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0

255
Assets/Objects/environment/Trees/Meshes/PalmB_02.fbx
文件差异内容过多而无法显示
查看文件

15
Assets/Objects/environment/Trees/Meshes/PalmB_02_tmp.fbx.meta


fileFormatVersion: 2
guid: ae46aec575d58934cb18c6e11572e967
guid: ecee34bbad6794397b9c73ebea3ac1f0
serializedVersion: 28
internalIDToNameTable: []
externalObjects:
serializedVersion: 19300
internalIDToNameTable:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: phong1
second: {fileID: 2100000, guid: 5cd5874b07d21b14b83ae8c2de204b18, type: 2}
74: 1827226128182048838
second: Take 001
externalObjects: {}
materials:
materialImportMode: 1
materialName: 0

hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0

43
Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_AlbedoTransparency.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 1
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
textureCompression: 1
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 4096
textureFormat: -1
textureCompression: 1
textureFormat: 10
textureCompression: 3
crunchedCompression: 1
crunchedCompression: 0
overridden: 0
overridden: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 2048
textureCompression: 1
textureCompression: 3
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

48
Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_Emission.tif.meta


platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
resizeAlgorithm: 0
textureFormat: 10
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1

44
Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_MetallicSmoothness.tif.meta


maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 2
crunchedCompression: 1
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0

maxTextureSize: 4096
resizeAlgorithm: 0
textureFormat: 25
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
textureCompression: 1
textureCompression: 2
crunchedCompression: 1
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0

37
Assets/Objects/props/houses/Maps/HousesJetty_LOW_Matr_BuildingsJettys_Normal.tif.meta


TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 9
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
textureCompression: 1
textureCompression: 2
crunchedCompression: 1
crunchedCompression: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 4096
textureFormat: -1
textureCompression: 1
textureFormat: 25
textureCompression: 2
crunchedCompression: 1
crunchedCompression: 0
overridden: 0
overridden: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureCompression: 1
textureCompression: 2
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureCompression: 1
textureCompression: 2
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
textureCompression: 1
textureCompression: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

51
Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_AO.png.meta


fileFormatVersion: 2
guid: f7916c64336f34671b9a1e8a2e74d9e9
TextureImporter:
fileIDToRecycleName: {}
internalIDToNameTable: []
serializedVersion: 6
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureType: 10
singleChannelComponent: 0
singleChannelComponent: 1
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 512
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 1024
textureFormat: -1
textureCompression: 1
textureFormat: 26
textureCompression: 3
overridden: 0
overridden: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 512
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 512
textureCompression: 1
textureCompression: 3
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 2048
maxTextureSize: 512
textureCompression: 1
textureCompression: 3
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

spriteID:
internalID: 0
secondaryTextures: []
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

63
Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_AlbedoTransparency.tif.meta


fileFormatVersion: 2
guid: a868d01bf3905413d9db5d02bdf1f531
TextureImporter:
fileIDToRecycleName: {}
internalIDToNameTable: []
serializedVersion: 5
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0

serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
textureFormat: 12
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50

androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

spriteID:
internalID: 0
secondaryTextures: []
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

29
Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_MetallicSmoothness.tif.meta


fileFormatVersion: 2
guid: ded3df33965f643129f2c8ed6caef342
TextureImporter:
fileIDToRecycleName: {}
internalIDToNameTable: []
serializedVersion: 6
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 0

allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 2048
textureFormat: -1
textureFormat: 12
overridden: 0
overridden: 1
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0

allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0

allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0

allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

spriteID:
internalID: 0
secondaryTextures: []
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

65
Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_Normal.tif.meta


fileFormatVersion: 2
guid: 7c7b419fd429046979646d966f787339
TextureImporter:
fileIDToRecycleName: {}
internalIDToNameTable: []
serializedVersion: 5
serializedVersion: 10
mipmaps:
mipMapMode: 0
enableMipMap: 1

heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0

serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1

compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
- serializedVersion: 3
textureCompression: 1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 4096
resizeAlgorithm: 0
textureFormat: 25
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

spriteID:
internalID: 0
secondaryTextures: []
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

2
Assets/Objects/props/props/Matr_Props.mat


m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ShaderKeywords: _METALLICSPECGLOSSMAP _NORMALMAP _OCCLUSIONMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
stringTagMap:

23
Assets/Objects/props/props/Prefabs/Props_ArrowSign.prefab


m_Component:
- component: {fileID: 4203461003883598}
- component: {fileID: 7594168174618987349}
- component: {fileID: 8219529552607324356}
m_Layer: 0
m_Name: Props_ArrowSign
m_TagString: Untagged

m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1502625712807056}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 4.79}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 349524760133214958}

m_AnimateCrossFading: 0
m_LastLODIsBillboard: 0
m_LODs:
- screenRelativeHeight: 0.15120986
- screenRelativeHeight: 0.09901933
fadeTransitionWidth: 0
renderers:
- renderer: {fileID: 5429506259410568826}

- renderer: {fileID: 9140719287101418432}
m_Enabled: 1
--- !u!64 &8219529552607324356
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1502625712807056}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 3
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: 4300038, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
--- !u!1 &1442402965858894815
GameObject:
m_ObjectHideFlags: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 3
m_RayTracingMode: 2
m_RenderingLayerMask: 4294967295
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 3
m_RayTracingMode: 2
m_RenderingLayerMask: 4294967295
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

68
Assets/Objects/props/props/Prefabs/Props_Paraglider.prefab


m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1946923849596348}
serializedVersion: 5
serializedVersion: 6
cullingMode: 3
ringBufferMode: 0
ringBufferLoopRange: {x: 0, y: 1}
looping: 1

m_NumColorKeys: 2
m_NumAlphaKeys: 2
UVModule:
serializedVersion: 2
enabled: 1
mode: 0
timeMode: 0

rowIndex: 0
cycles: 1
uvChannelMask: -1
randomRow: 1
rowMode: 1
sprites:
- sprite: {fileID: 0}
flipU: 0

inWorldSpace: 0
randomizePerFrame: 0
ExternalForcesModule:
serializedVersion: 2
multiplier: 1
multiplierCurve:
serializedVersion: 2
minMaxState: 0
scalar: 1
minScalar: 1
maxCurve:
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: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
minCurve:
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: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
influenceFilter: 0
influenceMask:
serializedVersion: 2

serializedVersion: 2
enabled: 0
subEmitters:
- serializedVersion: 2
- serializedVersion: 3
emitter: {fileID: 0}
type: 0
properties: 0

inheritParticleColor: 1
generateLightingData: 0
splitSubEmitterRibbons: 0
attachRibbonsToTransform: 0
colorOverLifetime:
serializedVersion: 2
minMaxState: 0

m_MotionVectors: 1
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RenderingLayerMask: 4294967295
m_RendererPriority: 0
m_Materials:

m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 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_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0

6
Assets/Objects/props/props/Prefabs/Windsurfer.prefab


m_Script: {fileID: 11500000, guid: 8b0856b9ca7244038a3f586acc94556a, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers: []
renderers:
- {fileID: 8974694563192370115}
--- !u!1 &8011136013803616369
GameObject:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 8b0856b9ca7244038a3f586acc94556a, type: 3}
m_Name:
m_EditorClassIdentifier:
renderers: []
renderers:
- {fileID: 5752799900009478651}

61
Assets/Scripts/Boat/Engine.cs


using System;
using UnityEngine;
using System.Collections;
using WaterSystem;
using WaterSystem;
namespace BoatAttack.Boat
namespace BoatAttack
public Rigidbody RB; // The rigid body attatched to the boat
public float velocityMag; // Boats velocity
[NonSerialized] public Rigidbody RB; // The rigid body attatched to the boat
[NonSerialized] public float VelocityMag; // Boats velocity
public AudioSource engineSound; // Engine sound clip
public AudioSource waterSound; // Water sound clip

public float horsePower = 18f;
private NativeArray<float3> point; // engine submerged check
private float3[] heights = new float3[1]; // engine submerged check
private float3[] normals = new float3[1]; // engine submerged check
private NativeArray<float3> _point; // engine submerged check
private float3[] _heights = new float3[1]; // engine submerged check
private float3[] _normals = new float3[1]; // engine submerged check
private float yHeight;
private float _yHeight;
private Vector3 engineDir;
private float turnVel;
private float currentAngle;
private Vector3 _engineDir;
private float _turnVel;
private float _currentAngle;
void Awake()
private void Awake()
{
if(engineSound)
engineSound.time = UnityEngine.Random.Range(0f, engineSound.clip.length); // randomly start the engine sound

_guid = GetInstanceID(); // Get the engines GUID for the buoyancy system
point = new NativeArray<float3>(1, Allocator.Persistent);
_point = new NativeArray<float3>(1, Allocator.Persistent);
void FixedUpdate()
private void FixedUpdate()
velocityMag = RB.velocity.sqrMagnitude; // get the sqr mag
engineSound.pitch = Mathf.Max(velocityMag * 0.01f, 0.3f); // use some magice numbers to control the pitch of the engine sound
VelocityMag = RB.velocity.sqrMagnitude; // get the sqr mag
engineSound.pitch = Mathf.Max(VelocityMag * 0.01f, 0.3f); // use some magice numbers to control the pitch of the engine sound
point[0] = transform.TransformPoint(enginePosition);
GerstnerWavesJobs.UpdateSamplePoints(ref point, _guid);
GerstnerWavesJobs.GetData(_guid, ref heights, ref normals);
yHeight = heights[0].y - point[0].y;
_point[0] = transform.TransformPoint(enginePosition);
GerstnerWavesJobs.UpdateSamplePoints(ref _point, _guid);
GerstnerWavesJobs.GetData(_guid, ref _heights, ref _normals);
_yHeight = _heights[0].y - _point[0].y;
point.Dispose();
_point.Dispose();
}
/// <summary>

public void Accel(float modifier)
public void Accelerate(float modifier)
if (yHeight > -0.1f) // if the engine is deeper than 0.1
if (_yHeight > -0.1f) // if the engine is deeper than 0.1
Vector3 forward = RB.transform.forward;
var forward = RB.transform.forward;
RB.AddForce(forward * modifier * horsePower, ForceMode.Acceleration); // add force forward based on input and horsepower
RB.AddForce(horsePower * modifier * forward, ForceMode.Acceleration); // add force forward based on input and horsepower
RB.AddRelativeTorque(-Vector3.right * modifier, ForceMode.Acceleration);
}
}

/// <param name="modifier">Steering modifier, positive for right, negative for negative</param>
public void Turn(float modifier)
{
if (yHeight > -0.1f) // if the engine is deeper than 0.1
if (_yHeight > -0.1f) // if the engine is deeper than 0.1
currentAngle = Mathf.SmoothDampAngle(currentAngle,
_currentAngle = Mathf.SmoothDampAngle(_currentAngle,
ref turnVel,
ref _turnVel,
transform.localEulerAngles = new Vector3(0f, currentAngle, 0f);
transform.localEulerAngles = new Vector3(0f, _currentAngle, 0f);
void OnDrawGizmosSelected()
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.green;
Gizmos.matrix = transform.localToWorldMatrix;

53
Assets/Scripts/Boat/HumanController.cs


using UnityEngine;
using UnityEngine.InputSystem;
namespace BoatAttack.Boat
namespace BoatAttack
public class HumanController : MonoBehaviour
public class HumanController : BaseController
public BoatController controller; // the boat controller
public Engine engine; // the engine script
public InputControls controls;
private InputControls _controls;
public float throttle;
public float steering;
private float _throttle;
private float _steering;
public bool paused;
private bool _paused;
void Awake()
private void Awake()
controls = new InputControls();
_controls = new InputControls();
controls.BoatControls.Trottle.performed += context => throttle = context.ReadValue<float>();
controls.BoatControls.Trottle.canceled += context => throttle = 0f;
_controls.BoatControls.Trottle.performed += context => _throttle = context.ReadValue<float>();
_controls.BoatControls.Trottle.canceled += context => _throttle = 0f;
controls.BoatControls.Steering.performed += context => steering = context.ReadValue<float>();
controls.BoatControls.Steering.canceled += context => steering = 0f;
_controls.BoatControls.Steering.performed += context => _steering = context.ReadValue<float>();
_controls.BoatControls.Steering.canceled += context => _steering = 0f;
controls.BoatControls.Reset.performed += ResetBoat;
controls.BoatControls.Freeze.performed += FreezeBoat;
_controls.BoatControls.Reset.performed += ResetBoat;
_controls.BoatControls.Freeze.performed += FreezeBoat;
controls.BoatControls.Time.performed += SelectTime;
_controls.BoatControls.Time.performed += SelectTime;
}
engine = GetComponent<Engine>(); // get the engine script
}
private void OnEnable()
public override void OnEnable()
controls.BoatControls.Enable();
base.OnEnable();
_controls.BoatControls.Enable();
controls.BoatControls.Disable();
_controls.BoatControls.Disable();
}
private void ResetBoat(InputAction.CallbackContext context)

private void FreezeBoat(InputAction.CallbackContext context)
{
paused = !paused;
if(paused)
_paused = !_paused;
if(_paused)
{
Time.timeScale = 0f;
}

}
//engine.RB.isKinematic = !engine.RB.isKinematic;
}
private void SelectTime(InputAction.CallbackContext context)

void FixedUpdate()
{
engine.Accel(throttle);
engine.Turn(steering);
engine.Accelerate(_throttle);
engine.Turn(_steering);
}
}
}

5
Assets/Scripts/Camera/CameraManager.cs


using System.Collections;
using System.Collections.Generic;
using System.Collections.Generic;
using Cinemachine;
using Cinemachine;
namespace BoatAttack
{

16
Assets/Scripts/Camera/LODTweaker.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
using UnityEngine.Rendering;
namespace BoatAttack

/// <para>Needs to be replaced with SRP pass structure later</para>
/// </summary>
[ExecuteInEditMode]
public class LODTweaker : MonoBehaviour
public class LodTweaker : MonoBehaviour
void SetMaxLOD(ScriptableRenderContext src, Camera cam)
static void SetMaxLod(ScriptableRenderContext src, Camera cam)
{
if (cam == Camera.main || cam.cameraType == CameraType.SceneView || cam.cameraType == CameraType.Reflection)
QualitySettings.lodBias = 3;

void OnEnable()
private void OnEnable()
RenderPipelineManager.beginCameraRendering += SetMaxLOD; // listen for LWRP camera callback
RenderPipelineManager.beginCameraRendering += SetMaxLod; // listen for LWRP camera callback
void OnDisable()
private void OnDisable()
RenderPipelineManager.beginCameraRendering -= SetMaxLOD; // stop listening for LWRP camera callback
RenderPipelineManager.beginCameraRendering -= SetMaxLod; // stop listening for LWRP camera callback
}
}
}

3
Assets/Scripts/Editor/CreateTexture2DArrayAsset.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine.Experimental.Rendering;
/// <summary>
/// Not ideal code, use at own peril...

8
Assets/Scripts/Editor/DirectionalLightmapperCorrector.cs


using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor;
void OnPostprocessTexture(Texture2D texture)
private void OnPostprocessTexture(Texture2D texture)
Color[] c = texture.GetPixels();
for (int i = 0; i < c.Length; i++)

49
Assets/Scripts/Effects/BoatFoamGenerator.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public class BoatFoamGenerator : MonoBehaviour
namespace BoatAttack
public Transform boatTransform;
private ParticleSystem.MainModule module;
public ParticleSystem ps;
public float waterLevel = 0;
private Vector3 offset;
public class BoatFoamGenerator : MonoBehaviour
{
public Transform boatTransform;
private ParticleSystem.MainModule _module;
public ParticleSystem ps;
public float waterLevel = 0;
private Vector3 _offset;
private void Start()
{
module = ps.main;
offset = transform.localPosition;
}
private void Start()
{
_module = ps.main;
_offset = transform.localPosition;
}
// Update is called once per frame
void Update()
{
var pos = boatTransform.TransformPoint(offset);
pos.y = waterLevel;
transform.position = pos;
// Update is called once per frame
private void Update()
{
var pos = boatTransform.TransformPoint(_offset);
pos.y = waterLevel;
transform.position = pos;
var fwd = boatTransform.forward;
fwd.y = 0;
var angle = Vector3.Angle(fwd.normalized, Vector3.forward);
module.startRotation = angle * Mathf.Deg2Rad;
var fwd = boatTransform.forward;
fwd.y = 0;
var angle = Vector3.Angle(fwd.normalized, Vector3.forward);
_module.startRotation = angle * Mathf.Deg2Rad;
}
}
}

40
Assets/Scripts/Effects/RandomHue.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
namespace BoatAttack
{

public class RandomHue : MonoBehaviour
{
public MeshRenderer[] renderers;
private static readonly int Hue = Shader.PropertyToID("_Hue");
RandomizeHUE();
RandomizeHue();
private void OnValidate()
void RandomizeHue()
RandomizeHUE();
}
var hue = Random.Range(0f, 1f);
void RandomizeHUE()
{
float hue = Random.Range(0f, 1f);
if (renderers == null || renderers.Length <= 0) return;
if (renderers != null || renderers.Length > 0)
foreach (var t in renderers)
for (int i = 0; i < renderers.Length; i++)
{
if (renderers[i] != null)
{
// Set as MPB in editor but in playmode(runtime) create instance for SRP batcher to work
if (Application.isPlaying)
{
renderers[i].material.SetFloat("_Hue", hue);
}
else
{
MaterialPropertyBlock mtb = new MaterialPropertyBlock();
mtb.SetFloat("_Hue", hue);
renderers[i].SetPropertyBlock(mtb);
}
}
}
if (t == null) continue;
var mat = new Material(t.sharedMaterial);
mat.SetFloat(Hue, hue);
t.material = mat;
}
}
}

111
Assets/Scripts/Effects/WakeGenerator.cs


using System.Collections.Generic;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.AddressableAssets;
namespace BoatAttack.Boat
namespace BoatAttack
{
/// <summary>
/// Used to generate two wakes (linerenderers) for the boats

public List<Wake> _wakes = new List<Wake>(); // Wakes to create
private List<GameObject> _lrs = new List<GameObject>(); // line renderers
public GameObject _wakePrefab; // the wake prefab, preset linerenderer
public float _genDistance = 0.5f; // distance to make new segments
public float _maxAge = 5f; // how long the wake lasts for
public List<Wake> wakes = new List<Wake>(); // Wakes to create
private readonly List<GameObject> _lrs = new List<GameObject>(); // line renderers
public AssetReference wakePrefab; // the wake prefab, preset linerenderer
public float genDistance = 0.5f; // distance to make new segments
public float maxAge = 5f; // how long the wake lasts for
foreach (Wake w in _wakes)
foreach (var wake in wakes)
for (int i = 0; i < 2; i++)
{
WakeLine wl = new WakeLine();
GameObject go = GameObject.Instantiate(_wakePrefab, Vector3.zero, Quaternion.Euler(90f, 0, 0));
_lrs.Add(go);
LineRenderer LR = go.GetComponent<LineRenderer>();
wl.points = new List<WakePoint>();
wl._lineRenderer = LR;
w.lines.Add(wl);
go.hideFlags = HideFlags.HideAndDontSave;
}
StartCoroutine(GenerateWake(wake));
void OnDisable()
private IEnumerator GenerateWake(Wake wake)
for (int i = _lrs.Count - 1; i >= 0; i--)
for (var i = 0; i < 2; i++)
{
var wl = new WakeLine {points = new List<WakePoint>()};
var wakeLoading = wakePrefab.InstantiateAsync(Vector3.zero, Quaternion.Euler(90f, 0, 0));
yield return wakeLoading;
_lrs.Add(wakeLoading.Result);
wakeLoading.Result.TryGetComponent(out wl.lineRenderer);
wakeLoading.Result.hideFlags = HideFlags.HideAndDontSave;
wake.lines.Add(wl);
}
}
private void OnDisable()
{
for (var i = _lrs.Count - 1; i >= 0; i--)
{
DestroyImmediate(_lrs[i]); // kill wake objects
}

void Update()
private void Update()
Vector3 origin;
var wCount = _wakes.Count;
for (int w = 0; w < wCount; w++)
var wCount = wakes.Count;
for (var w = 0; w < wCount; w++)
Wake _wake = _wakes[w];
var wake = wakes[w];
origin = _wake.origin;
var origin = wake.origin;
var pointCount = _wake.lines[s].points.Count;
var pointCount = wake.lines[s].points.Count;
_wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
else if (Vector3.Distance(_wake.lines[s].points[0].pos, origin) > _genDistance)
else if (Vector3.Distance(wake.lines[s].points[0].pos, origin) > genDistance)
_wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
for (int i = _wake.lines[s].points.Count - 1; i >= 0; i--)
for (int i = wake.lines[s].points.Count - 1; i >= 0; i--)
if (_wake.lines[s].points[i].age > _maxAge)
if (wake.lines[s].points[i].age > maxAge)
_wake.lines[s].points.RemoveAt(i);
wake.lines[s].points.RemoveAt(i);
_wake.lines[s].points[i].age += Time.deltaTime; // increment age
_wake.lines[s].points[i].pos += _wake.lines[s].points[i].dir * 3 * Time.deltaTime; // move points by dir
wake.lines[s].points[i].age += Time.deltaTime; // increment age
wake.lines[s].points[i].pos += Time.deltaTime * 3 * wake.lines[s].points[i].dir; // move points by dir
_wake.lines[s]._lineRenderer.positionCount = pointCount + 1;
_wake.lines[s]._lineRenderer.SetPosition(0, origin);
wake.lines[s].lineRenderer.positionCount = pointCount + 1;
wake.lines[s].lineRenderer.SetPosition(0, origin);
_wake.lines[s]._lineRenderer.SetPosition(i + 1, _wake.lines[s].points[i].pos);
wake.lines[s].lineRenderer.SetPosition(i + 1, wake.lines[s].points[i].pos);
}
s++;
}

/// <param name="pos">Where to make the wake point in world coords</param>
/// <param name="sign">Side of the wake this is on</param>
/// <returns></returns>
WakePoint CreateWakePoint(Vector3 pos, float sign)
private WakePoint CreateWakePoint(Vector3 pos, float sign)
WakePoint wp = new WakePoint(pos);
wp.dir = transform.right * sign; // the point gets the direction of the side of the boat, thhis is then used to move the wake as it ages
// the point gets the direction of the side of the boat, this is then used to move the wake as it ages
WakePoint wp = new WakePoint(pos) {dir = transform.right * sign};
void OnDrawGizmosSelected()
private void OnDrawGizmosSelected()
foreach (Wake w in _wakes)
foreach (var w in wakes)
foreach (Wake w in _wakes)
foreach (var w in wakes)
foreach (WakeLine wl in w.lines)
foreach (var wl in w.lines)
int side = 0;
foreach (WakePoint wp in wl.points)
foreach (var wp in wl.points)
Gizmos.DrawSphere(wp.pos, (_maxAge - wp.age) * 0.01f);
Gizmos.DrawSphere(wp.pos, (maxAge - wp.age) * 0.01f);
side++;
}
}
}

[System.Serializable]
public class Wake
{
public Vector3 origin; // Wehre the wake originates from in local coords
public Vector3 origin; // Where the wake originates from in local coords
public List<WakeLine> lines = new List<WakeLine>(); // Wake Lines
}

[System.Serializable]
public class WakeLine
{
public LineRenderer _lineRenderer; // the linerenderer
public LineRenderer lineRenderer; // the line renderer
public List<WakePoint> points = new List<WakePoint>(); // list of points
}

75
Assets/Scripts/Environment/BuoyManager.cs


using Unity.Collections;
using UnityEngine;
using UnityEngine;
using UnityEngine.Serialization;
using Unity.Collections;
public ParticleSystem particleSystem;
public ParticleSystem.ShapeModule particleShape;
[FormerlySerializedAs("particleSystem")] public ParticleSystem ps;
private ParticleSystem.ShapeModule _particleShape;
private Vector3[] verts;
private Transform[] buoys;
private NativeArray<float3> samplePoints; // sample points for height calc
private float3[] heights; // water height array(only size of 1 when simple or non-physical)
private float3[] normals; // water normal array(only used when non-physical and size of 1 also when simple)
private Vector3[] _vertices;
private Transform[] _buoys;
private NativeArray<float3> _samplePoints; // sample points for height calc
private float3[] _heights; // water height array(only size of 1 when simple or non-physical)
private float3[] _normals; // water normal array(only used when non-physical and size of 1 also when simple)
void Start()
private void Start()
buoys = new Transform[transform.childCount];
_buoys = new Transform[transform.childCount];
int[] triangles = new int[buoys.Length * 3];
verts = new Vector3[buoys.Length];
samplePoints = new NativeArray<float3>(buoys.Length, Allocator.Persistent);
heights = new float3[buoys.Length];
normals = new float3[buoys.Length];
var triangles = new int[_buoys.Length * 3];
_vertices = new Vector3[_buoys.Length];
_samplePoints = new NativeArray<float3>(_buoys.Length, Allocator.Persistent);
_heights = new float3[_buoys.Length];
_normals = new float3[_buoys.Length];
for (int i = 0; i < buoys.Length; i++)
for (var i = 0; i < _buoys.Length; i++)
buoys[i] = transform.GetChild(i);
samplePoints[i] = buoys[i].position;
verts[i] = samplePoints[i];
_buoys[i] = transform.GetChild(i);
_samplePoints[i] = _buoys[i].position;
_vertices[i] = _samplePoints[i];
triangles[3 * i + 1] = (int)Mathf.Repeat(i + 1, buoys.Length);
triangles[3 * i + 2] = (int)Mathf.Repeat(i + 2, buoys.Length);
triangles[3 * i + 1] = (int)Mathf.Repeat(i + 1, _buoys.Length);
triangles[3 * i + 2] = (int)Mathf.Repeat(i + 2, _buoys.Length);
_mesh.vertices = verts;
_mesh.vertices = _vertices;
if (particleSystem)
if (ps)
particleShape = particleSystem.shape;
particleShape.mesh = _mesh;
_particleShape = ps.shape;
_particleShape.mesh = _mesh;
samplePoints.Dispose();
_samplePoints.Dispose();
void Update()
private void Update()
GerstnerWavesJobs.UpdateSamplePoints(ref samplePoints, _guid);
GerstnerWavesJobs.GetData(_guid, ref heights, ref normals);
GerstnerWavesJobs.UpdateSamplePoints(ref _samplePoints, _guid);
GerstnerWavesJobs.GetData(_guid, ref _heights, ref _normals);
for (int i = 0; i < buoys.Length; i++)
for (var i = 0; i < _buoys.Length; i++)
Vector3 vec = buoys[i].position;
vec.y = heights[i].y;
buoys[i].position = vec;
verts[i] = vec;
buoys[i].up = Vector3.Slerp(buoys[i].up, normals[i], Time.deltaTime);
var vec = _buoys[i].position;
vec.y = _heights[i].y;
_buoys[i].position = vec;
_vertices[i] = vec;
_buoys[i].up = Vector3.Slerp(_buoys[i].up, _normals[i], Time.deltaTime);
_mesh.vertices = verts;
_mesh.vertices = _vertices;
}
}

44
Assets/Scripts/Environment/CloudManager.cs


using System;
using UnityEngine;
using UnityEngine;
using UnityEngine.Rendering;
[ExecuteAlways]

public Material material;
public LayerMask layer;
[NonSerialized] private Cloud[] clouds;
private Cloud[] _clouds;
private void OnValidate()
{

private void OnEnable()
{
RenderPipelineManager.beginCameraRendering += CloudAlign;
//PlanarReflections.beginPlanarReflections += CloudAlign;
void Init()
private void Init()
clouds = new Cloud[transform.childCount];
_clouds = new Cloud[transform.childCount];
for (int i = 0; i < clouds.Length; i++)
for (int i = 0; i < _clouds.Length; i++)
cloud.t = transform.GetChild(i);
cloud.matrix = cloud.t.localToWorldMatrix;
cloud.mesh = cloud.t.GetComponent<MeshFilter>().sharedMesh;
cloud.t.GetComponent<Renderer>().enabled = false;
clouds[i] = cloud;
cloud.T = transform.GetChild(i);
cloud.Matrix = cloud.T.localToWorldMatrix;
cloud.Mesh = cloud.T.GetComponent<MeshFilter>().sharedMesh;
cloud.T.GetComponent<Renderer>().enabled = false;
_clouds[i] = cloud;
}
}

//PlanarReflections.beginPlanarReflections -= CloudAlign;
}
void CloudAlign(ScriptableRenderContext context, Camera camera)

var position = t.position;
position -= position * scale;
transform.position = position;
//var cmd = CommandBufferPool.Get("clouds");
Debug.Log($"Rendering {clouds.Length} clouds for camera:{camera.name}");
foreach (var cloud in clouds)
Debug.Log($"Rendering {_clouds.Length} clouds for camera:{camera.name}");
foreach (var cloud in _clouds)
//cmd.DrawMesh(cloud.mesh, cloud.t.localToWorldMatrix, material);
Graphics.DrawMesh(cloud.mesh, cloud.t.localToWorldMatrix, material, 8);
Graphics.DrawMesh(cloud.Mesh, cloud.T.localToWorldMatrix, material, 8);
//context.ExecuteCommandBuffer(cmd);
//context.Submit();
//CommandBufferPool.Release(cmd);
}
}

}
public class Cloud
private class Cloud
public Transform t;
public Matrix4x4 matrix;
public Mesh mesh;
public Transform T;
public Matrix4x4 Matrix;
public Mesh Mesh;
}
}

72
Assets/Scripts/Environment/DayNightController.cs


using UnityEngine;
using UnityEngine.InputSystem;
namespace BoatAttack
{

[ExecuteInEditMode]
public class DayNightController : MonoBehaviour
{
private static DayNightController instance;
private static DayNightController _instance;
public float _time = 0.5f; // the global 'time'
public float time = 0.5f; // the global 'time'
private float[] presets = new float[] { 0.27f, 0.35f, 0.45f, 0.55f, 0.65f, 0.73f };
private int currentPreset = 0;
private const string presetKey = "BoatAttack.DayNight.TimePreset";
private readonly float[] _presets = { 0.27f, 0.35f, 0.45f, 0.55f, 0.65f, 0.73f };
private int _currentPreset;
private const string PresetKey = "BoatAttack.DayNight.TimePreset";
public bool _autoIcrement;
public float _speed = 1f;
public bool autoIcrement;
public float speed = 1f;
public static float GlobalTime;
[Header("Skybox Settings")]

void Awake()
{
instance = this;
currentPreset = PlayerPrefs.GetInt(presetKey);
SetTimeOfDay(presets[currentPreset], true);
_prevTime = _time;
_instance = this;
_currentPreset = 2;
SetTimeOfDay(_presets[_currentPreset], true);
_prevTime = time;
if (_autoIcrement && Application.isPlaying)
if (autoIcrement)
var t = Mathf.PingPong(Time.time * _speed, 1);
_time = t * 0.5f + 0.25f;
var t = Mathf.PingPong(Time.time * speed, 1);
time = t * 0.5f + 0.25f;
if (_time != _prevTime) // if time has changed
if (time != _prevTime) // if time has changed
SetTimeOfDay(_time);
SetTimeOfDay(time);
}
}

/// <param name="time">Time in linear 0-1</param>
public void SetTimeOfDay(float time, bool reflectionUpdate = false)
{
Debug.Log($"Setting time of day to:{time}, updating reflectionprobes:{reflectionUpdate.ToString()}");
_time = time;
//Debug.Log($"Setting time of day to:{time}, updating reflectionprobes:{reflectionUpdate.ToString()}");
this.time = time;
if (instance.reflections.Length > 0 && reflectionUpdate)
if (reflectionUpdate && _instance.reflections?.Length > 0)
foreach (var probe in instance.reflections)
foreach (var probe in _instance.reflections)
GlobalTime = _time;
GlobalTime = this.time;
// do update
if (_sun)
{

_sun.transform.rotation *= Quaternion.AngleAxis(_tilt, Vector3.up);
_sun.transform.rotation *= Quaternion.AngleAxis((_time * 360f) - 180f, Vector3.right); // time of day
_sun.transform.rotation *= Quaternion.AngleAxis((this.time * 360f) - 180f, Vector3.right); // time of day
_sun.color = _sunColour.Evaluate(Mathf.Clamp01(_time * 2f - 0.5f));
_sun.color = _sunColour.Evaluate(TimeToGradient(this.time));
_skybox.SetFloat("_Rotation", 85 + ((_time - 0.5f) * 20f)); // rotate slightly for cheap moving cloud eefect
_skybox.SetColor("_Tint", _skyboxColour.Evaluate(_time));
_skybox.SetFloat("_Rotation", 85 + ((this.time - 0.5f) * 20f)); // rotate slightly for cheap moving cloud eefect
_skybox.SetColor("_Tint", _skyboxColour.Evaluate(TimeToGradient(this.time)));
clouds.eulerAngles = new Vector3(0f, _time * 45f + cloudOffset, 0f);
clouds.eulerAngles = new Vector3(0f, this.time * 22.5f + cloudOffset, 0f);
Shader.SetGlobalFloat("_NightFade", Mathf.Clamp01(Mathf.Abs(_time * 2f - 1f) * 3f - 1f));
RenderSettings.fogColor = _fogColour.Evaluate(_time); // update fog colour
RenderSettings.ambientSkyColor = _ambientColour.Evaluate(_time); // update ambient light colour
Shader.SetGlobalFloat("_NightFade", Mathf.Clamp01(Mathf.Abs(this.time * 2f - 1f) * 3f - 1f));
RenderSettings.fogColor = _fogColour.Evaluate(TimeToGradient(this.time)); // update fog colour
RenderSettings.ambientSkyColor = _ambientColour.Evaluate(TimeToGradient(this.time)); // update ambient light colour
}
float TimeToGradient(float time)
{
return Mathf.Abs(time * 2f - 1f);
instance.currentPreset += Mathf.RoundToInt(input);
_instance._currentPreset += Mathf.RoundToInt(input);
instance.currentPreset = (int)Mathf.Repeat(instance.currentPreset, instance.presets.Length);
_instance._currentPreset = (int)Mathf.Repeat(_instance._currentPreset, _instance._presets.Length);
PlayerPrefs.SetInt(presetKey, instance.currentPreset);
PlayerPrefs.SetInt(PresetKey, _instance._currentPreset);
instance.SetTimeOfDay(instance.presets[instance.currentPreset], true);
_instance.SetTimeOfDay(_instance._presets[_instance._currentPreset], true);
}
}
}

14
Assets/Scripts/Environment/FogOverride.cs


using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine;
public Color m_FogColor = Color.white;
// Update is called once per frame
void LateUpdate()
public Color mFogColor = Color.white;
private void LateUpdate()
RenderSettings.fogColor = m_FogColor;
RenderSettings.fogColor = mFogColor;
}
}

19
Assets/Scripts/Environment/VegetationSystem.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine;
MaterialPropertyBlock props; // material propery block for instance value setting
private MaterialPropertyBlock _props; // material propery block for instance value setting
private static readonly int Position = Shader.PropertyToID("_Position");
props = new MaterialPropertyBlock();
_props = new MaterialPropertyBlock();
SetProperties(transform);
}

/// <param name="t">Transform to use</param>
void SetProperties(Transform t)
private void SetProperties(Transform t)
MeshRenderer rend;
rend = child.gameObject.GetComponent<MeshRenderer>();
var rend = child.gameObject.GetComponent<MeshRenderer>();
props.SetVector("_Position", child.position);
rend.SetPropertyBlock(props);
_props.SetVector(Position, child.position);
rend.SetPropertyBlock(_props);
}
if (child.childCount > 0)
SetProperties(child);

47
Assets/Scripts/Environment/WindsurferManager.cs


using System;
using UnityEngine;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Unity.Collections;
namespace BoatAttack

public class WindsurferManager : MonoBehaviour
{
public Transform[] surfers;
private NativeArray<float3> points; // point to sample wave height
private float3[] heights; // height sameple from water system
private float3[] normals; // height sameple from water system
private Vector3[] smoothPositions; // the smoothed position
private NativeArray<float3> _points; // point to sample wave height
private float3[] _heights; // height sameple from water system
private float3[] _normals; // height sameple from water system
private Vector3[] _smoothPositions; // the smoothed position
void Start()
private void Start()
heights = new float3[surfers.Length];
normals = new float3[surfers.Length];
smoothPositions = new Vector3[surfers.Length];
_heights = new float3[surfers.Length];
_normals = new float3[surfers.Length];
_smoothPositions = new Vector3[surfers.Length];
for (int i = 0; i < surfers.Length; i++)
for (var i = 0; i < surfers.Length; i++)
smoothPositions[i] = surfers[i].position;
_smoothPositions[i] = surfers[i].position;
points = new NativeArray<float3>(surfers.Length, Allocator.Persistent);
_points = new NativeArray<float3>(surfers.Length, Allocator.Persistent);
points.Dispose();
_points.Dispose();
void Update()
private void Update()
GerstnerWavesJobs.UpdateSamplePoints(ref points, _guid);
GerstnerWavesJobs.GetData(_guid, ref heights, ref normals);
GerstnerWavesJobs.UpdateSamplePoints(ref _points, _guid);
GerstnerWavesJobs.GetData(_guid, ref _heights, ref _normals);
smoothPositions[i] = surfers[i].position;
_smoothPositions[i] = surfers[i].position;
points[0] = smoothPositions[i];
if (heights[0].y > smoothPositions[i].y)
smoothPositions[i].y += Time.deltaTime;
_points[0] = _smoothPositions[i];
if (_heights[0].y > _smoothPositions[i].y)
_smoothPositions[i].y += Time.deltaTime;
smoothPositions[i].y -= Time.deltaTime * 0.25f;
surfers[i].position = smoothPositions[i];
_smoothPositions[i].y -= Time.deltaTime * 0.25f;
surfers[i].position = _smoothPositions[i];
}
}
}

228
Assets/Scripts/GameSystem/AppSettings.cs


using System;
using System.Collections;
using GameplayIngredients;
using UnityEngine.AddressableAssets;
using Object = System.Object;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.SceneManagement;
using Random = UnityEngine.Random;
// ReSharper disable InconsistentNaming
[ExecuteAlways]
public class AppSettings : MonoBehaviour
[ManagerDefaultPrefab("AppManager")]
public class AppSettings : Manager
{
public enum RenderRes
{

_120
}
public enum SpeedFormat
{
_Kph,
_Mph
}
public static AppSettings Instance;
private GameObject loadingScreenObject;
public static Camera MainCamera;
public bool variableResolution = false;
public bool variableResolution;
[Range(0f, 1f)]
public float axisBias = 0.5f;
public float minScale = 0.5f;

public SpeedFormat speedFormat = SpeedFormat._Mph;
[Header("Quality Level Settings")]
public Volume qualityVolume;
[Header("Asset References")]
public AssetReference loadingScreen;
public AssetReference volumeManager;
public VolumeProfile[] qualityVolumeProfiles = new VolumeProfile[3];
private int qualityLevel;
void OnEnable()
private void OnEnable()
SceneManager.sceneLoaded += LevelWasLoaded;
void Initialize()
private void Initialize()
Instance = this;
qualityLevel = QualitySettings.GetQualityLevel();
qualityVolume.profile = qualityVolumeProfiles[qualityLevel];
MainCamera = Camera.main;
StartCoroutine(LoadPrefab<GameObject>(volumeManager, new AsyncOperationHandle()));
var obj = GameObject.Find("[Debug Updater]");
var obj = GameObject.Find("[Debug Updater]"); // TODO hack to solve input class issues
if(obj != null)
Destroy(obj);
}

RenderPipelineManager.beginCameraRendering -= SetRenderScale;
}
void SetRenderScale(ScriptableRenderContext context, Camera camera)
private static void LevelWasLoaded(Scene scene, LoadSceneMode mode)
{
if (!MainCamera)
{
MainCamera = Camera.main;
}
else
{
var cams = GameObject.FindGameObjectsWithTag("MainCamera");
foreach (var c in cams)
{
if (c != MainCamera.gameObject) Destroy(c);
}
}
Instance.Invoke(nameof(CleanupLoadingScreen), 0.5f);
}
private void CleanupLoadingScreen()
{
if (Instance.loadingScreenObject != null)
{
Instance.loadingScreen.ReleaseInstance(Instance.loadingScreenObject);
}
}
private void SetRenderScale(ScriptableRenderContext context, Camera cam)
{
float res;
switch (maxRenderSize)

res = 2560f;
break;
default:
res = camera.pixelWidth;
res = cam.pixelWidth;
var renderScale = Mathf.Clamp(res / camera.pixelWidth, 0.1f, 1.0f);
var renderScale = Mathf.Clamp(res / cam.pixelWidth, 0.1f, 1.0f);
#if !UNITY_EDITOR
}
void UpdateQualitySettings(int level)
{
qualityLevel = level;
qualityVolume.profile = qualityVolumeProfiles[level];
#endif
var level = QualitySettings.GetQualityLevel();
if(level != qualityLevel)
UpdateQualitySettings(level);
if (!MainCamera) return;
Camera.main.allowDynamicResolution = true;
MainCamera.allowDynamicResolution = true;
var offset = 0f;
var currentFrametime = Time.deltaTime;

offset = currentFrametime > (1000f / 30f) ? -rate : rate;
break;
case Framerate._60:
offset = currentFrametime > (1000f / 30f) ? -rate : rate;
offset = currentFrametime > (1000f / 60f) ? -rate : rate;
break;
case Framerate._120:
offset = currentFrametime > (1000f / 120f) ? -rate : rate;

currentDynamicScale = Mathf.Clamp(currentFrametime + offset, minScale, 1f);
currentDynamicScale = Mathf.Clamp(currentDynamicScale + offset, minScale, 1f);
var offsetVec = new Vector2(Mathf.Lerp(1, currentDynamicScale, Mathf.Clamp01((1 - axisBias) * 2f)),
Mathf.Lerp(1, currentDynamicScale, Mathf.Clamp01(axisBias * 2f)));

{
Camera.main.allowDynamicResolution = false;
MainCamera.allowDynamicResolution = false;
}
}

}
public static void LoadScene(string scenePath, LoadSceneMode mode = LoadSceneMode.Single)
{
LoadScene(SceneUtility.GetBuildIndexByScenePath(scenePath), mode);
}
public static void LoadScene(int buildIndex, LoadSceneMode mode)
{
Application.backgroundLoadingPriority = ThreadPriority.Low;
switch (mode)
{
case LoadSceneMode.Single:
Instance.StartCoroutine(LoadScene(buildIndex));
break;
case LoadSceneMode.Additive:
SceneManager.LoadSceneAsync(buildIndex, LoadSceneMode.Additive);
break;
default:
throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
}
}
private static IEnumerator LoadScene(int scene)
{
var loadingScreenLoading = Instance.loadingScreen.InstantiateAsync();
yield return loadingScreenLoading;
Instance.loadingScreenObject = loadingScreenLoading.Result;
DontDestroyOnLoad(Instance.loadingScreenObject);
Debug.Log($"loading scene {SceneUtility.GetScenePathByBuildIndex(scene)} at build index {scene}");
SceneManager.LoadScene(scene);
}
private static IEnumerator LoadPrefab<T>(AssetReference assetRef, AsyncOperationHandle assetLoading, Transform parent = null)
{
if (typeof(T) == typeof(GameObject))
{
assetLoading = assetRef.InstantiateAsync(parent);
}
else
{
assetLoading = assetRef.LoadAssetAsync<T>();
}
yield return assetLoading;
}
public void ExitGame()
{
#if UNITY_EDITOR
UnityEditor.EditorApplication.ExitPlaymode();
#else
Application.Quit();
#endif
}
}
public static class ConstantData
{
private static readonly string[] Levels =
{
"Island",
};
public static string GetLevelName(int level)
{
return $"level_{Levels[level]}";
}
public static readonly string[] AiNames =
{
"Felipe",
"Andre",
"Elvar",
"Jonas",
"Erika",
"Tim",
"Florin",
"Andy",
"Hakeem",
"Sophia",
"Martin",
};
public static readonly int[] Laps =
{
3,
6,
9
};
public static int SeedNow
{
get
{
DateTime dt = DateTime.Now;
return dt.Year + dt.Month + dt.Day + dt.Hour + dt.Minute + dt.Second;
}
}
public static Color[] ColorPalette;
private static Texture2D _colorPaletteRaw;
public static Color GetPaletteColor(int index)
{
GenerateColors();
return ColorPalette[index];
}
public static Color GetRandomPaletteColor
{
get
{
GenerateColors();
Random.InitState(SeedNow+Random.Range(0,1000));
return ColorPalette[Random.Range(0, ColorPalette.Length)];
}
}
private static void GenerateColors()
{
if (ColorPalette != null && ColorPalette.Length != 0) return;
if (_colorPaletteRaw == null)
_colorPaletteRaw = Resources.Load<Texture2D>("textures/colorSwatch");
ColorPalette = _colorPaletteRaw.GetPixels();
Debug.Log($"Found {ColorPalette.Length} colors.");
}
}
}

188
Assets/Scripts/GameSystem/Editor/WaypointGroupEditor.cs


using System;
using UnityEngine;
using System.Collections;
using UnityEditorInternal;
namespace BoatAttack
{

private WaypointGroup WPGroup;
private WaypointGroup _wpGroup;
private SerializedProperty _waypoints;
private ReorderableList _waypointList;
private int _selectedWp = -1;
private bool _wpHeaderBool;
public override void OnInspectorGUI()
private void OnEnable()
DrawDefaultInspector();
if(_wpGroup == null)
_wpGroup = (WaypointGroup) target;
WaypointGroup WPG = (WaypointGroup)target;
_waypoints = serializedObject.FindProperty("WPs");
_waypointList = new ReorderableList(serializedObject, _waypoints)
{
drawElementCallback = DrawElementCallback,
drawHeaderCallback = rect => { EditorGUI.LabelField(rect, "Waypoints"); },
onSelectCallback = list => { _selectedWp = list.index; },
elementHeightCallback = index => EditorGUI.GetPropertyHeight(_waypoints.GetArrayElementAtIndex(index))
};
}
private void DrawElementCallback(Rect rect, int index, bool isActive, bool isFocused)
{
var prop = _waypointList.serializedProperty.GetArrayElementAtIndex(index);
EditorGUI.PropertyField(rect, prop);
}
if (GUILayout.Button("Drop Waypoint"))
{
WPG.CreateWaypoint();
}
public override void OnInspectorGUI()
{
serializedObject.Update();
if (GUILayout.Button("Delete Last Waypoint"))
{
WPG.DeleteLastWaypoint();
}
DrawPropertiesExcluding(serializedObject, "WPs");
if (GUILayout.Button("Delete All Waypoints"))
EditorGUI.BeginChangeCheck();
_wpHeaderBool = EditorGUILayout.BeginFoldoutHeaderGroup(_wpHeaderBool, "Waypoint List");
if (_wpHeaderBool)
WPG.DeleteAllWaypoints();
EditorGUILayout.Space();
_waypointList.DoLayoutList();
EditorGUILayout.EndFoldoutHeaderGroup();
if (GUI.changed)
if (EditorGUI.EndChangeCheck())
EditorUtility.SetDirty(target);
var len = _wpGroup.CalculateTrackDistance();
_wpGroup.length = len;
serializedObject.ApplyModifiedProperties();
WPGroup = (WaypointGroup) target;
if(_wpGroup == null)
_wpGroup = (WaypointGroup) target;
for (int i = 0; i < WPGroup.WPs.Count; i++)
for (var i = 0; i < _wpGroup.WPs.Count; i++)
WaypointGroup.Waypoint wp = WPGroup.WPs[i];
Handles.color = WPGroup.WaypointColour;
var wp = _wpGroup.WPs[i];
Handles.color = _wpGroup.waypointColour;
if (Tools.current == Tool.Move)
#region Control
if (_selectedWp == i)
// Control handle
EditorGUI.BeginChangeCheck();
var pos = Handles.PositionHandle(wp.point, wp.rotation);
if (EditorGUI.EndChangeCheck())
if (Tools.current == Tool.Move)
Undo.RecordObject(WPGroup, "Moved Waypoint");
wp.point = pos;
// Control handle
EditorGUI.BeginChangeCheck();
var pos = Handles.PositionHandle(wp.point, wp.rotation);
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(_wpGroup, "Moved Waypoint");
pos = new Vector3((float)Math.Round(pos.x, 2), (float)Math.Round(pos.y, 2), (float)Math.Round(pos.z, 2));
wp.point = pos;
}
}
else if (Tools.current == Tool.Rotate)
{
// Control handle
EditorGUI.BeginChangeCheck();
var rot = Handles.RotationHandle(wp.rotation, wp.point);
if (EditorGUI.EndChangeCheck())
else if (Tools.current == Tool.Rotate)
Undo.RecordObject(WPGroup, "Rotated Waypoint");
wp.rotation = rot;
// Control handle
EditorGUI.BeginChangeCheck();
var rot = Handles.RotationHandle(wp.rotation, wp.point);
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(_wpGroup, "Rotated Waypoint");
wp.rotation = Quaternion.Euler(0f, Mathf.Round(rot.eulerAngles.y), 0f);
}
}
else if (Tools.current == Tool.Scale)
{
// Control handle
EditorGUI.BeginChangeCheck();
var scale = Handles.ScaleSlider(wp.WPwidth, wp.point, (wp.rotation * Vector3.right), wp.rotation, wp.WPwidth, 0.1f);
if (EditorGUI.EndChangeCheck())
else if (Tools.current == Tool.Scale)
Undo.RecordObject(WPGroup, "Scaled Waypoint");
wp.WPwidth = scale;
// Control handle
EditorGUI.BeginChangeCheck();
var scale = Handles.ScaleSlider(wp.width, wp.point, (wp.rotation * Vector3.right),
wp.rotation, wp.width, 0.1f);
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(_wpGroup, "Scaled Waypoint");
wp.width = scale;
}
if (i != WPGroup.WPs.Count - 1)
{
if(i == 0 && WPGroup.reverse)
Handles.color = Color.red;
Handles.DrawDottedLine(wp.point, WPGroup.WPs[i + 1].point, 4f);
#endregion
#region Visualization
{ // Draw lines
var a = wp;
var b = i != _wpGroup.WPs.Count - 1 ? _wpGroup.WPs[i + 1] : _wpGroup.WPs[0];
Handles.DrawDottedLine(a.point, b.point, 4f);
var aMatrix = Matrix4x4.Rotate(a.rotation);
var aW = Vector3.right * a.width;
Vector3 a1 = aMatrix * aW;
Vector3 a2 = aMatrix * -aW;
var bMatrix = Matrix4x4.Rotate(b.rotation);
var bW = Vector3.right * b.width;
Vector3 b1 = bMatrix * bW;
Vector3 b2 = bMatrix * -bW;
Handles.DrawLine(a.point + a1, b.point + b1);
Handles.DrawLine(a.point + a2, b.point + b2);
var col = _wpGroup.waypointColour;
col.a = 0.05f;
Handles.color = col;
Handles.DrawAAConvexPolygon(a.point + a1,
a.point + a2,
b.point + b2,
b.point + b1);
else
{
if (!WPGroup.reverse)
Handles.color = Color.red;
Handles.DrawDottedLine(wp.point, WPGroup.WPs[0].point, 4f);
{ // Draw points
var p = wp.point;
var r = wp.rotation;
var w = wp.width;
if (i == 0) // Draw Start/Finish line
{
Handles.color = new Color(0f, 1f, 0f, 0.5f);
}
else if (wp.isCheckpoint) // Draw Checkpoints
{
Handles.color = new Color(0f, 0f, 1f, 0.5f);
}
DrawRectangle(p, r, new Vector2(w, 1f));
#endregion
}
private void DrawRectangle(Vector3 center, Quaternion rotation, Vector2 size)
{
var m = Matrix4x4.Rotate(rotation);
Vector3 a = m * new Vector3(size.x, 0f, size.y);
Vector3 b = m * new Vector3(size.x, 0f, -size.y);
Handles.DrawAAConvexPolygon(center + a, center + b, center - a, center - b);
}
}
}

100
Assets/Scripts/GameSystem/InputControls.cs


// GENERATED AUTOMATICALLY FROM 'Assets/Data/InputControls.inputactions'
using System;
public class InputControls : IInputActionCollection
public class @InputControls : IInputActionCollection, IDisposable
public InputControls()
public @InputControls()
{
asset = InputActionAsset.FromJson(@"{
""name"": ""InputControls"",

""action"": ""Time"",
""isComposite"": false,
""isPartOfComposite"": true
},
{
""name"": """",
""id"": ""38dc845f-f219-4b56-947c-542a4cf33da6"",
""path"": ""<Touchscreen>/primaryTouch/tapCount"",
""interactions"": ""MultiTap"",
""processors"": """",
""groups"": ""TouchScreen"",
""action"": ""Time"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
}

]
}");
// BoatControls
m_BoatControls = asset.GetActionMap("BoatControls");
m_BoatControls_Trottle = m_BoatControls.GetAction("Trottle");
m_BoatControls_Time = m_BoatControls.GetAction("Time");
m_BoatControls_Steering = m_BoatControls.GetAction("Steering");
m_BoatControls_Reset = m_BoatControls.GetAction("Reset");
m_BoatControls_Freeze = m_BoatControls.GetAction("Freeze");
m_BoatControls = asset.FindActionMap("BoatControls", throwIfNotFound: true);
m_BoatControls_Trottle = m_BoatControls.FindAction("Trottle", throwIfNotFound: true);
m_BoatControls_Time = m_BoatControls.FindAction("Time", throwIfNotFound: true);
m_BoatControls_Steering = m_BoatControls.FindAction("Steering", throwIfNotFound: true);
m_BoatControls_Reset = m_BoatControls.FindAction("Reset", throwIfNotFound: true);
m_BoatControls_Freeze = m_BoatControls.FindAction("Freeze", throwIfNotFound: true);
~InputControls()
public void Dispose()
{
UnityEngine.Object.Destroy(asset);
}

private readonly InputAction m_BoatControls_Freeze;
public struct BoatControlsActions
{
private InputControls m_Wrapper;
public BoatControlsActions(InputControls wrapper) { m_Wrapper = wrapper; }
private @InputControls m_Wrapper;
public BoatControlsActions(@InputControls wrapper) { m_Wrapper = wrapper; }
public InputAction @Trottle => m_Wrapper.m_BoatControls_Trottle;
public InputAction @Time => m_Wrapper.m_BoatControls_Time;
public InputAction @Steering => m_Wrapper.m_BoatControls_Steering;

{
if (m_Wrapper.m_BoatControlsActionsCallbackInterface != null)
{
Trottle.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
Trottle.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
Trottle.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
Time.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
Time.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
Time.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
Steering.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
Steering.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
Steering.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
Reset.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
Reset.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
Reset.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
Freeze.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
Freeze.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
Freeze.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
@Trottle.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
@Trottle.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
@Trottle.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTrottle;
@Time.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
@Time.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
@Time.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnTime;
@Steering.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
@Steering.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
@Steering.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnSteering;
@Reset.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
@Reset.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
@Reset.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnReset;
@Freeze.started -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
@Freeze.performed -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
@Freeze.canceled -= m_Wrapper.m_BoatControlsActionsCallbackInterface.OnFreeze;
Trottle.started += instance.OnTrottle;
Trottle.performed += instance.OnTrottle;
Trottle.canceled += instance.OnTrottle;
Time.started += instance.OnTime;
Time.performed += instance.OnTime;
Time.canceled += instance.OnTime;
Steering.started += instance.OnSteering;
Steering.performed += instance.OnSteering;
Steering.canceled += instance.OnSteering;
Reset.started += instance.OnReset;
Reset.performed += instance.OnReset;
Reset.canceled += instance.OnReset;
Freeze.started += instance.OnFreeze;
Freeze.performed += instance.OnFreeze;
Freeze.canceled += instance.OnFreeze;
@Trottle.started += instance.OnTrottle;
@Trottle.performed += instance.OnTrottle;
@Trottle.canceled += instance.OnTrottle;
@Time.started += instance.OnTime;
@Time.performed += instance.OnTime;
@Time.canceled += instance.OnTime;
@Steering.started += instance.OnSteering;
@Steering.performed += instance.OnSteering;
@Steering.canceled += instance.OnSteering;
@Reset.started += instance.OnReset;
@Reset.performed += instance.OnReset;
@Reset.canceled += instance.OnReset;
@Freeze.started += instance.OnFreeze;
@Freeze.performed += instance.OnFreeze;
@Freeze.canceled += instance.OnFreeze;
}
}
}

{
get
{
if (m_GamepadSchemeIndex == -1) m_GamepadSchemeIndex = asset.GetControlSchemeIndex("Gamepad");
if (m_GamepadSchemeIndex == -1) m_GamepadSchemeIndex = asset.FindControlSchemeIndex("Gamepad");
return asset.controlSchemes[m_GamepadSchemeIndex];
}
}

get
{
if (m_KeyboardSchemeIndex == -1) m_KeyboardSchemeIndex = asset.GetControlSchemeIndex("Keyboard");
if (m_KeyboardSchemeIndex == -1) m_KeyboardSchemeIndex = asset.FindControlSchemeIndex("Keyboard");
return asset.controlSchemes[m_KeyboardSchemeIndex];
}
}

get
{
if (m_TouchScreenSchemeIndex == -1) m_TouchScreenSchemeIndex = asset.GetControlSchemeIndex("TouchScreen");
if (m_TouchScreenSchemeIndex == -1) m_TouchScreenSchemeIndex = asset.FindControlSchemeIndex("TouchScreen");
return asset.controlSchemes[m_TouchScreenSchemeIndex];
}
}

306
Assets/Scripts/GameSystem/RaceManager.cs


using System;
using System.Collections;
using System.Collections.Generic;
using BoatAttack.Boat;
using System.Linq;
using WaterSystem;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.SceneManagement;
using BoatAttack.UI;
using UnityEngine.Playables;
using UnityEngine.Serialization;
using Random = UnityEngine.Random;
namespace BoatAttack
{

public enum GameType
{
Singleplayer = 0,
LocalMultiplayer = 1,
Multiplayer = 2,
Spectator = 3,
Benchmark = 4
}
[Serializable]
public enum RaceType
{
Race,
PointToPoint,
TimeTrial
}
[Serializable]
public List<BoatData> boats;
//Race options
public GameType game;
public RaceType type;
public int boatCount = 4; // currently hardcoded to 4
//Level options
public string level;
//Competitors
public List<BoatData> boats;
public Race raceData;
public static RaceManager Instance;
[NonSerialized] public static bool RaceStarted = false;
[NonSerialized] public static Race RaceData = null;
[FormerlySerializedAs("raceData")]
public Race demoRaceData = new Race();
[NonSerialized] public static float RaceTime;
private readonly Dictionary<int, float> _boatTimes = new Dictionary<int, float>();
public static Action<bool> raceStarted;
private void Start()
private static void StartRace(bool started)
WaypointGroup.instance.reverse = raceData.reversed;
WaypointGroup.instance.Setup();
CreateBoats();
var a = RaceManager.raceStarted;
if (a == null) return;
RaceStarted = started;
a(started);
private void CreateBoats()
public static void BoatFinished(int player)
var i = 0;
foreach (var boat in raceData.boats)
switch (RaceData.game)
var matrix = WaypointGroup.instance.startingPositons[i];
case GameType.Singleplayer:
if (player == 0)
{
var raceUi = RaceData.boats[0].Boat.RaceUi;
raceUi.MatchEnd();
ReplayCamera.Instance.EnableSpectatorMode();
}
break;
case GameType.LocalMultiplayer:
break;
case GameType.Multiplayer:
break;
case GameType.Spectator:
break;
case GameType.Benchmark:
break;
default:
throw new ArgumentOutOfRangeException();
}
}
[Header("Assets")] public AssetReference[] boats;
public AssetReference raceUiPrefab;
GameObject boatObject = Instantiate(boat.boatPrefab, matrix.GetColumn(3), Quaternion.LookRotation(matrix.GetColumn(2))) as GameObject;
boatObject.name = boat.boatName;
BoatController boatController = boatObject.GetComponent<BoatController>();
boatController.Human = boat.Human;
boatController.cam.gameObject.layer = LayerMask.NameToLayer("Player" + (i + 1));
i++;
private void OnEnable()
{
Instance = this;
SceneManager.sceneLoaded += SetupRace;
SceneManager.sceneUnloaded += UnloadRace;
SetupRace(SceneManager.GetActiveScene(), LoadSceneMode.Single);
}
private void Reset()
{
RaceStarted = false;
RaceData.boats = null;
RaceTime = 0f;
_boatTimes.Clear();
}
private static void SetupRace(Scene scene, LoadSceneMode mode)
{
if (!scene.name.Contains("level") && !scene.name.Contains("demo")) return;
if(RaceData == null) RaceData = Instance.demoRaceData;
Instance.StartCoroutine(SetupRaceObjects());
}
private static IEnumerator SetupRaceObjects()
{
WaypointGroup.Instance.Setup(RaceData.reversed); // setup waypoints
yield return Instance.StartCoroutine(CreateBoats()); // spawn boats;
switch (RaceData.game)
{
case GameType.Singleplayer:
yield return Instance.StartCoroutine(CreatePlayerUi(0));
break;
case GameType.LocalMultiplayer:
break;
case GameType.Multiplayer:
break;
case GameType.Spectator:
break;
case GameType.Benchmark:
break;
default:
throw new ArgumentOutOfRangeException();
Instance.StartCoroutine(BeginRace()); // TODO need to make much better with race intro etc
}
private static void UnloadRace(Scene scene)
{
if(!RaceStarted) return;
Debug.LogWarning("Unloading Race");
Instance.Reset();
Instance.raceUiPrefab.ReleaseAsset();
}
public static void SetGameType(GameType gameType)
{
RaceData = new Race {game = gameType,
boats = new List<BoatData>(),
boatCount = 4,
laps = 3,
type = RaceType.Race
};
Debug.Log($"Game type set to:{RaceData.game}");
switch (RaceData.game)
{
case GameType.Singleplayer:
var b = new BoatData();
b.human = false; //true; // TODO for testing
RaceData.boats.Add(b); // add player boat
GenerateRandomBoats(RaceData.boatCount - 1); // add random AI
break;
case GameType.Spectator:
GenerateRandomBoats(RaceData.boatCount);
break;
}
}
public static void SetLevel(int levelIndex)
{
RaceData.level = ConstantData.GetLevelName(levelIndex);
Debug.Log($"Level set to:{levelIndex} with path:{RaceData.level}");
}
public static void SetHull(int player, int hull)
{
RaceData.boats[player].boatPrefab = Instance.boats[hull];
}
public static void LoadGame()
{
AppSettings.LoadScene(RaceData.level);
}
private static IEnumerator BeginRace()
{
if (RaceData.game == GameType.Spectator)
{
ReplayCamera.Instance.EnableSpectatorMode();
}
var introCams = GameObject.FindWithTag("introCameras");
introCams.TryGetComponent<PlayableDirector>(out var introDirector);
if (introDirector)
{
while (introDirector.state == PlayState.Playing)
{
yield return null;
}
introCams.SetActive(false);
}
yield return new WaitForSeconds(3f); // countdown 3..2..1..
StartRace(true);
}
private static void GenerateRandomBoats(int count, bool ai = true)
{
for (var i = 0; i < count; i++)
{
var boat = new BoatData();
Random.InitState(ConstantData.SeedNow+i);
boat.boatName = ConstantData.AiNames[Random.Range(0, ConstantData.AiNames.Length)];
BoatLivery livery = new BoatLivery
{
primaryColor = ConstantData.GetRandomPaletteColor,
trimColor = ConstantData.GetRandomPaletteColor
};
boat.livery = livery;
boat.boatPrefab = Instance.boats[Random.Range(0, Instance.boats.Length)];
if (ai)
boat.human = false;
RaceData.boats.Add(boat);
}
}
private void LateUpdate()
{
if (RaceStarted)
{
for (int i = 0; i < RaceData.boats.Count; i++)
{
var boat = RaceData.boats[i].Boat;
if (boat.MatchComplete)
{
_boatTimes[i] = Mathf.Infinity; // completed the race so no need to update
}
else
{
_boatTimes[i] = boat.LapPercentage + boat.LapCount;
}
}
var mySortedList = _boatTimes.OrderBy(d => d.Value).ToList();
var place = RaceData.boatCount;
foreach (var boat in mySortedList.Select(index => RaceData.boats[index.Key].Boat).Where(boat => !boat.MatchComplete))
{
boat.Place = place;
place--;
}
RaceTime += Time.deltaTime;
}
}
public static int GetLapCount()
{
if (RaceData != null && RaceData.type == RaceType.Race)
{
return RaceData.laps;
}
return -1;
}
private static IEnumerator CreateBoats()
{
for (int i = 0; i < RaceData.boats.Count; i++)
{
var boat = RaceData.boats[i]; // boat to setup
// Load prefab
var startingPosition = WaypointGroup.Instance.StartingPositions[i];
AsyncOperationHandle<GameObject> boatLoading = Addressables.InstantiateAsync(boat.boatPrefab, startingPosition.GetColumn(3),
Quaternion.LookRotation(startingPosition.GetColumn(2)));
yield return boatLoading; // wait for boat asset to load
boatLoading.Result.name = boat.boatName; // set the name of the boat
boatLoading.Result.TryGetComponent<Boat>(out var boatController);
boat.SetController(boatLoading.Result, boatController);
boatController.Setup(i + 1, boat.human, boat.livery);
Instance._boatTimes.Add(i, 0f);
}
}
private static IEnumerator CreatePlayerUi(int player)
{
var uiLoading = Instance.raceUiPrefab.InstantiateAsync();
yield return uiLoading;
if (uiLoading.Result.TryGetComponent(out RaceUI uiComponent))
{
var boatData = RaceData.boats[player];
boatData.Boat.RaceUi = uiComponent;
uiComponent.Setup(player);
}
// Setup race camera
AppSettings.MainCamera.cullingMask |= 1 << LayerMask.NameToLayer($"Player{player + 1}");
}
}
}

4
Assets/Scripts/GameSystem/RaceManager.cs.meta


MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
defaultReferences:
- raceUiPrefab: {fileID: 5347790855530666824, guid: 0482dcbdb79ee4d7eb43a774a90bda4e,
type: 3}
executionOrder: 0
icon: {instanceID: 0}
userData:

310
Assets/Scripts/GameSystem/WaypointGroup.cs


using UnityEngine;
using System.Collections.Generic;
using System;
using Random = UnityEngine.Random;
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.AddressableAssets;
using Random = UnityEngine.Random;
[Serializable]
static WaypointGroup Instance = null;
public static float raceDelay = 4f;
public int waypointGroupId = 0;
public Color waypointColour = Color.yellow;
public bool loop = true;
public int WaypointGroupID = 0;
public Color WaypointColour = Color.yellow;
public bool Loop = false;
public float NextWPradius = 5f;
public bool raceStarted = false;
public bool raceStarted = false;
public bool reverse = false;
public bool Reverse = false;
public Matrix4x4[] startingPositons = new Matrix4x4[4];
public Matrix4x4[] StartingPositions = new Matrix4x4[4];
private int curWpID;
public static WaypointGroup instance => Instance;
public float length;
private readonly Dictionary<BoxCollider, Waypoint> _triggerPairs = new Dictionary<BoxCollider, Waypoint>();
private readonly SortedDictionary<int, Waypoint> _checkpointPairs = new SortedDictionary<int, Waypoint>();
private int _curWpId;
public AssetReference checkpoint;
public static WaypointGroup Instance { get; private set; }
private BoxCollider[] _triggers;
void Awake()
private void Awake()
CalculateTrackDistance();
public void Setup()
public void Setup(bool reversed)
if (reverse)
Reverse = reversed;
if (Reverse)
{
WPs.Reverse();
WPs.Insert(0, WPs[WPs.Count - 1]);

var i = 0;
_triggers = new BoxCollider[WPs.Count];
foreach (var wp in WPs)
{
var obj = new GameObject($"wp{i}_trigger", typeof(BoxCollider))
{
hideFlags = HideFlags.HideInHierarchy, tag = gameObject.tag
};
obj.transform.SetPositionAndRotation(wp.point, wp.rotation);
obj.TryGetComponent(out _triggers[i]);
_triggers[i].isTrigger = true;
_triggers[i].size = new Vector3(wp.width * 2f, 50f, 0.5f);
_triggerPairs.Add(_triggers[i], wp);
wp.Trigger = _triggers[i];
if (wp.isCheckpoint || i == 0)
{
_checkpointPairs.Add(i, wp);
StartCoroutine(CreateCheckpoint(wp, i == 0));
}
i++;
}
IEnumerator CreateCheckpoint(Waypoint wp, bool start)
{
var checkpointLoading = checkpoint.InstantiateAsync(wp.point, wp.rotation);
yield return checkpointLoading;
checkpointLoading.Result.transform.localScale = Vector3.one * ((wp.width + 1) / 6);
if (!start) yield break;
if(checkpointLoading.Result.TryGetComponent<MeshRenderer>(out var renderer))
renderer.material.SetColor("_Color", Color.red);
}
[FormerlySerializedAs("WPradius")] public float WPwidth;
[FormerlySerializedAs("WPwidth")] public float width;
public int WPnumber;
public int WPgroup;
public int index;
public bool isCheckpoint;
[NonSerialized] public BoxCollider Trigger;
public float normalizedDistance;
public Waypoint(Vector3 position, float radius, int ID, int group)
public Waypoint(Vector3 position, float radius)
WPwidth = radius;
WPnumber = ID;
WPgroup = group;
width = radius;
public Vector3 GetWaypointDestination(int index)
{
var wp = GetWaypoint(index);
return wp.point + (Random.insideUnitSphere * wp.width);
}
public void CreateWaypoint()
{
Vector3 Pos = gameObject.transform.position;
float Rad = NextWPradius;
int ID = curWpID;
public Waypoint GetWaypoint(int index) { return WPs[(int)Mathf.Repeat(index, WPs.Count)]; }
Waypoint WP = new Waypoint(Pos, Rad, ID, WaypointGroupID);
public int GetWaypointIndex(Waypoint wp) { return WPs.IndexOf(wp); }
WPs.Add(WP);
public Waypoint GetTriggersWaypoint(BoxCollider trigger)
{
return _triggerPairs.TryGetValue(trigger, out var wp) ? wp : null;
}
curWpID++;
public Waypoint GetNextWaypoint(Waypoint wp)
{
return GetWaypoint(WPs.IndexOf(wp) + 1);
public Vector3 GetWaypointDestination(int index)
public Waypoint GetPreviousWaypoint(Waypoint wp)
Waypoint wp;
if (index > 0 && index < WPs.Count - 1)
wp = WPs[index];
else
wp = null;
return wp.point + (Random.insideUnitSphere * wp.WPwidth);
return GetWaypoint(WPs.IndexOf(wp) - 1);
public Waypoint GetWaypoint(int index)
public Waypoint GetNextCheckpoint(Waypoint wp)
return WPs[index];
var startingPoint = WPs.IndexOf(wp);
return GetNextCheckpoint(startingPoint);
public Waypoint GetNextWaypoint(Waypoint wp)
public Waypoint GetNextCheckpoint(int index)
var index = WPs.IndexOf(wp);
index = (int)Mathf.Repeat(index + 1, WPs.Count);
return GetWaypoint(index);
return _checkpointPairs.FirstOrDefault(x => x.Key > index).Value ?? WPs[0];
Waypoint closest = null;
Waypoint[] sortedWPs = WPs.OrderBy(wp => Vector3.Distance(point, wp.point)).ToArray();
return WPs.OrderBy(wp => Vector3.Distance(point, wp.point)).ToArray()[0];
}
if (sortedWPs[0].WPnumber < sortedWPs[1].WPnumber && !reverse)
closest = sortedWPs[1];
else
closest = sortedWPs[0];
public float GetPercentageAroundTrack(Vector3 point)
{
var closestPoint = GetClosestPointOnPath(point, out Tuple<WaypointGroup.Waypoint, WaypointGroup.Waypoint> wps);
var looped = wps.Item2.normalizedDistance <= 0;
var segmentPercentage = (looped ? 1f : wps.Item2.normalizedDistance) - wps.Item1.normalizedDistance;
var segmentDistance = length * segmentPercentage;
var positionSegmentPercentage = Vector3.Distance(closestPoint, wps.Item1.point) / segmentDistance;
return Mathf.Lerp(wps.Item1.normalizedDistance, (looped ? 1f : wps.Item2.normalizedDistance), positionSegmentPercentage);
}
return closest;
public Vector3 GetClosestPointOnPath(Vector3 point, out Tuple<Waypoint, Waypoint> wpIndices)
{
var closest = GetClosestWaypoint(point);
var next = GetNextWaypoint(closest);
var previous = GetPreviousWaypoint(closest);
var nextLine = FindNearestPointOnLine(closest.point, next.point, point);
var prevLine = FindNearestPointOnLine(closest.point, previous.point, point);
var nextIsClosest = Vector3.Distance(point, nextLine) < Vector3.Distance(point, prevLine);
wpIndices = new Tuple<Waypoint, Waypoint>(nextIsClosest ? closest : previous, nextIsClosest ? next : closest);
return nextIsClosest ? nextLine : prevLine;
Vector3 respawnPoint = Vector3.zero;
Waypoint wpA;
Waypoint wpB;
Waypoint[] sortedWPs = WPs.OrderBy(wp => Vector3.Distance(point, wp.point)).ToArray();
var sortedWPs = WPs.OrderBy(wp => Vector3.Distance(point, wp.point)).ToArray();
wpA = sortedWPs[0];
wpB = sortedWPs[1];
var wpA = sortedWPs[0];
var wpB = sortedWPs[1];
if (Mathf.Abs(wpA.WPnumber - wpB.WPnumber) > 1)
wpB = WPs[(int)Mathf.Repeat(wpA.WPnumber + 2, WPs.Count)];
var closetToLine = FindNearestPointOnLine(new Vector2(wpA.point.x, wpA.point.z),
new Vector2(wpB.point.x, wpB.point.z),
new Vector2(point.x, point.z));
var lookVec = Vector3.forward;
if (wpA.WPnumber > wpB.WPnumber)
if (Mathf.Abs(wpA.index - wpB.index) > 1)
wpB = WPs[(int)Mathf.Repeat(wpA.index + 2, WPs.Count)];
var respawnPoint = FindNearestPointOnLine(wpA.point, wpB.point, point);
respawnPoint.y = 0f;
Vector3 lookVec;
if (wpA.index > wpB.index)
{
lookVec = wpA.point - wpB.point;
}

}
if ((wpA.WPnumber == 0 && wpB.WPnumber == WPs.Count - 1) || (wpB.WPnumber == 0 && wpA.WPnumber == WPs.Count - 1)) // if at the loop point we need to revese the lookVec
if ((wpA.index == 0 && wpB.index == WPs.Count - 1) || (wpB.index == 0 && wpA.index == WPs.Count - 1)) // if at the loop point we need to reverse the lookVec
Quaternion facing = Quaternion.LookRotation(Vector3.Normalize(lookVec * (reverse ? -1f : 1f)), Vector3.up);
respawnPoint.x = closetToLine.x;
respawnPoint.z = closetToLine.y;
Quaternion facing = Quaternion.LookRotation(Vector3.Normalize(lookVec * (Reverse ? -1f : 1f)), Vector3.up);
public Matrix4x4[] GetStartPositions()
private Matrix4x4[] GetStartPositions()
if(reverse)
if(Reverse)
for (int i = 0; i < startingPositons.Length; i++)
for (int i = 0; i < StartingPositions.Length; i++)
var pos = new Vector3(i % 2 == 0 ? 3f : -3f, 0f, i * 6f + 4f);
var pos = new Vector3(i % 2 == 0 ? 3f : -3f, 0f, i * 5f + 4f);
startingPositons[i].SetTRS(position, rotation, Vector3.one);
startingPositons[i] *= Matrix4x4.Translate(pos);
StartingPositions[i].SetTRS(position, rotation, Vector3.one);
StartingPositions[i] *= Matrix4x4.Translate(pos);
return startingPositons;
return StartingPositions;
public void DeleteLastWaypoint()
public float CalculateTrackDistance()
WPs.RemoveAt(curWpID);
curWpID--;
var distance = 0f;
for (var i = 1; i < WPs.Count; i++)
{
distance += Vector3.Distance(WPs[i - 1].point, WPs[i].point);
}
if (loop) // if the track is a loop then add the last>first distance
{
distance += Vector3.Distance(WPs[0].point, WPs[WPs.Count - 1].point);
}
var percentage = 0f;
for (var i = 1; i < WPs.Count; i++)
{
var segment = Vector3.Distance(WPs[i - 1].point, WPs[i].point);
percentage += segment / distance;
WPs[i].normalizedDistance = percentage;
}
return distance;
public void DeleteAllWaypoints()
private static Vector3 FindNearestPointOnLine(Vector3 start, Vector3 end, Vector3 point)
WPs.Clear();
curWpID = 0;
}
public Vector2 FindNearestPointOnLine(Vector2 origin, Vector2 end, Vector2 point)
{
//Get heading
Vector2 heading = (end - origin);
float magnitudeMax = heading.magnitude;
heading.Normalize();
var line = (end - start);
var len = line.magnitude;
line.Normalize();
//Do projection from the point but clamp it
Vector2 lhs = point - origin;
float dotP = Vector2.Dot(lhs, heading);
dotP = Mathf.Clamp(dotP, 0f, magnitudeMax);
return origin + heading * dotP;
var v = point - start;
var d = Vector3.Dot(v, line);
d = Mathf.Clamp(d, 0f, len);
return start + line * d;
void OnDrawGizmos()
private void OnDrawGizmos()
var c = WaypointColour;
for (int i = 0; i < WPs.Count; i++)
{
Gizmos.matrix = Matrix4x4.TRS(WPs[i].point, WPs[i].rotation, Vector3.one);
var cube = new Vector3(WPs[i].WPwidth * 2f, 4f, 0.5f);
// Fill
c.a = 0.5f;
Gizmos.color = c;
Gizmos.DrawCube(Vector3.zero, cube);
// Outline
c.a = 1f;
Gizmos.color = c;
Gizmos.DrawWireCube(Vector3.zero, cube);
}
StartingPositions = GetStartPositions();
startingPositons = GetStartPositions();
c = Color.green;
var c = Reverse ? Color.red : Color.green;
foreach (var startPos in startingPositons)
foreach (var startPos in StartingPositions)
{
Gizmos.matrix = startPos;
c.a = 0.5f;

Gizmos.color = c;
Gizmos.DrawWireCube(Vector3.zero, startBox);
}
}
}
}

26
Assets/Scripts/System/MaxLodOption.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
private int curlevel;
private int _currentLevel;
curlevel = (int)QualitySettings.lodBias;
displayText.text = curlevel.ToString();
_currentLevel = (int)QualitySettings.lodBias;
displayText.text = _currentLevel.ToString();
if(curlevel < 7)
curlevel++;
QualitySettings.lodBias = curlevel;
displayText.text = curlevel.ToString();
if(_currentLevel < 7)
_currentLevel++;
QualitySettings.lodBias = _currentLevel;
displayText.text = _currentLevel.ToString();
if (curlevel > 0)
curlevel--;
QualitySettings.lodBias = curlevel;
displayText.text = curlevel.ToString();
if (_currentLevel > 0)
_currentLevel--;
QualitySettings.lodBias = _currentLevel;
displayText.text = _currentLevel.ToString();
}
}

9
Assets/Scripts/System/PerfomanceStats.cs


using System.Collections;
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Profiling;
using UnityEngine.UI;

// UI display
public Text frametimeDisplay;
void Start () {
}
void Update () {
frametimeDisplay.text = "";
// sample frametime

6
Assets/Scripts/Utility/GenericRotation.cs


using UnityEngine;
using System.Collections;
// Update is called once per frame
void Update () {
private void Update ()
{
transform.localEulerAngles += rotationVector * Time.deltaTime;
}
}

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存