浏览代码

Assorted bug fixes and improvements

/main
Andre McGrail 4 年前
当前提交
bfaabc16
共有 67 个文件被更改,包括 1995 次插入1308 次删除
  1. 6
      Assets/AddressableAssetsData/AssetGroups/Boats.asset
  2. 4
      Assets/Data/UniversalRP/BoatDemoRenderer.asset
  3. 3
      Assets/Data/UniversalRP/PipelineAsset_High.asset
  4. 1
      Assets/Data/UniversalRP/PipelineAsset_Low.asset
  5. 1
      Assets/Data/UniversalRP/PipelineAsset_Medium.asset
  6. 2
      Assets/Data/WaterSurfaceData.asset
  7. 6
      Assets/Objects/Levels/Island/BeachSand.terrainlayer
  8. 10
      Assets/Objects/Levels/Island/BeachSand_wet.terrainlayer
  9. 1
      Assets/Objects/Levels/Island/ClearSky/ClearSky.mat
  10. 117
      Assets/Objects/Levels/Island/Island Level.prefab
  11. 104
      Assets/Objects/Levels/Island/ReplayCameras.prefab
  12. 6
      Assets/Objects/Levels/Island/SandRocks.terrainlayer
  13. 11
      Assets/Objects/Levels/Island/Terrain_0_0.asset
  14. 8
      Assets/Objects/Levels/Island/Terrain_1_0.asset
  15. 38
      Assets/Objects/UI/prefabs/LoadingScreen.prefab
  16. 88
      Assets/Objects/UI/prefabs/MenuOption_Laps.prefab
  17. 485
      Assets/Objects/UI/prefabs/Race_Canvas.prefab
  18. 3
      Assets/Objects/UI/prefabs/Race_Canvas_touch.prefab
  19. 34
      Assets/Objects/environment/Clouds/Clouds.prefab
  20. 3
      Assets/Objects/misc/DefaultVolume.prefab
  21. 15
      Assets/Objects/misc/Main Camera.prefab
  22. 2
      Assets/Objects/misc/checkpoint.prefab
  23. 12
      Assets/Resources/AppManager.prefab
  24. 6
      Assets/Scripts/Boat/AiController.cs
  25. 11
      Assets/Scripts/Boat/Boat.cs
  26. 50
      Assets/Scripts/Camera/ReplayCamera.cs
  27. 88
      Assets/Scripts/Effects/WakeGenerator.cs
  28. 2
      Assets/Scripts/Environment/BuoyManager.cs
  29. 1
      Assets/Scripts/GameSystem/AppSettings.cs
  30. 238
      Assets/Scripts/GameSystem/RaceManager.cs
  31. 28
      Assets/Scripts/UI/MainMenuHelper.cs
  32. 2
      Assets/Scripts/UI/RaceUI.cs
  33. 210
      Assets/Shaders/Clouds/CloudShader.shadergraph
  34. 5
      Assets/Shaders/CustomLighting.hlsl
  35. 4
      Assets/Shaders/Skybox-Procedural-Universal.shader
  36. 296
      Assets/Shaders/Vegetation/Vegetation.shadergraph
  37. 469
      Assets/scenes/demo_Island.unity
  38. 67
      Assets/scenes/main_menu.unity
  39. 5
      Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs
  40. 6
      Packages/com.verasl.water-system/Scripts/Water.cs
  41. 2
      Packages/com.verasl.water-system/Shaders/GerstnerWaves.hlsl
  42. 4
      Packages/com.verasl.water-system/Shaders/Water.shader
  43. 16
      Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl
  44. 55
      Packages/com.verasl.water-system/Textures/WaterFoam.png.meta
  45. 22
      Packages/com.verasl.water-system/package.json
  46. 26
      Packages/manifest.json
  47. 3
      ProjectSettings/EditorBuildSettings.asset
  48. 23
      ProjectSettings/EditorSettings.asset
  49. 1
      ProjectSettings/GraphicsSettings.asset
  50. 36
      ProjectSettings/ProjectSettings.asset
  51. 4
      ProjectSettings/ProjectVersion.txt
  52. 8
      ProjectSettings/QualitySettings.asset
  53. 4
      ProjectSettings/TagManager.asset
  54. 2
      ProjectSettings/URPProjectSettings.asset
  55. 38
      Assets/Data/UniversalRP/SkyboxRenderer.asset
  56. 8
      Assets/Data/UniversalRP/SkyboxRenderer.asset.meta
  57. 26
      Assets/Scripts/Editor/AutoBuildAddressables.cs
  58. 11
      Assets/Scripts/Editor/AutoBuildAddressables.cs.meta
  59. 11
      Assets/Scripts/Utility/DemoRun.cs
  60. 11
      Assets/Scripts/Utility/DemoRun.cs.meta
  61. 427
      Packages/packages-lock.json
  62. 16
      ProjectSettings/PackageManagerSettings.asset
  63. 1
      ProjectSettings/VersionControlSettings.asset
  64. 21
      Assets/Resources/VolumeHolder.asset
  65. 8
      Assets/Resources/VolumeHolder.asset.meta
  66. 63
      Assets/scenes/demo_IslandSettings.lighting
  67. 8
      Assets/scenes/demo_IslandSettings.lighting.meta

6
Assets/AddressableAssetsData/AssetGroups/Boats.asset


m_SerializedLabels: []
m_mainAssetType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
- m_GUID: dd07c82db50e943ca8314f2c407ea841
m_Address: boat_effect_wake
m_ReadOnly: 0
m_SerializedLabels: []
m_mainAssetType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 46fc3d082b08c4dacacae72d7016c235, type: 2}
m_SchemaSet:

4
Assets/Data/UniversalRP/BoatDemoRenderer.asset


m_EditorClassIdentifier:
m_RendererFeatures:
- {fileID: 770174969183694509}
m_RendererFeatureMap: ad6e17cd0d36b00a
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}

passOperation: 2
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
--- !u!114 &770174969183694509
MonoBehaviour:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
m_Active: 1
settings:
causticScale: 0.176
causticScale: 0.1
causticBlendDistance: 3.36
debug: 0
causticShader: {fileID: 4800000, guid: 90939d2e4b62841d29c136c866715501, type: 3}

3
Assets/Data/UniversalRP/PipelineAsset_High.asset


m_RendererDataList:
- {fileID: 11400000, guid: fa301df1a78cf4a9ebe2a3139dc8be8f, type: 2}
- {fileID: 11400000, guid: da5d03fd77333493b9b9d22f90c457ef, type: 2}
- {fileID: 11400000, guid: 3e310f0e4ac49914e8b1598a478c362e, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1

m_RenderScale: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 4096
m_MainLightShadowmapResolution: 1024
m_AdditionalLightsRenderingMode: 0
m_AdditionalLightsPerObjectLimit: 8
m_AdditionalLightShadowsSupported: 1

1
Assets/Data/UniversalRP/PipelineAsset_Low.asset


m_RendererDataList:
- {fileID: 11400000, guid: fa301df1a78cf4a9ebe2a3139dc8be8f, type: 2}
- {fileID: 11400000, guid: da5d03fd77333493b9b9d22f90c457ef, type: 2}
- {fileID: 11400000, guid: 3e310f0e4ac49914e8b1598a478c362e, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1

1
Assets/Data/UniversalRP/PipelineAsset_Medium.asset


m_RendererDataList:
- {fileID: 11400000, guid: fa301df1a78cf4a9ebe2a3139dc8be8f, type: 2}
- {fileID: 11400000, guid: da5d03fd77333493b9b9d22f90c457ef, type: 2}
- {fileID: 11400000, guid: 3e310f0e4ac49914e8b1598a478c362e, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1

2
Assets/Data/WaterSurfaceData.asset


direction: -177
wavelength: 5
_foamSettings:
foamType: 1
foamType: 0
basicFoam:
serializedVersion: 2
m_Curve:

6
Assets/Objects/Levels/Island/BeachSand.terrainlayer


m_Name: BeachSand
m_DiffuseTexture: {fileID: 2800000, guid: b3c2ab157efdd44c79666fe44e45e75e, type: 3}
m_NormalMapTexture: {fileID: 2800000, guid: b793a644029c648a286a2ebd00e9e848, type: 3}
m_MaskMapTexture: {fileID: 0}
m_NormalScale: 3
m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1}
m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1}

10
Assets/Objects/Levels/Island/BeachSand_wet.terrainlayer


m_PrefabAsset: {fileID: 0}
m_Name: BeachSand_wet
m_DiffuseTexture: {fileID: 2800000, guid: 9b83018dda05e4cffb3ca62e0d54d252, type: 3}
m_NormalMapTexture: {fileID: 2800000, guid: 58c621426b0004e43b875f1bfbbbf2d9, type: 3}
m_NormalMapTexture: {fileID: 2800000, guid: b793a644029c648a286a2ebd00e9e848, type: 3}
m_MaskMapTexture: {fileID: 0}
m_Smoothness: 0
m_Smoothness: 0.75
m_NormalScale: 1
m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1}
m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1}

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


