浏览代码

Level tweaks

Perf tweaks
Added shadow switcher for main camera rendering
/main
Andre McGrail 6 年前
当前提交
eb60867b
共有 39 个文件被更改,包括 1879 次插入824 次删除
  1. 4
      Assets/LightweightAsset.asset
  2. 2
      Assets/Objects/boats/Temp/Prefabs/_Boat.prefab
  3. 8
      Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat
  4. 8
      Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat
  5. 8
      Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat
  6. 8
      Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat
  7. 4
      Assets/Scripts/Boat/Engine.cs
  8. 30
      Assets/Scripts/Boat/OnlineTut/BoatPhysics.cs
  9. 797
      Assets/Scripts/Boat/OnlineTut/ModifyBoatMesh.cs
  10. 3
      Assets/Shaders/LWDitheredVegetation.ShaderGraph.meta
  11. 1
      Assets/Shaders/LWVegetationShader.shader
  12. 13
      Assets/Shaders/PackedPBR.ShaderGraph
  13. 3
      Assets/Shaders/PackedPBR.ShaderGraph.meta
  14. 3
      Assets/TangentIssue/TangentIssue.ShaderGraph.meta
  15. 19
      Assets/Textures/Island/Materials/BushTest.mat
  16. 275
      Assets/scenes/Island.unity
  17. 2
      Assets/scenes/Island_Profiles/PostVolumeGlobal Profile.asset
  18. 157
      Assets/scenes/Testing/BoatPhysics.unity
  19. 44
      Assets/scenes/Testing/meshSetups.unity
  20. 4
      Packages/manifest.json
  21. 4
      ProjectSettings/GraphicsSettings.asset
  22. 7
      ProjectSettings/ProjectSettings.asset
  23. 2
      ProjectSettings/ProjectVersion.txt
  24. 10
      ProjectSettings/QualitySettings.asset
  25. 2
      ProjectSettings/TimeManager.asset
  26. 8
      Assets/Objects/props/props.meta
  27. 8
      Assets/Objects/props/props/Maps.meta
  28. 84
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_AlbedoTransparency.tif.meta
  29. 117
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_MetallicSmoothness.tif.meta
  30. 84
      Assets/Objects/props/props/Maps/Props_LOW_Matr_Props_Normal.tif.meta
  31. 86
      Assets/Objects/props/props/Matr_Props.mat
  32. 8
      Assets/Objects/props/props/Matr_Props.mat.meta
  33. 134
      Assets/Objects/props/props/Props_low.fbx.meta
  34. 37
      Assets/Scripts/Effects/ShadowOnlyPass.cs
  35. 11
      Assets/Scripts/Effects/ShadowOnlyPass.cs.meta
  36. 438
      Assets/scenes/Island/NavMesh-SeaVisual 1.asset
  37. 8
      Assets/scenes/Island/NavMesh-SeaVisual 1.asset.meta
  38. 254
      Assets/scenes/Island/NavMesh-SeaVisual 2.asset
  39. 8
      Assets/scenes/Island/NavMesh-SeaVisual 2.asset.meta

4
Assets/LightweightAsset.asset


m_Name: LightweightAsset
m_EditorClassIdentifier:
kAssetVersion: 2
m_MaxPixelLights: 4
m_MaxPixelLights: 1
m_SupportsVertexLight: 0
m_RequireDepthTexture: 0
m_RequireSoftParticles: 0

m_ShadowType: 2
m_ShadowType: 1
m_ShadowAtlasResolution: 1024
m_ShadowNearPlaneOffset: 2
m_ShadowDistance: 350

2
Assets/Objects/boats/Temp/Prefabs/_Boat.prefab


m_Name:
m_EditorClassIdentifier:
boatHull: {fileID: 4300000, guid: e67155c36d10c114aae34b4c92cbe92a, type: 3}
centerOfMass: {x: 0, y: -0.2, z: -2}
centerOfMass: {x: 0, y: -0.4, z: -2.4}
multiplier: 0.2
debugMesh: 0
--- !u!198 &198104015329072190

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


m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: d92549beef5b94c4ba98098ec343e438, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 73448ca97ea5f4b4f88686c2976cd24b, type: 3}
m_Scale: {x: 1, y: 1}

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


m_Texture: {fileID: 2800000, guid: 72fa33764de20416585e91ba2cbf1769, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 5ab9468c2f0ac4d958d4fab8b7a332b6, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: 72fa33764de20416585e91ba2cbf1769, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 5ab9468c2f0ac4d958d4fab8b7a332b6, type: 3}
m_Scale: {x: 1, y: 1}

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


m_Texture: {fileID: 2800000, guid: c904612e24dae4b598a7c6276fdbcb96, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: 2bdd7d6ad79724736b1b84446305dfbb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: c904612e24dae4b598a7c6276fdbcb96, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: 2bdd7d6ad79724736b1b84446305dfbb, type: 3}
m_Scale: {x: 1, y: 1}

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


m_Texture: {fileID: 2800000, guid: 9dcfebd3827a5451894d55ba9c19dab2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_AE91C5C2:
m_Texture: {fileID: 2800000, guid: de66a605dcddb493bac5bf7d4c20f431, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_DE8BF47E:
m_Texture: {fileID: 2800000, guid: 9dcfebd3827a5451894d55ba9c19dab2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture_EE0ED318:
m_Texture: {fileID: 2800000, guid: de66a605dcddb493bac5bf7d4c20f431, type: 3}
m_Scale: {x: 1, y: 1}

4
Assets/Scripts/Boat/Engine.cs


public void TurnLeft(float modifier)
{
//if(buoyantObject.percentSubmerged > 0.05f)
RB.AddRelativeTorque (new Vector3 (-torque * 0.25f, -torque, torque * 0.5f) * modifier * 500f, ForceMode.Acceleration);
RB.AddRelativeTorque (new Vector3 (0f, -torque, torque * 0.5f) * modifier * 500f, ForceMode.Acceleration);
// if(engineDir.x < 1f)
// engineDir.x += modifier;

public void TurnRight(float modifier)
{
//if(buoyantObject.percentSubmerged > 0.05f)
RB.AddRelativeTorque (new Vector3 (-torque * 0.25f, torque, -torque * 0.5f) * modifier * 500f, ForceMode.Acceleration);
RB.AddRelativeTorque (new Vector3 (0f, torque, -torque * 0.5f) * modifier * 500f, ForceMode.Acceleration);
// if(engineDir.x > -1f)
// engineDir.x -= modifier;

30
Assets/Scripts/Boat/OnlineTut/BoatPhysics.cs


//Script that's doing everything needed with the boat mesh, such as finding out which part is above the water
private ModifyBoatMesh modifyBoatMesh;
public ModifyBoatMesh.TriangleData[] triangleData;
//public ModifyBoatMesh.TriangleData[] triangleData;
//Mesh for debugging
private Mesh underWaterMesh;

Profiler.BeginSample("AddUnderwaterForces");
//boatRB.drag = 0.25f;
//Add forces to the part of the boat that's below the water
if (modifyBoatMesh.underWaterTriangleData.Count > 0)
if (modifyBoatMesh.underWaterTriangleData?.Length > 0)
{
AddUnderWaterForces();
}

void Update()
{
StartCoroutine(modifyBoatMesh.ModifyBoatData());
triangleData = modifyBoatMesh.underWaterTriangleData.ToArray();
//triangleData = modifyBoatMesh.underWaterTriangleData.ToArray();
//Display the under water mesh
//if(debugMesh)
//modifyBoatMesh.DisplayMesh(underWaterMesh, "UnderWater Mesh", modifyBoatMesh.underWaterTriangleData);

void AddUnderWaterForces()
{
//Get all triangles
List<ModifyBoatMesh.TriangleData> underWaterTriangleData = modifyBoatMesh.underWaterTriangleData;
ModifyBoatMesh.TriangleData[] underWaterTriangleData = modifyBoatMesh.underWaterTriangleData;
for (int i = 0; i < underWaterTriangleData.Count; i++)
for (int i = 0; i < underWaterTriangleData.Length; i++)
{
//This triangle
ModifyBoatMesh.TriangleData triangleData = underWaterTriangleData[i];

{
//Normal
Debug.DrawRay(triangleData.center, triangleData.normal, Color.white);
//Buoyancy
Debug.DrawRay(triangleData.center, buoyancyForce.normalized, Color.blue);
//Buoyancy
//Debug.DrawRay(triangleData.center, buoyancyForce.normalized, Color.blue);
Debug.DrawRay(triangleData.center, Vector3.up * triangleData.distanceToSurface, Color.blue);
}
}
}

return buoyancyForce;
}
void OnDisable()
{
modifyBoatMesh.BufferCleanup();
}
if(underWaterMesh && debugMesh)
{
Gizmos.color = Color.red;
Gizmos.DrawMesh(underWaterMesh, transform.position, transform.rotation);
}
// if(underWaterMesh && debugMesh)
// {
// Gizmos.color = Color.red;
// Gizmos.DrawMesh(underWaterMesh, transform.position, transform.rotation);
// }
Gizmos.color = Color.green;
Gizmos.DrawSphere(transform.TransformPoint(centerOfMass), 0.5f);
}

797
Assets/Scripts/Boat/OnlineTut/ModifyBoatMesh.cs


{
//The boat transform needed to get the global position of a vertice
private Transform boatTrans;
//Coordinates of all vertices in the original boat
Vector3[] boatVertices;
//Positions in allVerticesArray, such as 0, 3, 5, to build triangles
int[] boatTriangles;
//So we only need to make the transformation from local to global once
public Vector3[] boatVerticesGlobal;
//Find all the distances to water once because some triangles share vertices, so reuse
float[] allDistancesToWater;
public List<TriangleData> underWaterTriangleData = new List<TriangleData>();
//List that will store the data we need to sort the vertices based on distance to water
VertexData[] vertexData = new VertexData[3];
public TriangleData[] underWaterTriangleData;
//GerstnerWave specifics
Vector4[] _waveData;
int _waveCount;
bool _processing;
//ModifyBoatMesh specifics
Matrix4x4 boatTransformMatrix;
//Native Arrays
NativeArray<Vector3> boatVerts; // vert positions original mesh
NativeArray<int> boatTris; // list of vert indices making up the tris
NativeArray<Water.Wave> waveData; // Wave data from teh water system
NativeArray<Vector3> wavePos; // Array to stor post wave position calculation
NativeArray<Vector3> globalVertChecklist; // array for positions to height check
NativeArray<TriangleData> triData; // Final output of the job run, data used by boat physics
NativeArray<TriangleDataBase> triDataBase; // Intermediate output for the cut triangles
NativeArray<int> triDataBaseCount; // List of counts of triangles to calculate
NativeArray<VertexDataSet> oneAbove;
NativeArray<VertexDataSet> twoAbove;
NativeArray<Vector3> finalHightPosCheck;
JobHandle triDataFinalHandle; // final handle for job flow, needed for early cleanup/termination
//Get the transform
boatTrans = boatObj.transform;
//Init the arrays and lists
boatVertices = mesh.vertices;
boatTriangles = mesh.triangles;
//The boat vertices in global position
boatVerticesGlobal = new Vector3[boatVertices.Length];
//Find all the distances to water once because some triangles share vertices, so reuse
allDistancesToWater = new float[boatVertices.Length];
vertexData[0] = new VertexData();
vertexData[1] = new VertexData();
vertexData[2] = new VertexData();
///New stuff
//Wave data
_waveData = Water.Instance.GetWaveData();
waveData = new NativeArray<Water.Wave>(_waveCount, Allocator.Persistent);
for (var i = 0; i < waveData.Length; i++)
{
waveData[i] = Water.Instance._waves[i];
}
//This specific
//Boat specific
boatTrans = boatObj.transform;
boatVerts = new NativeArray<Vector3>(mesh.vertices.Length, Allocator.Persistent);
for(var i = 0; i < boatVerts.Length; i++)
boatVerts[i] = mesh.vertices[i];

boatTris[i] = mesh.triangles[i];
boatTransformMatrix = boatTrans.localToWorldMatrix;
//Jobs specific
wavePos = new NativeArray<Vector3>(128, Allocator.Persistent); // To store the waves between calcs
globalVertChecklist = new NativeArray<Vector3>(boatVerts.Length, Allocator.Persistent); // array to check initial verts(size )
triData = new NativeArray<TriangleData>(128, Allocator.Persistent);
triDataBase = new NativeArray<TriangleDataBase>(128, Allocator.Persistent);
triDataBaseCount = new NativeArray<int>(3, Allocator.Persistent); // 0=base, 1=one above, 2=two above
//VertexData for both one above and two above
oneAbove = new NativeArray<VertexDataSet>(32, Allocator.Persistent);
twoAbove = new NativeArray<VertexDataSet>(32, Allocator.Persistent);
finalHightPosCheck = new NativeArray<Vector3>(128, Allocator.Persistent);
void OnDisable()
public void BufferCleanup()
triDataFinalHandle.Complete();
waveData.Dispose();
globalVertChecklist.Dispose();
wavePos.Dispose();
triData.Dispose();
triDataBase.Dispose();
triDataBaseCount.Dispose();
oneAbove.Dispose();
twoAbove.Dispose();
finalHightPosCheck.Dispose();
//GerstnerWave specifics
Vector4[] _waveData;
int _waveCount;
//ModifyBoatMesh specifics
NativeArray<Vector3> boatVerts; // vert positions original mesh
NativeArray<int> boatTris;
Matrix4x4 boatTransformMatrix;
///setup jobs
///Waves specfic
NativeArray<Vector4> waveData = new NativeArray<Vector4>(_waveData.Length, Allocator.Temp);
for(var i = 0; i < _waveData.Length; i++)
{
waveData[i] = _waveData[i];
}
NativeArray<Vector3> wavePos = new NativeArray<Vector3>(128, Allocator.Temp); // To store the waves between calcs
///ModifyBoatMesh specific
//Triangledata array, finalDatapoint
NativeArray<TriangleData> triData = new NativeArray<TriangleData>(128, Allocator.Temp);
while(_processing) yield return null;
_processing = true;
for (var i = 0; i < triDataBaseCount.Length; i++) triDataBaseCount[i] = 0;
///setup jobs
//Triangledatabase array, intermediate point
NativeArray<TriangleDataBase> triDataBase = new NativeArray<TriangleDataBase>(128, Allocator.TempJob);
int triDataBaseCount = 0;
//VertexData for both one above and two above
NativeArray<VertexDataSet> oneAbove = new NativeArray<VertexDataSet>(32, Allocator.TempJob);
int oneAboveCount = 0;
NativeArray<VertexDataSet> twoAbove = new NativeArray<VertexDataSet>(32, Allocator.TempJob);
int twoAboveCount = 0;
NativeArray<Vector3> globalVertChecklist = new NativeArray<Vector3>(boatVerts.Length, Allocator.Temp);
///JOB01
//globalPos of verts
var localToWorld = new GlobalVertConversion(){inPos = boatVerts, outPos = globalVertChecklist, matrix = boatTransformMatrix};

triDataBase = triDataBase,
triDataBaseCount = triDataBaseCount,
OneAbove = oneAbove,
OneAboveCount = oneAboveCount,
TwoAbove = twoAbove,
TwoAboveCount = twoAboveCount
TwoAbove = twoAbove
};
var addTrisHandle = addTris.Schedule(heightPass1Handle);

input = oneAbove,
inputCount = oneAboveCount,
inputCount = triDataBaseCount,
output = triDataBase
};
var addOneHandle = addOne.Schedule(addTrisHandle);

input = twoAbove,
inputCount = twoAboveCount,
inputCount = triDataBaseCount,
output = triDataBase
};
var addTwoHandle = addTwo.Schedule(addOneHandle);

input = triDataBase,
output = triData
count = triDataBaseCount,
output = triData,
outputPos = finalHightPosCheck
while(!triDataSortingHandle.IsCompleted) yield return new WaitForEndOfFrame();
triDataSortingHandle.Complete();
///JOB04 - dependant on job3/minijob1/minijob2
// var heightPass2 = new GerstnerWavesJobs.HeightJob()
// {
// waveData = waveData,
// waveCount = _waveCount,
// position = inPos,
// time = Time.time,
// outPosition = outPos
// };
//Schedule all jobs
underWaterTriangleData.Clear();
var heightPass2 = new GerstnerWavesJobs.HeightJob()
{
waveData = waveData,
waveCount = _waveCount,
position = finalHightPosCheck,
time = Time.time,
outPosition = wavePos
};
var heightPass2Handle = heightPass2.Schedule(triData.Length, 4, triDataSortingHandle);
//Final height assignment
var triDataFinal = new TriangleFinalize()
{
inputPos = wavePos,
data = triData
};
triDataFinalHandle = triDataFinal.Schedule(triData.Length, 16, heightPass2Handle);
while(!triDataFinalHandle.IsCompleted) yield return new WaitForFixedUpdate();
triDataFinalHandle.Complete();
///JOB04 - dependant on job3/minijob1/minijob2
int len = addTris.triDataBaseCount + (addTris.OneAboveCount * 2) + addTris.TwoAboveCount;
Debug.Log("Triangles to process " + len + " Datasample=" + addTris.boatTris[0]);
int len = addTris.triDataBaseCount[0] + (addTris.triDataBaseCount[1] * 2) + addTris.triDataBaseCount[2];
//Debug.Log("Triangles to process " + len + " Datasample=" + addTris.triDataBaseCount[0] + "," + addTris.triDataBaseCount[1] + "," + addTris.triDataBaseCount[2]);
underWaterTriangleData.AddRange(triSlice.ToArray());
///Wait for job 04
//Assign data to job 03's data
underWaterTriangleData = triSlice.ToArray();
_processing = false;
waveData.Dispose();
wavePos.Dispose();
triData.Dispose();
triDataBase.Dispose();
oneAbove.Dispose();
twoAbove.Dispose();
globalVertChecklist.Dispose();
}
//Job Get global positions to check

}
}
//Generate the underwater mesh
// public void GenerateUnderwaterMesh()
// {
// //Reset
// underWaterTriangleData.Clear();
// //Find all the distances to water once because some triangles share vertices, so reuse
// for (int j = 0; j < boatVertices.Length; j++)
// {
// //The coordinate should be in global position
// Vector3 globalPos = boatTrans.TransformPoint(boatVertices[j]);
// //Save the global position so we only need to calculate it once here
// //And if we want to debug we can convert it back to local
// boatVerticesGlobal[j] = globalPos;
// if(j%2==0)
// {
// allDistancesToWater[j] = -Water.Instance.GetWaterHeight(globalPos);
// }
// else
// {
// allDistancesToWater[j] = allDistancesToWater[j-1];
// }
// }
// //Add the triangles that are below the water
// Profiler.BeginSample("AddTriangles");
// AddTriangles();
// Profiler.EndSample();
// }
struct AddTriangles : IJob
{
[ReadOnly]

[ReadOnly]
public NativeArray<int> boatTris;
public NativeArray<TriangleDataBase> triDataBase;
public int triDataBaseCount;
public NativeArray<int> triDataBaseCount;
public int OneAboveCount;
public int TwoAboveCount;
public float skipped;
skipped += 1;
VertexData[] vertData = new VertexData[3];
var triangle = new TriangleDataBase();
var vs = new VertexDataSet();
VertexData[] vertData = new VertexData[3];
TriangleDataBase triangle = new TriangleDataBase();
int countAboveWater = 3;
int id = i;

triangle.p3 = p3;
triangle.distance = d;
triangle.full = 1;
triDataBase[triDataBaseCount] = triangle;
triDataBaseCount++;
triDataBase[triDataBaseCount[0]] = triangle;
triDataBaseCount[0]++;
VertexDataSet vs = new VertexDataSet();
OneAbove[OneAboveCount] = vs;
OneAboveCount++;
OneAbove[triDataBaseCount[1]] = vs;
triDataBaseCount[1]++;
VertexDataSet vs = new VertexDataSet();
TwoAbove[TwoAboveCount] = vs;
TwoAboveCount++;
TwoAbove[triDataBaseCount[2]] = vs;
triDataBaseCount[2]++;
}
break;
}