- _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}
m_BuildTextureStacks: []
--- !u!114 &1725530308311404393
MonoBehaviour:
m_ObjectHideFlags: 11

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


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

type: 3}
m_PrefabInstance: {fileID: 2525105509810114121}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2698980269390308963
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 6589000189934312487}
m_Modifications:
- target: {fileID: 5782719753678795283, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_Name
value: Clouds
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.21430916
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9767659
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_RootOrder
value: 8
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -6.1470003
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 860f73418635b430596220c04821a36c, type: 3}
--- !u!4 &4859301963704198755 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
m_PrefabInstance: {fileID: 2698980269390308963}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &4379273360853210687
PrefabInstance:
m_ObjectHideFlags: 0

m_Modification:
m_TransformParent: {fileID: 6589000189934312487}
m_Modifications:
- target: {fileID: 3027621729415438540, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_ChildCameras.Array.size
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5076232292041737950, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_Name

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5811572584790518576, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_Sources.Array.data[0].sourceTransform
value:
objectReference: {fileID: 6589000189327295505}
- target: {fileID: 5811572584790518576, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_TranslationOffset.x
value: 2.9719372
objectReference: {fileID: 0}
- target: {fileID: 5811572584790518576, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_TranslationOffset.y
value: -6.25
objectReference: {fileID: 0}
- target: {fileID: 5811572584790518576, guid: e8d3746aee68c468f86cbabb0b56502f,
type: 3}
propertyPath: m_TranslationOffset.z
value: -0.40937805
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e8d3746aee68c468f86cbabb0b56502f, type: 3}
--- !u!4 &1753825904496165226 stripped

propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3691299467484457468, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.33798867
objectReference: {fileID: 0}
- target: {fileID: 3691299467484457468, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9290833
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 344be8fa397804294b1b2f63976790a9, type: 3}
--- !u!4 &6589000189253528373 stripped

m_PrefabInstance: {fileID: 7515088917347921359}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6589000189327295505 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3691299466161859038, guid: 344be8fa397804294b1b2f63976790a9,
type: 3}
m_PrefabInstance: {fileID: 7515088917347921359}
m_PrefabAsset: {fileID: 0}

104
Assets/Objects/Levels/Island/ReplayCameras.prefab


- component: {fileID: 7496210737525571426}
- component: {fileID: 4197516600372097407}
- component: {fileID: 1744162998482369098}
- component: {fileID: 3174328860400228272}
- component: {fileID: 71397576968582216}
m_Layer: 0
m_Name: cm

m_BiasX: 0
m_BiasY: 0
m_CenterOnActivate: 1
--- !u!114 &3174328860400228272
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1858610677192987399}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BindingMode: 1
m_FollowOffset: {x: 0, y: -6.25, z: 3}
m_XDamping: 0
m_YDamping: 0
m_ZDamping: 0
m_AngularDampingMode: 0
m_PitchDamping: 0
m_YawDamping: 0
m_RollDamping: 0
m_AngularDamping: 0
--- !u!114 &71397576968582216
MonoBehaviour:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
m_NoiseProfile: {fileID: 11400000, guid: a3dacaec0287d7444b4bd276816e1666, type: 2}
m_PivotOffset: {x: 0, y: 0, z: 0}
m_AmplitudeGain: 0.25
m_FrequencyGain: 4
mNoiseOffsets: {x: 0, y: 0, z: 0}

- component: {fileID: 571479311832868573}
- component: {fileID: 4243276894543955315}
- component: {fileID: 8906673978498950123}
- component: {fileID: 8099686524558702375}
m_Layer: 0
m_Name: BlimpCamera
m_TagString: Untagged

m_Damping: 1
m_MinFOV: 3
m_MaxFOV: 40
--- !u!1818360608 &8099686524558702375
PositionConstraint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2671655056577180351}
m_Enabled: 1
m_Weight: 1
m_TranslationAtRest: {x: 4.409273, y: 38.868496, z: 72.38463}
m_TranslationOffset: {x: 0, y: 0, z: 0}
m_AffectTranslationX: 1
m_AffectTranslationY: 1
m_AffectTranslationZ: 1
m_IsContraintActive: 1
m_IsLocked: 0
m_Sources:
- sourceTransform: {fileID: 0}
weight: 1
--- !u!1 &3234866870885967210
GameObject:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 8f65b0d1a4ea542698c1c5bdf9ab57e0, type: 3}
m_Name:
m_EditorClassIdentifier:
droneCamera: {fileID: 4724235160255684310}
clearShot: {fileID: 776099557020744923}
--- !u!1 &3664626529338384677
GameObject:

m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_ShowDebugText: 0
m_ChildCameras: []
m_ChildCameras:
- {fileID: 4724235160255684310}
- {fileID: 4243276894543955315}
- {fileID: 8328869504314803904}
- {fileID: 8580961361257517894}
m_MinDuration: 2
m_RandomizeChoice: 0
m_MinDuration: 1
m_RandomizeChoice: 1
m_DefaultBlend:
m_Style: 0
m_Time: 0

- m_Script
m_LockStageInInspector:
m_StreamingVersion: 20170927
m_Priority: -100
m_Priority: 10
m_StandbyUpdate: 2
m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}

- component: {fileID: 8404867229143526628}
- component: {fileID: 2307378836733225337}
- component: {fileID: 7060883759400718409}
- component: {fileID: 8993637441016039515}
m_Layer: 0
m_Name: cm
m_TagString: Untagged

m_BiasX: 0
m_BiasY: 0
m_CenterOnActivate: 1
--- !u!114 &8993637441016039515
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6248716019008032031}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BindingMode: 1
m_FollowOffset: {x: 14.530655, y: -1.9251443, z: 59.971115}
m_XDamping: 1
m_YDamping: 1
m_ZDamping: 1
m_AngularDampingMode: 0
m_PitchDamping: 0
m_YawDamping: 0
m_RollDamping: 0
m_AngularDamping: 0
--- !u!1 &7875996308580046279
GameObject:
m_ObjectHideFlags: 0

m_Name:
m_EditorClassIdentifier:
m_NoiseProfile: {fileID: 11400000, guid: 46965f9cbaf525742a6da4c2172a99cd, type: 2}
m_PivotOffset: {x: 0, y: 0, z: 0}
m_AmplitudeGain: 1
m_FrequencyGain: 1
mNoiseOffsets: {x: -539.1776, y: -314.93887, z: 367.37033}

- component: {fileID: 6762570200046604378}
- component: {fileID: 5527093981515814156}
- component: {fileID: 6265161977818636379}
- component: {fileID: 686125807202346112}
m_Layer: 0
m_Name: cm
m_TagString: Untagged

m_BiasX: 0
m_BiasY: 0
m_CenterOnActivate: 1
--- !u!114 &686125807202346112
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8505767975599569218}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fa7155796051b734daa718462081dc5f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BindingMode: 1
m_FollowOffset: {x: -9.750008, y: 0, z: -107.21}
m_XDamping: 1
m_YDamping: 1
m_ZDamping: 1
m_AngularDampingMode: 0
m_PitchDamping: 0
m_YawDamping: 0
m_RollDamping: 0
m_AngularDamping: 0
--- !u!1 &8633527972912473155
GameObject:
m_ObjectHideFlags: 0

6
Assets/Objects/Levels/Island/SandRocks.terrainlayer


m_Name: SandRocks
m_DiffuseTexture: {fileID: 2800000, guid: 36283a22a982c44448b4a62732a0866f, type: 3}
m_NormalMapTexture: {fileID: 2800000, guid: 9b6c255f1b0f84e4caab0ca53ff3d44a, type: 3}
m_MaskMapTexture: {fileID: 0}
m_NormalScale: 2
m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1}
m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0}
m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1}

11
Assets/Objects/Levels/Island/Terrain_0_0.asset
文件差异内容过多而无法显示
查看文件

8
Assets/Objects/Levels/Island/Terrain_1_0.asset
文件差异内容过多而无法显示
查看文件

38
Assets/Objects/UI/prefabs/LoadingScreen.prefab


m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 2100000, guid: 2a709f75a928946eba080f86bb8bfe98, type: 2}
m_Color: {r: 1, g: 0.85101694, b: 0.3160377, a: 0.79607844}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 48
m_fontSizeBase: 48
m_fontWeight: 400

m_fontStyle: 18
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 257
m_characterSpacing: 0
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 7959097910863956433}
characterCount: 10
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7959097910893621725

88
Assets/Objects/UI/prefabs/MenuOption_Laps.prefab