//Add all the triangles that's part of the underwater mesh
// private void AddTriangles()
// {
// //Loop through all the triangles (3 vertices at a time = 1 triangle)
// int i = 0;
// while(i < boatTriangles.Length)
// {
// int countAboveWater = 3;
// //Loop through the 3 vertices
// for (int x = 0; x < 3; x++)
// {
// //Save the data we need
// vertexData[x].distance = allDistancesToWater[boatTriangles[i]];
// if(vertexData[x].distance < 0f)
// countAboveWater--;
// vertexData[x].index = x;
// vertexData[x].globalVertexPos = boatVerticesGlobal[boatTriangles[i]];
// i++;
// }
// switch(countAboveWater)
// {
// case 3:
// break;
// case 0:
// {
// Vector3 p1 = vertexData[0].globalVertexPos;
// Vector3 p2 = vertexData[1].globalVertexPos;
// Vector3 p3 = vertexData[2].globalVertexPos;
// Vector3 d = new Vector3(vertexData[0].distance, vertexData[1].distance, vertexData[2].distance);
// //Save the triangle
// underWaterTriangleData.Add(new TriangleData(p1, p2, p3, d, true));
// }
// break;
// case 1:
// {
// Array.Sort(vertexData, delegate(VertexData v1, VertexData v2){return v2.distance.CompareTo(v1.distance);});
// Profiler.BeginSample("AddTrianglesOneAboveWater");
// AddTrianglesOneAboveWater();
// Profiler.EndSample();
// }
// break;
// case 2:
// {
// Array.Sort(vertexData, delegate(VertexData v1, VertexData v2){return v2.distance.CompareTo(v1.distance);});
// Profiler.BeginSample("AddTrianglesTwoAboveWater");
// AddTrianglesTwoAboveWater();
// Profiler.EndSample();
// }
// break;
// }
// }
// }
public int inputCount;
public NativeArray<int> inputCount;
for(var i = 0; i < input.Length; i++)
for(var i = 0; i < inputCount[1]; i++)
VertexDataSet vds = input[i];
//H is always at position 0
Vector3 H = vds.v1.globalVertexPos;
//Left of H is M
//Right of H is L
//Find the index of M
int M_index = vds.v1.index - 1;
if (M_index < 0)
{
M_index = 2;
}
//We also need the heights to water
float h_H = vds.v1.distance;
float h_M = 0f;
float h_L = 0f;
Vector3 M = Vector3.zero;
Vector3 L = Vector3.zero;
//This means M is at position 1 in the List
if (vds.v2.index == M_index)
{
M = vds.v2.globalVertexPos;
L = vds.v3.globalVertexPos;
h_M = vds.v2.distance;
h_L = vds.v3.distance;
}
else
{
M = vds.v3.globalVertexPos;
L = vds.v2.globalVertexPos;
h_M = vds.v3.distance;
h_L = vds.v2.distance;
}
//Now we can calculate where we should cut the triangle to form 2 new triangles
//because the resulting area will always form a square
//Point I_M
Vector3 MH = H - M;
float t_M = -h_M / (h_H - h_M);
Vector3 MI_M = t_M * MH;
Vector3 I_M = MI_M + M;
//Point I_L
Vector3 LH = H - L;
float t_L = -h_L / (h_H - h_L);
Vector3 LI_L = t_L * LH;
Vector3 I_L = LI_L + L;
//Save the data, such as normal, area, etc
//2 triangles below the water
TriangleDataBase tri1 = new TriangleDataBase();
tri1.p1 = M;
tri1.p2 = I_M;
tri1.p2 = I_L;
tri1.distance = Vector3.zero;
tri1.full = 0;
output[inputCount + i*2] = tri1;
TriangleDataBase tri2 = new TriangleDataBase();
tri2.p1 = M;
tri2.p2 = I_L;
tri2.p2 = L;
tri2.distance = Vector3.zero;
tri2.full = 0;
output[inputCount + i*2 + 1] = tri2;
VertexDataSet vds = input[i];
//H is always at position 0
Vector3 H = vds.v1.globalVertexPos;
//Left of H is M
//Right of H is L
//Find the index of M
int M_index = vds.v1.index - 1;
if (M_index < 0)
M_index = 2;
//We also need the heights to water
float h_H = vds.v1.distance;
float h_M = 0f;
float h_L = 0f;
Vector3 M = Vector3.zero;
Vector3 L = Vector3.zero;
//This means M is at position 1 in the List
if (vds.v2.index == M_index)
{
M = vds.v2.globalVertexPos;
L = vds.v3.globalVertexPos;
h_M = vds.v2.distance;
h_L = vds.v3.distance;
}
else
{
M = vds.v3.globalVertexPos;
L = vds.v2.globalVertexPos;
h_M = vds.v3.distance;
h_L = vds.v2.distance;
}
//Now we can calculate where we should cut the triangle to form 2 new triangles
//because the resulting area will always form a square
//Point I_M
Vector3 MH = H - M;
float t_M = -h_M / (h_H - h_M);
Vector3 MI_M = t_M * MH;
Vector3 I_M = MI_M + M;
//Point I_L
Vector3 LH = H - L;
float t_L = -h_L / (h_H - h_L);
Vector3 LI_L = t_L * LH;
Vector3 I_L = LI_L + L;
//Save the data, such as normal, area, etc
//2 triangles below the water
TriangleDataBase tri1 = new TriangleDataBase();
tri1.p1 = M;
tri1.p2 = I_M;
tri1.p3 = I_L;
tri1.distance = Vector3.zero;
tri1.full = 0;
output[inputCount[0] + i*2] = tri1;
TriangleDataBase tri2 = new TriangleDataBase();
tri2.p1 = M;
tri2.p2 = I_L;
tri2.p3 = L;
tri2.distance = Vector3.zero;
tri2.full = 0;
output[inputCount[0] + i*2 + 1] = tri2;
}
}
}