- target: {fileID: 4093994729439204510, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: options.Array.size
value: 3
value: 4
value: 6
value: 3
value: 9
value: 6
value: 3
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4093994729439204510, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: options.Array.data[3]
value: 9
objectReference: {fileID: 0}
- target: {fileID: 4426974721752824126, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}

propertyPath: m_textInfo.characterCount
value: 4
objectReference: {fileID: 0}
- target: {fileID: 4426974721752824126, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
- target: {fileID: 4426974721752824126, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_VerticalAlignment
value: 512
objectReference: {fileID: 0}
- target: {fileID: 4426974721752824126, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_textAlignment
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 4632692584657468187, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
- target: {fileID: 4632692584657468187, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_HorizontalAlignment
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4632692584657468187, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_VerticalAlignment
value: 512
objectReference: {fileID: 0}
- target: {fileID: 4632692584657468187, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_textAlignment
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 5121767864381798861, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_text

type: 3}
propertyPath: m_textInfo.characterCount
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5121767864381798861, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
- target: {fileID: 5121767864381798861, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_HorizontalAlignment
value: 2
objectReference: {fileID: 0}
- target: {fileID: 5121767864381798861, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_VerticalAlignment
value: 512
objectReference: {fileID: 0}
- target: {fileID: 5121767864381798861, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_textAlignment
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 5764953102979559682, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_TextStyleHashCode
value: -1183493901
objectReference: {fileID: 0}
- target: {fileID: 5764953102979559682, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_HorizontalAlignment
value: 2
objectReference: {fileID: 0}
- target: {fileID: 5764953102979559682, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_VerticalAlignment
value: 512
objectReference: {fileID: 0}
- target: {fileID: 5764953102979559682, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}
propertyPath: m_textAlignment
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 7504817807149001553, guid: 4ed6a17b8f9c64727bbb59e18c3022ac,
type: 3}

485
Assets/Objects/UI/prefabs/Race_Canvas.prefab


m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 513
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 0
m_wordWrappingRatios: 0
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 7728289945695123499}
characterCount: 8
spriteCount: 0
spaceCount: 1
wordCount: 2
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2365484362068629421

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 17
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 260
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 6107676379996783702}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3032795353506358440

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.7490196}
m_RaycastTarget: 0
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_AdditionalShaderChannelsFlag: 1
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0

matchEnd: {fileID: 5737845674937706806}
playerMarker:
m_AssetGUID: 34b5c45ac411341838c26dd7e127563e
m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
--- !u!114 &3273538309571339402
MonoBehaviour:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RepeatDelay: 0.5
m_RepeatRate: 0.1
m_MoveRepeatDelay: 0.5
m_MoveRepeatRate: 0.1
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018,
type: 3}
m_PointAction: {fileID: 1054132383583890850, guid: ca9f5fa95ffab41fb9a615ab714db018,

type: 3}
m_TrackedDeviceOrientationAction: {fileID: 1025543830046995696, guid: ca9f5fa95ffab41fb9a615ab714db018,
type: 3}
m_TrackedDeviceSelectAction: {fileID: 2559092417903258184, guid: ca9f5fa95ffab41fb9a615ab714db018,
type: 3}
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
--- !u!1 &5347790855547287923
GameObject:
m_ObjectHideFlags: 0

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 90
m_fontSizeBase: 90
m_fontWeight: 400

m_fontStyle: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 257
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790855547287921}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 2
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5347790855586753028

m_Material: {fileID: 0}
m_Color: {r: 0.21176472, g: 0.8078432, b: 0.94117653, a: 0.5019608}
m_RaycastTarget: 0
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 528
m_characterSpacing: 5
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790855668333724}
characterCount: 14
spriteCount: 0
spaceCount: 1
wordCount: 4
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5347790855832232833

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 90
m_fontSizeBase: 90
m_fontWeight: 400

m_fontStyle: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 260
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790855832232839}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 2
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5347790856091705333

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 17
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 257
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790856091705323}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5347790856266267883

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 528
m_characterSpacing: 5
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790856266267881}
characterCount: 14
spriteCount: 0
spaceCount: 1
wordCount: 4
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5347790856688489106

m_Material: {fileID: 0}
m_Color: {r: 0.21176472, g: 0.8078432, b: 0.94117653, a: 0.5019608}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 17
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 260
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 5347790857331151367}
characterCount: 8
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5737845674937706806

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 513
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 1
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 2154650934133259569}
characterCount: 4
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5968436532618119511

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 513
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 1
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 7216858221266388761}
characterCount: 6
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &6184904706526103861

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 90
m_fontSizeBase: 90
m_fontWeight: 400

m_fontStyle: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 257
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 2683827794117070290}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7329524447042817119

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 513
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 1
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 3057203291391822247}
characterCount: 3
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7798865325509771284

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400

m_fontStyle: 16
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 513
m_characterSpacing: 10
m_wordSpacing: 0

m_enableWordWrapping: 1
m_wordWrappingRatios: 0
m_overflowMode: 1
m_firstOverflowCharacterIndex: -1
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0

m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_IsTextObjectScaleStatic: 0
m_firstVisibleCharacter: 0
m_textInfo:
textComponent: {fileID: 7018211250116632498}
characterCount: 4
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_spriteAnimator: {fileID: 0}
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1001 &186410578290512286

3
Assets/Objects/UI/prefabs/Race_Canvas_touch.prefab


m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.2509804}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.2509804}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.2509804}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

34
Assets/Objects/environment/Clouds/Clouds.prefab


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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &709613733
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1101592742
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &1118600193
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &722090104018992386
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &3835353324867372321
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &3993180403050290936
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &4020921233357071083
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6328411060035594275
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6329799235012355056
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6671468353454721664
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6806688013021038445
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &7705025003806930123
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &8805272761830993456
GameObject:
m_ObjectHideFlags: 0

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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1001 &2549518890353290010
PrefabInstance:
m_ObjectHideFlags: 0

- target: {fileID: -4216859302048453862, guid: 1fc48e205716d4a329c637caf29e962a,
type: 3}
propertyPath: m_LocalScale.x
value: 0.1
value: 1
value: 0.1
value: 1
value: 0.1
value: 1
objectReference: {fileID: 0}
- target: {fileID: -2631095483317799004, guid: 1fc48e205716d4a329c637caf29e962a,
type: 3}

3
Assets/Objects/misc/DefaultVolume.prefab


volQualityComponent: {fileID: 3109418422114241795}
qualityVolumes:
- m_AssetGUID: 200e02ce26d6c422db35ba0777d71a09
m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
--- !u!114 &7861318668517722592
MonoBehaviour:
m_ObjectHideFlags: 0

15
Assets/Objects/misc/Main Camera.prefab


m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7003470173341666308}
m_LocalRotation: {x: -0.023374451, y: 0.67138517, z: 0.020853333, w: 0.7404464}
m_LocalPosition: {x: 7.2, y: -0.12, z: 57.24}
m_LocalRotation: {x: 0.13562143, y: 0.63705677, z: -0.11519858, w: 0.74999654}
m_LocalPosition: {x: 19.3, y: 10.3, z: 68.17}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}

y: 0
width: 1
height: 1
near clip plane: 3
far clip plane: 1600
field of view: 50
near clip plane: 0.5
far clip plane: 1500
field of view: 45
m_Bits: 3639
m_Bits: 3895
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0

m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras:
- {fileID: 0}
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2

2
Assets/Objects/misc/checkpoint.prefab


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

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

12
Assets/Resources/AppManager.prefab


speedFormat: 0
loadingScreen:
m_AssetGUID: 179a2376fe443449d9046bc913164c8b
m_SubObjectName:
m_SubObjectName:
--- !u!114 &8490184438857729681
MonoBehaviour:
m_ObjectHideFlags: 0

type: 0
boatCount: 4
level:
laps: 1
laps: 3
m_SubObjectName:
livery:
primaryColor: {r: 0.8773585, g: 0.09518514, b: 0.09518514, a: 0}
trimColor: {r: 0.8679245, g: 0.8679245, b: 0.8679245, a: 0}

m_AssetGUID: 70d78230a0527e74dabc4f14906eef98
m_SubObjectName:
livery:
primaryColor: {r: 0.11053756, g: 0.8679245, b: 0.17524286, a: 0}
trimColor: {r: 0.7354654, g: 0.122774996, b: 0.8396226, a: 0}

m_AssetGUID: 405c4bc591de844a3a100e1538790229
m_SubObjectName:
livery:
primaryColor: {r: 0.098039225, g: 0.8980392, b: 0.8708881, a: 0}
trimColor: {r: 0.14150941, g: 0.14150941, b: 0.14150941, a: 0}

m_AssetGUID: 70d78230a0527e74dabc4f14906eef98
m_SubObjectName:
livery:
primaryColor: {r: 0.1481844, g: 0.2092964, b: 0.8490566, a: 0}
trimColor: {r: 0.9339623, g: 0.7163166, b: 0.074893214, a: 0}

m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
--- !u!114 &7312333174115242941
MonoBehaviour:
m_ObjectHideFlags: 0

6
Assets/Scripts/Boat/AiController.cs


InvokeRepeating(nameof(CalculatePath), 1f, 1f);
}
private void OnDisable()
{
StopAllCoroutines();
RaceManager.raceStarted -= StartRace;
}
private void LateUpdate()
{
if(NavPath?.status == NavMeshPathStatus.PathInvalid)

11
Assets/Scripts/Boat/Boat.cs


LapCount++;
SplitTimes.Add(RaceManager.RaceTime);
if (LapCount > RaceManager.GetLapCount())
{
Debug.Log($"Boat {name} finished {RaceUI.OrdinalNumber(Place)} with time:{RaceUI.FormatRaceTime(SplitTimes.Last())}");
RaceManager.BoatFinished(_playerIndex);
MatchComplete = true;
}
if (LapCount <= RaceManager.GetLapCount()) return;
Debug.Log($"Boat {name} finished {RaceUI.OrdinalNumber(Place)} with time:{RaceUI.FormatRaceTime(SplitTimes.Last())}");
RaceManager.BoatFinished(_playerIndex);
MatchComplete = true;
}