[ReadOnly]
public NativeArray<VertexDataSet> input;
[ReadOnly]
public int inputCount;
public int oneAboveCount;
public NativeArray<int> inputCount;
for(var i = 0; i < input.Length; i++)
for(var i = 0; i < inputCount[2]; i++)
VertexDataSet vds = input[i];
//H and M are above the water
//H is after the vertice that's below water, which is L
//So we know which one is L because it is last in the sorted list
Vector3 L = vds.v3.globalVertexPos;
VertexDataSet vds = input[i];
//H and M are above the water
//H is after the vertice that's below water, which is L
//So we know which one is L because it is last in the sorted list
Vector3 L = vds.v3.globalVertexPos;
//Find the index of H
int H_index = vds.v3.index + 1;
if (H_index > 2)
H_index = 0;
//We also need the heights to water
float h_L = vds.v3.distance;
float h_H = 0f;
float h_M = 0f;
Vector3 H = Vector3.zero;
Vector3 M = Vector3.zero;
//This means that H is at position 1 in the list
if (vds.v2.index == H_index)
{
H = vds.v2.globalVertexPos;
M = vds.v1.globalVertexPos;
//Find the index of H
int H_index = vds.v3.index + 1;
if (H_index > 2)
{
H_index = 0;
}
h_H = vds.v2.distance;
h_M = vds.v1.distance;
}
else
{
H = vds.v1.globalVertexPos;
M = vds.v2.globalVertexPos;
//We also need the heights to water
float h_L = vds.v3.distance;
float h_H = 0f;
float h_M = 0f;
Vector3 H = Vector3.zero;
Vector3 M = Vector3.zero;
//This means that H is at position 1 in the list
if (vds.v2.index == H_index)
{
H = vds.v2.globalVertexPos;
M = vds.v1.globalVertexPos;
h_H = vds.v2.distance;
h_M = vds.v1.distance;
}
else
{
H = vds.v1.globalVertexPos;
M = vds.v2.globalVertexPos;
h_H = vds.v1.distance;
h_M = vds.v2.distance;
h_H = vds.v1.distance;
h_M = vds.v2.distance;
}
//Now we can find where to cut the triangle
//Point J_M
Vector3 LM = M - L;
float t_M = -h_L / (h_M - h_L);
Vector3 LJ_M = t_M * LM;
Vector3 J_M = LJ_M + L;
//Point J_H
Vector3 LH = H - L;
float t_H = -h_L / (h_H - h_L);
Vector3 LJ_H = t_H * LH;
Vector3 J_H = LJ_H + L;
//Save the data, to be calculated later
//1 triangles below the water
TriangleDataBase tri1 = new TriangleDataBase();
tri1.p1 = L;
tri1.p2 = J_H;
tri1.p3 = J_M;
tri1.distance = Vector3.zero; // not original points so need to recalc distance later
tri1.full = 0; // is not made up of original points
int offset = inputCount[0] + inputCount[1] * 2; // Offset index, after teh base count and the one above count * 2 since one above adds two tris
output[i + offset] = tri1;
//Now we can find where to cut the triangle
//Point J_M
Vector3 LM = M - L;
float t_M = -h_L / (h_M - h_L);
Vector3 LJ_M = t_M * LM;
Vector3 J_M = LJ_M + L;
//Point J_H
Vector3 LH = H - L;
float t_H = -h_L / (h_H - h_L);
Vector3 LJ_H = t_H * LH;
Vector3 J_H = LJ_H + L;
//Save the data, such as normal, area, etc
//1 triangles below the water
TriangleDataBase tri1 = new TriangleDataBase();
tri1.p1 = L;
tri1.p2 = J_H;
tri1.p2 = J_M;
tri1.distance = Vector3.zero;
tri1.full = 0;
output[inputCount + oneAboveCount * 2 + i] = tri1;
}
}
}

public NativeArray<TriangleDataBase> input;
[ReadOnly]
public NativeArray<int> count;
public NativeArray<Vector3> outputPos;
TriangleData triangleData = new TriangleData();
triangleData.p1 = input[i].p1;
triangleData.p2 = input[i].p2;
triangleData.p3 = input[i].p3;
int num = count[0] + count[1] * 2 + count[2];
if (i < num)
{
TriangleData triangleData = new TriangleData();
triangleData.p1 = input[i].p1;
triangleData.p2 = input[i].p2;
triangleData.p3 = input[i].p3;
//Center of the triangle
triangleData.center = (input[i].p1 + input[i].p2 + input[i].p3) * 0.3333f;
//Center of the triangle
triangleData.center = (input[i].p1 + input[i].p2 + input[i].p3) * 0.3333f;
//Distance to the surface from the center of the triangle, we average it if triangle uncut
if(input[i].full == 1)
triangleData.distanceToSurface = Math.Abs((input[i].distance.x + input[i].distance.y + input[i].distance.z) * 0.3333f);
else
triangleData.distanceToSurface = 1234;
triangleData.distanceToSurface = 0f;
//Normal to the triangle
triangleData.normal = Vector3.Cross(input[i].p2 - input[i].p1, input[i].p3 - input[i].p1).normalized;
//Normal to the triangle
triangleData.normal = Vector3.Cross(input[i].p2 - input[i].p1, input[i].p3 - input[i].p1).normalized;
//Area of the triangle
float a = Vector3.Distance(input[i].p1, input[i].p2);
//Area of the triangle
float a = Vector3.Distance(input[i].p1, input[i].p2);
float c = Vector3.Distance(input[i].p3, input[i].p1);
float c = Vector3.Distance(input[i].p3, input[i].p1);
triangleData.area = (a * c * Mathf.Sin(Vector3.Angle(input[i].p2 - input[i].p1, input[i].p3 - input[i].p1) * Mathf.Deg2Rad)) * 0.5f;
triangleData.underWater = 1;
output[i] = triangleData;
triangleData.area = (a * c * Mathf.Sin(Vector3.Angle(input[i].p2 - input[i].p1, input[i].p3 - input[i].p1) * Mathf.Deg2Rad)) * 0.5f;
triangleData.underWater = 1;
output[i] = triangleData;
outputPos[i] = triangleData.center;
}
//Build the new triangles where one of the old vertices is above the water
// private void AddTrianglesOneAboveWater()
// {
// //H is always at position 0
// Vector3 H = vertexData[0].globalVertexPos;
// //Left of H is M
// //Right of H is L
// //Find the index of M
// int M_index = vertexData[0].index - 1;
// if (M_index < 0)
// {
// M_index = 2;
// }
// //We also need the heights to water
// float h_H = vertexData[0].distance;
// float h_M = 0f;
// float h_L = 0f;
// Vector3 M = Vector3.zero;
// Vector3 L = Vector3.zero;
// //This means M is at position 1 in the List
// if (vertexData[1].index == M_index)
// {
// M = vertexData[1].globalVertexPos;
// L = vertexData[2].globalVertexPos;
// h_M = vertexData[1].distance;
// h_L = vertexData[2].distance;
// }
// else
// {
// M = vertexData[2].globalVertexPos;
// L = vertexData[1].globalVertexPos;
// h_M = vertexData[2].distance;
// h_L = vertexData[1].distance;
// }
// //Now we can calculate where we should cut the triangle to form 2 new triangles
// //because the resulting area will always form a square
// //Point I_M
// Vector3 MH = H - M;
// float t_M = -h_M / (h_H - h_M);
// Vector3 MI_M = t_M * MH;
// Vector3 I_M = MI_M + M;
// //Point I_L
// Vector3 LH = H - L;
// float t_L = -h_L / (h_H - h_L);
// Vector3 LI_L = t_L * LH;
// Vector3 I_L = LI_L + L;
// //Save the data, such as normal, area, etc
// //2 triangles below the water
// underWaterTriangleData.Add(new TriangleData(M, I_M, I_L, Vector3.zero, false));
// underWaterTriangleData.Add(new TriangleData(M, I_L, L, Vector3.zero, false));
// }
// //Build the new triangles where two of the old vertices are above the water
// private void AddTrianglesTwoAboveWater()
// {
// //H and M are above the water
// //H is after the vertice that's below water, which is L
// //So we know which one is L because it is last in the sorted list
// Vector3 L = vertexData[2].globalVertexPos;
// //Find the index of H
// int H_index = vertexData[2].index + 1;
// if (H_index > 2)
// {
// H_index = 0;
// }
// //We also need the heights to water
// float h_L = vertexData[2].distance;
// float h_H = 0f;
// float h_M = 0f;
// Vector3 H = Vector3.zero;
// Vector3 M = Vector3.zero;
// //This means that H is at position 1 in the list
// if (vertexData[1].index == H_index)
// {
// H = vertexData[1].globalVertexPos;
// M = vertexData[0].globalVertexPos;
// h_H = vertexData[1].distance;
// h_M = vertexData[0].distance;
// }
// else
// {
// H = vertexData[0].globalVertexPos;
// M = vertexData[1].globalVertexPos;
// h_H = vertexData[0].distance;
// h_M = vertexData[1].distance;
// }
// //Now we can find where to cut the triangle
// //Point J_M
// Vector3 LM = M - L;
// float t_M = -h_L / (h_M - h_L);
// Vector3 LJ_M = t_M * LM;
// Vector3 J_M = LJ_M + L;
// //Point J_H
// Vector3 LH = H - L;
// float t_H = -h_L / (h_H - h_L);
// Vector3 LJ_H = t_H * LH;
// Vector3 J_H = LJ_H + L;
// //Save the data, such as normal, area, etc
// //1 triangle below the water
// underWaterTriangleData.Add(new TriangleData(L, J_H, J_M, Vector3.zero, false));
// }
//Help class to store triangle data so we can sort the distances
private struct VertexData
struct TriangleFinalize : IJobParallelFor
//The distance to water from this vertex
public float distance;
//An index so we can form clockwise triangles
public int index;
//The global Vector3 position of the vertex
public Vector3 globalVertexPos;
}
[ReadOnly]
public NativeArray<Vector3> inputPos;
public NativeArray<TriangleData> data;
private struct VertexDataSet
{
//set of vertdata to make tri
public VertexData v1;
public VertexData v2;
public VertexData v3;
public void Execute(int i)
{
TriangleData td = data[i];
td.distanceToSurface = Math.Abs(td.center.y - inputPos[i].y);
data[i] = td;
}
//Display the underwater mesh
public void DisplayMesh(Mesh mesh, string name, List<TriangleData> triangesData)
{

mesh.RecalculateBounds();
}
//Help class to store triangle data so we can sort the distances
private struct VertexData
{
//The distance to water from this vertex
public float distance;
//An index so we can form clockwise triangles
public int index;
//The global Vector3 position of the vertex
public Vector3 globalVertexPos;
}
private struct VertexDataSet
{
//set of vertdata to make tri
public VertexData v1;
public VertexData v2;
public VertexData v3;
}
//Intermediate TriangleDataBase
public struct TriangleDataBase
{

3
Assets/Shaders/LWDitheredVegetation.ShaderGraph.meta


fileFormatVersion: 2
guid: b614448952ccc5649bd45c3dd2e53744
ScriptedImporter:
fileIDToRecycleName:
4800000: MainAsset
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1
Assets/Shaders/LWVegetationShader.shader


}
FallBack "Hidden/InternalErrorShader"
CustomEditor "LightweightStandardGUI"
}

13
Assets/Shaders/PackedPBR.ShaderGraph
文件差异内容过多而无法显示
查看文件

3
Assets/Shaders/PackedPBR.ShaderGraph.meta


fileFormatVersion: 2
guid: 7cd247c7cbda54323b0e395ea419af3d
ScriptedImporter:
fileIDToRecycleName:
4800000: MainAsset
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

3
Assets/TangentIssue/TangentIssue.ShaderGraph.meta


fileFormatVersion: 2
guid: 99a637fd603e948798dcf70ddfbbb7c7
ScriptedImporter:
fileIDToRecycleName:
4800000: MainAsset
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

19
Assets/Textures/Island/Materials/BushTest.mat


m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: BushTest
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ShaderKeywords: _ALPHATEST_ON _GLOSSYREFLECTIONS_OFF _NORMALMAP _OCCLUSIONMAP
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_ShaderKeywords: _ALPHATEST_ON _GLOSSINESS_FROM_BASE_ALPHA _NORMALMAP _SPECULAR_COLOR
m_CustomRenderQueue: 2450
stringTagMap:
RenderType: TransparentCutout
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3

m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 1
- _Blend: 0
- _Cutoff: 0.442
- _Cull: 2
- _Cutoff: 0.911
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1

- _Mode: 1
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Shininess: 1
- _Shininess: 0.01
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1

- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecColor: {r: 0.11320752, g: 0.11320752, b: 0.11320752, a: 1}

275
Assets/scenes/Island.unity


m_Father: {fileID: 135617337}
m_RootOrder: 24
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!28 &126700473
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ffbcb696ffa3b08eff8aa987ff7ea685ff7aa587ff75a488ff70a48aff6ca38bff67a38dff62a28eff5ea18fff59a191ff55a092ff50a094ff4b9f95ff479f97ff429e98ff3d9d99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff007980ff00787fff00777fff00767eff00757eff00747eff00747dff00737dff00727dff00717cff00707cff006f7bff006e7bff006d7bff006c7aff006b7aff006b79ff006a79ff006979ff006878ff006778ff006678ff006577ff006477ff006376ff006376ff006276ff006175ff006075ff005f74ff005e74ff005d74ff005c73ff005b73ff005a73ff005a72ff005972ff005871ff005771ff005671ff005570ff005470ff005370ff00526fff00526fff00516eff00506eff004f6eff004e6dff004d6dff004c6cff004b6cff004a6cff00496bff00496bff00486bff00476aff00466aff004569ff004469ff004369ff004268ff004168ff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &128250068
Prefab:
m_ObjectHideFlags: 0

m_Father: {fileID: 1242123165}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!28 &219870874
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ffbcb696ffa3b08eff8aa987ff7ea685ff7aa587ff75a488ff70a48aff6ca38bff67a38dff62a28eff5ea18fff59a191ff55a092ff50a094ff4b9f95ff479f97ff429e98ff3d9d99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff007980ff00787fff00777fff00767eff00757eff00747eff00747dff00737dff00727dff00717cff00707cff006f7bff006e7bff006d7bff006c7aff006b7aff006b79ff006a79ff006979ff006878ff006778ff006678ff006577ff006477ff006376ff006376ff006276ff006175ff006075ff005f74ff005e74ff005d74ff005c73ff005b73ff005a73ff005a72ff005972ff005871ff005771ff005671ff005570ff005470ff005370ff00526fff00526fff00516eff00506eff004f6eff004e6dff004d6dff004c6cff004b6cff004a6cff00496bff00496bff00486bff00476aff00466aff004569ff004469ff004369ff004268ff004168ff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &220011957
Prefab:
m_ObjectHideFlags: 0

m_Component:
- component: {fileID: 299484666}
- component: {fileID: 299484665}
- component: {fileID: 299484667}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged

m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50.770004, y: -238.539, z: -209.756}
--- !u!114 &299484667
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 299484664}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c595880d7e3b1456cb93326efac33209, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &300478618
Prefab:
m_ObjectHideFlags: 0