50
Assets/Scripts/Camera/ReplayCamera.cs


using System;
using Cinemachine;
using UnityEngine;
using Random = UnityEngine.Random;
namespace BoatAttack
{

private static bool _spectatorEnabled;
private static BoatData _focusedBoat;
private Transform _focusPoint;
public CinemachineVirtualCamera droneCamera;
//public CinemachineVirtualCamera[] levelCameras;
private ICinemachineCamera currentCam;
private float timeSinceCut;
currentCam = clearShot.LiveChild;
}
private void LateUpdate()

_focusedBoat = RaceManager.RaceData.boats[0];
_focusPoint = _focusedBoat.BoatObject.transform;
SetReplayTarget(_focusPoint);
SetTarget(0);
}
if (timeSinceCut > 3f)
{
timeSinceCut = 0;
clearShot.ResetRandomization();
if (currentCam != clearShot.LiveChild)
{
if (Random.value >= 0.5f) { SetRandomTarget(); }
currentCam = clearShot.LiveChild;
}
timeSinceCut += Time.deltaTime;
SetRandomTarget();
droneCamera.Priority = -100;
//droneCamera.Priority = -100;
private void SetReplayTarget(GameObject go)
void SetRandomTarget() => SetTarget(Random.Range(0, RaceManager.RaceData.boatCount));
public void SetTarget(int boatIndex)
SetReplayTarget(go.transform);
_focusedBoat = RaceManager.RaceData.boats[boatIndex];
_focusPoint = _focusedBoat.BoatObject.transform;
SetReplayTarget(_focusPoint);
private void SetReplayTarget(GameObject go) => SetReplayTarget(go.transform);
_focusPoint = target;
if (clearShot)
{
clearShot.Priority = 100;
clearShot.LookAt = _focusPoint;
}
droneCamera.Follow = _focusPoint;
droneCamera.LookAt = _focusPoint;
if (!clearShot && target) return;
clearShot.Priority = 100;
clearShot.Follow = clearShot.LookAt = _focusPoint = target;
}
}
}

88
Assets/Scripts/Effects/WakeGenerator.cs


using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.AddressableAssets;
using Quaternion = UnityEngine.Quaternion;

private void Update()
{
//For each wake pair
var wCount = wakes.Count;
for (var w = 0; w < wCount; w++)
foreach (var wake in wakes.Where(wake => wake != null && wake.lines.Count == 2))
var wake = wakes[w];
int s = 0;
for (int x = -1; x <= 1; x += 2)
DoWake(-1, wake, wake.lines[0]);
DoWake(1, wake, wake.lines[1]);
}
}
private void DoWake(int side, Wake wake, WakeLine wakeLine)
{
var origin = wake.origin;
origin.x *= side;
origin = transform.TransformPoint(origin);
origin.y = 0;//flatten origin in world
var pointCount = wakeLine.points.Count;
//////////////////////////// create points, if needed ///////////////////////////////
if (pointCount == 0)
{
wakeLine.points.Insert(0, CreateWakePoint(origin, side));
pointCount++;
}
else if (Vector3.Distance(wakeLine.points[0].pos, origin) > genDistance)
{
wakeLine.points.Insert(0, CreateWakePoint(origin, side));
pointCount++;
}
///////////////////////////// kill points, if needed ////////////////////////////////
for (int i = wakeLine.points.Count - 1; i >= 0; i--)
{
if (wakeLine.points[i].age > maxAge)
var origin = wake.origin;
origin.x *= x;
origin = transform.TransformPoint(origin);
origin.y = 0;//flatten origin in world
var pointCount = wake.lines[s].points.Count;
//////////////////////////// create points, if needed ///////////////////////////////
if (pointCount == 0)
{
wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
pointCount++;
}
else if (Vector3.Distance(wake.lines[s].points[0].pos, origin) > genDistance)
{
wake.lines[s].points.Insert(0, CreateWakePoint(origin, x));
pointCount++;
}
///////////////////////////// kill points, if needed ////////////////////////////////
for (int i = wake.lines[s].points.Count - 1; i >= 0; i--)
{
if (wake.lines[s].points[i].age > maxAge)
{
wake.lines[s].points.RemoveAt(i);
pointCount--;
}
else
{
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
}
}
///////////////////// Create the line renderer points ///////////////////////////////
wake.lines[s].lineRenderer.positionCount = pointCount + 1;
wake.lines[s].lineRenderer.SetPosition(0, origin);
for (var i = 0; i < pointCount; i++)
{
wake.lines[s].lineRenderer.SetPosition(i + 1, wake.lines[s].points[i].pos);
}
s++;
wakeLine.points.RemoveAt(i);
pointCount--;
}
else
{
wakeLine.points[i].age += Time.deltaTime; // increment age
wakeLine.points[i].pos += Time.deltaTime * 3 * wakeLine.points[i].dir; // move points by dir
}
///////////////////// Create the line renderer points ///////////////////////////////
wakeLine.lineRenderer.positionCount = pointCount + 1;
wakeLine.lineRenderer.SetPosition(0, origin);
for (var i = 0; i < pointCount; i++)
{
wakeLine.lineRenderer.SetPosition(i + 1, wakeLine.points[i].pos);
}
}

2
Assets/Scripts/Environment/BuoyManager.cs