field of view: 60
orthographic: 0
orthographic size: 10
m_Depth: -1
m_Depth: -5
m_CullingMask:
serializedVersion: 2
m_Bits: 4294966783

volumeLayer:
serializedVersion: 2
m_Bits: 256
stopNaNPropagation: 1
antialiasingMode: 2
stopNaNPropagation: 0
antialiasingMode: 1
subpixelMorphologicalAntialiasing:
quality: 2
fastApproximateAntialiasing:
fastMode: 1
keepAlpha: 1

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1017609894}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 71394c3b24815462e9caa19b6a6249b5, type: 3}
m_Name:

m_PrefabParentObject: {fileID: 4759700577955508, guid: 851454441f29b4ab9a78308458eafccb,
type: 2}
m_PrefabInternal: {fileID: 1640266414}
--- !u!28 &1647156520
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000018ff000031ff00004bff000064ff00007dff000096ff0000b0ff0000c9ff0000e2ff0000fbff0005fbff000cf7ff0012f3ff0019eeff001feaff0025e5ff002ce1ff0032ddff0038d8ff003fd4ff0045d0ff004ccbff0052c7ff0058c3ff005fbeff0065baff006bb5ff0072b1ff0078adff007ea8ff0085a4ff008ba0ff00929bff009897ff009e93ff00a58eff00ab8aff00b185ff00b881ff00be7dff00c578ff00cb74ff00d170ff00d86bff00de67ff00e463ff00eb5eff00f15aff00f855ff00fe51ff07fc4eff10f84bff19f448ff22f046ff2bec43ff33e840ff3ce43dff45e03bff4edc38ff57d835ff60d432ff68d02fff71cc2dff7ac82aff83c327ff8cbf24ff94bb22ff9db71fffa6b31cffafaf19ffb8ab16ffc1a714ffc9a311ffd29f0effdb9b0bffe49709ffed9306fff58f03fffe8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &1647774300
Prefab:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4759700577955508, guid: 851454441f29b4ab9a78308458eafccb,
type: 2}
m_PrefabInternal: {fileID: 1769716854}
--- !u!28 &1775026121
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000018ff000031ff00004bff000064ff00007dff000096ff0000b0ff0000c9ff0000e2ff0000fbff0005fbff000cf7ff0012f3ff0019eeff001feaff0025e5ff002ce1ff0032ddff0038d8ff003fd4ff0045d0ff004ccbff0052c7ff0058c3ff005fbeff0065baff006bb5ff0072b1ff0078adff007ea8ff0085a4ff008ba0ff00929bff009897ff009e93ff00a58eff00ab8aff00b185ff00b881ff00be7dff00c578ff00cb74ff00d170ff00d86bff00de67ff00e463ff00eb5eff00f15aff00f855ff00fe51ff07fc4eff10f84bff19f448ff22f046ff2bec43ff33e840ff3ce43dff45e03bff4edc38ff57d835ff60d432ff68d02fff71cc2dff7ac82aff83c327ff8cbf24ff94bb22ff9db71fffa6b31cffafaf19ffb8ab16ffc1a714ffc9a311ffd29f0effdb9b0bffe49709ffed9306fff58f03fffe8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &1778880044
Prefab:
m_ObjectHideFlags: 0

objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 2}
propertyPath: m_LocalPosition.y
value: 0.5
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4554327062270080, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 2}
propertyPath: m_LocalPosition.z

type: 2}
propertyPath: _colorRamp
value:
objectReference: {fileID: 126700473}
objectReference: {fileID: 1880185234}
value: 360
value: 128
value: 0.22967611
value: 0.27561134
value: 0.4012984
value: 0.48155808
value: 0.48875737
value: 0.58650887
value: 0.44815415
value: 0.537785
value: 0.6787387
value: 0.81448644
value: 0.73854226
value: 0.88625073
value: 0.5
value: 0.6
objectReference: {fileID: 0}
- target: {fileID: 23417954490615130, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}

type: 2}
propertyPath: _foamRamp
value:
objectReference: {fileID: 1991615157}
objectReference: {fileID: 1647156520}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key0.r

type: 2}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114084614423911968, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: m_ResolutionMultiplier
value: 0.5
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 23417954490615130, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 2}

m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: b92151ed482ed45ef84412410142f938, type: 2}
m_IsPrefabParent: 0
--- !u!28 &1880185234
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ffbcb696ffa3b08eff8aa987ff7ea685ff7aa587ff75a488ff70a48aff6ca38bff67a38dff62a28eff5ea18fff59a191ff55a092ff50a094ff4b9f95ff479f97ff429e98ff3d9d99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff007980ff00787fff00777fff00767eff00757eff00747eff00747dff00737dff00727dff00717cff00707cff006f7bff006e7bff006d7bff006c7aff006b7aff006b79ff006a79ff006979ff006878ff006778ff006678ff006577ff006477ff006376ff006376ff006276ff006175ff006075ff005f74ff005e74ff005d74ff005c73ff005b73ff005a73ff005a72ff005972ff005871ff005771ff005671ff005570ff005470ff005370ff00526fff00526fff00516eff00506eff004f6eff004e6dff004d6dff004c6cff004b6cff004a6cff00496bff00496bff00486bff00476aff00466aff004569ff004469ff004369ff004268ff004168ff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!4 &1887499454 stripped
Transform:
m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,

m_Father: {fileID: 1242123165}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!28 &1991615157
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000000ff000018ff000031ff00004bff000064ff00007dff000096ff0000b0ff0000c9ff0000e2ff0000fbff0005fbff000cf7ff0012f3ff0019eeff001feaff0025e5ff002ce1ff0032ddff0038d8ff003fd4ff0045d0ff004ccbff0052c7ff0058c3ff005fbeff0065baff006bb5ff0072b1ff0078adff007ea8ff0085a4ff008ba0ff00929bff009897ff009e93ff00a58eff00ab8aff00b185ff00b881ff00be7dff00c578ff00cb74ff00d170ff00d86bff00de67ff00e463ff00eb5eff00f15aff00f855ff00fe51ff07fc4eff10f84bff19f448ff22f046ff2bec43ff33e840ff3ce43dff45e03bff4edc38ff57d835ff60d432ff68d02fff71cc2dff7ac82aff83c327ff8cbf24ff94bb22ff9db71fffa6b31cffafaf19ffb8ab16ffc1a714ffc9a311ffd29f0effdb9b0bffe49709ffed9306fff58f03fffe8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00ffff8b00
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &1997248646
Prefab:
m_ObjectHideFlags: 0

m_HeightmapMaximumLOD: 0
m_CastShadows: 1
m_DrawHeightmap: 1
m_DrawTreesAndFoliage: 1
m_ReflectionProbeUsage: 2
m_DrawTreesAndFoliage: 0
m_ReflectionProbeUsage: 3
m_MaterialType: 3
m_LegacySpecular:
serializedVersion: 2

2
Assets/scenes/Island_Profiles/PostVolumeGlobal Profile.asset


m_Script: {fileID: 11500000, guid: d65e486e4de6e5448a8fbb43dc8756a0, type: 3}
m_Name: Grain
m_EditorClassIdentifier:
active: 1
active: 0
enabled:
overrideState: 1
value: 1

157
Assets/scenes/Testing/BoatPhysics.unity


debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!28 &26117358
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &86272964
Prefab:
m_ObjectHideFlags: 0

propertyPath: Human
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114651856573695240, guid: fc3ffb83d6eafb1489a5b23bc82d25b6,
type: 2}
propertyPath: debugMesh
value: 1
objectReference: {fileID: 0}
--- !u!28 &714336320
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_StreamData:
offset: 0
size: 0
path:
--- !u!1 &1191760972
GameObject:
m_ObjectHideFlags: 0

m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1191760972}
m_LocalRotation: {x: 0.42258155, y: -0.011942269, z: 0.005568771, w: 0.90622914}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalPosition: {x: -8.64, y: 3, z: -0.23}
--- !u!28 &1601417985
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1 &1641348386
GameObject:
m_ObjectHideFlags: 0

sharpness: 0.25
stationaryBlending: 0.95
motionBlending: 0.85
subpixelMorphologicalAntialiasing:
quality: 2
fastApproximateAntialiasing:
fastMode: 0
keepAlpha: 0

m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 20, y: 0, z: 0}
--- !u!28 &2072376940
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:

44
Assets/scenes/Testing/meshSetups.unity


m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: b89c4a1e685b24b578c71a10101cc37c, type: 2}
m_IsPrefabParent: 0
--- !u!1001 &404755427
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalPosition.y
value: 5.7
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 400016, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
propertyPath: m_RootOrder
value: 11
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 92a669df93f0d4f99bd8fa27767e8c9e, type: 3}
m_IsPrefabParent: 0
--- !u!1001 &834481481
Prefab:
m_ObjectHideFlags: 0

sharpness: 0.25
stationaryBlending: 0.95
motionBlending: 0.85
subpixelMorphologicalAntialiasing:
quality: 2
fastApproximateAntialiasing:
fastMode: 0
keepAlpha: 0

4
Packages/manifest.json


{
"registry": "https://staging-packages.unity.com",
"dependencies": {
"com.unity.render-pipelines.lightweight": "0.1.30",
"com.unity.shadergraph": "0.1.18",
"com.unity.package-manager-ui": "1.7.2"
"com.unity.render-pipelines.lightweight": "1.1.0-beta"
}
}

4
ProjectSettings/GraphicsSettings.asset


m_DefaultRenderingPath: 1
m_DefaultMobileRenderingPath: 1
m_TierSettings: []
m_LightmapStripping: 1
m_FogStripping: 1
m_LightmapStripping: 0
m_FogStripping: 0
m_InstancingStripping: 0
m_LightmapKeepPlain: 0
m_LightmapKeepDirCombined: 1

7
ProjectSettings/ProjectSettings.asset


xboxOneLoggingLevel: 1
xboxOneDisableEsram: 0
xboxOnePresentImmediateThreshold: 0
switchQueueCommandMemory: 0
videoMemoryForVertexBuffers: 0
psp2PowerMode: 0
psp2AcquireBGM: 1

iOSBackgroundModes: 0
iOSMetalForceHardShadows: 0
metalEditorSupport: 1
metalAPIValidation: 0
metalAPIValidation: 1
iOSRenderExtraFrameOnPause: 0
appleDeveloperTeamID: BVPN9UFA9B
iOSManualSigningProvisioningProfileID:

m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: Standalone
m_StaticBatching: 0
m_StaticBatching: 1
m_DynamicBatching: 0
m_BuildTargetGraphicsAPIs:
- m_BuildTarget: iOSSupport

scriptingBackend: {}
il2cppCompilerConfiguration: {}
incrementalIl2cppBuild: {}
allowUnsafeCode: 0
additionalIl2CppArgs:
scriptingRuntimeVersion: 1
apiCompatibilityLevelPerPlatform: {}

XboxOneSplashScreen: {fileID: 0}
XboxOneAllowedProductIds: []
XboxOnePersistentLocalStorageSize: 0
XboxOneXTitleMemory: 8
xboxOneScriptCompiler: 0
vrEditorSettings:
daydream:

2
ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2018.1.0b9
m_EditorVersion: 2018.1.0b10

10
ProjectSettings/QualitySettings.asset


shadowCascade2Split: 0.33333334
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
blendWeights: 4
blendWeights: 2
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
vSyncCount: 0
lodBias: 4
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
vSyncCount: 2
lodBias: 2
maximumLODLevel: 0
particleRaycastBudget: 4096
asyncUploadTimeSlice: 2

2
ProjectSettings/TimeManager.asset


--- !u!5 &1
TimeManager:
m_ObjectHideFlags: 0
Fixed Timestep: 0.02
Fixed Timestep: 0.03
Maximum Allowed Timestep: 0.33333334
m_TimeScale: 1
Maximum Particle Timestep: 0.04

8
Assets/Objects/props/props.meta


fileFormatVersion: 2
guid: 9c909aa0767c1449e81da30f7c1870d6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Objects/props/props/Maps.meta


fileFormatVersion: 2
guid: 6e06be49fbccc4b6bb705f3d9e0edf27
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

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


fileFormatVersion: 2
guid: a868d01bf3905413d9db5d02bdf1f531
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

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


fileFormatVersion: 2
guid: ded3df33965f643129f2c8ed6caef342
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: iPhone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

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


fileFormatVersion: 2
guid: 7c7b419fd429046979646d966f787339
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 1
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

86
Assets/Objects/props/props/Matr_Props.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Matr_Props
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ShaderKeywords: _METALLICGLOSSMAP _METALLICSPECGLOSSMAP _NORMALMAP
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 7c7b419fd429046979646d966f787339, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: a868d01bf3905413d9db5d02bdf1f531, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: ded3df33965f643129f2c8ed6caef342, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.6, g: 0.6, b: 0.6, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

8
Assets/Objects/props/props/Matr_Props.mat.meta


fileFormatVersion: 2
guid: b1aaf92c06be94931a4e515a4812f42e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

134
Assets/Objects/props/props/Props_low.fbx.meta