{
_guid = gameObject.GetInstanceID();
_buoys = new Transform[transform.childCount];
_buoys = new Transform[transform.childCount - 1];
_mesh = new Mesh();
var triangles = new int[_buoys.Length * 3];
_vertices = new Vector3[_buoys.Length];

1
Assets/Scripts/GameSystem/AppSettings.cs


public static readonly int[] Laps =
{
1,
3,
6,
9

238
Assets/Scripts/GameSystem/RaceManager.cs


using UnityEngine.SceneManagement;
using BoatAttack.UI;
using UnityEngine.Playables;
using UnityEngine.Serialization;
using Random = UnityEngine.Random;
namespace BoatAttack

#region Enums
[Serializable]
public enum GameType
{

//Competitors
public List<BoatData> boats;
}
#endregion
[NonSerialized] public static bool RaceStarted = false;
[NonSerialized] public static Race RaceData = null;
[FormerlySerializedAs("raceData")]
[NonSerialized] public static bool RaceStarted;
[NonSerialized] public static Race RaceData;
public Race demoRaceData = new Race();
[NonSerialized] public static float RaceTime;
private readonly Dictionary<int, float> _boatTimes = new Dictionary<int, float>();

private static void StartRace(bool started)
{
var a = RaceManager.raceStarted;
if (a == null) return;
RaceStarted = started;
a(started);
}
[Header("Assets")] public AssetReference[] boats;
public AssetReference raceUiPrefab;
public AssetReference raceUiTouchPrefab;
public static void BoatFinished(int player)
{
switch (RaceData.game)

throw new ArgumentOutOfRangeException();
}
}
[Header("Assets")] public AssetReference[] boats;
public AssetReference raceUiPrefab;
public AssetReference raceUiTouchPrefab;
private void OnEnable()
private void Awake()
Debug.Log("RaceManager Loaded");
SceneManager.sceneLoaded += SetupRace;
SceneManager.sceneUnloaded += UnloadRace;
SetupRace(SceneManager.GetActiveScene(), LoadSceneMode.Single);
RaceData.boats = null;
RaceData.boats.Clear();
raceStarted = null;
private static void SetupRace(Scene scene, LoadSceneMode mode)
public static void Setup(Scene scene, LoadSceneMode mode)
if (!scene.name.Contains("level") && !scene.name.Contains("demo")) return;
if(RaceData == null) RaceData = Instance.demoRaceData;
Instance.StartCoroutine(SetupRaceObjects());
Instance.StartCoroutine(SetupRace());
private static IEnumerator SetupRaceObjects()
public static IEnumerator SetupRace()
if(RaceData == null) RaceData = Instance.demoRaceData; // make sure we have the data, otherwise default to demo data
WaypointGroup.Instance.Setup(RaceData.reversed); // setup waypoints
yield return Instance.StartCoroutine(CreateBoats()); // spawn boats;

yield return Instance.StartCoroutine(CreatePlayerUi(0));
SetupCamera(0); // setup camera for player 1
break;
case GameType.LocalMultiplayer:
break;

ReplayCamera.Instance.EnableSpectatorMode();
break;
case GameType.Benchmark:
break;

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,

case GameType.Spectator:
GenerateRandomBoats(RaceData.boatCount);
break;
case GameType.LocalMultiplayer:
Debug.LogError("Not Implemented");
break;
case GameType.Multiplayer:
Debug.LogError("Not Implemented");
break;
case GameType.Benchmark:
Debug.LogError("Not Implemented");
break;
default:
throw new ArgumentOutOfRangeException();
}
}

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);
}
/// <summary>
/// Triggered to begin the race
/// </summary>
/// <returns></returns>
if (RaceData.game == GameType.Spectator)
{
ReplayCamera.Instance.EnableSpectatorMode();
}
var introCams = GameObject.FindWithTag("introCameras");
introCams.TryGetComponent<PlayableDirector>(out var introDirector);

}
yield return new WaitForSeconds(3f); // countdown 3..2..1..
StartRace(true);
RaceStarted = true;
raceStarted?.Invoke(RaceStarted);
SceneManager.sceneLoaded -= Setup;
private static void GenerateRandomBoats(int count, bool ai = true)
/// <summary>
/// Triggered when the race has finished
/// </summary>
private static void EndRace()
for (var i = 0; i < count; i++)
RaceStarted = false;
switch (RaceData.game)
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);
case GameType.Spectator:
UnloadRace();
break;
case GameType.Singleplayer:
SetupCamera(0, true);
break;
case GameType.LocalMultiplayer:
break;
case GameType.Multiplayer:
break;
case GameType.Benchmark:
break;
default:
throw new ArgumentOutOfRangeException();
if (RaceStarted)
if (!RaceStarted) return;
int finished = RaceData.boatCount;
for (var i = 0; i < RaceData.boats.Count; i++)
for (int i = 0; i < RaceData.boats.Count; i++)
var boat = RaceData.boats[i].Boat;
if (boat.MatchComplete)
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;
}
_boatTimes[i] = Mathf.Infinity; // completed the race so no need to update
--finished;
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))
else
boat.Place = place;
place--;
_boatTimes[i] = boat.LapPercentage + boat.LapCount;
}
if(RaceStarted && finished == 0)
EndRace();
RaceTime += Time.deltaTime;
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;
#region Utilities
public static int GetLapCount()
public static void LoadGame()
{
AppSettings.LoadScene(RaceData.level);
SceneManager.sceneLoaded += Setup;
}
public static void UnloadRace()
if (RaceData != null && RaceData.type == RaceType.Race)
Debug.LogWarning("Unloading Race");
if(Instance.raceUiPrefab != null && Instance.raceUiPrefab.IsValid())
return RaceData.laps;
Instance.raceUiPrefab.ReleaseAsset();
return -1;
Instance.Reset();
AppSettings.LoadScene(0, LoadSceneMode.Single);
public static void SetHull(int player, int hull) => RaceData.boats[player].boatPrefab = Instance.boats[hull];
private static IEnumerator CreateBoats()
{
for (int i = 0; i < RaceData.boats.Count; i++)

}
}
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 static IEnumerator CreatePlayerUi(int player)
{

boatData.Boat.RaceUi = uiComponent;
uiComponent.Setup(player);
}
}
private static void SetupCamera(int player, bool remove = false)
{
AppSettings.MainCamera.cullingMask |= 1 << LayerMask.NameToLayer($"Player{player + 1}");
if(remove)
AppSettings.MainCamera.cullingMask &= ~(1 << LayerMask.NameToLayer($"Player{player + 1}")); // TODO - this needs more work for when adding splitscreen.
else
AppSettings.MainCamera.cullingMask |= 1 << LayerMask.NameToLayer($"Player{player + 1}"); // TODO - this needs more work for when adding splitscreen.
public static int GetLapCount()
{
if (RaceData != null && RaceData.type == RaceType.Race)
{
return RaceData.laps;
}
return -1;
}
#endregion
}
}

28
Assets/Scripts/UI/MainMenuHelper.cs


private void UpdateBoat(int index)
{
RaceManager.SetHull(0, index);
for (int i = 0; i < boatMeshes.Length; i++)
for (var i = 0; i < boatMeshes.Length; i++)
{
boatMeshes[i].SetActive(i == index);
}

SetupDefaults();
}
private static void SetLevel(int index) { RaceManager.SetLevel(index); }
private static void SetLaps(int index) { RaceManager.RaceData.laps = ConstantData.Laps[index]; }
private static void SetReverse(int reverse) { RaceManager.RaceData.reversed = reverse == 1; }
public void StartRace() { RaceManager.LoadGame(); }
public void SetSinglePlayerName(string playerName) { RaceManager.RaceData.boats[0].boatName = playerName; }
private void UpdatePrimaryColor(int index) { UpdateBoatColor(index, true); }
private void UpdateTrimColor(int index) { UpdateBoatColor(index, false); }
private static void SetLevel(int index) => RaceManager.SetLevel(index);
private static void SetLaps(int index) => RaceManager.RaceData.laps = ConstantData.Laps[index];
private static void SetReverse(int reverse) => RaceManager.RaceData.reversed = reverse == 1;
public void StartRace() => RaceManager.LoadGame();
public void SetSinglePlayerName(string playerName) => RaceManager.RaceData.boats[0].boatName = playerName;
private void UpdatePrimaryColor(int index) => UpdateBoatColor(index, true);
private void UpdateTrimColor(int index) => UpdateBoatColor(index, false);
private void UpdateBoatColor(int index, bool primary)
{

2
Assets/Scripts/UI/RaceUI.cs


public void FinishMatch()
{
AppSettings.LoadScene(0, LoadSceneMode.Single);
RaceManager.UnloadRace();
}
public void LateUpdate()

210
Assets/Shaders/Clouds/CloudShader.shadergraph
文件差异内容过多而无法显示
查看文件

5
Assets/Shaders/CustomLighting.hlsl


DistanceAtten = 1;
ShadowAtten = 1;
#else
#ifdef SHADOWS_SCREEN
half4 clipPos = TransformWorldToHClip(WorldPos);
half4 shadowCoord = ComputeScreenPos(clipPos);
#else
#endif
Light mainLight = GetMainLight(shadowCoord);
Direction = mainLight.direction;
Color = mainLight.color;

4
Assets/Shaders/Skybox-Procedural-Universal.shader


static const float kCameraHeight = 0.0001;
#define kRAYLEIGH (lerp(0.0, 0.0025, pow(_AtmosphereThickness,2.5))) // Rayleigh constant
#define kRAYLEIGH (lerp(0.0, 0.0025, pow(abs(_AtmosphereThickness),2.5))) // Rayleigh constant
#define kMIE 0.0010 // Mie constant
#define kSUN_BRIGHTNESS 20.0 // Sun brightness

VertexPositionInputs vertexPositions = GetVertexPositionInputs(v.vertex.xyz);
OUT.pos = vertexPositions.positionCS;
float3 kSkyTintInGammaSpace = COLOR_2_GAMMA(_SkyTint); // convert tint from Linear back to Gamma
float3 kSkyTintInGammaSpace = COLOR_2_GAMMA(abs(_SkyTint)); // convert tint from Linear back to Gamma
float3 kScatteringWavelength = lerp (
kDefaultScatteringWavelength-kVariableRangeForScatteringWavelength,
kDefaultScatteringWavelength+kVariableRangeForScatteringWavelength,

296
Assets/Shaders/Vegetation/Vegetation.shadergraph
文件差异内容过多而无法显示
查看文件

469
Assets/scenes/demo_Island.unity


--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2

m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 112000000, guid: 24dff42e17d0f4e61a3a4c0f017b53fc,
type: 2}
m_LightingSettings: {fileID: 4890085278179872738, guid: 02a56a37086a97f44a4c9c81279b127f,
type: 2}
m_UseShadowmask: 0
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2

manualTileSize: 0
tileSize: 256
accuratePlacement: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}

type: 3}
m_PrefabInstance: {fileID: 6589000189408555943}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &502252589
PrefabInstance:
--- !u!1 &532100838
GameObject:
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 5782719753678795283, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_Name
value: Clouds
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.21430916
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9767659
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_RootOrder
value: 7
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -6.1470003
objectReference: {fileID: 0}
- target: {fileID: 7357475664972103680, guid: 860f73418635b430596220c04821a36c,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 860f73418635b430596220c04821a36c, type: 3}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 532100840}
- component: {fileID: 532100839}
m_Layer: 0
m_Name: DemoRun
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &532100839
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 532100838}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 090c385fc1e1c21469ea55abe35f2747, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &532100840
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 532100838}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -83.290085, y: 0.16831303, z: -21.762154}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &598956450
GameObject:
m_ObjectHideFlags: 0

m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!84 &1150881939
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WaterDepthMap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 1024
m_Height: 1024
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 2
m_ColorFormat: 142
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
--- !u!1 &1405642608
GameObject:
m_ObjectHideFlags: 1

m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!84 &2002433356
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WaterDepthMap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 1024
m_Height: 1024
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 2
m_ColorFormat: 142
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
--- !u!1 &2007948141
GameObject:
m_ObjectHideFlags: 3

- target: {fileID: 3924426380732521610, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 1
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980381112181, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980418246200, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980753695054, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980787626684, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980795662482, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798980900475564, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798981378263749, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798981638497575, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798981761669495, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6463798981935545256, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224579486120898, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224579524434575, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580077109078, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580182044008, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580190998342, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580224011444, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580292408461, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580412819677, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224580672661311, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464224581187950162, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336291329700142, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336291441763544, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336291691088052, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336292555942064, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336292747391164, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6464336293421493810, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000188976305594, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189032541802, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189203033239, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189631149051, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189661076311, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189741301962, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189812722206, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189861587145, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000189934312487, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}

propertyPath: m_Name
value: Island Level
objectReference: {fileID: 0}
- target: {fileID: 6589000190083865096, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190219289651, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.y

propertyPath: m_LocalRotation.w
value: 0.9290833
objectReference: {fileID: 0}
- target: {fileID: 6589000190355498174, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190481737503, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190546142107, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190558316006, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190778548962, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190799262650, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190891756380, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6589000190958889005, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Materials.Array.size
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.r
value: 0.9716981
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.g
value: 0.89161044
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.b
value: 0.7287736
objectReference: {fileID: 0}
- target: {fileID: 7121332023826027706, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Enabled

propertyPath: _depthTex
value:
objectReference: {fileID: 0}
- target: {fileID: 7121332023826027706, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: computeOverride
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7121332023826027706, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: _useComputeBuffer
value: 1
objectReference: {fileID: 0}
value: 0.011147388
value: 0.011147385
objectReference: {fileID: 0}
- target: {fileID: 7532958370797222331, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}

- target: {fileID: 7532958370797222331, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.07374499
value: -0.073744975
objectReference: {fileID: 0}
- target: {fileID: 7532958370797222331, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}

- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.53654194
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.66060746
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.27422032
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.w
value: -0.44779894
objectReference: {fileID: 0}
- target: {fileID: 8367957410019747705, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_ChildCameras.Array.size

- target: {fileID: 7003470173341666312, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}
propertyPath: m_LocalPosition.x
value: 13
value: -88
value: 1.4
value: 10
value: 3.5
value: 5
value: -0.04308238
value: 0.011147385
value: 0.15628563
value: 0.9860134
value: 0.00682358
value: -0.073744975
value: 0.98674834
value: 0.14904708
objectReference: {fileID: 0}
- target: {fileID: 7003470173341666312, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}

- target: {fileID: 7003470173341666315, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}
propertyPath: field of view
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7003470173341666315, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}
propertyPath: m_CullingMask.m_Bits
value: 3895
value: 50
objectReference: {fileID: 0}
- target: {fileID: 8288760422567894841, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}

67
Assets/scenes/main_menu.unity


m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_Sun: {fileID: 8187458271002221755}
m_IndirectSpecularColor: {r: 0.51376253, g: 1.0075885, b: 1.8685646, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3

- target: {fileID: 7003470173341666312, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}
propertyPath: m_LocalPosition.x
value: 7.2
value: 19.3
value: 0.35
value: 10.3
value: 57.24
value: 68.17
value: -0.013098759
value: 0.13562143
value: 0.671615
value: 0.63705677
value: 0.011535789
value: -0.11519858
value: 0.7406947
value: 0.74999654
objectReference: {fileID: 0}
- target: {fileID: 7003470173341666312, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}

- target: {fileID: 7003470173341666315, guid: 530da10d6c4d9442e9e8d5eeb77a25d8,
type: 3}
propertyPath: field of view
value: 21
value: 45
--- !u!84 &734953135
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WaterDepthMap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 1024
m_Height: 1024
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 2
m_ColorFormat: 142
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
--- !u!1 &852178392
GameObject:
m_ObjectHideFlags: 0

m_LookAt: {fileID: 0}
m_Follow: {fileID: 0}
m_Lens:
FieldOfView: 21
FieldOfView: 45
OrthographicSize: 10
NearClipPlane: 0.5
FarClipPlane: 1500

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 852178392}
m_LocalRotation: {x: -0.013098759, y: 0.671615, z: 0.011535789, w: 0.7406947}
m_LocalPosition: {x: 7.2, y: 0.35, z: 57.24}
m_LocalRotation: {x: 0.13562143, y: 0.63705677, z: -0.11519858, w: 0.74999654}
m_LocalPosition: {x: 19.3, y: 10.3, z: 68.17}
m_LocalEulerAnglesHint: {x: -2, y: 84.4, z: -0.029000001}
m_LocalEulerAnglesHint: {x: 20.5, y: 80.69, z: 0}
--- !u!114 &852178395
MonoBehaviour:
m_ObjectHideFlags: 0

objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 705cc40ed7b2348689ba68fd4bc915b3, type: 3}
--- !u!108 &8187458271002221755 stripped
Light:
m_CorrespondingSourceObject: {fileID: 1433639724959220010, guid: 705cc40ed7b2348689ba68fd4bc915b3,
type: 3}
m_PrefabInstance: {fileID: 8187458271002221754}
m_PrefabAsset: {fileID: 0}

5
Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs


if (cam.cameraType == CameraType.Preview || !WaterCausticMaterial)
return;
WaterCausticMaterial.SetMatrix("_MainLightDir", RenderSettings.sun.transform.localToWorldMatrix);
var sunMatrix = RenderSettings.sun != null
? RenderSettings.sun.transform.localToWorldMatrix
: Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(-45f, 45f, 0f), Vector3.one);
WaterCausticMaterial.SetMatrix("_MainLightDir", sunMatrix);
CommandBuffer cmd = CommandBufferPool.Get(k_RenderWaterCausticsTag);
using (new ProfilingScope(cmd, m_WaterCaustics_Profile))

6
Packages/com.verasl.water-system/Scripts/Water.cs


}
}
private void OnDestroy() {
private void OnDisable() {
Cleanup();
}

if (_useComputeBuffer)
{
Shader.EnableKeyword("USE_STRUCTURED_BUFFER");
if (waveBuffer == null)
waveBuffer = new ComputeBuffer(10, (sizeof(float) * 6));
waveBuffer?.Dispose();
waveBuffer = new ComputeBuffer(10, (sizeof(float) * 6));
waveBuffer.SetData(_waves);
Shader.SetGlobalBuffer(WaveDataBuffer, waveBuffer);
}

2
Packages/com.verasl.water-system/Shaders/GerstnerWaves.hlsl


half3 wave = 0; // wave vector
half w = 6.28318 / wavelength; // 2pi over wavelength(hardcoded)
half wSpeed = sqrt(9.8 * w); // frequency of the wave based off wavelength
half peak = 1.2; // peak value, 1 is the sharpest peaks
half peak = 1.5; // peak value, 1 is the sharpest peaks
half qi = peak / (amplitude * w * _WaveCount);
direction = radians(direction); // convert the incoming degrees to radians, for directional waves

4
Packages/com.verasl.water-system/Shaders/Water.shader


_BumpScale("Detail Wave Amount", Range(0, 2)) = 0.2//fine detail multiplier
_DitherPattern ("Dithering Pattern", 2D) = "bump" {}
[Toggle(_STATIC_SHADER)] _Static ("Static", Float) = 0
[KeywordEnum(Off, SSS, Refraction, Reflection, Normal, Fresnel, WaterEffects, WaterDepth)] _Debug ("Debug mode", Float) = 0
[KeywordEnum(Off, SSS, Refraction, Reflection, Normal, Fresnel, WaterEffects, Foam, WaterDepth)] _Debug ("Debug mode", Float) = 0
}
SubShader
{

#pragma shader_feature _REFLECTION_CUBEMAP _REFLECTION_PROBES _REFLECTION_PLANARREFLECTION
#pragma multi_compile _ USE_STRUCTURED_BUFFER
#pragma shader_feature _ _STATIC_SHADER
#pragma shader_feature _DEBUG_OFF _DEBUG_SSS _DEBUG_REFRACTION _DEBUG_REFLECTION _DEBUG_NORMAL _DEBUG_FRESNEL _DEBUG_WATEREFFECTS _DEBUG_WATERDEPTH
#pragma shader_feature _DEBUG_OFF _DEBUG_SSS _DEBUG_REFRACTION _DEBUG_REFLECTION _DEBUG_NORMAL _DEBUG_FRESNEL _DEBUG_WATEREFFECTS _DEBUG_FOAM _DEBUG_WATERDEPTH
// -------------------------------------
// Lightweight Pipeline keywords

16
Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl


// Depth
float3 depth = WaterDepth(IN.posWS, IN.additionalData, screenUV.xy);// TODO - hardcoded shore depth UVs
half depthEdge = saturate(depth.y * 20 + 1);
//return half4(0, frac(ceil(depth.y) / _MaxDepth), frac(IN.posWS.y), 1);
half depthMulti = 1 / _MaxDepth;

// Foam
half3 foamMap = SAMPLE_TEXTURE2D(_FoamMap, sampler_FoamMap, IN.uv.zw).rgb; //r=thick, g=medium, b=light
half waveFoam = 0;// saturate(IN.posWS.y + 0.5);
half edgeFoam = saturate(1 - depth.x * 0.5 - 0.25) * depthEdge;
half foamBlendMask = max(max(waveFoam, edgeFoam), waterFX.r * 2);// + IN.fogFactorNoise.y * 0.1; //max(max((foamMask + shoreMask) - IN.fogFactorNoise.y * 0.25, waterFX.r * 2), shoreWave);
half depthEdge = saturate(depth.x * 20);
half waveFoam = saturate(IN.additionalData.z - 0.75 * 0.5); // wave tips
half depthAdd = saturate(1 - depth.x * 4) * 0.5;
half edgeFoam = saturate((1 - min(depth.x, depth.y) * 0.5 - 0.25) + depthAdd) * depthEdge;
half foamBlendMask = max(max(waveFoam, edgeFoam), waterFX.r * 2);
half foamMask = saturate(length(foamMap * foamBlend) * 1.5 - 0.1 + saturate(1 - depth.x * 4) * 0.5);
half foamMask = saturate(length(foamMap * foamBlend) * 1.5 - 0.1);
// Foam lighting
half3 foam = foamMask.xxx * (mainLight.shadowAttenuation * mainLight.color + GI);

// Fog
float fogFactor = IN.fogFactorNoise.x;
comp = MixFog(comp, fogFactor);
//comp = DebugWaterFX(comp, waterFX, screenUV.x);
#if defined(_DEBUG_SSS)
#if defined(_DEBUG_FOAM)
return half4(foamMask.xxx, 1);
#elif defined(_DEBUG_SSS)
return half4(sss, 1);
#elif defined(_DEBUG_REFRACTION)
return half4(refraction, 1);

55
Packages/com.verasl.water-system/Textures/WaterFoam.png.meta


fileFormatVersion: 2
guid: ca439406e806ecf44a9586510be9477d
TextureImporter:
fileIDToRecycleName: {}
internalIDToNameTable: []
serializedVersion: 6
serializedVersion: 11
mipMapMode: 0
mipMapMode: 1
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0

isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0

maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
- serializedVersion: 2
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 512
textureFormat: -1
textureCompression: 3
textureFormat: 7
textureCompression: 2
- serializedVersion: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 512
textureFormat: -1
textureCompression: 3
textureFormat: 7
textureCompression: 2
- 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: 1
- serializedVersion: 3
maxTextureSize: 1024
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: 7
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Nintendo Switch
maxTextureSize: 512
textureFormat: -1
textureCompression: 3
textureFormat: 7
textureCompression: 2
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

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

22
Packages/com.verasl.water-system/package.json


{
"name": "com.verasl.water-system",
"description": "A water system for URP.",
"version": "1.3.0-preview.1",
"unity": "2019.3",
"displayName": "Boat Attack Water System",
"dependencies": {
"com.unity.mathematics": "1.0.0",
"com.unity.burst": "1.0.0",
"com.unity.render-pipelines.universal": "7.1.0"
}
}
"name": "com.verasl.water-system",
"description": "A water system for URP.",
"version": "1.4.0-preview.1",
"unity": "2019.4",
"displayName": "Boat Attack Water System",
"dependencies": {
"com.unity.mathematics": "1.1.0",
"com.unity.burst": "1.2.3",
"com.unity.render-pipelines.universal": "7.4.1"
}
}

26
Packages/manifest.json


{
"dependencies": {
"com.unity.2d.sprite": "1.0.0",
"com.unity.addressables": "1.8.3",
"com.unity.build-report-inspector": "0.1.2-preview",
"com.unity.burst": "1.1.2",
"com.unity.cinemachine": "2.5.0",
"com.unity.ide.rider": "1.2.1",
"com.unity.addressables": "1.8.4",
"com.unity.build-report-inspector": "0.2.2-preview",
"com.unity.burst": "1.2.3",
"com.unity.cinemachine": "2.6.0",
"com.unity.ide.rider": "2.0.5",
"com.unity.ide.vscode": "1.2.0",
"com.unity.ide.vscode": "1.2.1",
"com.unity.memoryprofiler": "0.2.1-preview.1",
"com.unity.render-pipelines.universal": "8.1.0",
"com.unity.memoryprofiler": "0.2.4-preview.1",
"com.unity.render-pipelines.universal": "7.4.1",
"com.unity.textmeshpro": "3.0.0-preview.14",
"com.unity.timeline": "1.2.11",
"com.unity.textmeshpro": "2.1.0-preview.14",
"com.unity.timeline": "1.2.15",
"com.unity.ugui": "1.0.0",
"net.peeweek.gameplay-ingredients": "https://github.com/peeweek/net.peeweek.gameplay-ingredients.git#2019.3.0",
"com.unity.modules.ai": "1.0.0",

"com.unity.modules.vr": "1.0.0",
"com.unity.modules.wind": "1.0.0",
"com.unity.modules.xr": "1.0.0"
},
"lock": {
"net.peeweek.gameplay-ingredients": {
"revision": "2019.3.0",
"hash": "604801ada543d20bc302f6310305fe29016d23d2"
}
}
}

3
ProjectSettings/EditorBuildSettings.asset


- enabled: 1
path: Assets/scenes/_levels/level_Island.unity
guid: e49366a21c3d84388bfb33016c0e77e2
- enabled: 0
path: Assets/scenes/demo_Island.unity
guid: b3bf1324da98a41e796a5881dd3812eb
m_configObjects:
com.unity.addressableassets: {fileID: 11400000, guid: 3f119a19757f84dac85ee298b9dd65d3,
type: 2}

23
ProjectSettings/EditorSettings.asset


%TAG !u! tag:unity3d.com,2011:
--- !u!159 &1
EditorSettings:
m_AssetPipelineMode: 1
serializedVersion: 9
m_ExternalVersionControlSupport: Hidden Meta Files
serializedVersion: 11
m_PrefabRegularEnvironment: {fileID: 102900000, guid: e89eb03bc0e114a7ca5e05a494b423b7,
type: 3}
m_PrefabRegularEnvironment: {fileID: 0}
m_PrefabUIEnvironment: {fileID: 0}
m_SpritePackerMode: 0
m_SpritePackerPaddingPower: 1

m_EtcTextureBestCompressor: 4
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp;asmref
m_CollabEditorSettings:
inProgressEnabled: 1
m_CachingShaderPreprocessor: 0
m_ShowLightmapResolutionOverlay: 1
m_SerializeInlineMappingsOnOneLine: 0
m_DisableCookiesInLightmapper: 1
m_AssetPipelineMode: 1
m_CacheServerMode: 0
m_CacheServerEndpoint:
m_CacheServerNamespacePrefix: default
m_CacheServerEnableDownload: 1
m_CacheServerEnableUpload: 1
m_CacheServerEnableAuth: 0
m_CacheServerEnableTls: 0

1
ProjectSettings/GraphicsSettings.asset


- {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}

36
ProjectSettings/ProjectSettings.asset


m_StereoRenderingPath: 1
m_ActiveColorSpace: 1
m_MTRendering: 1
m_StackTraceTypes: 010000000100000001000000000000000100000001000000
m_StackTraceTypes: 020000000100000001000000010000000100000001000000
iosShowActivityIndicatorOnLoading: -1
androidShowActivityIndicatorOnLoading: -1
iosUseCustomAppBackgroundBehavior: 0

xboxOneMonoLoggingLevel: 0
xboxOneLoggingLevel: 1
xboxOneDisableEsram: 0
xboxOneEnableTypeOptimization: 0
xboxOnePresentImmediateThreshold: 0
switchQueueCommandMemory: 0
switchQueueControlMemory: 0

switchNVNOtherPoolsGranularity: 16777216
vulkanNumSwapchainBuffers: 2
stadiaPresentMode: 0
stadiaTargetFramerate: 0
vulkanNumSwapchainBuffers: 3
vulkanEnableSetSRGBWrite: 0
m_SupportedAspectRatios:
4:3: 1

bundleVersion: 0.9
preloadedAssets:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1

iOSTargetOSVersionString: 11.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 10.0
tvOSTargetOSVersionString: 11.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1

iPhoneSplashScreen: {fileID: 0}
iPhoneHighResSplashScreen: {fileID: 0}
iPhoneTallHighResSplashScreen: {fileID: 0}
iPhone47inSplashScreen: {fileID: 0}
iPhone55inPortraitSplashScreen: {fileID: 0}
iPhone55inLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
iPhone58inPortraitSplashScreen: {fileID: 0}
iPhone58inLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
iPadPortraitSplashScreen: {fileID: 0}
iPadHighResPortraitSplashScreen: {fileID: 0}
iPadLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
iPadHighResLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
iPhone65inPortraitSplashScreen: {fileID: 0}
iPhone65inLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
iPhone61inPortraitSplashScreen: {fileID: 0}
iPhone61inLandscapeSplashScreen: {fileID: 2800000, guid: a2933378be5cc4b0bb3c3cc7f9c079de,
type: 3}
appleTVSplashScreen: {fileID: 0}
appleTVSplashScreen2x: {fileID: 0}
tvOSSmallIconLayers: []

ps4UseResolutionFallback: 0
ps4ReprojectionSupport: 1
ps4UseAudio3dBackend: 0
ps4UseLowGarlicFragmentationMode: 1
ps4SocialScreenEnabled: 0
ps4ScriptOptimizationLevel: 2
ps4Audio3dVirtualSpeakerCount: 14

XboxOnePersistentLocalStorageSize: 0
XboxOneXTitleMemory: 8
XboxOneOverrideIdentityName:
XboxOneOverrideIdentityPublisher:
vrEditorSettings:
daydream:
daydreamIconForeground: {fileID: 0}

4
ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2019.3.0f6
m_EditorVersionWithRevision: 2019.3.0f6 (27ab2135bccf)
m_EditorVersion: 2019.4.2f1
m_EditorVersionWithRevision: 2019.4.2f1 (20b4642a3455)

8
ProjectSettings/QualitySettings.asset


excludedTargetPlatforms:
- PS4
- XboxOne
- Nintendo Switch
- serializedVersion: 2
name: Medium
pixelLightCount: 4

realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 0
vSyncCount: 1
lodBias: 2
lodBias: 3
maximumLODLevel: 0
streamingMipmapsActive: 1
streamingMipmapsAddAllCameras: 1

type: 2}
excludedTargetPlatforms:
- WebGL
- Nintendo Switch
- PS4
- XboxOne
- serializedVersion: 2