fileFormatVersion: 2
guid: 92a669df93f0d4f99bd8fa27767e8c9e
ModelImporter:
serializedVersion: 22
fileIDToRecycleName:
100000: Geo_Props_ArrowSign
100002: Geo_Props_Blimp
100004: Geo_Props_Bouy
100006: Geo_Props_Chair
100008: Geo_Props_Kayak
100010: Geo_Props_Paraglider
100012: Geo_Props_Umbrella
100014: Geo_Props_WindSurfer
100016: //RootNode
400000: Geo_Props_ArrowSign
400002: Geo_Props_Blimp
400004: Geo_Props_Bouy
400006: Geo_Props_Chair
400008: Geo_Props_Kayak
400010: Geo_Props_Paraglider
400012: Geo_Props_Umbrella
400014: Geo_Props_WindSurfer
400016: //RootNode
2100000: Matr_Props
2300000: Geo_Props_ArrowSign
2300002: Geo_Props_Blimp
2300004: Geo_Props_Bouy
2300006: Geo_Props_Chair
2300008: Geo_Props_Kayak
2300010: Geo_Props_Paraglider
2300012: Geo_Props_Umbrella
2300014: Geo_Props_WindSurfer
3300000: Geo_Props_ArrowSign
3300002: Geo_Props_Blimp
3300004: Geo_Props_Bouy
3300006: Geo_Props_Chair
3300008: Geo_Props_Kayak
3300010: Geo_Props_Paraglider
3300012: Geo_Props_Umbrella
3300014: Geo_Props_WindSurfer
4300000: Geo_Props_Blimp
4300002: Geo_Props_Bouy
4300004: Geo_Props_Umbrella
4300006: Geo_Props_Kayak
4300008: Geo_Props_WindSurfer
4300010: Geo_Props_Chair
4300012: Geo_Props_Paraglider
4300014: Geo_Props_ArrowSign
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: Matr_Props
second: {fileID: 2100000, guid: b1aaf92c06be94931a4e515a4812f42e, type: 2}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

37
Assets/Scripts/Effects/ShadowOnlyPass.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.Rendering.LightweightPipeline;
public class ShadowOnlyPass : MonoBehaviour {
private Light _light;
void Start()
{
_light = GetComponent<Light>();
}
void ShadowCheck(Camera cam)
{
if (_light)
{
if (cam == Camera.main)
_light.shadows = LightShadows.Soft;
else
_light.shadows = LightShadows.None;
}
}
void OnEnable()
{
LightweightPipeline.beginCameraRendering += ShadowCheck;
}
// Cleanup all the objects we possibly have created
void OnDisable()
{
LightweightPipeline.beginCameraRendering -= ShadowCheck;
}
}

11
Assets/Scripts/Effects/ShadowOnlyPass.cs.meta


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

438
Assets/scenes/Island/NavMesh-SeaVisual 1.asset
文件差异内容过多而无法显示
查看文件

8
Assets/scenes/Island/NavMesh-SeaVisual 1.asset.meta


fileFormatVersion: 2
guid: cd6a66bc3c690466eb19a9f378596035
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 23800000
userData:
assetBundleName:
assetBundleVariant:

254
Assets/scenes/Island/NavMesh-SeaVisual 2.asset


q� �2018.1.0b10��������6+ƛ��<,q˪#�A7���������� �� ��"�.�+����� ��"�.�+�H��������1�1����� @���
Q�j� ��4���� �1�1����� ����Cj��������S�����1�1�����@�����j�^f��m��v����������������������������� ���!���"���#���$5%���/&��;'��G(��S)��^*��i+��y,���-���.���/���0���1���2��3����4@������5�1�1�����6@���7j�8��" 9 ��+: ��-; ��/< y�1 =��">�.�+?���=����@�1�1�����A����BLj�����C���[����D�1�1�����E@���F��j� G ��+H ��-I ��/J ��f����K�1�1�����L@���M��j�N�pO��y P ��+Q ��-R ��/S ��� T ��+U ��-V ��/W �������X�1�1�����Y@���Z�j� [��� \ ��+] ��-^ ��/_ ��� ` ��+a ��-b ��/c ���d���e�������f�1�1�����g@���h�j� i��� j ��+k ��-l ��/m ��� n ��+o ��-p ��/q ���r���s���t���u� v��y w ��+x ��-y ��/z ��� { ��+| ��-} ��/~ �� ��+� ��-� ��/� ��&� ��( � ��+� ��-� ��/� ��3�NavMeshDataPPtr<EditorExtension>m_FileIDm_PathIDm_NavMeshTilesNavMeshTileDatam_MeshDataHash128m_Hashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]NavMeshBuildSettingsm_NavMeshBuildSettingsagentTypeIDagentRadiusagentHeightagentSlopeagentClimbledgeDropHeightmaxJumpAcrossDistanceminRegionAreamanualCellSizecellSizemanualTileSizetileSizeaccuratePlacementNavMeshBuildDebugSettingsdebugm_Flagsm_HeightmapsHeightmapDatapositionxyzterrainDatam_HeightMeshesHeightMeshDatam_Verticesm_Indicesm_Boundsm_Centerm_Extentm_NodesHeightMeshBVNodeminmaxinm_OffMeshLinksAutoOffMeshLinkDatam_Startm_Endm_Radiusm_LinkTypem_Aream_LinkDirectionm_SourceBoundsm_Rotationwm_Positionm_AgentTypeID�(k��NavMesh-SeaVisual 2HVAND���������P���Q��YN���pomHVAND���������۬Ú0}��E�XoHVAND��������jr��s��;%j����dHVAND��������T5�]֑�jHVAND��������H�**D:���l�yz?'+HVAND����������)7%�2�z� Ede��HVAND����������y8n!\u�r�Xc�oHVAND��������
b��� _��V�(HVAND����������Fr�����T�Oi�HVAND���������I��V�-��E*Z�HVAND��������R�ѥ�&���k4��+J-HVAND��������n�&�c�sg-/�OHVAND��������������x�6�(^|��YHVAND�����������5+�qP9=�we�HVAND��������x�C��5&G�_t$HVAND����������Hk�-��T�HVAND�������h�3�/ZYs���OHVAND����� ?h��+��L��%
HVAND������*l��}'�VIʛ�HVAND��������z��,&)}��$3HVAND����C��g������[�/HVAND����K�
���
PtJ�*�S�HVAND�����`}��śI�v�1MHVAND����m�N��?ھ%��1D~3HVAND������R.��`Nc�`�j�ŵHVAND ����@�4o�'gi;���aHVAND
����Y��3*u��SR�Q[cE�HVAND ������#��a&{�I���HVAND �����T���|��"ZM]�1�VAND ����PD^�����`D��,C���?[D�������@_D��������^D�������^D�������`D������`D��������_D��������,i@i ����,i=i8i@i ����8i=i>i@i ����'Sm��>@�Z�VAND����`D^�����pD��,C���?`D�������aD�������`D��������ii x�3�쥃���+��A�HVAND����;����̥|�鉆�HVAND��������k�*���f��s@�.�L�HVAND��������ˀܵ��j��̂Oe!HVAND���������u���=���ae�HVAND��������ZM� �%�����[���HVAND��������<|XY:�.�?^4�?���HVAND��������k8S�AV�Cd�_DcHVAND����������2�g�$10�WEfzpHVAND��������� �՚�jYA�8]W�|RHVAND����������erR��u�%��]HVAND����������C~ �U�G�
}�HVAND����������o��;l��NG߰(HVAND��������Ήh
ePĨ���i_���HVAND��������t��VI?1�Pjk� n$HVAND���������\�@�4`�a�,d��HVAND��������� �6m$���ha�RbHVAND������������\�6
�E��6�'dHVAND������j��z�n�V�E�~�HVAND����yPG��U����ެRHVAND����2�f�|����}c����HVAND����q�';&�j^���,HVAND�����i7YL|���j��~^HVAND�����zR�$MC=�r��km�HVAND�����ϴ������T�&�*HVAND��������Li���#�gW�HVAND�����O�S��� ��O�oU5HVAND ����D����<����+�]F�OHVAND
����%��e�d�)&U@���}�HVAND ����]��`���zZ��R��HVAND ������q1��%��{�ڂcEHVAND ����cy�u~Z|o��b�HVAND����>�?J*�k�l�4�M��HVAND����Zf��ֿ��é�Yz��HVAND��������z�^�����p���,C���?�u���������u�������@t�������r��������t��������@u��������i+ i8����i+i8i/ i8H�3!i��J�<G��<�HVAND��������6f��Jb��4ܪ��-��HVAND���������%*NM��5���HVAND���������_@+t�i���e�D{�5HVAND���������E94L���C0�5���&HVAND���������Nc1;9�5T��IN��HVAND���������g ��2#�/��~!HVAND����������K��H�`Ȥ^JHVAND����������+���+��^��nHVAND��������r�'�2�P�.ʚ��]HVAND����������ߑ�(њ��g��M��HVAND���������I&����vg���HVAND��������z�v�r��ր�*7"&�HVAND����������#�E�Gn���#M��-HVAND���������a���{� B�ד �HVAND��������t{�PƏ6}t]�c��HVAND������I�[�{# �aD>�¤HVAND����=�){��ǁH?��=HVAND������P����<��XZ���HVAND����)+Y�T���(���X��HVAND����G��$��Ip�H��6HVAND�������9
�'p'��N%�0HVAND�����i���Ӌ�@F�F�HVAND�����g
�".�Qk$��HVAND����T}���Z{�OM��D�HVAND �����<o��rV�2� .$� �HVAND
�����5 �v%V�Ie��cHVAND ����o�%H3��[k��zu|��HVAND �����d�?�%�:��Ғ�ћ�HVAND �������c)J1|ٝ�BHVAND����W�ߝ��Q$8�^����HVAND����AkϪ3K�a���6�kHVAND��������%���2%���Y��0HVAND���������2�&�ṉ\L� N�HVAND��������b�L���X��plb�nHVAND����������*�D�Oj^&� aHVAND��������� ��A��l4L�CF�HVAND�����������ю���A��\HVAND��������{�}��GN�
\�r��HVAND������������\s�-����ڛHVAND��������>JsS'���>�$�"�HVAND���������}lg:Z��� ��f�'�HVAND��������6�r�M�L��;��HVAND�������� �6�1٠; �*���4�HVAND����������;tR�����H��^HVAND��������W��T��q�Do�(>O'HVAND��������,��w��R�i�+�3���HVAND�������������ݵ$�����hRHVAND�����D��Ŏ�� �E�cHVAND����!|'��\�O �� <�]�HVAND����\u� ������i���HVAND������
۞=L(���� �HVAND������c�۝����Fz��-HVAND������Ff���� ��^'HVAND�����.{���_R��Ů+aHVAND����S�����(>n��晥�HVAND������Y.%]QG������gHVAND ���������{=��%h��HVAND
����gac�V� �d���%OHVAND ����7 ��=�7΂��^HVAND ���� � %�CU\�cO����JHVAND �������ͨ��淋�"y[HVAND����z�hl�r�X�[�PEO�HVAND������R �m=A����<HVAND���������{�oO\AxQ� �HVAND����������
#l0��/@E��AHVAND��������:����'�p����.�oHVAND�������������_8�:h���uHVAND����������k��3�HA��g�>�HVAND��������nh���x(���3I�HVAND����������yS�i�^�C��HVAND��������Ԯ�Yv|kaS�0~Ŧ�HVAND��������-�TB���eد�BHVAND��������7����!k��ܗk(
�VAND��������  ��^���������,C@��?��D >I����D >I����D >I���D >I���D >Z���D >Z���D >@����D >@���D >C����D >H���D >H�� � 
�n&@n@����n&@n@����n&@n7n77n@����n7+n@n77n87n&@n8����7n&@n7;n&@n8����;n&@n7;n7@n8˥�_�8��!��mDVAND�������� ��^���������,C@��?��D >H����D >H���D >H���D >H����D >Q����D >Z���D >Z����D >@���D >@����D >G���D >R���D >W���D >Z����D >Z����D >T����D >M����D >E��
�
� n&@n@����n&n8����n&n8n/n8����n/n8n/n8n&@n@����n8n;%n&@n@����%n,:n@+n&@n.#1��=��,����C1�VAND�������� ��^�����@���,C@��?��D >W�|�D >Z���D >Z�@�D >M�@�D >S�D�D >V�E�D >Z�[�D >Z�Q�D >W�J�D >L�}�D >@�Y�D >@�X�D >H�Z�D >K�^�D >K�c�D >O�m�D >O�q�D >L�x�D >K�� �   

� n&@n@����n&'n@����n&n)n1'n@����n1'n@n4n@"n&@n@����"n&;n@����%n&;n)"n5(n@/n&@n4����/n&<n46n*@n4���UcZ���%��"�VAND��������  @�^��������,C@��?�D >L��D >L��D >L��D >V� �D >U��D >P�@�D >S�+�D >P�'�D >P��D >P��D >R��D >T�@�D >M�8�D >J�+�D >@��D >@��D >F��D >H��D >K�#�D >M�"�D >G�%�D >C� �D >J��D >J�
�   

�  �    
n*@n@����n,(n@����n,%n@����n-n6
n,%n@����n,#n0 n=%n@n,(n3����n,#n0n,(n3����n0(n3n,(n0n*@n@����n*@n@����n50n@n*@n9����n0)n9 4n*@n67n0=n6����7n4:n68n0=n4����8n0:n48n0=n4d)�� ה�z���6�pVAND�������� �^���������,C@��?��D >S���D >Z���D >Z���D >X���D >T���D >R���D >Q��D >V��D >J���D >A���D >N���D >W���D >@���D >@���D >C���D >C���D >I���D >I���D >H���D >C�� 
�  � 
 n&@n@����n)5n@����n)n?n75n@����n=5n@n7/n@n&@n=����n7&n=/n&@n/����/n&0n,/n&@n/e@|�M| UyywT$VAND��������  ��^�������,C@��?4�D >W���D >W�D >Z���D >Z���D >S�l�D >S�X�D >O���D >V���D >V���D >V�D >S��D >S��D >B�@�D >B���D >G� �D >I��D >@�D >@�D >A���D >B���D >B� �D >A� � �    �  
 �  
 
 n&@n@����n&@n@����n&@n-����n&n-n&@n)n)@n@����n)n1n7@n@����n>@n@n74n>&n&@n@����&n&@n*����&n&@n*
&n)/n*����&n),n*&n)/n*/n&@n@����/n&@n- 4n>@n@����4n>@n@9n>@n@ÔP̽������W���J�VAND���� ^������B��,C@��?D >S�AD >S�PAD >S��AD >S�@BD >S�\BD >Z�D >Z� BD >P�BD >M�0BD >N�D >A�D >@��AD >@��AD >C�@AD >C��@D >D�� 
�  �
n&7n@����n&7n-����n& n-����n& n-n& n-n&7n-����n&n-n&7n-n-0n@����n<n@����n< n@n=n@n-0n3����n-0n0#n-0n3�+�sx���������A4VAND���� �B^�����C��,C@��?�BD >T��BD >R��BD >U��BD >Y��BD >Z�CD >G�CD >Z��BD >Z��BD >P��BD >K��BD >D�
� n&@n<����n&n.����n& n.n&n+&n&@n<����&n&8n5)n&@n<�H����w���"u
�,HVAND���� C^�����@C��,C@��?CD >G�CD >J�CD >O�!CD >R�CD >W�CD >Z�CD >Z�@CD >K�@CD >T�9CD >N�2CD >M�6CD >K��
 �n&@n9����n&!n9����n&n9n)!n12n,@n5����2n29n56n,@n5sB�P��Y�Qp<���VAND���� @C^������C��,C@��?KCD >V�rCD >V�OCD >Z�vCD >V��CD >Z�zCD >Z�@CD >T�dCD >Q�kCD >Q�ECD >V�ACD >V�@CD >K�KCD >K��CD >O�   �
 � 