skinWeights: 2
textureQuality: 0
anisotropicTextures: 2
antiAliasing: 0
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1

m_PerPlatformDefaultQuality:
Android: 0
Nintendo 3DS: 0
Nintendo Switch: 0
Nintendo Switch: 1
PS4: 2
PSP2: 0
Standalone: 2

4
ProjectSettings/TagManager.asset


- UI
-
-
- Clouds
- 3DSkybox
- WaterFX
- Terrain
- Boat

- Player4
-
- Otherthing
-
-
-

2
ProjectSettings/URPProjectSettings.asset


m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
m_Name:
m_EditorClassIdentifier:
m_LastMaterialVersion: 1
m_LastMaterialVersion: 2

38
Assets/Data/UniversalRP/SkyboxRenderer.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: SkyboxRenderer
m_EditorClassIdentifier:
m_RendererFeatures: []
m_RendererFeatureMap:
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
type: 3}
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 256
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 256
m_DefaultStencilState:
overrideStencilState: 1
stencilReference: 0
stencilCompareFunction: 3
passOperation: 0
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 0

8
Assets/Data/UniversalRP/SkyboxRenderer.asset.meta


fileFormatVersion: 2
guid: 3e310f0e4ac49914e8b1598a478c362e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

26
Assets/Scripts/Editor/AutoBuildAddressables.cs


using UnityEditor;
using UnityEditor.AddressableAssets.Settings;
public class AutoBuildAddressables
{
private const string Title = "Adressables";
private const string Message = "This project uses Addressables for it's content, if you havent built these already the player will fail to function correctly.";
private const string Agree = "Build Adressables Now";
private const string Disagree = "Ignore";
[InitializeOnLoadMethod]
private static void Initialize()
{
BuildPlayerWindow.RegisterBuildPlayerHandler(BuildPlayerHandler);
}
private static void BuildPlayerHandler(BuildPlayerOptions options)
{
if (EditorUtility.DisplayDialog(Title, Message, Agree, Disagree))
{
AddressableAssetSettings.BuildPlayerContent();
}
BuildPlayerWindow.DefaultBuildMethods.BuildPlayer(options);
}
}

11
Assets/Scripts/Editor/AutoBuildAddressables.cs.meta


fileFormatVersion: 2
guid: dc9577da99836c947b831d20ee1d276b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

11
Assets/Scripts/Utility/DemoRun.cs


using BoatAttack;
using UnityEngine;
using UnityEngine.SceneManagement;
public class DemoRun : MonoBehaviour
{
private void Start()
{
StartCoroutine(RaceManager.SetupRace());
}
}

11
Assets/Scripts/Utility/DemoRun.cs.meta


fileFormatVersion: 2
guid: 090c385fc1e1c21469ea55abe35f2747
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

427
Packages/packages-lock.json


{
"dependencies": {
"com.unity.2d.sprite": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.addressables": {
"version": "1.8.4",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.scriptablebuildpipeline": "1.7.3",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.build-report-inspector": {
"version": "0.2.2-preview",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.burst": {
"version": "1.2.3",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.1.0"
},
"url": "https://packages.unity.com"
},
"com.unity.cinemachine": {
"version": "2.6.0",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.editorcoroutines": {
"version": "1.0.0",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": {
"version": "1.0.0",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ide.rider": {
"version": "2.0.5",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.1.1"
},
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
"version": "2.0.1",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
"version": "1.2.1",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.inputsystem": {
"version": "1.0.0",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.mathematics": {
"version": "1.1.0",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.memoryprofiler": {
"version": "0.2.4-preview.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.editorcoroutines": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.core": {
"version": "7.4.1",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.universal": {
"version": "7.4.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.render-pipelines.core": "7.4.1",
"com.unity.shadergraph": "7.4.1"
},
"url": "https://packages.unity.com"
},
"com.unity.scriptablebuildpipeline": {
"version": "1.7.3",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.shadergraph": {
"version": "7.4.1",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.render-pipelines.core": "7.4.1"
},
"url": "https://packages.unity.com"
},
"com.unity.terrain-tools": {
"version": "3.0.1-preview",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
"version": "1.1.14",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.textmeshpro": {
"version": "2.1.0-preview.14",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
"version": "1.2.15",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ugui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0"
}
},
"com.verasl.water-system": {
"version": "file:com.verasl.water-system",
"depth": 0,
"source": "embedded",
"dependencies": {
"com.unity.mathematics": "1.1.0",
"com.unity.burst": "1.2.3",
"com.unity.render-pipelines.universal": "7.4.1"
}
},
"net.peeweek.gameplay-ingredients": {
"version": "https://github.com/peeweek/net.peeweek.gameplay-ingredients.git#2019.3.0",
"depth": 0,
"source": "git",
"dependencies": {
"com.unity.cinemachine": "2.3.4"
},
"hash": "604801ada543d20bc302f6310305fe29016d23d2"
},
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.androidjni": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.animation": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.assetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.audio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.cloth": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.director": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.animation": "1.0.0"
}
},
"com.unity.modules.imageconversion": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.imgui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.jsonserialize": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.particlesystem": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics2d": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.screencapture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.subsystems": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.terrain": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.terrainphysics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.terrain": "1.0.0"
}
},
"com.unity.modules.ui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.uielements": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.umbra": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unityanalytics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.unitywebrequest": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unitywebrequestassetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.unitywebrequestaudio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.audio": "1.0.0"
}
},
"com.unity.modules.unitywebrequesttexture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.unitywebrequestwww": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.video": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.vr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
},
"com.unity.modules.wind": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.xr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.subsystems": "1.0.0"
}
}
}
}

16
ProjectSettings/PackageManagerSettings.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
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: 13964, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_EnablePreviewPackages: 1
oneTimeWarningShown: 1

1
ProjectSettings/VersionControlSettings.asset


�� 2020.1.0b1�����$5�����w���6����):\7����������H������1�1�����@���Q�j�3�L�J@VersionControlSettingsm_ModeCollabEditorSettingsm_CollabEditorSettingsinProgressEnabled Visible Meta Files

21
Assets/Resources/VolumeHolder.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
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: bea894b80a78a4f9a9d5210e78f59e3b, type: 3}
m_Name: VolumeHolder
m_EditorClassIdentifier: Assembly-CSharp::VolumeHolder
_Volumes:
- {fileID: 11400000, guid: ad80f6934bc444a93bb29c1f6db70cf3, type: 2}
- {fileID: 11400000, guid: 200e02ce26d6c422db35ba0777d71a09, type: 2}
- {fileID: 11400000, guid: 4fe8789f8ee054ac49d9f7fe042e0918, type: 2}
- {fileID: 11400000, guid: dbf7710ff9a33440f8390ed8e04dbb77, type: 2}
qualityIndicies: 00000000010000000200000003000000
qualityVolumeIndicies: 00000000010000000200000003000000

8
Assets/Resources/VolumeHolder.asset.meta


fileFormatVersion: 2
guid: 04d8388c7b7c041efbee43fd179b338d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

63
Assets/scenes/demo_IslandSettings.lighting


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: demo_IslandSettings
serializedVersion: 2
m_GIWorkflowMode: 1
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 2
m_UsingShadowmask: 0
m_BakeBackend: 1
m_LightmapMaxSize: 2048
m_BakeResolution: 2.5
m_Padding: 2
m_TextureCompression: 1
m_AO: 0
m_AOMaxDistance: 4
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 0
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15201, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_FinalGather: 0
m_FinalGatherRayCount: 256
m_FinalGatherFiltering: 1
m_PVRCulling: 0
m_PVRSampling: 1
m_PVRDirectSampleCount: 16
m_PVRSampleCount: 128
m_PVREnvironmentSampleCount: 64
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRRussianRouletteStartBounce: 2
m_PVREnvironmentMIS: 0
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 0
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1

8
Assets/scenes/demo_IslandSettings.lighting.meta


fileFormatVersion: 2
guid: 02a56a37086a97f44a4c9c81279b127f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存