n&@n5����n&2n5����n* n5����n* n5n*n, n&2n5���� n&2n* n*2n5$n&@n1����$n*6n/����$n*2n/+n*6n/+n&@n1����+n&@n16n&@n*#�E�|�P-:�}g(�v�VAND�����C^������C��,C@��?�CD >O���CD >Z��CD >Z��n&3n1�w�K��9i���YHVAND����m��Y(�0����3.HVAND����+�u(�Ju�Q�d=2�HVAND�������0�a�����g���HVAND������%��P7�NK���HVAND ������fL�����B�i�HVAND
�����x���)��O3w����"HVAND ������Z�r�)�e�4���w�HVAND ����w, CP�f�w�9�;HVAND ����?���)[�:2���HVAND������@�`_�gt�Y-��HVAND�����j]Wh�XT�m�`��6HVAND��������yb��4�\�&~�SUHVAND���������� Ch�Y�`�nm�HVAND�������� �X v_3Z�U�ZnsVHVAND���������DBFa��fe�I�HVAND�����������l���Z��ǥ+�HVAND��������c ��[�q�tR�G# *xHVAND��������CB ��� ���$��]?HVAND��������Ao�H6U]&T�����CHVAND��������5�,'I�m��N7�0�HVAND��������w?�*���������VAND��������  ��^���@�����,C��?���D >@���D >@���D >5���D >2���D >8���D >7���D >$����D >2����D >2���D >)����D >&���D >����D >���D >���D >����D >���D >����D >���D >���D >����D >����D >���D > ����D > ����D >���     
  �    n@n<����n@n#����n@n#����nn n @n#n@n����n,n8n@nn@n<����n(n)����n'nn(n)n(@n<����n(!n,.n,@n<����.n07n55n,@n<K�ѻ���Cc- �\J�̸VAND��������  ��^���@�����,C��?��D >@����D >@����D >:����D >1����D >1���D >���D >:����D >,���D >%���D >���D >$����D >&����D >&���D >,���D >/���D >6���D >8���D >���D >���D >����D >���D >
����D >����D >����D >!����D >&���D >*���D >"���D >!���D >���D >�� �  
� �   � 

  n@n@����n+n@����nn����nnnnn+n@����n'n@ n+n@����n+n@
n6&n@n@n+����'n@n(����'n2n<n@n(����?n@n(<n@n(n+n+����n'nn+n+����n'n'n+n+�C�a��: ٽZ=�����VAND��������
��^���@�@���,C��?��D >:���D >�y�D >�r�D >�b�D >
�`�D >�\�D >�Z�D >9�X�D >;�Y�D >@�}�D >@�@�D ><�@�D >>�F�D >=�D�D >;� 
��  � n@n?����n'n?����n'n)n( n? n@n)����&n(n n@n)����:n@n n&n)�m ����Y���nOVXDVAND�������� @�^���@����,C��?�D >@�+�D >@�0�D >?�2�D >4�;�D >/�:�D >)�<�D >#�3�D >%�2�D >)�-�D >-��D >5��D >7��D >;�@�D ><�>�D ><�>�D >>�@�D >>�
 � 
 � n'n����nn����nnn n����n nnnn'n����n&nn'n ����n%n$n'n b�s��I�A�
��VAND���������^���@�����,C��?��D >/���D >/���D >7���D >:���D >@���D >@���D >=���D >9���D >3���D >/���D >*���D >#���D >&���D >+���D >"���D >!���D >$���D >���D >���D > ���D >� �

��
  n@n@���� n6n���� n$n���� n$nnnn6n����n4n2n6nn@n@����n3n����n
n$n3n)n@n@����)n9n5n7@n@�<��, �㾡������VAND����������^���@���,C��?��D >.���D >.�p�D >.�D >@��D >@� �D >8� �D >2�D >-���D > �D >� �D >�L�D > ���D > ���D >��D >���D > ���D >�D >� ��  ��  
�
 n@n@����n@n@����n5@n@ n@n5����n@n n2&n5n@n@����n1n����n)nn1n&n0@n@����&n5@n@0n0@n@߫N?z�N�����8��VAND����  ^���@��B��,C��?D >-��AD >1��AD >5��AD >9��AD >>��AD >@�D >@�BD >2�(BD >1�BD >4�(BD >��BD >�TBD >�D >�AD >�D >��AD >� BD >�BD >�D >��BD >��AD >��AD >���   
�
   � 

 �
�  
   n@n@����nn@����nn����nnnn����nnn nn2n@����n2n@n2n@����n2n@ n2n@
n @n@����n0@n@����n1@n@ n0n@����n2n@n0n2n @n@���� n @n@���� n *n*n'@n@ n1*n2����n1*n2n1#n2Zz�oo'눘�X��U��dVAND���� �B^���@�C��,C��?�BD >�CD >&��BD >%��BD >��BD >��BD >��BD >��BD >��BD >��BD >��BD >��BD >��BD >�CD >�  � �
 �
  n@n@����n!@n@����n!@n@n&n@����n&n@n2n@n@n@����n'!n@����n- n@n'!n.!n@n@����4n@n@!n!4n'ep�����C֫�88m�4VAND���� C^���@�@C��,C��?@CD >�@CD >1�=CD >1�)CD >/�)CD >'�-CD >'�,CD >0�CD >&�CD >�CD >�CD >�CD > �CD >
�CD >�CD >�CD >*� CD >*��
� 
�
n@n@����nn@����nn@nn@���� nn%n;n@n@n7����n%n7)n@n#����)n-n=n@n#l�LE���`�"Uqx1T(VAND����  @C^���@��C��,C��?@CD >1�@CD >�ACD >
�HCD >�YCD >�ZCD > �`CD >�nCD >�kCD >�kCD > �aCD >0�ZCD >3��CD >
��CD >�}CD >�wCD >�~CD >� 
  �  �
 n @n9����n +n9����n +n8����n +n8n#n8n/ n9����n/ n8n4n9n @n6����n +n/����n +n  n +n/ n!@n6���� n&.n/7n!@n6����=n!@n67n(>n1�Rs�t��) �0���0VAND����
�C^���@��C��,C��?�CD >��CD >
��CD >��CD >��CD >��CD >6��CD >6���CD >8��CD >5���CD >,� �����n@n@����n
@n@����n n6n
@n@n&n?����n&n n n?�f���� ���h�-�VAND�����C^���@��C��,C��?�CD >5��CD >5���CD >?��CQ#?8��CD >��CD >��CD >6���n1o@����n1o n
0n@����n
n@n 0n@��b�s�I�Q�����*HVAND����m�\�ɿ�F�&��TwqHVAND�����= �tT��*(��+�HVAND����;��b@I� ��TP`�HVAND �����A����w���r�,4HVAND
�������z ����٠6��gHVAND ����)g������t޾����HVAND ����\{�j�!�@pY�,�4�HVAND �������3;��;��y�|��HVAND������w[��T����GCpHVAND����RC�M��1�Jg!��4HVAND���������Jo� �f=8QF�I��HVAND��������.󐼢�*�)CiR7Z�HVAND��������D9K .:���r���|R�HVAND��������~��K����6�LG�HVAND����������b^����d��<B�yHVAND��������VPD|���)�Iz�(�HVAND��������=���DM-4��`e��HVAND��������.j��NL{��||�>��HVAND��������ވ�>lR�íy� ��HVAND����������v�»Q���Dٝo\VAND����������^��������,C���?��D >����D >����D >�����D >����D >����D >�����D >����n@n@����n@n@;n0@n@��s��:��x�!�+VAND��������  ��^��������,C���?��D >�����D >�����D >�����D >�����D >���D >���D >�����D >����D >����D >����Q#?����Q#?�����D >����D >����D >�����D >����D >���  �

� �� 
n@o@����n%n@����n%n����n%nn%nn%n@����n%nn: n@n@o@����n@o4����n%n>n*@o44n*@o@����?n*@o@4n4@n@����4n:@n@<n4@n@���`0�Q�y�`�VAND��������  ��^����@���,C���?W�D >��@�D >��J�D >��J�D >��N�D >��p�D >��a�D >��h�D >����Q#?����D >��@�D >��
��
�
n@o@����n@o@����n"@o@no*����n"o*nn")n@n@����2n@n@)n@n@����6n@n)n @n@�:��D���-���[�VAND�������� @�^�������,C���?!�D >���D >���D >���D >��$�Q#?��@�D >��-�D >��2�D >��7�D >��7�D >��3�D >��4�Q#?��!�D >��'�D >���D >���D >���D >���D >��$�D >��!�D >��@�D >���D >��  �

�       
 � 
   n@o@����n @o@����n@o@����n@n@����nn@n;@n@n o ����n on n n @o@����n6n@����n;n@n6n@n @o;����n 'on5@n; n@o;����n@o;����n@o����n@o -n@n n@o;����2n@n;n -on@n;����n@n;����n'nn!@n;n!2n5����n%-n5
n!2n5 w���� Bf[龡��;0VAND�������� �^��������,C���?�D >����D >����D >���D >����D >���D >���D >���D >����D >����D >����D >����D >����D >����D >����D >����D >��  �� 
  ��

n@n@����n'n;����nn-n'n;����nn;n'nn@n@����1n@nn@n@����$n@nn9'n@�֖�v�Wg3z�\�z�~VAND�������� ��^������,C���?��D >����D >����D >���D >��D >��D >���D >���D >��t�D >��\�D >��P�D >���D >��D >����D >����D >����D >��@�D >���D >��D >����Q#?��p�Q#?����D >����Q#?����Q#?�� �D >��d�D >��T�D >��H�D >��H�D >�� �   �  �  �

 �  n@o?����n@o?����n@n����n@n����nn n@nn!n����n!nnn n@o?���� n@n���� n n !n@nn!0o?����n:n?%n!0o&%n@o#����%n@n����%n@n����%n@n*n@n>n@n����>n@n>n@n'n@o#����'n@o!����'n0n!
0n@o!0n7n#����0n4n! 4n!7n#���w�r���dzD3�<�VAND����

^�����B��,C���?D >��0AD >��,BD >��PBD >���BD >�D >�`AD >���AD >���AD >���AD >��BD >�� BD >�� BD >�� BD >�� BD >���BD >��hBD >��pBD >���BD >���BD >��dBD >��PAD >��pAD >��pAD >����

  ��
  
 n@n(����n@n'����n@n����n@n n+n n#n'���� nn n#n'���� n%n'n#nn@n(����+n@n����+n@n4n@n n@n(����:n@nn@n(����n(n(9n#@n( Z�P��sNJR.T�
J VAND����

�B^����C��,C���?�BD >���BD >���BD >���BD >���BD >���BD >��CD >��BD >��BD >���BD >���BD >���BD >���BD >���BD >���BD >��CD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >���BD >�� �
� ��
� �
 n@n@����n@n@����n@n*����n%
n*n@n$ n+n@���� n+n/n8n@����n8n;n8n@n@n@����'n@n-����'n@n-'n$1n+n$9n@����n2!n:n$9n@����'n$9n+n9'n@R�5����a4;(�5��8VAND����  C^����@C��,C���?0CD >��+CD >��*CD >��CD >��CD >��CD >�CD >�6CD >��@CD >��;CD >��:CD >��CD >�� CD >��CD >��CD >��(CD >��@CD >���    � 
 �

 n@n=����n@n5����n@n5����nnn@n5nn5����nn-n-n5n@n=����n@n5����:n@n5n+n n @n=����6n @n5n@n=����0n@n5n5@n=��g(Ķb���zh4V�VAND����  @C^�����C��,C���?tCD >���CD >�CD >�zCD >��WCD >��gCD >��\CD >��[CD >��@CD >��GCD >��@CD >��iCD >��FCD >��JCD >��@CD >��nCD >���CD >��bCD >��iCD >�� � 

� 
� �� 
       n@n@����n)n5����nn5����nn n n5n )n4����n
n1n )n4����n )n4 n )n
n@n@����n@n@����"n@n@n'n ����n'n n'n "n@n@����"n:n4
"n
@n@����"n
4n4)n9@n@Fd��zn$�W.�=v^�VAND�����C^�����C��,C���?�CD >���CD >���CD >��CD >�����n@n@�HfDP} �+�g��3��VAND�����C^�����C��,C���?�CD >���CD >���CD >��CD >����n0n@���޽��ܲ�N�$HVAND�������֥E�2|F�Z����HVAND����������aVw���hAHVAND�����)� ��p=�GK�� I�HVAND ����D
a�ٳSg���|%��HVAND
����2�����z<A�G����HVAND �����"s� ���� ��c��HVAND ���������"�F��͋&�LeHVAND ����ev]�[KY��n9�ƛHVAND����f� �o��K�1ς9�HVAND����R��j �Z��>v�.
HVAND��������ߝ�tܚ
;s�MU�MHVAND���������9�B���l��5t;�HVAND���������n�o[�X��6����HVAND�����������͹>��ג'�HVAND���������A�#0!i� �M7���HVAND���������3��cW9�=m�C%�HVAND�������� } >�%g�S�S��HVAND����������*h�V�������HVAND��������҈�ؿ�0>�㦤T<�HVAND��������9 ߨ'���[���HVAND����������^���������,C�?��D >��D >��D >����D >���D >����D >�����n@n@����n@n@n+4n@��t' �m7<�U߱n��VAND��������  ��^���������,C�?���D >|����D >����D >�����D >x���D >����D >�����D >x���D >|���D >|���D >D���D >D���D >����D >��D >��D >8����D >$���D >����D >�����D >����D >�����D >����D >�����D >����D >���D >� �� �  
 
  �

�
  n@n@����n6n%����n+n ����n n n+n����n'n n+n"n6n%����$n6n"n/n%����"n'n#n/n%)n@n@����4n@n@����4n@n
;n@n@����;n@n) >n@n@ )n%@n@����)n%/n()n%@n@����)n%,n/5n)@n@Co�V�U5+��ݥ-�VAND����������^�����@���,C�?��D >@�D >@�D >����D >������n@n@Y����E�:�W=���VAND�������� @�^��������,C�?@�D >�D >�D >��D >@��D >�� �D > ��D ><��D >��@�D >�����n>n@����n>n@����3n>nn>n@!n3n@����)n3n4!n4)n@� u�a�*?FH�Ӟk�VAND��������  �^���������,C�?��D >����D >����D >l���D > ���D >8���D >L���D >h���D >8���D >0���D >4���D >����D >����D >���D >����D >����D >���D >��D >��D >����D > ���D >����D >����D >����D >����D >����D >����D >����D >`�� 
 � �   
  �
   n@n@����n@n"����n%n����n%n nnn@n"����n6n"8n@n"����8n<n<n @n" n"@n@���� n&*n@���� n-n@n&*n@����n&*n@
n&n- n"@n6����n"6n62n"@n.����2n"@n.<n"@n$�,/�}�T�����2�VAND��������

��^�������,C�?��D >,���D >$���D >$��D >,���D >��t�D >���D >���D >�� �D >����D >����D >��D >�� �D >��D >�D >� �D >��4�D >��8�D >P��D >����D >��p�D >��@�D >����D >@��   
  

  � 
  n@n=����n 8n=����n $n8����n n$n'$n8n&8n=����n88n9n&8n=����n&8n8n9,n=(n@n9����(n:n&����(n$6n&0n:n,n%@n9����,n88n91n%@n9����6n%@n8 1n88n9G=���� Bү X��a�VAND����  ^������B��,C�?\BD >�dBD >��BD >��BD >$��AD >�BD >� BD >��AD >�(BD >�@BD >�4BD >�D >��D >�AD >��PAD >���AD >BD >BD >��BD >�� BD >��<BD >�`AD > � AD >��@D >���
      � �  
   n@n@����n(n@����n%n@����n"
n9 n%n@���� n%n@
nn" n(n@����n%n n(n@����n(n0 n;%n@ %n@n&����%n0n&����*n0n%n0n&����%n/n&*n0n/n@n����/n7n/n@n����/n9n7n@ni�vps�pQvf޼W���\VAND���� �B^�����C��,C�?�BD >$��BD >��BD >$��BD >4��BD >x��BD >���BD >���BD >D��BD >���BD >���BD >P��BD >T��BD >���BD >���BD >���BD >��BD > ��BD >��BD >����
�     n(n#����nn#����nnnn#����n nn"n#n(n#����!n&n n(n#����nn"n(n#��P�uQn�9Y�pVAND����C^�����@C��,C�?CD >@CD >@CD > �*CD > �CD >��CD >��CD >�� CD >���n@n@����n@n@ n%n7ץ}�A�S�`_.;���VAND����  @C^������C��,C�?OCD >��UCD >T�XCD >T�[CD >h�`CD >l�]CD >|�ZCD >��CD >��nCD >��oCD >d�mCD >P�eCD ><�_CD >�OCD >�WCD >�QCD >�@CD > �kCD >��sCD >��@CD >^CD >\CD >@�]CD >@�cCD >���CD >�� �

   �
   �  
 �  n@n@����n+n@����nn@����nn nn@����nnnn@n+n@����n=n@ n+n4����n+n(
n#n4n@n/����n@n/����n@n/ -n@n ����-n@n .n@nn3n-����n-n����n nn -nn3n-����n+n- n3n(��3"�+���K��o'��VAND����

�C^������C��,C�?�CD >T���CD >T��CD >���CD >����CD >���CD >���CD >���CD >4���CD >����CD ><��CD >���CD >���CD >����CD >@���CD >���CD >���CD >�CD > �    �   ��



�   n@n@����n@n@����nn4����nnn#n4n@n@����n@n n@n@����n n/n#@n@n@n@����nn;����nn/n&n;!n@n@����!n@n!n@n@����!n@n@ 'n@n���!��vK����v#�VAND�����C^������C��,C�?�CD >�CD >�CD >���CD >�����n0n@�q��(hSaZ(y��HVAND��������U���nu�24J�HVAND�����y���b��qBs��HVAND������2̻�T���>~HVAND ����W���%����@�r��3GHVAND
����٫h|7��� ����4HVAND �����[���Ǿ�#6ҹF�HVAND ������عȈ�g����HVAND �����<G��D
��h_R��HVAND�����J�����������<�.HVAND����$�|�x�j���Kʱ�HVAND�����Py�0��c�����KbHVAND����Ry/��@K�X�!]���HVAND�����T�r�503��?��}�HVAND����|���ڎ�-Y�z�">HVAND�����\uD��'���*b�<HVAND����l������`����}Do�HVAND������M;En��r�HVAND�������p-!���z���HVAND�����L��: �T�,�WgHVAND������L��g5�f<f��xhVAND���� ��^�������,C�B�?��D >�B��D >�B��D > B���D >�A��D >�A��D >0A���D >�@��D >��D >���n@n@����n6n����n6nn4nn@n@����n@n@9n@n@�σz���Ò�BN/~8VAND����  ��^�������,C�B�?��D >�A��D >�A���D >�A��D >���D >��D >@@���D >A���D >0A��D >�A��D >�A��D >�A���D > B��D > B��D >B���D >�A��D >�A��D >B��D > B��D > B��D >�B���D >�B��D >`B��D >HB  
     
�� ��
  n@n@����n#)n@����n#)n@����n()n@ n# n@
n%$n2���� n($n2n%$n2����n%$n(n($n2n@n(����,n@n����1n@n,n;n����,n0n-n;nn0n(����*n0nn)n(����n)n%n!$n(S<��8�mŴiB�VAND������^���@���,C�B�?��D >�At�D >Bq�D >(Bk�D ><Bb�D >�B@�D >�B@�D >��D >����n@n@����n@n@����n n!n@n@ n!@n@���� n!n/n/@n@�5;x�|��>�$�e-a�VAND����@�^������,C�B�?@�D >�B1�D >�B1�D >@B.�D >4B-�D >�A)�D >�A'�D >�A"�D > A�D >@�D >�D >�B�D >�B�D ><B�D >0B�D >�A�D >A�D >B�D >$B"�D >\B!�D >|B  �� �
�    n1n@����n/n@����n!n����nnn!nn/n@����nn@$n /n!n1n@����nn@����nn0n0n@n1n@����$n1n/n)/n@)��̧k�U����:/|VAND���� �^�������,C�B�?��D >pA��D >�A��D >�A��D >(B��D > B��D >�A��D >�A��D >�A��D >0A��D >@@��D >�B��D >�B��D >XB��D >TB��D >\B��D >lB   
�� n@n@����nn����nnn
n����n
nn nn@n@����nn*����n n*nn*"n5@n@����"n5@n@&n5.n;c�L���=�<㎧Lo�|�VAND����
��^�����,C�B�?��D >B��D >B`�D >�A��D >�A��D >�A��D >$B��D >0B@�D ><BD >8BD >B��D >�B\�D >�B\�D >dB��D >XB �
��n@n@����n:n@����n6 n@'n:n"'n@n/����'n"=n//n@n/����/n2n:n!@n/��(+�6)��Hya��A�VAND ^����B��,C�B�? BD >�BpBD >�B`BD >tBPBD >TB<BD >B BD >�ABD >pABD >�@BD >�AD >�AD >�A�AD >�ABD > BBD >$BBD >PBBD >xBD >BD >8B�@D >4B�@D >$B�@D >B

��  � 
n<n@����n4n5����n'nn4n5����n(n#"n4n5n <n@����n n.&n4<n@����&n48n@(n=<n@#�t��.�VW�(��{�VAND �B^���C��,C�B�?�BD >�BCD >�BCD >�@�BD >`A�BD >`A�BD >�A�BD >�A�BD >�A�BD > B�BD >$B�BD >LB�BD >hB�BD >�A�BD >�A�BD >�A�BD >�A
�
 �
  �
n@n@����n@n@����n@n@����nnn:@n@n@n@����n@n@n("n3n@n@����8n@n@����8n@n@8n:nn@n@����3n@n@n3n3$���ϢzH9�����4�VANDC^���@C��,C�B�?CD >�@CD >�B@CD >�B@CD >CD >����n@n@�u�������utU5
�|VAND

@C^����C��,C�B�?gCD >�@bCD >�@^CD >@CD >kCD >�@�CD >CD >uCD >�@@CD >�B�CD >�B  ��� �� n@n@����n@n@����n@n@n"n'n@n@����5n@n@'n@n@����+n@n@'n@n@JY�#�oчH�oIj�)�VAND�C^����C��,C�B�?�CD >�B�CD >�B�CD >�CD >����n@n@��q����D; ����VAND�C^����C��,C�B�?�CD >�B�CD >�B�CD >�CD >���n0n@pk��ՄY[�Ln�)�HVAND�;�=ue��ٚ"aHVAND��RJ�!'G<�|�Y��HVAND/�S��-�L����ALHVAND �b���\_&�D�k�JHVAND
�Nfw[1t�p��c�6HVAND ��M$��Җ���9"��HVAND �ؿ�L'��!�k5'���HVAND ��5���ٟ�b�"��HVAND���� X�{�.��p��HVAND���P�����Ʃy@��[HVAND����v���x�jRʵޜx.�FHVAND�������Ғ�Ԁ�=~�) �HVAND������ �,��vØJ�)HVAND����i*�`�Of��/����HVAND����w7�i���6�FZ�|��HVAND����A���2H�8\���W���HVAND�����B���i�P�K.��PHVAND��������Y� Y�f�LMA�HVAND�����~��%c�#���/���HVAND�����%����Μ�u�h㮲�VAND����
 ��^����B����,CC�?��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B���D >C��D >C��D >�B���D >�B � ��n@n@����n@n@����nn,n@n@����n"n,4n@n@n@n@����n@n4n,@n@����n,n35n9@n@� u�Ա�Jw`�����2<VAND���� 
��^����B����,CC�?��D >C��D >C��D >�B���D >�B��D >�B��D >�B��D >�B���D >�B��D >�B���D >�B���D >�B��D >�B�� �
� n@n@����n@n@����n,@n@n6n@����n6n@n)n
,n@n@����,n6n,����,n6n,,n3n2n@n@����2n6n,;n3@n@u���ʪv�1 �%���<VAND����  ��^����B@���,CC�?�D >�B}�D >�Bw�D >�By�D >�B~�D >�Bw�D >�B@�D >�Bb�D >�Ba�D >�Bc�D >�B`�D >�B`�D >�Bl�D >�B��D >�B~�D >�B��D >�B��D >C@�D >C
 � � � 
�
 �    n@n@����n2@n@����n2@n@����n5n6n2@n@n6 n@����n6 n@n6n@n@n@����n@n����n nn@nn@n@���� n@n@n@n@����n nn$@n@Nޠ�F8y:���e_��VAND����  @�^����B���,CC�?�D >�B�D >�B�D >�B$�D >�B&�D >�B/�D >�B1�D >�B@�D >�B�D >�B�D >�B�D >�B�D >�B�D >�B �D >�B�D >�B�D >�B�D >�B�D >�B�D >�B�D >�B�D >�B
�D >�B@�D >C�D >C
�

 
�  

��  �  n@n@����n@n@����n@n@����n&n@ n@n@����nnn&@n@n.n&����"n.nn&n&����nnn&n&(n@n@����(n<n����(n1n+n<n����+n;n8n<n.n%@n@����;n%@n@ .n(@n@����1n(@n@
.n,@n@���ɿ�����A�M�VAND����  �^����B����,CC�?��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B��D >�B�D >�B�D >C��D >C �� 
  
  � ��� �
  
 n@n@����n@n@����n@n@����n$@n@
n7n$����n 7n$n.n!n@n����n +nn@n����n@n n 7nn@n@����7n@n����7n@n ;n@n����;n@n ;n @nn @n@����n @n$����n -n<n#@n$ 7n$@n@����7n$@n@ <n$@n@ %0����=��.��VAND����  ��^����B��,CC�?@�D >�B\�D >�B��D >�B0�D >�B�D >�B�D >�B$�D >�B��D >�Bp�D >�B��D >�B �D >�B�D >�B��D >�B��D >CD >CD >�B�D >�B@�D >�B��D >�B��D >�B��D >�B��D >�Bd�D >�Bd�D >�B 

  
    ��  ��� 

  n@n@����n@n@����n@n@����nn n@n@����n@n@n"n n"n����n"n n"n����n"nnn n@n@����n,n����nnn,n����nn (n,n"n@n@����"n4n"����"n4n"&n,n4n"@n@����4n"@n@8n$@n@
��� ����^tRYs�4VAND  ^����B�B��,CC�?pAD >�B�BD >�BpBD >�B BD >�B$BD >�BBD >�BBD >�B�AD >�B�AD >�B�@D >�BAD >�B@AD >�B�AD >�B@AD >�BD >�BTBD >�BlBD >�B AD >�B�AD >�BBD >�B8BD >�B�BD >�BD >C`AD >C�AD >�B�AD >�BBD >�B0BD >�B �� 

    �
�     n@n@����n 5n@����n"n@����n<n@
n"n@����n"n$n#n@ n 5n8����n n n 5n8���� n nn5n8 n@n:����"n@n3����"n@n3"n<n����"n)n(n<nn;n:����n;n8����n;n1$n15n8n15n:����n15n8 $n8.n:j{GW%�GW�oIJ��PVAND  �B^����BC��,CC�?�BD >�BCD >�B�BD >�B�BD >�B�BD >�B�BD >�B�BD >�B�BD >�BCD >�B�BD >�B�BD >�B�BD >�BCD >�B ���
��  n@n4����n,n4����nnn,n4����n n4n,n/ n@n���� n@n���� n@n,n@n8n@n����8n@n8n@n��� �<Kx7��ьD�HVANDC^����B@C��,CC�?CD >�B CD >�B CD >C@CD >C@CD >�BCD >�B����n@n@����n@n@ n/@n@]�3�r�;����`�q�VAND@C^����B�C��,CC�?@CD >C�CD >C�CD >�B@CD >�B����n@n@^.�GAk�B�������VAND�C^����B�C��,CC�?�CD >C�CD >C�CD >�B�CD >�B����n@n@l;�DZN��35�:�s���VAND�C^����B�C��,CC�?�CD >C�CD >C�CD >�B�CD >�B���n0n@�o���?��+�B��9�HVAND���"�����f�Am��HVAND=x|ơ'�˲~n��HVAND�@�U} �/�;7��iHVAND ^�>H�dv��S��HVAND
Ւ�7�����W%ظN�vHVAND (t2B�>�=~�����HVAND X��*i��#a�@�:�d�HVAND ۩JL�V�2'۶8M�HVAND�P2�����}��t?�HVAND$ݚF�N�HvG��F��QHVAND����X�V=E�S���:B���HVAND�����(�����騽����HHVAND�����mr~� _��Mt��>�HVAND�����k�q�_��3:�ؔmHVAND����b�S��{�f�;���GLHVAND����l��l*4Do�V�_HVAND�����K���u��[>��@��HVAND�����&A�x�~��*|�_��&HVAND�����(�L���5�=���HVAND�����������N��iR��|VAND����

��^���C����,C@C�?���D > C��D >C���D >C���D >C���D >
C��D > C���D > C��D >
C��D >@C��D >@C � ��n@n@����n@n@����-n@n@n@n@n
n@����n
n n n@����n n@n n@f/�˜��A �}x�K�VAND������^���C����,C@C�?��D >@C��D >@C��D >C��D >C����n@n@� �e�:��߀L���VAND������^���C@���,C@C�?��D >@C@�D >@C@�D >C��D >C����n@n@�"F����f���z�U�VAND����@�^���C���,C@C�?@�D >@C�D >@C�D >C@�D >C����n@n@Pus[Եᣉ��̮��VAND�����^���C����,C@C�?�D >@C��D >@C��D >C�D >C����n@n@��l|���@��9��*E�VAND������^���C��,C@C�?��D >@CD >@CD >C��D >C����n@n@Ѹ��M ���K��^�\VAND

^���C�B��,C@C�?BD >'C�AD >$C0AD >C@@D >C�?D >C@D >C�@D >C`AD >CD >CBD >'C�BD >CLBD >C(BD >%CD >@C�BD >@C�
  � � 

�  
 n@n@����n@n@����nn����nnnnn@n@����nnn@n@����nn@n$@n@n@n@����nn@����nn@nn@!n@n@����*n@n@!n%@n@����!n'@n@%n%@n@ ��8ĽV��-.��shVAND 
�B^���CC��,C@C�?�BD >CCD >C�BD >C�BD >C�BD >@CCD >@C�BD >C�BD >C�BD >C���n@n@����nn@����nn@nn@n@n@����nn@n@n@����n@n@/n@n@���S߆��7 ����HVANDC^���C@C��,C@C�?CD >CCD >@C@CD >@C@CD >C CD >CCD >
C����n@n@����n
n@n@n@%� �/X�<�Z \}�VAND@C^���C�C��,C@C�?@CD >@C�CD >@C�CD >C@CD >C����n@n@2.����7�6 v?��-�VAND�C^���C�C��,C@C�?�CD >@C�CD >@C�CD >C�CD >C����n@n@��\��+*s>��CJ�VAND�C^���C�C��,C@C�?�CD >@C�CD >@C�CD >C�CD >C���n0n@�
}B��{��T:oˆHVAND�[v�J�e�b#���5@SHVANDRt���w����]W�'��HVAND�ȭA4>���%QM���&HVAND ���+�$ٿ��f�HVAND
�e ��7+L1i�翃PHVAND �]u�ߏ��a��(0)�HVAND t�w݆1����ߚ-IDHVAND ��z��#���%���HVANDO���-�X�f巖|"�HVAND-�����vJKhGJ�HVAND�����V'���s��q_�HVAND����t(h�Ny�#[>���X�HVAND�����c�-�/V�``˃F�HVAND�����Ov��Pg3�Y"
HVAND������� �?�i�SN5%HVAND����Q.���e0<�SV����HVAND�����2��j�5 �Z�)Z�c�HVAND����
m��ׯ��[��T:�HVAND������n"s3�Sƾ*9��HVAND���� 1�AIէo*��sʋH��VAND������^���@C����,C�C�?��D >ZC��D >@C��D >@C��D >ZC��n@nX6h4z61�3�\l!X��VAND������^���@C����,C�C�?��D >ZC��D >ZC��D >@C��D >@C���n@n�b45���������,��VAND������^���@C@���,C�C�?��D >ZC@�D >ZC@�D >@C��D >@C���n@n�5p���'�!j���g��VAND����@�^���@C���,C�C�?@�D >ZC�D >ZC�D >@C@�D >@C���n@n^60ʝ�˹��a��k�VAND�����^���@C����,C�C�?�D >ZC��D >ZC��D >@C�D >@C���n@n�N�Z����~zB��VAND������^���@C��,C�C�?��D >ZCD >ZCD >@C��D >@C���n@n���N|�iD���#�����VAND^���@C�B��,C�C�?D >ZC�BD >ZC�BD >@CD >@C���n@n�Y�--0���+��7B��VAND�B^���@CC��,C�C�?�BD >ZCCD >ZCCD >@C�BD >@C���n@n����b�&�]MzǤ8=�VANDC^���@C@C��,C�C�?CD >ZC@CD >ZC@CD >@CCD >@C���n@nP�8't &>ҮE4�X�VAND@C^���@C�C��,C�C�?@CD >ZC�CD >ZC�CD >@C@CD >@C���n@n�h�>$+�N@��ܩ��VAND�C^���@C�C��,C�C�?�CD >ZC�CD >ZC�CD >@C�CD >@C���n@nR�Z$.������#M��VAND�C^���@C�C��,C�C�?�CD >ZC�CD >ZC�CD >@C�CD >@C��n0nT���x�eb�z����HVANDLp:ߜ��
��)�A{J�HVAND݄}1&�Yj�p����sHVAND�5K�HC�V�l��e�rHVAND ��F����#�.It9Y�HVAND
�\���e��Y��B!/HVAND �Zl���^]��a�_�HVAND � 2��KB�8`��l�{�HVAND tۓ�n���ҋӿ�ڎHVAND�#P&�`EzsW�ʇ�HVANDa�:���>��/h��@�PHVAND�����sm����9�F��HVAND�������6��ӥ_V�]HVAND����*�L����X!Eu= �HVAND��������bPRu���HVAND����o��:��HQ!��H8�HVAND�����(��a~��5��1��uHVAND��������Q��=���XўHVAND������ϐ-=��
�.�DH�HVAND�������z:��m9�[HVAND����K�R*�}�5� ���L,HVAND������g2�������P�3HVAND�����AsO '���z����%HVAND����9�o~"1msj���HVAND����
�9t&�B��S�ty�[HVAND����vf�v��A;��ԉnp�HVAND����pT�a�O�i�Q�oHVAND;��sIS��Z5$Ç�UHVANDur�-�\�z.O0��bHVAND*�5��I��X,*�iɈHVAND�gԱ����W���9g0HVANDOY�����wT&��@aHVANDu��Iߛ����HVANDQ��|�D�*���� ;�HVAND@1��ղ-�C}w͞A�HVAND7G��o��&�Ϥ�HVAND X+��8*y�;f��I�fHVAND
8lA�b�X �����HVAND �j��H �^��ۭ)dHVAND ]�)��9X�z���|�DHVAND �� �w��dC!#�,V`HVAND�/�����ޘ����Y�HVAND�K��V6��B��;X�HVAND����p��)�P��MPa���mRHVAND������Y�}L�I[�N��[&HVAND�����?W���E���tl�#�HVAND����� �HI�2��'%m���HVAND�����.-��I��mXd*KBHVAND�����p���Oo�1�:���HVAND����<�$�mi�1�W3��bHVAND������!ue.�z�����HVAND��������sB������:HVAND�����6�@�"���l�vHVAND����K��#IU�N_�L���rHVAND������+ `Cw�Ll���HVAND����U"�2��BdI���~��HVAND�����nă:<��Ոya�THVAND�����)D��j���j�J'G HVAND����\
��.B�C&Gʢ�HVAND��R,�[��=�I3?�THVAND/J�p���#�FS>HVAND�����E�om\��� HVAND~��|5���� �R �yHVANDb&��/™��])8Zo�HVAND0�kp�d�Hu3�\��HVAND&�O�9c������Ș-HVAND�� ,͡[܁g� kU��HVAND �4�6����M*F�HVAND �6���g�t�.�K��HVAND
������ Y��W?�HVAND  ~:��G� �Lf�kHVAND 嗡�]Wp�AY��jP[�HVAND �=]PH�d��F ЅėHVAND�M��DR_OG/j��a�HVAND�-�[\�h9E�"�*�HVAND����MqT'���?�%��nHVAND������S���NEÄ7P���HVAND������� h*t��o��t�"HVAND������zL�?��+K�)-mHVAND�����\�@�'-�?{tF�"�HVAND����)��0;:"yO�4� HVAND����% �q8 ,S:t���G�HVAND������ݾ�ې��ѹ(4M�{HVAND����za��MD���8���LHVAND������XzEA��f����'HVAND����mJ�
���A��5����HVAND�������9�o�-!�X빛��HVAND����d�����2��Դ?(�HVAND����O=dr��w�u.�a̫HVAND����˂;���n"(��q[�HVAND�����R}*
��)K>j��HVANDO��S��,ݟ#�HVAND���jw�N8���t@HVAND_�;��TS
�c�n��HVANDbM��������<I�R�HVAND�����0�x^V6HVAND��M#�MJ�N�W�3�HVAND��(J:�~)�&|G���
HVAND�?�k����#���ջHVAND,in�����4���wHVAND W����*Qy���y�EHVAND
����k�lF�����W�HHVAND ��U@Ba0��m��y���HVAND ����& ���ny�]HVAND 1n�l�b-�R p(*A�.HVAND){[����@2�Y[z*��HVAND��&�ޛ\eQ��r�Wn�HVAND����+�Ф�u�P�1&]&HVAND����J5n�QX!�M^"��kHVAND����!����Y䏰��vHVAND����5�`=����!{N��P@�HVAND����zwC0�WD���9U��HVAND����]�~pMP��"[#�z8pHVAND����Ο Y0 q���۬��vHVAND����`򪁇�p���� �HVAND����v/l�+��ߨш�mTAHVAND����a�a�n{����qh�rHVAND���������=������HVAND����9"��<�����h�+A/HVAND���� ��$�4���4��|HVAND���������]�)�� (��HVAND�����yo��C� $��V1��HVAND�����?��~�/+yy�{)WHVANDtGq�"�o�����[HVAND��d@J�u��Uu��K;HVAND�թ��0.�O���&9HVAND����+�.��_��/X�HVAND�~g���d�G)DkHVANDEi��'1>�-��o��lHVANDk����,�q��a��HVAND��U����A�{u;�mHVAND���`��]�_22��HVAND �.�8��u��YM���XHVAND
`������6� ��HVAND ^� ɿ@���58��HVAND ��|�Ա�p�Z���HVAND ������7�n"T@�H�HVAND��%�-S�����b?HVAND���(%]y�G�Q��Z�@@@���=@�?@���A3zD9`
Cf�C����?

8
Assets/scenes/Island/NavMesh-SeaVisual 2.asset.meta


fileFormatVersion: 2
guid: 23558245c8a1d4d3ea3a1eed7d9c34d0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 23800000
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存