Update the projects to entities 1.0.0-exp.8 packages
This commit is contained in:
Родитель
0af8dc7281
Коммит
81d262961b
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c35781bf5951a5e4b96a3072056e3366
|
||||
guid: 46f57acf33de6b3428fb33bc0d13e03c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
|
@ -0,0 +1,139 @@
|
|||
using System.Collections.Generic;
|
||||
using Unity.Burst;
|
||||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using Unity.Jobs;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Transforms;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Profiling;
|
||||
using Hash128 = Unity.Entities.Hash128;
|
||||
|
||||
public struct MeshBBFactorySettings
|
||||
{
|
||||
public Hash128 Hash;
|
||||
public float MeshScale;
|
||||
public int PointStartIndex;
|
||||
public int PointCount;
|
||||
public float3 MinBoundingBox;
|
||||
public float3 MaxBoundingBox;
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
public struct ComputeMeshBBAssetJob : IJobParallelFor
|
||||
{
|
||||
[ReadOnly] public NativeArray<MeshBBFactorySettings> Settings;
|
||||
[ReadOnly] public NativeArray<float3> Vertices;
|
||||
|
||||
public NativeArray<BlobAssetReference<MeshBBBlobAsset>> BlobAssets;
|
||||
|
||||
public ComputeMeshBBAssetJob(NativeArray<MeshBBFactorySettings> settings, NativeArray<float3> vertices)
|
||||
{
|
||||
Settings = settings;
|
||||
Vertices = vertices;
|
||||
BlobAssets = new NativeArray<BlobAssetReference<MeshBBBlobAsset>>(settings.Length, Allocator.TempJob);
|
||||
}
|
||||
|
||||
public void Execute(int index)
|
||||
{
|
||||
var builder = new BlobBuilder(Allocator.Temp);
|
||||
var settings = Settings[index];
|
||||
ref var root = ref builder.ConstructRoot<MeshBBBlobAsset>();
|
||||
var array = builder.Allocate(ref root.Vertices, settings.PointCount);
|
||||
|
||||
var s = settings.MeshScale;
|
||||
root.MeshScale = s;
|
||||
root.MinBoundingBox = settings.MinBoundingBox * s;
|
||||
root.MaxBoundingBox = settings.MaxBoundingBox * s;
|
||||
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
var v1 = Vertices[settings.PointStartIndex + i];
|
||||
array[i] = new float3(v1.x * s, v1.y * s, v1.z * s);
|
||||
}
|
||||
|
||||
BlobAssets[index] = builder.CreateBlobAssetReference<MeshBBBlobAsset>(Allocator.Persistent);
|
||||
builder.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public class MeshBBBaker : Baker<MeshToBoundingBoxAuthoring>
|
||||
{
|
||||
public override void Bake(MeshToBoundingBoxAuthoring authoring)
|
||||
{
|
||||
// new
|
||||
var blobFactoryPoints = new NativeList<float3>(Allocator.TempJob);
|
||||
var vertices = new List<Vector3>(4096);
|
||||
Profiler.BeginSample("Bake_BuildHashAndPush");
|
||||
|
||||
// Compute the blob asset hash based on Authoring properties
|
||||
var mesh = authoring.Mesh;
|
||||
var hasMesh = mesh != null;
|
||||
var meshHashCode = hasMesh ? mesh.GetHashCode() : 0;
|
||||
var hash = new Hash128((uint) meshHashCode, (uint) authoring.MeshScale.GetHashCode(), 0, 0);
|
||||
|
||||
// Query the context to determine if we need to build the BlobAsset
|
||||
if (!TryGetBlobAssetReference(hash, out BlobAssetReference<MeshBBBlobAsset> blobAssetReference))
|
||||
{
|
||||
Profiler.BeginSample("CopyVertices");
|
||||
float xp = float.MinValue, yp = float.MinValue, zp = float.MinValue;
|
||||
float xn = float.MaxValue, yn = float.MaxValue, zn = float.MaxValue;
|
||||
|
||||
// Copy the mesh vertices into the point array
|
||||
if (hasMesh)
|
||||
{
|
||||
mesh.GetVertices(vertices);
|
||||
for (int i = 0; i < vertices.Count; i++)
|
||||
{
|
||||
var p = vertices[i];
|
||||
xp = math.max(p.x, xp);
|
||||
yp = math.max(p.y, yp);
|
||||
zp = math.max(p.z, zp);
|
||||
xn = math.min(p.x, xn);
|
||||
yn = math.min(p.y, yn);
|
||||
zn = math.min(p.z, zn);
|
||||
blobFactoryPoints.Add(new float3(p.x, p.y, p.z));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xp = yp = zp = xn = yn = zn = 0;
|
||||
}
|
||||
|
||||
Profiler.EndSample();
|
||||
|
||||
// Record this blob asset for computation
|
||||
var vertexCount = hasMesh ? mesh.vertexCount : 0;
|
||||
var setting = new MeshBBFactorySettings
|
||||
{
|
||||
Hash = hash, MeshScale = authoring.MeshScale, PointStartIndex = 0,
|
||||
PointCount = vertexCount, MinBoundingBox = new float3(xn, yn, zn),
|
||||
MaxBoundingBox = new float3(xp, yp, zp)
|
||||
};
|
||||
|
||||
Profiler.EndSample();
|
||||
Profiler.BeginSample("Bake_CreateBlobAssets");
|
||||
|
||||
// Step two, compute BlobAssets
|
||||
var job = new ComputeMeshBBAssetJob(new NativeArray<MeshBBFactorySettings>(1, Allocator.TempJob){[0] = setting}, blobFactoryPoints.AsArray());
|
||||
job.Schedule(1,1).Complete();
|
||||
blobAssetReference = job.BlobAssets[0];
|
||||
AddBlobAssetWithCustomHash(ref blobAssetReference, setting.Hash);
|
||||
}
|
||||
|
||||
Profiler.EndSample();
|
||||
Profiler.BeginSample("Bake_CreateECS");
|
||||
|
||||
// Create the ECS component for the given GameObject
|
||||
var entity = GetEntity(authoring);
|
||||
AddComponent(entity, new MeshBBComponent(blobAssetReference));
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
AddComponent(entity, new LocalToWorldTransform {Value = UniformScaleTransform.FromPosition(authoring.transform.position)});
|
||||
#else
|
||||
AddComponent(entity, new Translation {Value = authoring.transform.position});
|
||||
#endif
|
||||
Profiler.EndSample();
|
||||
blobFactoryPoints.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d49c4348cb4345d79b4ffef4439331ea
|
||||
timeCreated: 1635961831
|
|
@ -1,169 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Unity.Burst;
|
||||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using Unity.Jobs;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Transforms;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Profiling;
|
||||
using Hash128 = Unity.Entities.Hash128;
|
||||
|
||||
public struct MeshBBFactorySettings
|
||||
{
|
||||
public Hash128 Hash;
|
||||
public float MeshScale;
|
||||
public int PointStartIndex;
|
||||
public int PointCount;
|
||||
public float3 MinBoundingBox;
|
||||
public float3 MaxBoundingBox;
|
||||
}
|
||||
|
||||
public class MeshBBConversionSystem : GameObjectConversionSystem
|
||||
{
|
||||
protected override void OnCreate()
|
||||
{
|
||||
base.OnCreate();
|
||||
GetEntityQuery(ComponentType.ReadOnly<MeshToBoundingBoxAuthoring>());
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
var blobFactoryPoints = new NativeList<float3>(Allocator.TempJob);
|
||||
int curPointIndex = 0;
|
||||
var vertices = new List<Vector3>(4096);
|
||||
var processBlobAssets = new NativeList<Hash128>(32, Allocator.Temp);
|
||||
|
||||
Profiler.BeginSample("Conv_BuildHashAndPush");
|
||||
|
||||
using (var context = new BlobAssetComputationContext<MeshBBFactorySettings, MeshBBBlobAsset>(BlobAssetStore, 128, Allocator.Temp))
|
||||
{
|
||||
// First step: for all changed GameObjects we compute the hash of their blob asset then get the asset or register its computation
|
||||
Entities.ForEach((MeshToBoundingBoxAuthoring auth) =>
|
||||
{
|
||||
// Compute the blob asset hash based on Authoring properties
|
||||
var hasMesh = auth.Mesh != null;
|
||||
var meshHashCode = hasMesh ? auth.Mesh.GetHashCode() : 0;
|
||||
var hash = new Hash128((uint)meshHashCode, (uint)auth.MeshScale.GetHashCode(), 0, 0);
|
||||
|
||||
// Query the context to determine if we need to build the BlobAsset
|
||||
processBlobAssets.Add(hash);
|
||||
context.AssociateBlobAssetWithUnityObject(hash, auth.gameObject);
|
||||
if (context.NeedToComputeBlobAsset(hash))
|
||||
{
|
||||
Profiler.BeginSample("CopyVertices");
|
||||
|
||||
float xp = float.MinValue, yp = float.MinValue, zp = float.MinValue;
|
||||
float xn = float.MaxValue, yn = float.MaxValue, zn = float.MaxValue;
|
||||
|
||||
// Copy the mesh vertices into the point array
|
||||
if (hasMesh)
|
||||
{
|
||||
auth.Mesh.GetVertices(vertices);
|
||||
for (int i = 0; i < vertices.Count; i++)
|
||||
{
|
||||
var p = vertices[i];
|
||||
xp = math.max(p.x, xp);
|
||||
yp = math.max(p.y, yp);
|
||||
zp = math.max(p.z, zp);
|
||||
xn = math.min(p.x, xn);
|
||||
yn = math.min(p.y, yn);
|
||||
zn = math.min(p.z, zn);
|
||||
blobFactoryPoints.Add(new float3(p.x, p.y, p.z));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
xp = yp = zp = xn = yn = zn = 0;
|
||||
}
|
||||
|
||||
Profiler.EndSample();
|
||||
|
||||
// Record this blob asset for computation
|
||||
var vertexCount = hasMesh ? auth.Mesh.vertexCount : 0;
|
||||
var setting = new MeshBBFactorySettings { Hash = hash, MeshScale = auth.MeshScale, PointStartIndex = curPointIndex, PointCount = vertexCount, MinBoundingBox = new float3(xn, yn, zn), MaxBoundingBox = new float3(xp, yp, zp)};
|
||||
curPointIndex += vertexCount;
|
||||
|
||||
context.AddBlobAssetToCompute(hash, setting);
|
||||
}
|
||||
});
|
||||
|
||||
Profiler.EndSample();
|
||||
|
||||
Profiler.BeginSample("Conv_CreateBlobAssets");
|
||||
|
||||
using (var settings = context.GetSettings(Allocator.TempJob))
|
||||
{
|
||||
// Step two, compute BlobAssets
|
||||
var job = new ComputeMeshBBAssetJob(settings, blobFactoryPoints.AsArray());
|
||||
job.Schedule(job.Settings.Length, 1).Complete();
|
||||
|
||||
for (int i = 0; i < settings.Length; i++)
|
||||
{
|
||||
context.AddComputedBlobAsset(settings[i].Hash, job.BlobAssets[i]);
|
||||
}
|
||||
job.BlobAssets.Dispose();
|
||||
}
|
||||
|
||||
Profiler.EndSample();
|
||||
|
||||
Profiler.BeginSample("Conv_CreateECS");
|
||||
|
||||
// Third step, create the ECS component with the associated blob asset
|
||||
var index = 0;
|
||||
Entities.ForEach((MeshToBoundingBoxAuthoring auth) =>
|
||||
{
|
||||
context.GetBlobAsset(processBlobAssets[index++], out var blob);
|
||||
|
||||
// Create the ECS component for the given GameObject
|
||||
var entity = GetPrimaryEntity(auth);
|
||||
|
||||
DstEntityManager.AddComponentData(entity, new MeshBBComponent(blob));
|
||||
DstEntityManager.AddComponentData(entity, new Translation {Value = auth.transform.position});
|
||||
});
|
||||
|
||||
Profiler.EndSample();
|
||||
blobFactoryPoints.Dispose();
|
||||
processBlobAssets.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
public struct ComputeMeshBBAssetJob : IJobParallelFor
|
||||
{
|
||||
[ReadOnly] public NativeArray<MeshBBFactorySettings> Settings;
|
||||
[ReadOnly] public NativeArray<float3> Vertices;
|
||||
|
||||
public NativeArray<BlobAssetReference<MeshBBBlobAsset>> BlobAssets;
|
||||
|
||||
public ComputeMeshBBAssetJob(NativeArray<MeshBBFactorySettings> settings, NativeArray<float3> vertices)
|
||||
{
|
||||
Settings = settings;
|
||||
Vertices = vertices;
|
||||
BlobAssets = new NativeArray<BlobAssetReference<MeshBBBlobAsset>>(settings.Length, Allocator.TempJob);
|
||||
}
|
||||
|
||||
public void Execute(int index)
|
||||
{
|
||||
var builder = new BlobBuilder(Allocator.Temp);
|
||||
var settings = Settings[index];
|
||||
ref var root = ref builder.ConstructRoot<MeshBBBlobAsset>();
|
||||
var array = builder.Allocate(ref root.Vertices, settings.PointCount);
|
||||
|
||||
var s = settings.MeshScale;
|
||||
root.MeshScale = s;
|
||||
root.MinBoundingBox = settings.MinBoundingBox * s;
|
||||
root.MaxBoundingBox = settings.MaxBoundingBox * s;
|
||||
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
var v1 = Vertices[settings.PointStartIndex + i];
|
||||
array[i] = new float3(v1.x * s, v1.y * s, v1.z * s);
|
||||
}
|
||||
|
||||
BlobAssets[index] = builder.CreateBlobAssetReference<MeshBBBlobAsset>(Allocator.Persistent);
|
||||
builder.Dispose();
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 80e6da02321640b098396b744b448398
|
||||
timeCreated: 1571952937
|
|
@ -4,31 +4,45 @@ using Unity.Mathematics;
|
|||
using Unity.Transforms;
|
||||
using UnityEngine;
|
||||
|
||||
[ExecuteAlways]
|
||||
public class MeshBBRenderSystem : ComponentSystem
|
||||
[WorldSystemFilter(WorldSystemFilterFlags.Default | WorldSystemFilterFlags.Editor)]
|
||||
public partial class MeshBBRenderSystem : SystemBase
|
||||
{
|
||||
protected override void OnCreate()
|
||||
{
|
||||
RequireForUpdate<MeshBBComponent>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
Entities.ForEach((Entity e, ref MeshBBComponent dmc, ref LocalToWorldTransform t) =>
|
||||
#else
|
||||
Entities.ForEach((Entity e, ref MeshBBComponent dmc, ref Translation t) =>
|
||||
#endif
|
||||
{
|
||||
var min = dmc.BlobData.Value.MinBoundingBox;
|
||||
var max = dmc.BlobData.Value.MaxBoundingBox;
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var pos = t.Value.Position;
|
||||
#else
|
||||
var pos = t.Value;
|
||||
#endif
|
||||
// Draw a bounding box
|
||||
Debug.DrawLine(t.Value + new float3(min.x, min.y, min.z), t.Value + new float3(max.x, min.y, min.z));
|
||||
Debug.DrawLine(t.Value + new float3(min.x, max.y, min.z), t.Value + new float3(max.x, max.y, min.z));
|
||||
Debug.DrawLine(t.Value + new float3(min.x, min.y, min.z), t.Value + new float3(min.x, max.y, min.z));
|
||||
Debug.DrawLine(t.Value + new float3(max.x, min.y, min.z), t.Value + new float3(max.x, max.y, min.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, min.y, min.z), pos + new float3(max.x, min.y, min.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, max.y, min.z), pos + new float3(max.x, max.y, min.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, min.y, min.z), pos + new float3(min.x, max.y, min.z));
|
||||
Debug.DrawLine(pos + new float3(max.x, min.y, min.z), pos + new float3(max.x, max.y, min.z));
|
||||
|
||||
Debug.DrawLine(t.Value + new float3(min.x, min.y, max.z), t.Value + new float3(max.x, min.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(min.x, max.y, max.z), t.Value + new float3(max.x, max.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(min.x, min.y, max.z), t.Value + new float3(min.x, max.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(max.x, min.y, max.z), t.Value + new float3(max.x, max.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, min.y, max.z), pos + new float3(max.x, min.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, max.y, max.z), pos + new float3(max.x, max.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, min.y, max.z), pos + new float3(min.x, max.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(max.x, min.y, max.z), pos + new float3(max.x, max.y, max.z));
|
||||
|
||||
Debug.DrawLine(t.Value + new float3(min.x, min.y, min.z), t.Value + new float3(min.x, min.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(max.x, min.y, min.z), t.Value + new float3(max.x, min.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(min.x, max.y, min.z), t.Value + new float3(min.x, max.y, max.z));
|
||||
Debug.DrawLine(t.Value + new float3(max.x, max.y, min.z), t.Value + new float3(max.x, max.y, max.z));
|
||||
});
|
||||
Debug.DrawLine(pos + new float3(min.x, min.y, min.z), pos + new float3(min.x, min.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(max.x, min.y, min.z), pos + new float3(max.x, min.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(min.x, max.y, min.z), pos + new float3(min.x, max.y, max.z));
|
||||
Debug.DrawLine(pos + new float3(max.x, max.y, min.z), pos + new float3(max.x, max.y, max.z));
|
||||
}).ScheduleParallel();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,9 +35,9 @@ public struct SimpleAnimationBlob
|
|||
return math.lerp(Keys[index], Keys[index+1], interp);
|
||||
}
|
||||
|
||||
public static BlobAssetReference<SimpleAnimationBlob> CreateBlob(AnimationCurve curve, Allocator allocator)
|
||||
public static BlobAssetReference<SimpleAnimationBlob> CreateBlob(AnimationCurve curve, Allocator allocator, Allocator allocatorForTemp = Allocator.TempJob)
|
||||
{
|
||||
using (var blob = new BlobBuilder(Allocator.TempJob))
|
||||
using (var blob = new BlobBuilder(allocatorForTemp))
|
||||
{
|
||||
ref var anim = ref blob.ConstructRoot<SimpleAnimationBlob>();
|
||||
int keyCount = 12;
|
||||
|
|
|
@ -3,21 +3,23 @@ using Unity.Entities;
|
|||
using Unity.Transforms;
|
||||
using UnityEngine;
|
||||
|
||||
public class SimpleBlobAnimationAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class SimpleBlobAnimationAuthoring : MonoBehaviour
|
||||
{
|
||||
public AnimationCurve Curve = AnimationCurve.EaseInOut(0, 0, 1, 1);
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<SimpleBlobAnimationAuthoring>
|
||||
{
|
||||
var blob = SimpleAnimationBlob.CreateBlob(Curve, Allocator.Persistent);
|
||||
public override void Bake(SimpleBlobAnimationAuthoring authoring)
|
||||
{
|
||||
var blob = SimpleAnimationBlob.CreateBlob(authoring.Curve, Allocator.Persistent);
|
||||
|
||||
// Add the generated blob asset to the blob asset store.
|
||||
// if another component generates the exact same blob asset, it will automatically be shared.
|
||||
// Ownership of the blob asset is passed to the BlobAssetStore,
|
||||
// it will automatically manage the lifetime of the blob asset.
|
||||
conversionSystem.BlobAssetStore.AddUniqueBlobAsset(ref blob);
|
||||
|
||||
dstManager.AddComponentData(entity, new SimpleBlobAnimation { Anim = blob });
|
||||
// Add the generated blob asset to the blob asset store.
|
||||
// if another component generates the exact same blob asset, it will automatically be shared.
|
||||
// Ownership of the blob asset is passed to the BlobAssetStore,
|
||||
// it will automatically manage the lifetime of the blob asset.
|
||||
AddBlobAsset(ref blob, out _);
|
||||
AddComponent(new SimpleBlobAnimation { Anim = blob });
|
||||
}
|
||||
}
|
||||
}
|
||||
public struct SimpleBlobAnimation : IComponentData
|
||||
|
@ -26,15 +28,24 @@ public struct SimpleBlobAnimation : IComponentData
|
|||
public float T;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
partial class SimpleBlobAnimationSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
var dt = Time.DeltaTime;
|
||||
var dt = SystemAPI.Time.DeltaTime;
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
Entities.ForEach((ref SimpleBlobAnimation anim, ref LocalToWorldTransform transform) =>
|
||||
#else
|
||||
Entities.ForEach((ref SimpleBlobAnimation anim, ref Translation translation) =>
|
||||
#endif
|
||||
{
|
||||
anim.T += dt;
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position.y = anim.Anim.Value.Evaluate(anim.T);
|
||||
#else
|
||||
translation.Value.y = anim.Anim.Value.Evaluate(anim.T);
|
||||
#endif
|
||||
}).Run();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 39b59cbc2458ad74a8f55942b3b9faad
|
||||
guid: 0206502a513ddbe41afea17f7bceda9a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fbce809cef3ab63428fc6756bf764bbf
|
||||
guid: d5cc844bebab1624ba4c02cc858b99d6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -23,6 +23,8 @@ Material:
|
|||
m_Name: Fish
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 98c2c61ba3033b24e9ce5008f3fd50a5,
|
||||
type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 2
|
||||
|
@ -31,6 +33,7 @@ Material:
|
|||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
|
|
@ -9,6 +9,8 @@ Material:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Floor1
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
|
@ -18,6 +20,7 @@ Material:
|
|||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -84,7 +87,9 @@ Material:
|
|||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoat: 0
|
||||
- _ClearCoatMask: 0
|
||||
|
@ -94,6 +99,7 @@ Material:
|
|||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
|
@ -108,6 +114,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
|
@ -130,4 +137,4 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
|
|
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -22,6 +22,8 @@ Material:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: InstanceMat
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
|
@ -31,6 +33,7 @@ Material:
|
|||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -97,7 +100,9 @@ Material:
|
|||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoat: 0
|
||||
- _ClearCoatMask: 0
|
||||
|
@ -107,6 +112,7 @@ Material:
|
|||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
|
@ -121,6 +127,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
|
|
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -22,6 +22,8 @@ Material:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: OuterWall2
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
|
@ -32,6 +34,7 @@ Material:
|
|||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -98,7 +101,9 @@ Material:
|
|||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoat: 0
|
||||
- _ClearCoatMask: 0
|
||||
|
@ -108,6 +113,7 @@ Material:
|
|||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
|
@ -122,6 +128,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
|
|
|
@ -10,6 +10,8 @@ Material:
|
|||
m_Name: RedFish
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 98c2c61ba3033b24e9ce5008f3fd50a5,
|
||||
type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords:
|
||||
- _EMISSION
|
||||
|
@ -21,6 +23,7 @@ Material:
|
|||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -147,7 +150,7 @@ Material:
|
|||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.16176468, g: 0.16176468, b: 0.16176468, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &7543649369778049463
|
||||
--- !u!114 &3014609738461782787
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -159,4 +162,4 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
|
|
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -22,6 +22,8 @@ Material:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rock
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
|
@ -34,6 +36,7 @@ Material:
|
|||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -100,7 +103,9 @@ Material:
|
|||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoat: 0
|
||||
- _ClearCoatMask: 0
|
||||
|
@ -110,6 +115,7 @@ Material:
|
|||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
|
@ -124,6 +130,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 0
|
||||
|
|
|
@ -1,18 +1,5 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-5570847187570327751
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -23,6 +10,8 @@ Material:
|
|||
m_Name: Seaweed
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 98c2c61ba3033b24e9ce5008f3fd50a5,
|
||||
type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 2
|
||||
|
@ -31,6 +20,7 @@ Material:
|
|||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -137,3 +127,16 @@ Material:
|
|||
- _Color: {r: 0.21453287, g: 0.45588237, b: 0.30607924, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &1231831338894256371
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 7
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-3437174772187449535
|
||||
--- !u!114 &-7771584550963380604
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -23,6 +23,8 @@ Material:
|
|||
m_Name: Shark
|
||||
m_Shader: {fileID: -6465566751694194690, guid: 98c2c61ba3033b24e9ce5008f3fd50a5,
|
||||
type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords:
|
||||
- _EMISSION
|
||||
|
@ -32,6 +34,7 @@ Material:
|
|||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
|
|
@ -12,7 +12,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 5
|
||||
version: 7
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
|
@ -22,6 +22,8 @@ Material:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Surface
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
m_InvalidKeywords: []
|
||||
|
@ -32,6 +34,7 @@ Material:
|
|||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
|
@ -98,7 +101,9 @@ Material:
|
|||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoat: 0
|
||||
- _ClearCoatMask: 0
|
||||
|
@ -108,6 +113,7 @@ Material:
|
|||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
|
@ -122,6 +128,7 @@ Material:
|
|||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _UVSec: 0
|
||||
- _WorkflowMode: 1
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b0a4152090be2495380e76763a66a3c1
|
||||
NativeFormatImporter:
|
||||
guid: 79a37646f9bdc5f419ac181f3d342769
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -105,7 +105,7 @@ NavMeshSettings:
|
|||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -118,7 +118,7 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
|
@ -172,7 +172,7 @@ MonoBehaviour:
|
|||
SamplesPerSecond: 15
|
||||
--- !u!95 &474439580
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -185,6 +185,7 @@ Animator:
|
|||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
|
@ -200,6 +201,7 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -245,13 +247,14 @@ Transform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 474439577}
|
||||
m_LocalRotation: {x: 0.014563181, y: 0.15116385, z: 0.028804462, w: 0.9879817}
|
||||
m_LocalRotation: {x: 0.014563183, y: 0.15116394, z: 0.028804459, w: 0.9879817}
|
||||
m_LocalPosition: {x: -10.663338, y: -0.7635689, z: 86.67111}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 897412790}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 1.1498826, y: 17.43319, z: 3.5162554}
|
||||
m_LocalEulerAnglesHint: {x: 1.1498826, y: 17.433197, z: 3.5162554}
|
||||
--- !u!1 &614494510
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -294,6 +297,7 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 20, y: 5, z: 120}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 897412790}
|
||||
m_RootOrder: 3
|
||||
|
@ -327,7 +331,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 7902971f5de2463dbf747e9fbf85a87e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 1501737747371270, guid: b0a4152090be2495380e76763a66a3c1, type: 3}
|
||||
Prefab: {fileID: 1501737747371270, guid: 79a37646f9bdc5f419ac181f3d342769, type: 3}
|
||||
InitialRadius: 15
|
||||
Count: 25000
|
||||
--- !u!4 &675244200
|
||||
|
@ -340,6 +344,7 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -40, y: 5, z: 120}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 897412790}
|
||||
m_RootOrder: 4
|
||||
|
@ -370,6 +375,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1543227737}
|
||||
- {fileID: 474439584}
|
||||
|
@ -427,7 +433,7 @@ MonoBehaviour:
|
|||
SamplesPerSecond: 15
|
||||
--- !u!95 &1543227733
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -440,6 +446,7 @@ Animator:
|
|||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
|
@ -455,6 +462,7 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -501,8 +509,9 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1543227730}
|
||||
m_LocalRotation: {x: -0.010592553, y: 0.0083452305, z: 0.00008840532, w: 0.9999091}
|
||||
m_LocalPosition: {x: 9.89418, y: 10.996906, z: 89.81562}
|
||||
m_LocalPosition: {x: 9.894188, y: 10.996906, z: 89.81562}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 897412790}
|
||||
m_RootOrder: 0
|
||||
|
@ -530,7 +539,7 @@ GameObject:
|
|||
m_IsActive: 1
|
||||
--- !u!95 &1873786724
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -543,6 +552,7 @@ Animator:
|
|||
m_UpdateMode: 0
|
||||
m_ApplyRootMotion: 0
|
||||
m_LinearVelocityBlending: 0
|
||||
m_StabilizeFeet: 0
|
||||
m_WarningMessage:
|
||||
m_HasTransformHierarchy: 1
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
|
@ -558,6 +568,7 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -616,8 +627,9 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1873786723}
|
||||
m_LocalRotation: {x: -0.048202608, y: 0.99747795, z: -0.0038057854, w: 0.051960003}
|
||||
m_LocalPosition: {x: 0.3035062, y: 14.478014, z: -9.213352}
|
||||
m_LocalPosition: {x: 0.3035062, y: 14.478014, z: -9.213356}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 897412790}
|
||||
m_RootOrder: 2
|
||||
|
|
|
@ -6,29 +6,18 @@ using Unity.Transforms;
|
|||
|
||||
namespace Samples.Boids
|
||||
{
|
||||
[UpdateInGroup(typeof(GameObjectConversionGroup))]
|
||||
[ConverterVersion("macton", 5)]
|
||||
public class BoidConversion : GameObjectConversionSystem
|
||||
public class BoidAuthoringBaker : Baker<BoidAuthoring>
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
public override void Bake(BoidAuthoring authoring)
|
||||
{
|
||||
Entities.ForEach((BoidAuthoring boidAuthoring) =>
|
||||
AddSharedComponent( new Boid
|
||||
{
|
||||
var entity = GetPrimaryEntity(boidAuthoring);
|
||||
|
||||
DstEntityManager.AddSharedComponentData(entity, new Boid
|
||||
{
|
||||
CellRadius = boidAuthoring.CellRadius,
|
||||
SeparationWeight = boidAuthoring.SeparationWeight,
|
||||
AlignmentWeight = boidAuthoring.AlignmentWeight,
|
||||
TargetWeight = boidAuthoring.TargetWeight,
|
||||
ObstacleAversionDistance = boidAuthoring.ObstacleAversionDistance,
|
||||
MoveSpeed = boidAuthoring.MoveSpeed
|
||||
});
|
||||
|
||||
// Remove default transform system components
|
||||
DstEntityManager.RemoveComponent<Translation>(entity);
|
||||
DstEntityManager.RemoveComponent<Rotation>(entity);
|
||||
CellRadius = authoring.CellRadius,
|
||||
SeparationWeight = authoring.SeparationWeight,
|
||||
AlignmentWeight = authoring.AlignmentWeight,
|
||||
TargetWeight = authoring.TargetWeight,
|
||||
ObstacleAversionDistance = authoring.ObstacleAversionDistance,
|
||||
MoveSpeed = authoring.MoveSpeed
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,12 +6,13 @@ using Unity.Entities;
|
|||
using UnityEngine;
|
||||
|
||||
[AddComponentMenu("DOTS Samples/Boids/BoidObstacle")]
|
||||
[ConverterVersion("joe", 1)]
|
||||
public class BoidObstacleAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class BoidObstacleAuthoring : MonoBehaviour {}
|
||||
|
||||
public class BoidObstacleAuthoringBaker : Baker<BoidObstacleAuthoring>
|
||||
{
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
public override void Bake(BoidObstacleAuthoring authoring)
|
||||
{
|
||||
dstManager.AddComponentData(entity, new BoidObstacle());
|
||||
AddComponent(new BoidObstacle());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,14 +16,17 @@ namespace Samples.Boids
|
|||
public int Count;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class BoidSchoolSpawnSystem : SystemBase
|
||||
{
|
||||
public ComponentLookup<LocalToWorld> LocalToWorldFromEntity;
|
||||
|
||||
[BurstCompile]
|
||||
struct SetBoidLocalToWorld : IJobParallelFor
|
||||
{
|
||||
[NativeDisableContainerSafetyRestriction]
|
||||
[NativeDisableParallelForRestriction]
|
||||
public ComponentDataFromEntity<LocalToWorld> LocalToWorldFromEntity;
|
||||
public ComponentLookup<LocalToWorld> LocalToWorldFromEntity;
|
||||
|
||||
public NativeArray<Entity> Entities;
|
||||
public float3 Center;
|
||||
|
@ -43,6 +46,11 @@ namespace Samples.Boids
|
|||
}
|
||||
}
|
||||
|
||||
protected override void OnCreate()
|
||||
{
|
||||
LocalToWorldFromEntity = GetComponentLookup<LocalToWorld>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
Entities.WithStructuralChanges().ForEach((Entity entity, int entityInQueryIndex, in BoidSchool boidSchool, in LocalToWorld boidSchoolLocalToWorld) =>
|
||||
|
@ -54,10 +62,10 @@ namespace Samples.Boids
|
|||
EntityManager.Instantiate(boidSchool.Prefab, boidEntities);
|
||||
Profiler.EndSample();
|
||||
|
||||
var localToWorldFromEntity = GetComponentDataFromEntity<LocalToWorld>();
|
||||
LocalToWorldFromEntity.Update(this);
|
||||
var setBoidLocalToWorldJob = new SetBoidLocalToWorld
|
||||
{
|
||||
LocalToWorldFromEntity = localToWorldFromEntity,
|
||||
LocalToWorldFromEntity = LocalToWorldFromEntity,
|
||||
Entities = boidEntities,
|
||||
Center = boidSchoolLocalToWorld.Position,
|
||||
Radius = boidSchool.InitialRadius
|
||||
|
|
|
@ -8,25 +8,22 @@ using UnityEngine;
|
|||
namespace Samples.Boids
|
||||
{
|
||||
[AddComponentMenu("DOTS Samples/Boids/BoidSchool")]
|
||||
[ConverterVersion("macton", 4)]
|
||||
public class BoidSchoolAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class BoidSchoolAuthoring : MonoBehaviour
|
||||
{
|
||||
public GameObject Prefab;
|
||||
public float InitialRadius;
|
||||
public int Count;
|
||||
}
|
||||
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
public class BoidSchoolAuthoringBaker : Baker<BoidSchoolAuthoring>
|
||||
{
|
||||
public override void Bake(BoidSchoolAuthoring authoring)
|
||||
{
|
||||
referencedPrefabs.Add(Prefab);
|
||||
}
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
{
|
||||
dstManager.AddComponentData(entity, new BoidSchool
|
||||
AddComponent( new BoidSchool
|
||||
{
|
||||
Prefab = conversionSystem.GetPrimaryEntity(Prefab),
|
||||
Count = Count,
|
||||
InitialRadius = InitialRadius
|
||||
Prefab = GetEntity(authoring.Prefab),
|
||||
Count = authoring.Count,
|
||||
InitialRadius = authoring.InitialRadius
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
using System.Collections.Generic;
|
||||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using Unity.Jobs;
|
||||
using Unity.Burst;
|
||||
using Unity.Collections.LowLevel.Unsafe;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Transforms;
|
||||
|
||||
|
@ -17,9 +17,11 @@ using Unity.Transforms;
|
|||
|
||||
namespace Samples.Boids
|
||||
{
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
[UpdateInGroup(typeof(SimulationSystemGroup))]
|
||||
[UpdateBefore(typeof(TransformSystemGroup))]
|
||||
public partial class BoidSystem : SystemBase
|
||||
[BurstCompile]
|
||||
public partial struct BoidSystem : ISystem
|
||||
{
|
||||
EntityQuery m_BoidQuery;
|
||||
EntityQuery m_TargetQuery;
|
||||
|
@ -28,7 +30,6 @@ namespace Samples.Boids
|
|||
// In this sample there are 3 total unique boid variants, one for each unique value of the
|
||||
// Boid SharedComponent (note: this includes the default uninitialized value at
|
||||
// index 0, which isnt actually used in the sample).
|
||||
List<Boid> m_UniqueTypes = new List<Boid>(3);
|
||||
|
||||
// This accumulates the `positions` (separations) and `headings` (alignments) of all the boids in each cell to:
|
||||
// 1) count the number of boids in each cell
|
||||
|
@ -95,29 +96,160 @@ namespace Samples.Boids
|
|||
public void ExecuteNext(int cellIndex, int index)
|
||||
{
|
||||
cellCount[cellIndex] += 1;
|
||||
cellAlignment[cellIndex] = cellAlignment[cellIndex] + cellAlignment[index];
|
||||
cellSeparation[cellIndex] = cellSeparation[cellIndex] + cellSeparation[index];
|
||||
cellAlignment[cellIndex] += cellAlignment[cellIndex];
|
||||
cellSeparation[cellIndex] += cellSeparation[cellIndex];
|
||||
cellIndices[index] = cellIndex;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
[BurstCompile]
|
||||
partial struct InitialPerBoidJob : IJobEntity
|
||||
{
|
||||
[ReadOnly] public NativeArray<int> ChunkBaseEntityIndices;
|
||||
[NativeDisableParallelForRestriction] public NativeArray<float3> CellAlignment;
|
||||
[NativeDisableParallelForRestriction] public NativeArray<float3> CellSeparation;
|
||||
public NativeMultiHashMap<int, int>.ParallelWriter ParallelHashMap;
|
||||
public float InverseBoidCellRadius;
|
||||
void Execute([ChunkIndexInQuery] int chunkIndexInQuery, [EntityIndexInChunk] int entityIndexInChunk, in LocalToWorld localToWorld)
|
||||
{
|
||||
int entityInQueryIndex = ChunkBaseEntityIndices[chunkIndexInQuery] + entityIndexInChunk;
|
||||
CellAlignment[entityInQueryIndex] = localToWorld.Forward;
|
||||
CellSeparation[entityInQueryIndex] = localToWorld.Position;
|
||||
// Populates a hash map, where each bucket contains the indices of all Boids whose positions quantize
|
||||
// to the same value for a given cell radius so that the information can be randomly accessed by
|
||||
// the `MergeCells` and `Steer` jobs.
|
||||
// This is useful in terms of the algorithm because it limits the number of comparisons that will
|
||||
// actually occur between the different boids. Instead of for each boid, searching through all
|
||||
// boids for those within a certain radius, this limits those by the hash-to-bucket simplification.
|
||||
var hash = (int)math.hash(new int3(math.floor(localToWorld.Position * InverseBoidCellRadius)));
|
||||
ParallelHashMap.Add(hash, entityInQueryIndex);
|
||||
}
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
partial struct InitialPerTargetJob : IJobEntity
|
||||
{
|
||||
[ReadOnly] public NativeArray<int> ChunkBaseEntityIndices;
|
||||
[NativeDisableParallelForRestriction] public NativeArray<float3> TargetPositions;
|
||||
void Execute([ChunkIndexInQuery] int chunkIndexInQuery, [EntityIndexInChunk] int entityIndexInChunk, in LocalToWorld localToWorld)
|
||||
{
|
||||
int entityInQueryIndex = ChunkBaseEntityIndices[chunkIndexInQuery] + entityIndexInChunk;
|
||||
TargetPositions[entityInQueryIndex] = localToWorld.Position;
|
||||
}
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
partial struct InitialPerObstacleJob : IJobEntity
|
||||
{
|
||||
[ReadOnly] public NativeArray<int> ChunkBaseEntityIndices;
|
||||
[NativeDisableParallelForRestriction] public NativeArray<float3> ObstaclePositions;
|
||||
void Execute([ChunkIndexInQuery] int chunkIndexInQuery, [EntityIndexInChunk] int entityIndexInChunk, in LocalToWorld localToWorld)
|
||||
{
|
||||
int entityInQueryIndex = ChunkBaseEntityIndices[chunkIndexInQuery] + entityIndexInChunk;
|
||||
ObstaclePositions[entityInQueryIndex] = localToWorld.Position;
|
||||
}
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
partial struct SteerBoidJob : IJobEntity
|
||||
{
|
||||
[ReadOnly] public NativeArray<int> ChunkBaseEntityIndices;
|
||||
[ReadOnly] public NativeArray<int> CellIndices;
|
||||
[ReadOnly] public NativeArray<int> CellCount;
|
||||
[ReadOnly] public NativeArray<float3> CellAlignment;
|
||||
[ReadOnly] public NativeArray<float3> CellSeparation;
|
||||
[ReadOnly] public NativeArray<float> CellObstacleDistance;
|
||||
[ReadOnly] public NativeArray<int> CellObstaclePositionIndex;
|
||||
[ReadOnly] public NativeArray<int> CellTargetPositionIndex;
|
||||
[ReadOnly] public NativeArray<float3> ObstaclePositions;
|
||||
[ReadOnly] public NativeArray<float3> TargetPositions;
|
||||
public Boid CurrentBoidVariant;
|
||||
public float DeltaTime;
|
||||
public float MoveDistance;
|
||||
void Execute([ChunkIndexInQuery] int chunkIndexInQuery, [EntityIndexInChunk] int entityIndexInChunk, ref LocalToWorld localToWorld)
|
||||
{
|
||||
int entityInQueryIndex = ChunkBaseEntityIndices[chunkIndexInQuery] + entityIndexInChunk;
|
||||
// temporarily storing the values for code readability
|
||||
var forward = localToWorld.Forward;
|
||||
var currentPosition = localToWorld.Position;
|
||||
var cellIndex = CellIndices[entityInQueryIndex];
|
||||
var neighborCount = CellCount[cellIndex];
|
||||
var alignment = CellAlignment[cellIndex];
|
||||
var separation = CellSeparation[cellIndex];
|
||||
var nearestObstacleDistance = CellObstacleDistance[cellIndex];
|
||||
var nearestObstaclePositionIndex = CellObstaclePositionIndex[cellIndex];
|
||||
var nearestTargetPositionIndex = CellTargetPositionIndex[cellIndex];
|
||||
var nearestObstaclePosition = ObstaclePositions[nearestObstaclePositionIndex];
|
||||
var nearestTargetPosition = TargetPositions[nearestTargetPositionIndex];
|
||||
|
||||
// Setting up the directions for the three main biocrowds influencing directions adjusted based
|
||||
// on the predefined weights:
|
||||
// 1) alignment - how much should it move in a direction similar to those around it?
|
||||
// note: we use `alignment/neighborCount`, because we need the average alignment in this case; however
|
||||
// alignment is currently the summation of all those of the boids within the cellIndex being considered.
|
||||
var alignmentResult = CurrentBoidVariant.AlignmentWeight
|
||||
* math.normalizesafe((alignment / neighborCount) - forward);
|
||||
// 2) separation - how close is it to other boids and are there too many or too few for comfort?
|
||||
// note: here separation represents the summed possible center of the cell. We perform the multiplication
|
||||
// so that both `currentPosition` and `separation` are weighted to represent the cell as a whole and not
|
||||
// the current individual boid.
|
||||
var separationResult = CurrentBoidVariant.SeparationWeight
|
||||
* math.normalizesafe((currentPosition * neighborCount) - separation);
|
||||
// 3) target - is it still towards its destination?
|
||||
var targetHeading = CurrentBoidVariant.TargetWeight
|
||||
* math.normalizesafe(nearestTargetPosition - currentPosition);
|
||||
|
||||
// creating the obstacle avoidant vector s.t. it's pointing towards the nearest obstacle
|
||||
// but at the specified 'ObstacleAversionDistance'. If this distance is greater than the
|
||||
// current distance to the obstacle, the direction becomes inverted. This simulates the
|
||||
// idea that if `currentPosition` is too close to an obstacle, the weight of this pushes
|
||||
// the current boid to escape in the fastest direction; however, if the obstacle isn't
|
||||
// too close, the weighting denotes that the boid doesnt need to escape but will move
|
||||
// slower if still moving in that direction (note: we end up not using this move-slower
|
||||
// case, because of `targetForward`'s decision to not use obstacle avoidance if an obstacle
|
||||
// isn't close enough).
|
||||
var obstacleSteering = currentPosition - nearestObstaclePosition;
|
||||
var avoidObstacleHeading = (nearestObstaclePosition + math.normalizesafe(obstacleSteering)
|
||||
* CurrentBoidVariant.ObstacleAversionDistance) - currentPosition;
|
||||
|
||||
// the updated heading direction. If not needing to be avoidant (ie obstacle is not within
|
||||
// predefined radius) then go with the usual defined heading that uses the amalgamation of
|
||||
// the weighted alignment, separation, and target direction vectors.
|
||||
var nearestObstacleDistanceFromRadius = nearestObstacleDistance - CurrentBoidVariant.ObstacleAversionDistance;
|
||||
var normalHeading = math.normalizesafe(alignmentResult + separationResult + targetHeading);
|
||||
var targetForward = math.select(normalHeading, avoidObstacleHeading, nearestObstacleDistanceFromRadius < 0);
|
||||
|
||||
// updates using the newly calculated heading direction
|
||||
var nextHeading = math.normalizesafe(forward + DeltaTime * (targetForward - forward));
|
||||
localToWorld = new LocalToWorld
|
||||
{
|
||||
Value = float4x4.TRS(
|
||||
// TODO: precalc speed*dt
|
||||
new float3(localToWorld.Position + (nextHeading * MoveDistance)),
|
||||
quaternion.LookRotationSafe(nextHeading, math.up()),
|
||||
new float3(1.0f, 1.0f, 1.0f))
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
public void OnUpdate(ref SystemState state)
|
||||
{
|
||||
var obstacleCount = m_ObstacleQuery.CalculateEntityCount();
|
||||
var targetCount = m_TargetQuery.CalculateEntityCount();
|
||||
|
||||
EntityManager.GetAllUniqueSharedComponentData(m_UniqueTypes);
|
||||
var world = state.WorldUnmanaged;
|
||||
state.EntityManager.GetAllUniqueSharedComponents(out NativeList<Boid> uniqueBoidTypes, world.UpdateAllocator.ToAllocator);
|
||||
float dt = math.min(0.05f, SystemAPI.Time.DeltaTime);
|
||||
|
||||
// Each variant of the Boid represents a different value of the SharedComponentData and is self-contained,
|
||||
// meaning Boids of the same variant only interact with one another. Thus, this loop processes each
|
||||
// variant type individually.
|
||||
for (int boidVariantIndex = 0; boidVariantIndex < m_UniqueTypes.Count; boidVariantIndex++)
|
||||
foreach (var boidSettings in uniqueBoidTypes)
|
||||
{
|
||||
var settings = m_UniqueTypes[boidVariantIndex];
|
||||
m_BoidQuery.AddSharedComponentFilter(settings);
|
||||
m_BoidQuery.AddSharedComponentFilter(boidSettings);
|
||||
|
||||
var boidCount = m_BoidQuery.CalculateEntityCount();
|
||||
|
||||
if (boidCount == 0)
|
||||
{
|
||||
// Early out. If the given variant includes no Boids, move on to the next loop.
|
||||
|
@ -131,8 +263,7 @@ namespace Samples.Boids
|
|||
// note: working with a sparse grid and not a dense bounded grid so there
|
||||
// are no predefined borders of the space.
|
||||
|
||||
var world = World.Unmanaged;
|
||||
var hashMap = new NativeParallelMultiHashMap<int, int>(boidCount, world.UpdateAllocator.ToAllocator);
|
||||
var hashMap = new NativeMultiHashMap<int, int>(boidCount, world.UpdateAllocator.ToAllocator);
|
||||
var cellIndices = CollectionHelper.CreateNativeArray<int, RewindableAllocator>(boidCount, ref world.UpdateAllocator);
|
||||
var cellObstaclePositionIndex = CollectionHelper.CreateNativeArray<int, RewindableAllocator>(boidCount, ref world.UpdateAllocator);
|
||||
var cellTargetPositionIndex = CollectionHelper.CreateNativeArray<int, RewindableAllocator>(boidCount, ref world.UpdateAllocator);
|
||||
|
@ -148,74 +279,52 @@ namespace Samples.Boids
|
|||
// input dependencies when the jobs are scheduled; thus, they can run in any order (or concurrently).
|
||||
// The concurrency is property of how they're scheduled, not of the job structs themselves.
|
||||
|
||||
var boidChunkBaseEntityIndexArray = m_BoidQuery.CalculateBaseEntityIndexArrayAsync(
|
||||
world.UpdateAllocator.ToAllocator, state.Dependency,
|
||||
out var boidChunkBaseIndexJobHandle);
|
||||
var targetChunkBaseEntityIndexArray = m_TargetQuery.CalculateBaseEntityIndexArrayAsync(
|
||||
world.UpdateAllocator.ToAllocator, state.Dependency,
|
||||
out var targetChunkBaseIndexJobHandle);
|
||||
var obstacleChunkBaseEntityIndexArray = m_ObstacleQuery.CalculateBaseEntityIndexArrayAsync(
|
||||
world.UpdateAllocator.ToAllocator, state.Dependency,
|
||||
out var obstacleChunkBaseIndexJobHandle);
|
||||
// These jobs extract the relevant position, heading component
|
||||
// to NativeArrays so that they can be randomly accessed by the `MergeCells` and `Steer` jobs.
|
||||
// These jobs are defined inline using the Entities.ForEach lambda syntax.
|
||||
var initialCellAlignmentJobHandle = Entities
|
||||
.WithSharedComponentFilter(settings)
|
||||
.WithName("InitialCellAlignmentJob")
|
||||
.ForEach((int entityInQueryIndex, in LocalToWorld localToWorld) =>
|
||||
{
|
||||
cellAlignment[entityInQueryIndex] = localToWorld.Forward;
|
||||
})
|
||||
.ScheduleParallel(Dependency);
|
||||
// These jobs are defined using the IJobEntity syntax.
|
||||
var initialBoidJob = new InitialPerBoidJob
|
||||
{
|
||||
ChunkBaseEntityIndices = boidChunkBaseEntityIndexArray,
|
||||
CellAlignment = cellAlignment,
|
||||
CellSeparation = cellSeparation,
|
||||
ParallelHashMap = hashMap.AsParallelWriter(),
|
||||
InverseBoidCellRadius = 1.0f / boidSettings.CellRadius,
|
||||
};
|
||||
var initialBoidJobHandle = initialBoidJob.ScheduleParallel(m_BoidQuery, boidChunkBaseIndexJobHandle);
|
||||
|
||||
var initialCellSeparationJobHandle = Entities
|
||||
.WithSharedComponentFilter(settings)
|
||||
.WithName("InitialCellSeparationJob")
|
||||
.ForEach((int entityInQueryIndex, in LocalToWorld localToWorld) =>
|
||||
{
|
||||
cellSeparation[entityInQueryIndex] = localToWorld.Position;
|
||||
})
|
||||
.ScheduleParallel(Dependency);
|
||||
var initialTargetJob = new InitialPerTargetJob
|
||||
{
|
||||
ChunkBaseEntityIndices = targetChunkBaseEntityIndexArray,
|
||||
TargetPositions = copyTargetPositions,
|
||||
};
|
||||
var initialTargetJobHandle = initialTargetJob.ScheduleParallel(m_TargetQuery, targetChunkBaseIndexJobHandle);
|
||||
|
||||
var copyTargetPositionsJobHandle = Entities
|
||||
.WithName("CopyTargetPositionsJob")
|
||||
.WithAll<BoidTarget>()
|
||||
.WithStoreEntityQueryInField(ref m_TargetQuery)
|
||||
.ForEach((int entityInQueryIndex, in LocalToWorld localToWorld) =>
|
||||
{
|
||||
copyTargetPositions[entityInQueryIndex] = localToWorld.Position;
|
||||
})
|
||||
.ScheduleParallel(Dependency);
|
||||
|
||||
var copyObstaclePositionsJobHandle = Entities
|
||||
.WithName("CopyObstaclePositionsJob")
|
||||
.WithAll<BoidObstacle>()
|
||||
.WithStoreEntityQueryInField(ref m_ObstacleQuery)
|
||||
.ForEach((int entityInQueryIndex, in LocalToWorld localToWorld) =>
|
||||
{
|
||||
copyObstaclePositions[entityInQueryIndex] = localToWorld.Position;
|
||||
})
|
||||
.ScheduleParallel(Dependency);
|
||||
|
||||
// Populates a hash map, where each bucket contains the indices of all Boids whose positions quantize
|
||||
// to the same value for a given cell radius so that the information can be randomly accessed by
|
||||
// the `MergeCells` and `Steer` jobs.
|
||||
// This is useful in terms of the algorithm because it limits the number of comparisons that will
|
||||
// actually occur between the different boids. Instead of for each boid, searching through all
|
||||
// boids for those within a certain radius, this limits those by the hash-to-bucket simplification.
|
||||
var parallelHashMap = hashMap.AsParallelWriter();
|
||||
var hashPositionsJobHandle = Entities
|
||||
.WithName("HashPositionsJob")
|
||||
.WithAll<Boid>()
|
||||
.ForEach((int entityInQueryIndex, in LocalToWorld localToWorld) =>
|
||||
{
|
||||
var hash = (int)math.hash(new int3(math.floor(localToWorld.Position / settings.CellRadius)));
|
||||
parallelHashMap.Add(hash, entityInQueryIndex);
|
||||
})
|
||||
.ScheduleParallel(Dependency);
|
||||
var initialObstacleJob = new InitialPerObstacleJob
|
||||
{
|
||||
ChunkBaseEntityIndices = obstacleChunkBaseEntityIndexArray,
|
||||
ObstaclePositions = copyObstaclePositions,
|
||||
};
|
||||
var initialObstacleJobHandle = initialObstacleJob.ScheduleParallel(m_ObstacleQuery, obstacleChunkBaseIndexJobHandle);
|
||||
|
||||
var initialCellCountJob = new MemsetNativeArray<int>
|
||||
{
|
||||
Source = cellCount,
|
||||
Value = 1
|
||||
};
|
||||
var initialCellCountJobHandle = initialCellCountJob.Schedule(boidCount, 64, Dependency);
|
||||
var initialCellCountJobHandle = initialCellCountJob.Schedule(boidCount, 64, state.Dependency);
|
||||
|
||||
var initialCellBarrierJobHandle = JobHandle.CombineDependencies(initialCellAlignmentJobHandle, initialCellSeparationJobHandle, initialCellCountJobHandle);
|
||||
var copyTargetObstacleBarrierJobHandle = JobHandle.CombineDependencies(copyTargetPositionsJobHandle, copyObstaclePositionsJobHandle);
|
||||
var mergeCellsBarrierJobHandle = JobHandle.CombineDependencies(hashPositionsJobHandle, initialCellBarrierJobHandle, copyTargetObstacleBarrierJobHandle);
|
||||
var initialCellBarrierJobHandle = JobHandle.CombineDependencies(initialBoidJobHandle, initialCellCountJobHandle);
|
||||
var copyTargetObstacleBarrierJobHandle = JobHandle.CombineDependencies(initialTargetJobHandle, initialObstacleJobHandle);
|
||||
var mergeCellsBarrierJobHandle = JobHandle.CombineDependencies(initialCellBarrierJobHandle, copyTargetObstacleBarrierJobHandle);
|
||||
|
||||
var mergeCellsJob = new MergeCells
|
||||
{
|
||||
|
@ -234,106 +343,59 @@ namespace Samples.Boids
|
|||
// This reads the previously calculated boid information for all the boids of each cell to update
|
||||
// the `localToWorld` of each of the boids based on their newly calculated headings using
|
||||
// the standard boid flocking algorithm.
|
||||
float deltaTime = math.min(0.05f, Time.DeltaTime);
|
||||
var steerJobHandle = Entities
|
||||
.WithName("Steer")
|
||||
.WithSharedComponentFilter(settings) // implies .WithAll<Boid>()
|
||||
.WithReadOnly(cellIndices)
|
||||
.WithReadOnly(cellCount)
|
||||
.WithReadOnly(cellAlignment)
|
||||
.WithReadOnly(cellSeparation)
|
||||
.WithReadOnly(cellObstacleDistance)
|
||||
.WithReadOnly(cellObstaclePositionIndex)
|
||||
.WithReadOnly(cellTargetPositionIndex)
|
||||
.WithReadOnly(copyObstaclePositions)
|
||||
.WithReadOnly(copyTargetPositions)
|
||||
.ForEach((int entityInQueryIndex, ref LocalToWorld localToWorld) =>
|
||||
{
|
||||
// temporarily storing the values for code readability
|
||||
var forward = localToWorld.Forward;
|
||||
var currentPosition = localToWorld.Position;
|
||||
var cellIndex = cellIndices[entityInQueryIndex];
|
||||
var neighborCount = cellCount[cellIndex];
|
||||
var alignment = cellAlignment[cellIndex];
|
||||
var separation = cellSeparation[cellIndex];
|
||||
var nearestObstacleDistance = cellObstacleDistance[cellIndex];
|
||||
var nearestObstaclePositionIndex = cellObstaclePositionIndex[cellIndex];
|
||||
var nearestTargetPositionIndex = cellTargetPositionIndex[cellIndex];
|
||||
var nearestObstaclePosition = copyObstaclePositions[nearestObstaclePositionIndex];
|
||||
var nearestTargetPosition = copyTargetPositions[nearestTargetPositionIndex];
|
||||
|
||||
// Setting up the directions for the three main biocrowds influencing directions adjusted based
|
||||
// on the predefined weights:
|
||||
// 1) alignment - how much should it move in a direction similar to those around it?
|
||||
// note: we use `alignment/neighborCount`, because we need the average alignment in this case; however
|
||||
// alignment is currently the summation of all those of the boids within the cellIndex being considered.
|
||||
var alignmentResult = settings.AlignmentWeight
|
||||
* math.normalizesafe((alignment / neighborCount) - forward);
|
||||
// 2) separation - how close is it to other boids and are there too many or too few for comfort?
|
||||
// note: here separation represents the summed possible center of the cell. We perform the multiplication
|
||||
// so that both `currentPosition` and `separation` are weighted to represent the cell as a whole and not
|
||||
// the current individual boid.
|
||||
var separationResult = settings.SeparationWeight
|
||||
* math.normalizesafe((currentPosition * neighborCount) - separation);
|
||||
// 3) target - is it still towards its destination?
|
||||
var targetHeading = settings.TargetWeight
|
||||
* math.normalizesafe(nearestTargetPosition - currentPosition);
|
||||
|
||||
// creating the obstacle avoidant vector s.t. it's pointing towards the nearest obstacle
|
||||
// but at the specified 'ObstacleAversionDistance'. If this distance is greater than the
|
||||
// current distance to the obstacle, the direction becomes inverted. This simulates the
|
||||
// idea that if `currentPosition` is too close to an obstacle, the weight of this pushes
|
||||
// the current boid to escape in the fastest direction; however, if the obstacle isn't
|
||||
// too close, the weighting denotes that the boid doesnt need to escape but will move
|
||||
// slower if still moving in that direction (note: we end up not using this move-slower
|
||||
// case, because of `targetForward`'s decision to not use obstacle avoidance if an obstacle
|
||||
// isn't close enough).
|
||||
var obstacleSteering = currentPosition - nearestObstaclePosition;
|
||||
var avoidObstacleHeading = (nearestObstaclePosition + math.normalizesafe(obstacleSteering)
|
||||
* settings.ObstacleAversionDistance) - currentPosition;
|
||||
|
||||
// the updated heading direction. If not needing to be avoidant (ie obstacle is not within
|
||||
// predefined radius) then go with the usual defined heading that uses the amalgamation of
|
||||
// the weighted alignment, separation, and target direction vectors.
|
||||
var nearestObstacleDistanceFromRadius = nearestObstacleDistance - settings.ObstacleAversionDistance;
|
||||
var normalHeading = math.normalizesafe(alignmentResult + separationResult + targetHeading);
|
||||
var targetForward = math.select(normalHeading, avoidObstacleHeading, nearestObstacleDistanceFromRadius < 0);
|
||||
|
||||
// updates using the newly calculated heading direction
|
||||
var nextHeading = math.normalizesafe(forward + deltaTime * (targetForward - forward));
|
||||
localToWorld = new LocalToWorld
|
||||
{
|
||||
Value = float4x4.TRS(
|
||||
new float3(localToWorld.Position + (nextHeading * settings.MoveSpeed * deltaTime)),
|
||||
quaternion.LookRotationSafe(nextHeading, math.up()),
|
||||
new float3(1.0f, 1.0f, 1.0f))
|
||||
};
|
||||
}).ScheduleParallel(mergeCellsJobHandle);
|
||||
var steerBoidJob = new SteerBoidJob
|
||||
{
|
||||
ChunkBaseEntityIndices = boidChunkBaseEntityIndexArray,
|
||||
CellIndices = cellIndices,
|
||||
CellCount = cellCount,
|
||||
CellAlignment = cellAlignment,
|
||||
CellSeparation = cellSeparation,
|
||||
CellObstacleDistance = cellObstacleDistance,
|
||||
CellObstaclePositionIndex = cellObstaclePositionIndex,
|
||||
CellTargetPositionIndex = cellTargetPositionIndex,
|
||||
ObstaclePositions = copyObstaclePositions,
|
||||
TargetPositions = copyTargetPositions,
|
||||
CurrentBoidVariant = boidSettings,
|
||||
DeltaTime = dt,
|
||||
MoveDistance = boidSettings.MoveSpeed * dt,
|
||||
};
|
||||
var steerBoidJobHandle = steerBoidJob.ScheduleParallel(m_BoidQuery, mergeCellsJobHandle);
|
||||
|
||||
// Dispose allocated containers with dispose jobs.
|
||||
Dependency = steerJobHandle;
|
||||
state.Dependency = steerBoidJobHandle;
|
||||
|
||||
// We pass the job handle and add the dependency so that we keep the proper ordering between the jobs
|
||||
// as the looping iterates. For our purposes of execution, this ordering isn't necessary; however, without
|
||||
// the add dependency call here, the safety system will throw an error, because we're accessing multiple
|
||||
// pieces of boid data and it would think there could possibly be a race condition.
|
||||
|
||||
m_BoidQuery.AddDependency(Dependency);
|
||||
m_BoidQuery.AddDependency(state.Dependency);
|
||||
m_BoidQuery.ResetFilter();
|
||||
}
|
||||
m_UniqueTypes.Clear();
|
||||
uniqueBoidTypes.Dispose();
|
||||
}
|
||||
|
||||
protected override void OnCreate()
|
||||
[BurstCompile]
|
||||
public void OnCreate(ref SystemState state)
|
||||
{
|
||||
m_BoidQuery = GetEntityQuery(new EntityQueryDesc
|
||||
{
|
||||
All = new[] { ComponentType.ReadOnly<Boid>(), ComponentType.ReadWrite<LocalToWorld>() },
|
||||
});
|
||||
using var queryBuilder = new EntityQueryBuilder(Allocator.Temp)
|
||||
.WithAll<Boid>()
|
||||
.WithAllRW<LocalToWorld>();
|
||||
m_BoidQuery = state.GetEntityQuery(queryBuilder);
|
||||
|
||||
RequireForUpdate(m_BoidQuery);
|
||||
RequireForUpdate(m_ObstacleQuery);
|
||||
RequireForUpdate(m_TargetQuery);
|
||||
queryBuilder.Reset();
|
||||
queryBuilder.WithAll<BoidTarget, LocalToWorld>();
|
||||
m_TargetQuery = state.GetEntityQuery(queryBuilder);
|
||||
|
||||
queryBuilder.Reset();
|
||||
queryBuilder.WithAll<BoidObstacle, LocalToWorld>();
|
||||
m_ObstacleQuery = state.GetEntityQuery(queryBuilder);
|
||||
}
|
||||
|
||||
[BurstCompile]
|
||||
public void OnDestroy(ref SystemState state)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,12 +6,13 @@ using Unity.Entities;
|
|||
using UnityEngine;
|
||||
|
||||
[AddComponentMenu("DOTS Samples/Boids/BoidTarget")]
|
||||
[ConverterVersion("joe", 1)]
|
||||
public class BoidTargetAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class BoidTargetAuthoring : MonoBehaviour {}
|
||||
|
||||
public class BoidTargetAuthoringBaker : Baker<BoidTargetAuthoring>
|
||||
{
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
public override void Bake(BoidTargetAuthoring authoring)
|
||||
{
|
||||
dstManager.AddComponentData(entity, new BoidTarget());
|
||||
AddComponent( new BoidTarget());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using Unity.Burst;
|
||||
using Unity.Collections;
|
||||
using Unity.Collections.LowLevel.Unsafe;
|
||||
using Unity.Jobs;
|
||||
|
@ -28,31 +29,69 @@ namespace Samples.Boids
|
|||
|
||||
public static class JobNativeMultiHashMapUniqueHashExtensions
|
||||
{
|
||||
internal struct JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob>
|
||||
where TJob : struct, IJobNativeMultiHashMapMergedSharedKeyIndices
|
||||
internal struct JobWrapper<T> where T : struct
|
||||
{
|
||||
[ReadOnly] public NativeParallelMultiHashMap<int, int> HashMap;
|
||||
internal TJob JobData;
|
||||
[ReadOnly] public NativeMultiHashMap<int, int> HashMap;
|
||||
public T JobData;
|
||||
}
|
||||
|
||||
private static IntPtr s_JobReflectionData;
|
||||
/// <summary>
|
||||
/// Gathers and caches reflection data for the internal job system's managed bindings. Unity is responsible for calling this method - don't call it yourself.
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <remarks>
|
||||
/// When the Jobs package is included in the project, Unity generates code to call EarlyJobInit at startup. This allows Burst compiled code to schedule jobs because the reflection part of initialization, which is not compatible with burst compiler constraints, has already happened in EarlyJobInit.
|
||||
///
|
||||
/// __Note__: While the Jobs package code generator handles this automatically for all closed job types, you must register those with generic arguments (like IJobChunk&lt;MyJobType&lt;T&gt;&gt;) manually for each specialization with [[Unity.Jobs.RegisterGenericJobTypeAttribute]].
|
||||
/// </remarks>
|
||||
public static void EarlyJobInit<T>()
|
||||
where T : struct, IJobNativeMultiHashMapMergedSharedKeyIndices
|
||||
{
|
||||
JobNativeMultiHashMapMergedSharedKeyIndicesProducer<T>.Initialize();
|
||||
}
|
||||
|
||||
internal static IntPtr Initialize()
|
||||
public static unsafe JobHandle Schedule<T>(this T jobData, NativeMultiHashMap<int, int> hashMap,
|
||||
int minIndicesPerJobCount, JobHandle dependsOn = default)
|
||||
where T : struct, IJobNativeMultiHashMapMergedSharedKeyIndices
|
||||
{
|
||||
var jobWrapper = new JobWrapper<T>
|
||||
{
|
||||
if (s_JobReflectionData == IntPtr.Zero)
|
||||
{
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
s_JobReflectionData = JobsUtility.CreateJobReflectionData(typeof(JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob>), typeof(TJob), (ExecuteJobFunction)Execute);
|
||||
#else
|
||||
s_JobReflectionData = JobsUtility.CreateJobReflectionData(typeof(JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob>), typeof(TJob), JobType.ParallelFor, (ExecuteJobFunction)Execute);
|
||||
#endif
|
||||
}
|
||||
HashMap = hashMap,
|
||||
JobData = jobData,
|
||||
};
|
||||
JobNativeMultiHashMapMergedSharedKeyIndicesProducer<T>.Initialize();
|
||||
var reflectionData = JobNativeMultiHashMapMergedSharedKeyIndicesProducer<T>.reflectionData.Data;
|
||||
CollectionHelper.CheckReflectionDataCorrect<T>(reflectionData);
|
||||
|
||||
return s_JobReflectionData;
|
||||
var scheduleParams = new JobsUtility.JobScheduleParameters(
|
||||
UnsafeUtility.AddressOf(ref jobWrapper),
|
||||
reflectionData,
|
||||
dependsOn,
|
||||
ScheduleMode.Parallel);
|
||||
|
||||
return JobsUtility.ScheduleParallelFor(ref scheduleParams, hashMap.GetUnsafeBucketData().bucketCapacityMask + 1, minIndicesPerJobCount);
|
||||
}
|
||||
|
||||
|
||||
[BurstCompile]
|
||||
internal struct JobNativeMultiHashMapMergedSharedKeyIndicesProducer<T>
|
||||
where T : struct, IJobNativeMultiHashMapMergedSharedKeyIndices
|
||||
{
|
||||
internal static readonly SharedStatic<IntPtr> reflectionData = SharedStatic<IntPtr>.GetOrCreate<JobNativeMultiHashMapMergedSharedKeyIndicesProducer<T>>();
|
||||
|
||||
[BurstDiscard]
|
||||
internal static void Initialize()
|
||||
{
|
||||
if (reflectionData.Data == IntPtr.Zero)
|
||||
reflectionData.Data = JobsUtility.CreateJobReflectionData(typeof(JobWrapper<T>), typeof(T), (ExecuteJobFunction)Execute);
|
||||
}
|
||||
|
||||
delegate void ExecuteJobFunction(ref JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob> jobProducer, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex);
|
||||
delegate void ExecuteJobFunction(ref JobWrapper<T> jobWrapper, IntPtr additionalPtr, IntPtr bufferRangePatchData,
|
||||
ref JobRanges ranges, int jobIndex);
|
||||
|
||||
public static unsafe void Execute(ref JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob> jobProducer, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
|
||||
[BurstCompile]
|
||||
public static unsafe void Execute(ref JobWrapper<T> jobWrapper, IntPtr additionalPtr, IntPtr bufferRangePatchData,
|
||||
ref JobRanges ranges, int jobIndex)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
|
@ -64,7 +103,7 @@ namespace Samples.Boids
|
|||
return;
|
||||
}
|
||||
|
||||
var bucketData = jobProducer.HashMap.GetUnsafeBucketData();
|
||||
var bucketData = jobWrapper.HashMap.GetUnsafeBucketData();
|
||||
var buckets = (int*)bucketData.buckets;
|
||||
var nextPtrs = (int*)bucketData.next;
|
||||
var keys = bucketData.keys;
|
||||
|
@ -80,8 +119,8 @@ namespace Samples.Boids
|
|||
var value = UnsafeUtility.ReadArrayElement<int>(values, entryIndex);
|
||||
int firstValue;
|
||||
|
||||
NativeParallelMultiHashMapIterator<int> it;
|
||||
jobProducer.HashMap.TryGetFirstValue(key, out firstValue, out it);
|
||||
NativeMultiHashMapIterator<int> it;
|
||||
jobWrapper.HashMap.TryGetFirstValue(key, out firstValue, out it);
|
||||
|
||||
// [macton] Didn't expect a usecase for this with multiple same values
|
||||
// (since it's intended use was for unique indices.)
|
||||
|
@ -89,9 +128,9 @@ namespace Samples.Boids
|
|||
if (entryIndex == it.GetEntryIndex())
|
||||
{
|
||||
#if ENABLE_UNITY_COLLECTIONS_CHECKS
|
||||
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobProducer), value, 1);
|
||||
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobWrapper), value, 1);
|
||||
#endif
|
||||
jobProducer.JobData.ExecuteFirst(value);
|
||||
jobWrapper.JobData.ExecuteFirst(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -100,9 +139,9 @@ namespace Samples.Boids
|
|||
var lastIndex = math.max(firstValue, value);
|
||||
var rangeLength = (lastIndex - startIndex) + 1;
|
||||
|
||||
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobProducer), startIndex, rangeLength);
|
||||
JobsUtility.PatchBufferMinMaxRanges(bufferRangePatchData, UnsafeUtility.AddressOf(ref jobWrapper), startIndex, rangeLength);
|
||||
#endif
|
||||
jobProducer.JobData.ExecuteNext(firstValue, value);
|
||||
jobWrapper.JobData.ExecuteNext(firstValue, value);
|
||||
}
|
||||
|
||||
entryIndex = nextPtrs[entryIndex];
|
||||
|
@ -111,28 +150,5 @@ namespace Samples.Boids
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static unsafe JobHandle Schedule<TJob>(this TJob jobData, NativeParallelMultiHashMap<int, int> hashMap, int minIndicesPerJobCount, JobHandle dependsOn = new JobHandle())
|
||||
where TJob : struct, IJobNativeMultiHashMapMergedSharedKeyIndices
|
||||
{
|
||||
var jobProducer = new JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob>
|
||||
{
|
||||
HashMap = hashMap,
|
||||
JobData = jobData
|
||||
};
|
||||
|
||||
var scheduleParams = new JobsUtility.JobScheduleParameters(
|
||||
UnsafeUtility.AddressOf(ref jobProducer)
|
||||
, JobNativeMultiHashMapMergedSharedKeyIndicesProducer<TJob>.Initialize()
|
||||
, dependsOn
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
, ScheduleMode.Parallel
|
||||
#else
|
||||
, ScheduleMode.Batched
|
||||
#endif
|
||||
);
|
||||
|
||||
return JobsUtility.ScheduleParallelFor(ref scheduleParams, hashMap.GetUnsafeBucketData().bucketCapacityMask + 1, minIndicesPerJobCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,8 +17,12 @@ namespace Samples.Boids
|
|||
public BlobAssetReference<TransformSamples> TransformSamplesBlob;
|
||||
}
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
[WriteGroup(typeof(LocalToWorldTransform))]
|
||||
#else
|
||||
[WriteGroup(typeof(Translation))]
|
||||
[WriteGroup(typeof(Rotation))]
|
||||
#endif
|
||||
public struct TransformSamples
|
||||
{
|
||||
public BlobArray<float3> TranslationSamples;
|
||||
|
|
|
@ -6,13 +6,18 @@ using UnityEngine;
|
|||
|
||||
namespace Samples.Boids
|
||||
{
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class SampledAnimationClipPlaybackSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
var deltaTime = math.min(0.05f, Time.DeltaTime);
|
||||
var deltaTime = math.min(0.05f, SystemAPI.Time.DeltaTime);
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
Entities.ForEach((ref LocalToWorldTransform transform, in SampledAnimationClip sampledAnimationClip) =>
|
||||
#else
|
||||
Entities.ForEach((ref Translation translation, ref Rotation rotation, in SampledAnimationClip sampledAnimationClip) =>
|
||||
#endif
|
||||
{
|
||||
var frameIndex = sampledAnimationClip.FrameIndex;
|
||||
var timeOffset = sampledAnimationClip.TimeOffset;
|
||||
|
@ -23,8 +28,13 @@ namespace Samples.Boids
|
|||
var prevRotation = sampledAnimationClip.TransformSamplesBlob.Value.RotationSamples[frameIndex];
|
||||
var nextRotation = sampledAnimationClip.TransformSamplesBlob.Value.RotationSamples[frameIndex + 1];
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position = math.lerp(prevTranslation, nextTranslation, timeOffset);
|
||||
transform.Value.Rotation = math.slerp(prevRotation, nextRotation, timeOffset);
|
||||
#else
|
||||
translation.Value = math.lerp(prevTranslation, nextTranslation, timeOffset);
|
||||
rotation.Value = math.slerp(prevRotation, nextRotation, timeOffset);
|
||||
#endif
|
||||
}).ScheduleParallel();
|
||||
|
||||
Entities.ForEach((ref SampledAnimationClip sampledAnimationClip) =>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"Unity.Collections",
|
||||
"Unity.Transforms",
|
||||
"Unity.Transforms.Hybrid",
|
||||
"Unity.Rendering.Hybrid",
|
||||
"Unity.Entities.Graphics",
|
||||
"Unity.Burst",
|
||||
"Unity.Jobs",
|
||||
"Unity.Mathematics",
|
||||
|
|
|
@ -14,18 +14,20 @@ using UnityEngine;
|
|||
// - Store samples into DynamicBuffer
|
||||
|
||||
[AddComponentMenu("DOTS Samples/Boids/TransformRecorder")]
|
||||
[ConverterVersion("macton", 2)]
|
||||
public class TransformRecorderAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class TransformRecorderAuthoring : MonoBehaviour
|
||||
{
|
||||
[Range(2, 120)]
|
||||
public int SamplesPerSecond = 60;
|
||||
}
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
public class TransformRecorderAuthoringBaker : Baker<TransformRecorderAuthoring>
|
||||
{
|
||||
public override void Bake(TransformRecorderAuthoring authoring)
|
||||
{
|
||||
var animationClips = AnimationUtility.GetAnimationClips(gameObject);
|
||||
var animationClips = AnimationUtility.GetAnimationClips(authoring.gameObject);
|
||||
var animationClip = animationClips[0];
|
||||
var lengthSeconds = animationClip.length;
|
||||
var sampleRate = 1.0f / SamplesPerSecond;
|
||||
var sampleRate = 1.0f / authoring.SamplesPerSecond;
|
||||
var frameCount = (int)(lengthSeconds / sampleRate);
|
||||
if (frameCount < 2) // Minimum two frames of animation to capture.
|
||||
{
|
||||
|
@ -41,15 +43,15 @@ public class TransformRecorderAuthoring : MonoBehaviour, IConvertGameObjectToEn
|
|||
|
||||
for (int i = 0; i < frameCount; i++)
|
||||
{
|
||||
animationClip.SampleAnimation(gameObject, s);
|
||||
animationClip.SampleAnimation(authoring.gameObject, s);
|
||||
|
||||
translationSamples[i] = gameObject.transform.position;
|
||||
rotationSamples[i] = gameObject.transform.rotation;
|
||||
translationSamples[i] = authoring.gameObject.transform.position;
|
||||
rotationSamples[i] = authoring.gameObject.transform.rotation;
|
||||
|
||||
s += sampleRate;
|
||||
}
|
||||
|
||||
dstManager.AddComponentData(entity, new SampledAnimationClip
|
||||
AddComponent( new SampledAnimationClip
|
||||
{
|
||||
FrameCount = frameCount,
|
||||
SampleRate = sampleRate,
|
||||
|
|
|
@ -3,18 +3,22 @@ using Unity.Entities.Serialization;
|
|||
using UnityEngine;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public class PrefabSpawnerAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class PrefabSpawnerAuthoring : MonoBehaviour
|
||||
{
|
||||
public GameObject[] Prefabs;
|
||||
public int SpawnCount;
|
||||
public float SpawnsPerSecond;
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
|
||||
class Baker : Baker<PrefabSpawnerAuthoring>
|
||||
{
|
||||
dstManager.AddComponentData(entity, new PrefabSpawner {SpawnsRemaining = SpawnCount, SpawnsPerSecond = SpawnsPerSecond});
|
||||
var buffer = dstManager.AddBuffer<PrefabSpawnerBufferElement>(entity);
|
||||
foreach (var prefab in Prefabs)
|
||||
public override void Bake(PrefabSpawnerAuthoring authoring)
|
||||
{
|
||||
buffer.Add(new PrefabSpawnerBufferElement {Prefab = new EntityPrefabReference(prefab)});
|
||||
AddComponent( new PrefabSpawner {SpawnsRemaining = authoring.SpawnCount, SpawnsPerSecond = authoring.SpawnsPerSecond});
|
||||
var buffer = AddBuffer<PrefabSpawnerBufferElement>();
|
||||
foreach (var prefab in authoring.Prefabs)
|
||||
{
|
||||
buffer.Add(new PrefabSpawnerBufferElement {Prefab = new EntityPrefabReference(prefab)});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,13 +17,14 @@ public struct PrefabSpawnerBufferElement : IBufferElementData
|
|||
public EntityPrefabReference Prefab;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class PrefabSpawnerSystem : SystemBase
|
||||
{
|
||||
private BeginSimulationEntityCommandBufferSystem m_BeginSimECBSystem;
|
||||
|
||||
protected override void OnCreate()
|
||||
{
|
||||
m_BeginSimECBSystem = World.GetExistingSystem<BeginSimulationEntityCommandBufferSystem>();
|
||||
m_BeginSimECBSystem = World.GetExistingSystemManaged<BeginSimulationEntityCommandBufferSystem>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
|
@ -36,7 +37,7 @@ public partial class PrefabSpawnerSystem : SystemBase
|
|||
ecb.AddComponent(entityInQueryIndex, entity, new RequestEntityPrefabLoaded {Prefab = prefabs[rnd.NextInt(prefabs.Length)].Prefab});
|
||||
}).ScheduleParallel();
|
||||
|
||||
var dt = Time.DeltaTime;
|
||||
var dt = SystemAPI.Time.DeltaTime;
|
||||
Entities.ForEach((Entity entity, int entityInQueryIndex, ref PrefabSpawner spawner, in PrefabLoadResult prefab) =>
|
||||
{
|
||||
var remaining = spawner.SpawnsRemaining;
|
||||
|
@ -52,7 +53,11 @@ public partial class PrefabSpawnerSystem : SystemBase
|
|||
{
|
||||
var instance = ecb.Instantiate(entityInQueryIndex, prefab.PrefabRoot);
|
||||
int index = i + (int) remaining;
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ecb.SetComponent(entityInQueryIndex, instance, new LocalToWorldTransform {Value = UniformScaleTransform.FromPosition(new float3(index*((index&1)*2-1), 0, 0))});
|
||||
#else
|
||||
ecb.SetComponent(entityInQueryIndex, instance, new Translation {Value = new float3(index*((index&1)*2-1), 0, 0)});
|
||||
#endif
|
||||
}
|
||||
spawner.SpawnsRemaining = newRemaining;
|
||||
}).ScheduleParallel();
|
||||
|
|
|
@ -2,12 +2,16 @@ using Unity.Entities;
|
|||
using UnityEngine;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public class SelfDestructAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class SelfDestructAuthoring : MonoBehaviour
|
||||
{
|
||||
public float TimeToLive;
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
|
||||
class Baker : Baker<SelfDestructAuthoring>
|
||||
{
|
||||
dstManager.AddComponentData(entity, new SelfDestruct {TimeToLive = TimeToLive});
|
||||
public override void Bake(SelfDestructAuthoring authoring)
|
||||
{
|
||||
AddComponent(new SelfDestruct {TimeToLive = authoring.TimeToLive});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,18 +5,19 @@ public struct SelfDestruct : IComponentData
|
|||
public float TimeToLive;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class SelfDestructSystem : SystemBase
|
||||
{
|
||||
private EndSimulationEntityCommandBufferSystem m_EndSimECBSystem;
|
||||
|
||||
protected override void OnCreate()
|
||||
{
|
||||
m_EndSimECBSystem = World.GetExistingSystem<EndSimulationEntityCommandBufferSystem>();
|
||||
m_EndSimECBSystem = World.GetExistingSystemManaged<EndSimulationEntityCommandBufferSystem>();
|
||||
}
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
var ecb = m_EndSimECBSystem.CreateCommandBuffer().AsParallelWriter();
|
||||
var dt = Time.DeltaTime;
|
||||
var dt = SystemAPI.Time.DeltaTime;
|
||||
Entities.ForEach((Entity entity, int entityInQueryIndex, ref SelfDestruct spawner) =>
|
||||
{
|
||||
if((spawner.TimeToLive -= dt) < 0)
|
||||
|
|
|
@ -5,24 +5,22 @@ using UnityEngine;
|
|||
namespace Samples.FixedTimestepSystem.Authoring
|
||||
{
|
||||
[AddComponentMenu("DOTS Samples/FixedTimestepWorkaround/Fixed Rate Spawner")]
|
||||
[ConverterVersion("joe", 1)]
|
||||
public class FixedRateSpawnerAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class FixedRateSpawnerAuthoring : MonoBehaviour
|
||||
{
|
||||
public GameObject projectilePrefab;
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<FixedRateSpawnerAuthoring>
|
||||
{
|
||||
var spawnerData = new FixedRateSpawner
|
||||
public override void Bake(FixedRateSpawnerAuthoring authoring)
|
||||
{
|
||||
Prefab = conversionSystem.GetPrimaryEntity(projectilePrefab),
|
||||
SpawnPos = transform.position,
|
||||
};
|
||||
dstManager.AddComponentData(entity, spawnerData);
|
||||
}
|
||||
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
{
|
||||
referencedPrefabs.Add(projectilePrefab);
|
||||
var transform = authoring.GetComponent<Transform>();
|
||||
var spawnerData = new FixedRateSpawner
|
||||
{
|
||||
Prefab = GetEntity(authoring.projectilePrefab),
|
||||
SpawnPos = transform.position,
|
||||
};
|
||||
AddComponent(spawnerData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,18 +12,19 @@ namespace Samples.FixedTimestepSystem
|
|||
|
||||
// This system is virtually identical to VariableRateSpawner; the key difference is that it updates in the
|
||||
// FixedStepSimulationSystemGroup instead of the default SimulationSystemGroup.
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
[UpdateInGroup(typeof(FixedStepSimulationSystemGroup))]
|
||||
public partial class FixedRateSpawnerSystem : SystemBase
|
||||
{
|
||||
private EndFixedStepSimulationEntityCommandBufferSystem ecbSystem;
|
||||
protected override void OnCreate()
|
||||
{
|
||||
ecbSystem = World.GetExistingSystem<EndFixedStepSimulationEntityCommandBufferSystem>();
|
||||
ecbSystem = World.GetExistingSystemManaged<EndFixedStepSimulationEntityCommandBufferSystem>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
float spawnTime = (float)Time.ElapsedTime;
|
||||
float spawnTime = (float)SystemAPI.Time.ElapsedTime;
|
||||
var ecb = ecbSystem.CreateCommandBuffer();
|
||||
Entities
|
||||
.WithName("FixedRateSpawner")
|
||||
|
@ -32,7 +33,11 @@ namespace Samples.FixedTimestepSystem
|
|||
var projectileEntity = ecb.Instantiate(spawner.Prefab);
|
||||
var spawnPos = spawner.SpawnPos;
|
||||
spawnPos.y += 0.3f * math.sin(5.0f * spawnTime);
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ecb.SetComponent(projectileEntity, new LocalToWorldTransform {Value = UniformScaleTransform.FromPosition(spawnPos)});
|
||||
#else
|
||||
ecb.SetComponent(projectileEntity, new Translation {Value = spawnPos});
|
||||
#endif
|
||||
ecb.SetComponent(projectileEntity, new Projectile
|
||||
{
|
||||
SpawnTime = spawnTime,
|
||||
|
|
|
@ -9,29 +9,39 @@ namespace Samples.FixedTimestepSystem
|
|||
public float SpawnTime;
|
||||
public float3 SpawnPos;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class MoveProjectilesSystem : SystemBase
|
||||
{
|
||||
BeginSimulationEntityCommandBufferSystem m_beginSimEcbSystem;
|
||||
protected override void OnCreate()
|
||||
{
|
||||
m_beginSimEcbSystem = World.GetExistingSystem<BeginSimulationEntityCommandBufferSystem>();
|
||||
m_beginSimEcbSystem = World.GetExistingSystemManaged<BeginSimulationEntityCommandBufferSystem>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
var ecb = m_beginSimEcbSystem.CreateCommandBuffer().AsParallelWriter();
|
||||
float timeSinceLoad = (float) Time.ElapsedTime;
|
||||
float timeSinceLoad = (float) SystemAPI.Time.ElapsedTime;
|
||||
float projectileSpeed = 5.0f;
|
||||
Entities
|
||||
.WithName("MoveProjectiles")
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
.ForEach((Entity projectileEntity, int entityInQueryIndex, ref LocalToWorldTransform transform, in Projectile projectile) =>
|
||||
#else
|
||||
.ForEach((Entity projectileEntity, int entityInQueryIndex, ref Translation translation, in Projectile projectile) =>
|
||||
#endif
|
||||
{
|
||||
float aliveTime = (timeSinceLoad - projectile.SpawnTime);
|
||||
if (aliveTime > 5.0f)
|
||||
{
|
||||
ecb.DestroyEntity(entityInQueryIndex, projectileEntity);
|
||||
}
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position.x = projectile.SpawnPos.x + aliveTime * projectileSpeed;
|
||||
#else
|
||||
translation.Value.x = projectile.SpawnPos.x + aliveTime * projectileSpeed;
|
||||
#endif
|
||||
}).ScheduleParallel();
|
||||
m_beginSimEcbSystem.AddJobHandleForProducer(Dependency);
|
||||
}
|
||||
|
|
|
@ -4,12 +4,14 @@ using UnityEngine;
|
|||
namespace Samples.FixedTimestepSystem.Authoring
|
||||
{
|
||||
[AddComponentMenu("DOTS Samples/FixedTimestepWorkaround/Projectile Spawn Time")]
|
||||
[ConverterVersion("joe", 1)]
|
||||
public class ProjectileAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class ProjectileAuthoring : MonoBehaviour
|
||||
{
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<ProjectileAuthoring>
|
||||
{
|
||||
dstManager.AddComponent<Projectile>(entity);
|
||||
public override void Bake(ProjectileAuthoring authoring)
|
||||
{
|
||||
AddComponent<Projectile>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ public class SliderHandler : MonoBehaviour
|
|||
public void OnSliderChange()
|
||||
{
|
||||
float fixedFps = GetComponent<Slider>().value;
|
||||
var fixedSimulationGroup = World.DefaultGameObjectInjectionWorld?.GetExistingSystem<FixedStepSimulationSystemGroup>();
|
||||
var fixedSimulationGroup = World.DefaultGameObjectInjectionWorld?.GetExistingSystemManaged<FixedStepSimulationSystemGroup>();
|
||||
if (fixedSimulationGroup != null)
|
||||
{
|
||||
// The group timestep can be set at runtime:
|
||||
|
|
|
@ -5,24 +5,22 @@ using UnityEngine;
|
|||
namespace Samples.FixedTimestepSystem.Authoring
|
||||
{
|
||||
[AddComponentMenu("DOTS Samples/FixedTimestepWorkaround/Variable Rate Spawner")]
|
||||
[ConverterVersion("joe", 1)]
|
||||
public class VariableRateSpawnerAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class VariableRateSpawnerAuthoring : MonoBehaviour
|
||||
{
|
||||
public GameObject projectilePrefab;
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<VariableRateSpawnerAuthoring>
|
||||
{
|
||||
var spawnerData = new VariableRateSpawner
|
||||
public override void Bake(VariableRateSpawnerAuthoring authoring)
|
||||
{
|
||||
Prefab = conversionSystem.GetPrimaryEntity(projectilePrefab),
|
||||
SpawnPos = transform.position,
|
||||
};
|
||||
dstManager.AddComponentData(entity, spawnerData);
|
||||
}
|
||||
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
{
|
||||
referencedPrefabs.Add(projectilePrefab);
|
||||
var transform = GetComponent<Transform>();
|
||||
var spawnerData = new VariableRateSpawner
|
||||
{
|
||||
Prefab = GetEntity(authoring.projectilePrefab),
|
||||
SpawnPos = transform.position,
|
||||
};
|
||||
AddComponent(spawnerData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,17 +10,18 @@ namespace Samples.FixedTimestepSystem
|
|||
public float3 SpawnPos;
|
||||
}
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public partial class VariableRateSpawnerSystem : SystemBase
|
||||
{
|
||||
private BeginSimulationEntityCommandBufferSystem ecbSystem;
|
||||
protected override void OnCreate()
|
||||
{
|
||||
ecbSystem = World.GetExistingSystem<BeginSimulationEntityCommandBufferSystem>();
|
||||
ecbSystem = World.GetExistingSystemManaged<BeginSimulationEntityCommandBufferSystem>();
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
float spawnTime = (float)Time.ElapsedTime;
|
||||
float spawnTime = (float)SystemAPI.Time.ElapsedTime;
|
||||
var ecb = ecbSystem.CreateCommandBuffer();
|
||||
Entities
|
||||
.WithName("VariableRateSpawner")
|
||||
|
@ -29,7 +30,11 @@ namespace Samples.FixedTimestepSystem
|
|||
var projectileEntity = ecb.Instantiate(spawner.Prefab);
|
||||
var spawnPos = spawner.SpawnPos;
|
||||
spawnPos.y += 0.3f * math.sin(5.0f * spawnTime);
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ecb.SetComponent(projectileEntity, new LocalToWorldTransform {Value = UniformScaleTransform.FromPosition(spawnPos)});
|
||||
#else
|
||||
ecb.SetComponent(projectileEntity, new Translation {Value = spawnPos});
|
||||
#endif
|
||||
ecb.SetComponent(projectileEntity, new Projectile
|
||||
{
|
||||
SpawnTime = spawnTime,
|
||||
|
|
|
@ -9,7 +9,6 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8677578845857320225}
|
||||
- component: {fileID: 7241256591259727247}
|
||||
- component: {fileID: 2166536328003235753}
|
||||
- component: {fileID: 3139632156233265087}
|
||||
- component: {fileID: 8085697106929772112}
|
||||
|
@ -28,25 +27,13 @@ Transform:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5504584424357794562}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -5.672221, y: -6.2789955, z: -2.8151016}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7241256591259727247
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5504584424357794562}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!33 &2166536328003235753
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -66,10 +53,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -94,6 +83,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &8085697106929772112
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -12,9 +12,8 @@ GameObject:
|
|||
- component: {fileID: 6226756458611596984}
|
||||
- component: {fileID: 6226756458611596985}
|
||||
- component: {fileID: 6226756458611596982}
|
||||
- component: {fileID: 6226756458611596983}
|
||||
m_Layer: 0
|
||||
m_Name: BasicCube
|
||||
m_Name: BasicCube0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -30,6 +29,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -14.746666, y: -15.219937, z: -33.825005}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
@ -53,10 +53,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -81,6 +83,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!65 &6226756458611596982
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -89,21 +92,16 @@ BoxCollider:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6226756458611596980}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6226756458611596983
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6226756458611596980}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
|
|
|
@ -9,7 +9,6 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5066949011654320161}
|
||||
- component: {fileID: 6504187674550917263}
|
||||
- component: {fileID: 2318383987450806953}
|
||||
- component: {fileID: 1562659410885755583}
|
||||
- component: {fileID: 5623784369351740240}
|
||||
|
@ -30,23 +29,11 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -5.672221, y: -6.2789955, z: -2.8151016}
|
||||
m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &6504187674550917263
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8239809292469255682}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!33 &2318383987450806953
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -66,10 +53,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -94,6 +83,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &5623784369351740240
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -9,7 +9,6 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 306639716728302639}
|
||||
- component: {fileID: 1752894555363284097}
|
||||
- component: {fileID: 7078675106104626855}
|
||||
- component: {fileID: 6322950528405180081}
|
||||
- component: {fileID: 872500286842406750}
|
||||
|
@ -30,23 +29,11 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -5.672221, y: -6.2789955, z: -2.8151016}
|
||||
m_LocalScale: {x: 0.75, y: 0.75, z: 0.75}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1752894555363284097
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3479490926574203404}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!33 &7078675106104626855
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -66,10 +53,12 @@ MeshRenderer:
|
|||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
|
@ -94,6 +83,7 @@ MeshRenderer:
|
|||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &872500286842406750
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -38,12 +38,12 @@ RenderSettings:
|
|||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.18315287, g: 0.22670832, b: 0.29430667, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,13 +98,14 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 4890085278179872738, guid: 944e6c008596d4fff8f3ce647fb0a1fd,
|
||||
type: 2}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -117,7 +118,9 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -161,9 +164,17 @@ Camera:
|
|||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
|
@ -200,6 +211,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0.287946, y: -0, z: -0, w: 0.95764667}
|
||||
m_LocalPosition: {x: 0, y: 26, z: -39.7}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
@ -214,6 +226,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 366118348}
|
||||
- component: {fileID: 366118347}
|
||||
- component: {fileID: 366118349}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light A
|
||||
m_TagString: Untagged
|
||||
|
@ -280,6 +293,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &366118348
|
||||
|
@ -292,10 +306,32 @@ Transform:
|
|||
m_LocalRotation: {x: 0.15864775, y: -0.4277569, z: 0.12144193, w: 0.8815366}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 402307335}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 22.557001, y: -50.797, z: 4.8690004}
|
||||
--- !u!114 &366118349
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 366118346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 1
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &402307334
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -322,6 +358,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 366118348}
|
||||
- {fileID: 580201623}
|
||||
|
@ -338,6 +375,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 580201623}
|
||||
- component: {fileID: 580201622}
|
||||
- component: {fileID: 580201624}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light B
|
||||
m_TagString: Untagged
|
||||
|
@ -404,6 +442,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &580201623
|
||||
|
@ -416,10 +455,32 @@ Transform:
|
|||
m_LocalRotation: {x: -0.6363282, y: -0.71778905, z: -0.26438808, w: -0.09982163}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 402307335}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: -14.626, y: -209.726, z: 87.01601}
|
||||
--- !u!114 &580201624
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 580201621}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 1
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &694976994
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -468,129 +529,61 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350647}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Version: 3-macton
|
||||
Prefab: {fileID: 4839979164330552634, guid: 7b80be4c2579d4312950c22919c1d102, type: 3}
|
||||
CoolDownSeconds: 0.1
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &698350647
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742821}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Version: 3-macton
|
||||
Prefab: {fileID: 5504584424357794562, guid: 185fc72fe6b8347aa833fe241a0dd4de, type: 3}
|
||||
CoolDownSeconds: 0.1
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &947742821
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1357678881
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1357678883}
|
||||
- component: {fileID: 1357678882}
|
||||
m_Layer: 0
|
||||
m_Name: Generators
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1357678882
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1357678881}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45a335734b1572644a6a5d09d87adc65, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_SceneAsset: {fileID: 102900000, guid: 10769bd255fd1416eb6d88bfd111dd31, type: 3}
|
||||
_HierarchyColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
AutoLoadScene: 1
|
||||
_SceneGUID:
|
||||
Value:
|
||||
x: 767125249
|
||||
y: 1631706965
|
||||
z: 4220049086
|
||||
w: 333254941
|
||||
--- !u!4 &1357678883
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1357678881}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
|
@ -38,12 +38,12 @@ RenderSettings:
|
|||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.18315287, g: 0.22670832, b: 0.29430667, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,13 +98,14 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 4890085278179872738, guid: c0ea0f3dd6782411bb216aadb06b0854,
|
||||
type: 2}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -117,7 +118,9 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -132,6 +135,7 @@ GameObject:
|
|||
- component: {fileID: 166484213}
|
||||
- component: {fileID: 166484212}
|
||||
- component: {fileID: 166484211}
|
||||
- component: {fileID: 166484214}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
|
@ -161,9 +165,17 @@ Camera:
|
|||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
|
@ -200,10 +212,47 @@ Transform:
|
|||
m_LocalRotation: {x: 0.287946, y: -0, z: -0, w: 0.95764667}
|
||||
m_LocalPosition: {x: 0, y: 26, z: -39.7}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 33.47, y: 0, z: 0}
|
||||
--- !u!114 &166484214
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 166484210}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
--- !u!1 &366118346
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -214,6 +263,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 366118348}
|
||||
- component: {fileID: 366118347}
|
||||
- component: {fileID: 366118349}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light A
|
||||
m_TagString: Untagged
|
||||
|
@ -280,6 +330,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &366118348
|
||||
|
@ -292,10 +343,34 @@ Transform:
|
|||
m_LocalRotation: {x: 0.15864775, y: -0.4277569, z: 0.12144193, w: 0.8815366}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 402307335}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 22.557001, y: -50.797, z: 4.8690004}
|
||||
--- !u!114 &366118349
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 366118346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 2
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &402307334
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -322,105 +397,13 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 366118348}
|
||||
- {fileID: 580201623}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &449620888
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 449620889}
|
||||
- component: {fileID: 449620892}
|
||||
- component: {fileID: 449620891}
|
||||
- component: {fileID: 449620890}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &449620889
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 3.1548, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 882561005}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &449620890
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &449620891
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &449620892
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &580201621
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -431,6 +414,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 580201623}
|
||||
- component: {fileID: 580201622}
|
||||
- component: {fileID: 580201624}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light B
|
||||
m_TagString: Untagged
|
||||
|
@ -497,6 +481,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &580201623
|
||||
|
@ -509,10 +494,34 @@ Transform:
|
|||
m_LocalRotation: {x: -0.6363282, y: -0.71778905, z: -0.26438808, w: -0.09982163}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 402307335}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: -14.626, y: -209.726, z: 87.01601}
|
||||
--- !u!114 &580201624
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 580201621}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 2
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_RenderingLayers: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_ShadowRenderingLayers: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &694976994
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -561,204 +570,12 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350647}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 3479490926574203404, guid: 4f055a23850cd4a2e9b87a6e7e5e731b, type: 3}
|
||||
CoolDownSeconds: 0.3
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &698350647
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &882561001
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 882561005}
|
||||
- component: {fileID: 882561004}
|
||||
- component: {fileID: 882561003}
|
||||
- component: {fileID: 882561002}
|
||||
m_Layer: 0
|
||||
m_Name: Target 1 Root
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &882561002
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 882561001}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &882561003
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 882561001}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 1.25
|
||||
Movement: 0
|
||||
--- !u!114 &882561004
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 882561001}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &882561005
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 882561001}
|
||||
m_LocalRotation: {x: 0, y: 0, z: -0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 16.5, y: 1.5, z: -3.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 449620889}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742821}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 8239809292469255682, guid: 28d80e37b80c2462aaaaf3a0ebe3061a, type: 3}
|
||||
CoolDownSeconds: 0.3
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &947742821
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1176673075
|
||||
--- !u!1 &2046135466
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -766,161 +583,48 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1176673076}
|
||||
- component: {fileID: 1176673079}
|
||||
- component: {fileID: 1176673078}
|
||||
- component: {fileID: 1176673077}
|
||||
- component: {fileID: 2046135468}
|
||||
- component: {fileID: 2046135467}
|
||||
m_Layer: 0
|
||||
m_Name: Target 0 Root
|
||||
m_Name: FollowGeneratorsAndTargets
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1176673076
|
||||
--- !u!114 &2046135467
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2046135466}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45a335734b1572644a6a5d09d87adc65, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_SceneAsset: {fileID: 102900000, guid: 61000363cd5904587adfadd0435ea484, type: 3}
|
||||
_HierarchyColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
AutoLoadScene: 1
|
||||
_SceneGUID:
|
||||
Value:
|
||||
x: 909115414
|
||||
y: 2235602396
|
||||
z: 232455591
|
||||
w: 1212867892
|
||||
--- !u!4 &2046135468
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1176673075}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 3.5, y: 1.5, z: -16.61}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1435458095}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0}
|
||||
--- !u!114 &1176673077
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1176673075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &1176673078
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1176673075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 1.25
|
||||
Movement: 0
|
||||
--- !u!114 &1176673079
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1176673075}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!1 &1435458094
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1435458095}
|
||||
- component: {fileID: 1435458100}
|
||||
- component: {fileID: 1435458099}
|
||||
- component: {fileID: 1435458098}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1435458095
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_GameObject: {fileID: 2046135466}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 3.1548, z: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1176673076}
|
||||
m_RootOrder: 0
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &1435458098
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1435458099
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &1435458100
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
|
|
|
@ -6,9 +6,9 @@ LightingSettings:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: 4b. Limit DOFSettings
|
||||
serializedVersion: 4
|
||||
m_GIWorkflowMode: 0
|
||||
m_Name: GridCubeFollowTargetsSettings
|
||||
serializedVersion: 6
|
||||
m_GIWorkflowMode: 1
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
|
@ -17,8 +17,8 @@ LightingSettings:
|
|||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 1
|
||||
m_BakeBackend: 1
|
||||
m_LightmapMaxSize: 512
|
||||
m_BakeResolution: 10
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_LightmapCompression: 3
|
||||
m_AO: 0
|
||||
|
@ -41,17 +41,17 @@ LightingSettings:
|
|||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 256
|
||||
m_PVRSampleCount: 512
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
|
@ -62,3 +62,4 @@ LightingSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_PVRTiledBaking: 0
|
||||
m_NumRaysToShootPerTexel: -1
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8397ae0feb6934c78843c40600cd0d6d
|
||||
guid: c0ea0f3dd6782411bb216aadb06b0854
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
|
@ -6,9 +6,9 @@ LightingSettings:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: 4a. Joints ParadeSettings
|
||||
serializedVersion: 4
|
||||
m_GIWorkflowMode: 0
|
||||
m_Name: GridCubeSettings
|
||||
serializedVersion: 6
|
||||
m_GIWorkflowMode: 1
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
|
@ -17,8 +17,8 @@ LightingSettings:
|
|||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 1
|
||||
m_BakeBackend: 1
|
||||
m_LightmapMaxSize: 512
|
||||
m_BakeResolution: 10
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_LightmapCompression: 3
|
||||
m_AO: 0
|
||||
|
@ -41,17 +41,17 @@ LightingSettings:
|
|||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 256
|
||||
m_PVRSampleCount: 512
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRFilteringMode: 2
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
|
@ -62,3 +62,4 @@ LightingSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_PVRTiledBaking: 0
|
||||
m_NumRaysToShootPerTexel: -1
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 513c1f77573b84f0ea4a6162f72f3fe8
|
||||
guid: 944e6c008596d4fff8f3ce647fb0a1fd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
|
@ -38,12 +38,12 @@ RenderSettings:
|
|||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.17997876, g: 0.22534493, b: 0.30672762, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,13 +98,13 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 1856571275}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -117,7 +117,9 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -161,9 +163,17 @@ Camera:
|
|||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
|
@ -200,6 +210,7 @@ Transform:
|
|||
m_LocalRotation: {x: -0.21397533, y: 0.67468005, z: -0.21449125, w: -0.6730639}
|
||||
m_LocalPosition: {x: 72.78, y: 21.319756, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
@ -214,6 +225,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 366118348}
|
||||
- component: {fileID: 366118347}
|
||||
- component: {fileID: 366118349}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light
|
||||
m_TagString: Untagged
|
||||
|
@ -280,6 +292,7 @@ Light:
|
|||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &366118348
|
||||
|
@ -292,11 +305,33 @@ Transform:
|
|||
m_LocalRotation: {x: -0.017379975, y: -0.51948684, z: 0.76247275, w: 0.38531366}
|
||||
m_LocalPosition: {x: -0.43, y: 2.94, z: -0.56}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 51.15, y: -42.879, z: 105.093}
|
||||
--- !u!1 &698350645
|
||||
--- !u!114 &366118349
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 366118346}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 1
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &1692329121
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
@ -304,118 +339,51 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350647}
|
||||
- component: {fileID: 698350646}
|
||||
- component: {fileID: 1692329123}
|
||||
- component: {fileID: 1692329122}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_Name: Generators
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
--- !u!114 &1692329122
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_GameObject: {fileID: 1692329121}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: 45a335734b1572644a6a5d09d87adc65, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 4839979164330552634, guid: 7b80be4c2579d4312950c22919c1d102, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &698350647
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &698350648
|
||||
_SceneAsset: {fileID: 102900000, guid: e5712a8d848da43a2b491fc81d55163e, type: 3}
|
||||
_HierarchyColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
AutoLoadScene: 1
|
||||
_SceneGUID:
|
||||
Value:
|
||||
x: 3634501470
|
||||
y: 2739591240
|
||||
z: 2364642482
|
||||
w: 3814806993
|
||||
--- !u!4 &1692329123
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_GameObject: {fileID: 1692329121}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742821}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 5504584424357794562, guid: 185fc72fe6b8347aa833fe241a0dd4de, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &947742821
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ConversionMode: 0
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.16926202, y: 0.5, z: -0.47711325}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1831934784
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -464,7 +432,71 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!850595691 &1856571275
|
||||
LightingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Settings.lighting
|
||||
serializedVersion: 6
|
||||
m_GIWorkflowMode: 1
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 1
|
||||
m_BakeBackend: 1
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_LightmapCompression: 3
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAO: 0
|
||||
m_MixedBakeMode: 2
|
||||
m_LightmapsBakeMode: 1
|
||||
m_FilterMode: 1
|
||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_RealtimeResolution: 2
|
||||
m_ForceWhiteAlbedo: 0
|
||||
m_ForceUpdates: 0
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherRayCount: 256
|
||||
m_FinalGatherFiltering: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_PVRTiledBaking: 0
|
||||
m_NumRaysToShootPerTexel: -1
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,485 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &449620888
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 449620889}
|
||||
- component: {fileID: 449620892}
|
||||
- component: {fileID: 449620891}
|
||||
- component: {fileID: 449620890}
|
||||
- component: {fileID: 449620894}
|
||||
- component: {fileID: 449620893}
|
||||
m_Layer: 0
|
||||
m_Name: Target 1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &449620889
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_LocalRotation: {x: 0, y: -0, z: -0.7071068, w: 0.7071068}
|
||||
m_LocalPosition: {x: 18, y: 1.4999998, z: -3.5}
|
||||
m_LocalScale: {x: 1, y: 3.154801, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &449620890
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &449620891
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &449620892
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &449620893
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 1.25
|
||||
Movement: 0
|
||||
--- !u!114 &449620894
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 449620888}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 3479490926574203404, guid: 4f055a23850cd4a2e9b87a6e7e5e731b, type: 3}
|
||||
CoolDownSeconds: 0.3
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 8239809292469255682, guid: 28d80e37b80c2462aaaaf3a0ebe3061a, type: 3}
|
||||
CoolDownSeconds: 0.3
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1435458094
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1435458095}
|
||||
- component: {fileID: 1435458100}
|
||||
- component: {fileID: 1435458099}
|
||||
- component: {fileID: 1435458098}
|
||||
- component: {fileID: 1435458102}
|
||||
- component: {fileID: 1435458101}
|
||||
m_Layer: 0
|
||||
m_Name: Target 0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1435458095
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 3.5, y: 1.4999998, z: -18.11}
|
||||
m_LocalScale: {x: 1, y: 3.154801, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &1435458098
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1435458099
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1435458100
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &1435458101
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 1.25
|
||||
Movement: 0
|
||||
--- !u!114 &1435458102
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1435458094}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f05fdaec0e58f4b9cb7cbc815696286a
|
||||
guid: 61000363cd5904587adfadd0435ea484
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
|
@ -0,0 +1,219 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 4839979164330552634, guid: 7b80be4c2579d4312950c22919c1d102, type: 3}
|
||||
CoolDownSeconds: 0.1
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 5504584424357794562, guid: 185fc72fe6b8347aa833fe241a0dd4de, type: 3}
|
||||
CoolDownSeconds: 0.1
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b292abe8630d8436c918377aae789b35
|
||||
guid: 10769bd255fd1416eb6d88bfd111dd31
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
|
@ -43,7 +43,7 @@ RenderSettings:
|
|||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,13 +98,14 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 4890085278179872738, guid: d921d4d2c0ea74ac0991eba727bdf381,
|
||||
type: 2}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -117,7 +118,9 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -168,6 +171,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
|
|
@ -6,11 +6,11 @@ LightingSettings:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: 2c3. Material Properties - Collision FiltersSettings
|
||||
serializedVersion: 4
|
||||
m_Name: GridSettings
|
||||
serializedVersion: 6
|
||||
m_GIWorkflowMode: 1
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
|
@ -47,7 +47,7 @@ LightingSettings:
|
|||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
|
@ -62,3 +62,4 @@ LightingSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_PVRTiledBaking: 0
|
||||
m_NumRaysToShootPerTexel: -1
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ac4b9c809b77e44e99bb965457fa1b0d
|
||||
guid: d921d4d2c0ea74ac0991eba727bdf381
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
|
@ -0,0 +1,787 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &260769071
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 260769072}
|
||||
- component: {fileID: 260769075}
|
||||
- component: {fileID: 260769074}
|
||||
- component: {fileID: 260769077}
|
||||
- component: {fileID: 260769076}
|
||||
m_Layer: 0
|
||||
m_Name: Target 3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &260769072
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 260769071}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -27.5, y: 1, z: -10.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &260769074
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 260769071}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &260769075
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 260769071}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &260769076
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 260769071}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &260769077
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 260769071}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 2
|
||||
Movement: 0
|
||||
--- !u!1 &269196148
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 269196149}
|
||||
- component: {fileID: 269196152}
|
||||
- component: {fileID: 269196151}
|
||||
- component: {fileID: 269196154}
|
||||
- component: {fileID: 269196153}
|
||||
m_Layer: 0
|
||||
m_Name: Target 0
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &269196149
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 269196148}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 10.5, y: 1, z: 12.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &269196151
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 269196148}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &269196152
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 269196148}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &269196153
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 269196148}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &269196154
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 269196148}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 2
|
||||
Movement: 0
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 3479490926574203404, guid: 4f055a23850cd4a2e9b87a6e7e5e731b, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742821}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 8239809292469255682, guid: 28d80e37b80c2462aaaaf3a0ebe3061a, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!114 &947742821
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ea7d7495833204790ba1d3a8755397f8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1558299003
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1558299004}
|
||||
- component: {fileID: 1558299007}
|
||||
- component: {fileID: 1558299006}
|
||||
- component: {fileID: 1558299009}
|
||||
- component: {fileID: 1558299008}
|
||||
m_Layer: 0
|
||||
m_Name: Target 4
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1558299004
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1558299003}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 51.5, y: 1, z: 2.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1558299006
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1558299003}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1558299007
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1558299003}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &1558299008
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1558299003}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &1558299009
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1558299003}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 2
|
||||
Movement: 0
|
||||
--- !u!1 &2010147232
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2010147233}
|
||||
- component: {fileID: 2010147236}
|
||||
- component: {fileID: 2010147235}
|
||||
- component: {fileID: 2010147238}
|
||||
- component: {fileID: 2010147237}
|
||||
m_Layer: 0
|
||||
m_Name: Target 2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2010147233
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2010147232}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 30.5, y: 1, z: -8.1}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &2010147235
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2010147232}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &2010147236
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2010147232}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &2010147237
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2010147232}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &2010147238
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2010147232}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 2
|
||||
Movement: 0
|
||||
--- !u!1 &2024250523
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2024250524}
|
||||
- component: {fileID: 2024250527}
|
||||
- component: {fileID: 2024250526}
|
||||
- component: {fileID: 2024250529}
|
||||
- component: {fileID: 2024250528}
|
||||
m_Layer: 0
|
||||
m_Name: Target 1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2024250524
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2024250523}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -48.5, y: 1, z: 6.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &2024250526
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2024250523}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6c67e8a34c4b6484e8d87a3ad3f2eacb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &2024250527
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2024250523}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!114 &2024250528
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2024250523}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f873b9ccdb784aff82c30a0300263dd0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &2024250529
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2024250523}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ede02fc5d83e4273ad9b2b008f644a5a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Speed: 2
|
||||
Movement: 0
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cd4119f30f4a68d4285b68d77a2cd70f
|
||||
guid: 3652976d21a7944d7976cd2fbb494397
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
|
@ -0,0 +1,219 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &698350645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 698350648}
|
||||
- component: {fileID: 698350646}
|
||||
m_Layer: 0
|
||||
m_Name: Team1Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &698350646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 4839979164330552634, guid: 7b80be4c2579d4312950c22919c1d102, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &698350648
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 698350645}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &947742819
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 947742822}
|
||||
- component: {fileID: 947742820}
|
||||
m_Layer: 0
|
||||
m_Name: Team0Generator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &947742820
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 495672948ade40e68dd0ee92888daafa, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Prefab: {fileID: 5504584424357794562, guid: 185fc72fe6b8347aa833fe241a0dd4de, type: 3}
|
||||
CoolDownSeconds: 0.5
|
||||
GenerateMaxCount: 5000
|
||||
--- !u!4 &947742822
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 947742819}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e5712a8d848da43a2b491fc81d55163e
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -43,7 +43,7 @@ RenderSettings:
|
|||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
|
@ -98,13 +98,14 @@ LightmapSettings:
|
|||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 1
|
||||
m_LightingSettings: {fileID: 4890085278179872738, guid: 0d4d6c6afbb3c41c380647db5a07a1dc,
|
||||
type: 2}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
|
@ -117,7 +118,9 @@ NavMeshSettings:
|
|||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
|
@ -169,6 +172,7 @@ Transform:
|
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1.4750153, y: 1.7389027, z: 3.6991482}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
|
|
@ -6,11 +6,11 @@ LightingSettings:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: 2d2. Events - ContactsSettings
|
||||
serializedVersion: 4
|
||||
m_Name: GridSettings
|
||||
serializedVersion: 6
|
||||
m_GIWorkflowMode: 1
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
|
@ -47,7 +47,7 @@ LightingSettings:
|
|||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVREnvironmentImportanceSampling: 1
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
|
@ -62,3 +62,4 @@ LightingSettings:
|
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_PVRTiledBaking: 0
|
||||
m_NumRaysToShootPerTexel: -1
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ea1780aa7badb49749c29d390405adde
|
||||
guid: 0d4d6c6afbb3c41c380647db5a07a1dc
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
|
@ -68,6 +68,14 @@ public struct CartesianGridCoordinates : IComponentData, IEquatable<CartesianGri
|
|||
(x <= (colCount - 1)) &&
|
||||
(y >= 0) &&
|
||||
(y <= (rowCount - 1)));
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
return (x.GetHashCode() * 397) ^ y.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -194,8 +194,12 @@ public static unsafe class CartesianGridGeneratorUtility
|
|||
{
|
||||
var panelEntity = dstManager.Instantiate(prefab);
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
dstManager.RemoveComponent<LocalToWorldTransform>(panelEntity);
|
||||
#else
|
||||
dstManager.RemoveComponent<Translation>(panelEntity);
|
||||
dstManager.RemoveComponent<Rotation>(panelEntity);
|
||||
#endif
|
||||
dstManager.SetComponentData(panelEntity, localToWorld);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,19 +3,24 @@ using Unity.Jobs;
|
|||
using Unity.Mathematics;
|
||||
using Unity.Transforms;
|
||||
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
[UpdateBefore(typeof(TransformSystemGroup))]
|
||||
public partial class CartesianGridMoveForwardSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
// Clamp delta time so you can't overshoot.
|
||||
var deltaTime = math.min(Time.DeltaTime, 0.05f);
|
||||
var deltaTime = math.min(SystemAPI.Time.DeltaTime, 0.05f);
|
||||
|
||||
// Move forward along direction in grid-space given speed.
|
||||
// - This is the same for Plane or Cube and is the core of the movement code. Simply "move forward" along direction.
|
||||
Entities
|
||||
.WithName("CartesianGridMoveForward")
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
.ForEach((ref LocalToWorldTransform transform,
|
||||
#else
|
||||
.ForEach((ref Translation translation,
|
||||
#endif
|
||||
in CartesianGridDirection gridDirection,
|
||||
in CartesianGridSpeed gridSpeed,
|
||||
in CartesianGridCoordinates gridPosition) =>
|
||||
|
@ -24,7 +29,11 @@ public partial class CartesianGridMoveForwardSystem : SystemBase
|
|||
if (dir == 0xff)
|
||||
return;
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var pos = transform.Value.Position;
|
||||
#else
|
||||
var pos = translation.Value;
|
||||
#endif
|
||||
|
||||
// Speed adjusted to float m/s from fixed point 6:10 m/s
|
||||
var speed = deltaTime * ((float)gridSpeed.Value) * (1.0f / 1024.0f);
|
||||
|
@ -36,7 +45,11 @@ public partial class CartesianGridMoveForwardSystem : SystemBase
|
|||
// Smooth y changes when transforming between cube faces.
|
||||
var dy = math.min(speed, 1.0f - pos.y);
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position = new float3(pos.x + dx, pos.y + dy, pos.z + dz);
|
||||
#else
|
||||
translation.Value = new float3(pos.x + dx, pos.y + dy, pos.z + dz);
|
||||
#endif
|
||||
}).Schedule();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ using Unity.Rendering;
|
|||
using UnityEngine;
|
||||
|
||||
[AddComponentMenu("DOTS Samples/GridPath/Cartesian Grid Movement")]
|
||||
[ConverterVersion("macton", 4)]
|
||||
public class CartesianGridMovementAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class CartesianGridMovementAuthoring : MonoBehaviour
|
||||
{
|
||||
public enum MovementOptions
|
||||
{
|
||||
|
@ -16,23 +15,26 @@ public class CartesianGridMovementAuthoring : MonoBehaviour, IConvertGameObjectT
|
|||
public float Speed;
|
||||
public MovementOptions Movement;
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<CartesianGridMovementAuthoring>
|
||||
{
|
||||
dstManager.AddComponentData(entity, new CartesianGridDirection
|
||||
public override void Bake(CartesianGridMovementAuthoring authoring)
|
||||
{
|
||||
Value = 0, // default N
|
||||
});
|
||||
dstManager.AddComponentData(entity, new CartesianGridSpeed
|
||||
{
|
||||
Value = (ushort)(Speed * 1024.0f)
|
||||
});
|
||||
dstManager.AddComponentData(entity, new CartesianGridCoordinates
|
||||
{
|
||||
x = 0,
|
||||
y = 0
|
||||
});
|
||||
AddComponent( new CartesianGridDirection
|
||||
{
|
||||
Value = 0, // default N
|
||||
});
|
||||
AddComponent( new CartesianGridSpeed
|
||||
{
|
||||
Value = (ushort)(authoring.Speed * 1024.0f)
|
||||
});
|
||||
AddComponent( new CartesianGridCoordinates
|
||||
{
|
||||
x = 0,
|
||||
y = 0
|
||||
});
|
||||
|
||||
if (Movement == MovementOptions.FollowTarget)
|
||||
dstManager.AddComponentData(entity, new CartesianGridFollowTarget());
|
||||
if (authoring.Movement == MovementOptions.FollowTarget)
|
||||
AddComponent( new CartesianGridFollowTarget());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
using System.Collections.Generic;
|
||||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once InconsistentNaming
|
||||
[AddComponentMenu("DOTS Samples/GridPath/Cartesian Grid on Cube")]
|
||||
[ConverterVersion("macton", 20)]
|
||||
public class CartesianGridOnCubeAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class CartesianGridOnCubeAuthoring : MonoBehaviour
|
||||
{
|
||||
[Range(2, 512)]
|
||||
public int RowCount;
|
||||
|
@ -17,37 +14,29 @@ public class CartesianGridOnCubeAuthoring : MonoBehaviour, IConvertGameObjectToE
|
|||
public float WallSProbability = 0.5f;
|
||||
public float WallWProbability = 0.5f;
|
||||
|
||||
// Referenced prefabs have to be declared so that the conversion system knows about them ahead of time
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
class Baker : Baker<CartesianGridOnCubeAuthoring>
|
||||
{
|
||||
referencedPrefabs.Add(WallPrefab);
|
||||
referencedPrefabs.AddRange(FloorPrefab);
|
||||
}
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
{
|
||||
var floorPrefabCount = FloorPrefab.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
var blobBuilder = new BlobBuilder(Allocator.Temp);
|
||||
ref var blob = ref blobBuilder.ConstructRoot<CartesianGridOnCubeGeneratorBlob>();
|
||||
blob.RowCount = RowCount;
|
||||
blob.WallSProbability = WallSProbability;
|
||||
blob.WallWProbability = WallWProbability;
|
||||
blob.WallPrefab = conversionSystem.GetPrimaryEntity(WallPrefab);
|
||||
var floorPrefab = blobBuilder.Allocate(ref blob.FloorPrefab, FloorPrefab.Length);
|
||||
|
||||
for (int i = 0; i < FloorPrefab.Length; i++)
|
||||
public override void Bake(CartesianGridOnCubeAuthoring authoring)
|
||||
{
|
||||
floorPrefab[i] = conversionSystem.GetPrimaryEntity(FloorPrefab[i]);
|
||||
var floorPrefabCount = authoring.FloorPrefab.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
var floorPrefabs = AddBuffer<CartesianGridOnCubeGeneratorFloorPrefab>();
|
||||
floorPrefabs.Length = authoring.FloorPrefab.Length;
|
||||
|
||||
for (int i = 0; i < authoring.FloorPrefab.Length; i++)
|
||||
{
|
||||
floorPrefabs[i] = GetEntity(authoring.FloorPrefab[i]);
|
||||
}
|
||||
|
||||
AddComponent(new CartesianGridOnCubeGenerator
|
||||
{
|
||||
RowCount = authoring.RowCount,
|
||||
WallSProbability = authoring.WallSProbability,
|
||||
WallWProbability = authoring.WallWProbability,
|
||||
WallPrefab = GetEntity(authoring.WallPrefab),
|
||||
});
|
||||
}
|
||||
|
||||
dstManager.AddComponentData(entity, new CartesianGridOnCubeGenerator
|
||||
{
|
||||
Blob = blobBuilder.CreateBlobAssetReference<CartesianGridOnCubeGeneratorBlob>(Allocator.Persistent)
|
||||
});
|
||||
|
||||
blobBuilder.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,18 +38,30 @@ public unsafe partial class CartesianGridOnCubeBounceOffWallsSystem : SystemBase
|
|||
.WithNativeDisableUnsafePtrRestriction(trailingOffsets)
|
||||
.WithEntityQueryOptions(EntityQueryOptions.FilterWriteGroup)
|
||||
.ForEach((ref CartesianGridDirection gridDirection,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ref LocalToWorldTransform transform,
|
||||
#else
|
||||
ref Translation translation,
|
||||
#endif
|
||||
ref CartesianGridCoordinates gridCoordinates,
|
||||
ref CartesianGridOnCubeFace cubeFace) =>
|
||||
{
|
||||
var prevDir = gridDirection.Value;
|
||||
var trailingOffset = trailingOffsets[prevDir];
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var pos = transform.Value.Position.xz + trailingOffset;
|
||||
#else
|
||||
var pos = translation.Value.xz + trailingOffset;
|
||||
#endif
|
||||
var nextGridPosition = new CartesianGridCoordinates(pos, rowCount, rowCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position = CartesianGridMovement.SnapToGridAlongDirection(transform.Value.Position, prevDir, gridCoordinates, cellCenterOffset);
|
||||
#else
|
||||
translation.Value = CartesianGridMovement.SnapToGridAlongDirection(translation.Value, prevDir, gridCoordinates, cellCenterOffset);
|
||||
#endif
|
||||
return; // Still in the same grid cell. No need to change direction.
|
||||
}
|
||||
|
||||
|
@ -85,10 +97,17 @@ public unsafe partial class CartesianGridOnCubeBounceOffWallsSystem : SystemBase
|
|||
// - Note that Y position won't be at target value from one edge to another, so that is interpolated in movement update,
|
||||
// purely for "smoothing" purposes.
|
||||
var localToLocal = faceLocalToLocal[((prevFaceIndex * 6) + nextFaceIndex)];
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position.xyz = math.mul(localToLocal, new float4(transform.Value.Position, 1.0f)).xyz;
|
||||
|
||||
// Update gridPosition relative to new face.
|
||||
gridCoordinates = new CartesianGridCoordinates(transform.Value.Position.xz + trailingOffsets[nextDir], rowCount, rowCount);
|
||||
#else
|
||||
translation.Value.xyz = math.mul(localToLocal, new float4(translation.Value, 1.0f)).xyz;
|
||||
|
||||
// Update gridPosition relative to new face.
|
||||
gridCoordinates = new CartesianGridCoordinates(translation.Value.xz + trailingOffsets[nextDir], rowCount, rowCount);
|
||||
#endif
|
||||
}
|
||||
}).Schedule();
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
RequireForUpdate(m_GridQuery);
|
||||
}
|
||||
|
||||
static Entity FindTargetShortestPathLength(CartesianGridCoordinates gridCoordinates, CartesianGridOnCubeFace cubeFace, int rowCount, NativeArray<CartesianGridCoordinates> targetCoordinates, NativeArray<Entity> targetEntities, BufferFromEntity<CartesianGridTargetDistance> getCartesianGridTargetDistanceFromEntity)
|
||||
static Entity FindTargetShortestPathLength(CartesianGridCoordinates gridCoordinates, CartesianGridOnCubeFace cubeFace, int rowCount, NativeArray<CartesianGridCoordinates> targetCoordinates, NativeArray<Entity> targetEntities, BufferLookup<CartesianGridTargetDistance> getCartesianGridTargetDistanceLookup)
|
||||
{
|
||||
var targetEntity = Entity.Null;
|
||||
if (!gridCoordinates.OnGrid(rowCount, rowCount))
|
||||
|
@ -31,7 +31,7 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
if (!targetCoordinates[i].OnGrid(rowCount, rowCount))
|
||||
continue;
|
||||
|
||||
var targetDistances = getCartesianGridTargetDistanceFromEntity[targetEntities[i]].Reinterpret<int>().AsNativeArray();
|
||||
var targetDistances = getCartesianGridTargetDistanceLookup[targetEntities[i]].Reinterpret<int>().AsNativeArray();
|
||||
var targetDistance = CartesianGridOnCubeShortestPath.LookupDistanceToTarget(gridCoordinates, cubeFace, rowCount, targetDistances);
|
||||
if (targetDistance < targetBestDistance)
|
||||
{
|
||||
|
@ -54,10 +54,10 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
var trailingOffsets = (float2*)cartesianGridCube.Blob.Value.TrailingOffsets.GetUnsafePtr();
|
||||
var faceLocalToLocal = (float4x4*)cartesianGridCube.Blob.Value.FaceLocalToLocal.GetUnsafePtr();
|
||||
|
||||
var targetEntities = m_TargetQuery.ToEntityArray(Allocator.TempJob);
|
||||
var targetCoordinates = m_TargetQuery.ToComponentDataArray<CartesianGridCoordinates>(Allocator.TempJob);
|
||||
var getCartesianGridTargetDirectionFromEntity = GetBufferFromEntity<CartesianGridTargetDirection>(true);
|
||||
var getCartesianGridTargetDistanceFromEntity = GetBufferFromEntity<CartesianGridTargetDistance>(true);
|
||||
var targetEntities = m_TargetQuery.ToEntityArray(World.UpdateAllocator.ToAllocator);
|
||||
var targetCoordinates = m_TargetQuery.ToComponentDataArray<CartesianGridCoordinates>(World.UpdateAllocator.ToAllocator);
|
||||
var getCartesianGridTargetDirectionFromEntity = GetBufferLookup<CartesianGridTargetDirection>(true);
|
||||
var getCartesianGridTargetDistanceFromEntity = GetBufferLookup<CartesianGridTargetDistance>(true);
|
||||
|
||||
// Offset center to grid cell
|
||||
var cellCenterOffset = new float2(((float)rowCount * 0.5f) - 0.5f, ((float)rowCount * 0.5f) - 0.5f);
|
||||
|
@ -76,12 +76,25 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
.WithAll<CartesianGridFollowTarget>()
|
||||
.ForEach((ref CartesianGridDirection gridDirection,
|
||||
ref CartesianGridCoordinates gridCoordinates,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ref LocalToWorldTransform transform,
|
||||
#else
|
||||
ref Translation translation,
|
||||
#endif
|
||||
ref CartesianGridOnCubeFace cubeFace) =>
|
||||
{
|
||||
var dir = gridDirection.Value;
|
||||
if (dir != 0xff) // If moving, update grid based on trailing direction.
|
||||
{
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var nextGridPosition = new CartesianGridCoordinates(transform.Value.Position.xz + trailingOffsets[dir], rowCount, rowCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
transform.Value.Position = CartesianGridMovement.SnapToGridAlongDirection(transform.Value.Position, dir, gridCoordinates, cellCenterOffset);
|
||||
return; // Still in the same grid cell. No need to change direction.
|
||||
}
|
||||
#else
|
||||
var nextGridPosition = new CartesianGridCoordinates(translation.Value.xz + trailingOffsets[dir], rowCount, rowCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
|
@ -89,6 +102,7 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
translation.Value = CartesianGridMovement.SnapToGridAlongDirection(translation.Value, dir, gridCoordinates, cellCenterOffset);
|
||||
return; // Still in the same grid cell. No need to change direction.
|
||||
}
|
||||
#endif
|
||||
|
||||
var edge = CartesianGridMovement.CubeExitEdge(nextGridPosition, rowCount);
|
||||
|
||||
|
@ -116,10 +130,17 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
// - Note that Y position won't be at target value from one edge to another, so that is interpolated in movement update,
|
||||
// purely for "smoothing" purposes.
|
||||
var localToLocal = faceLocalToLocal[((prevFaceIndex * 6) + nextFaceIndex)];
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position.xyz = math.mul(localToLocal, new float4(transform.Value.Position, 1.0f)).xyz;
|
||||
|
||||
// Update gridPosition relative to new face.
|
||||
gridCoordinates = new CartesianGridCoordinates(transform.Value.Position.xz + trailingOffsets[nextDir], rowCount, rowCount);
|
||||
#else
|
||||
translation.Value.xyz = math.mul(localToLocal, new float4(translation.Value, 1.0f)).xyz;
|
||||
|
||||
// Update gridPosition relative to new face.
|
||||
gridCoordinates = new CartesianGridCoordinates(translation.Value.xz + trailingOffsets[nextDir], rowCount, rowCount);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -144,8 +165,5 @@ public unsafe partial class CartesianGridOnPCubeFollowTargetSystem : SystemBase
|
|||
var validDirections = CartesianGridOnCubeShortestPath.LookupDirectionToTarget(gridCoordinates, cubeFace, rowCount, targetDirections);
|
||||
gridDirection.Value = CartesianGridMovement.PathVariation[(pathOffset * 16) + validDirections];
|
||||
}).Schedule();
|
||||
|
||||
Dependency = targetEntities.Dispose(Dependency);
|
||||
Dependency = targetCoordinates.Dispose(Dependency);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
using Unity.Entities;
|
||||
|
||||
public struct CartesianGridOnCubeGenerator : IComponentData
|
||||
{
|
||||
public BlobAssetReference<CartesianGridOnCubeGeneratorBlob> Blob;
|
||||
}
|
||||
|
||||
public struct CartesianGridOnCubeGeneratorBlob
|
||||
{
|
||||
public int RowCount;
|
||||
public Entity WallPrefab;
|
||||
public BlobArray<Entity> FloorPrefab;
|
||||
public float WallSProbability;
|
||||
public float WallWProbability;
|
||||
}
|
||||
|
||||
public struct CartesianGridOnCubeGeneratorFloorPrefab : IBufferElementData
|
||||
{
|
||||
public Entity Value;
|
||||
|
||||
public static implicit operator CartesianGridOnCubeGeneratorFloorPrefab(Entity entity) => new() { Value = entity };
|
||||
public static implicit operator Entity(CartesianGridOnCubeGeneratorFloorPrefab element) => element.Value;
|
||||
}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using Unity.Jobs;
|
||||
using Unity.Mathematics;
|
||||
|
||||
[ConverterVersion("macton", 5)]
|
||||
[WorldSystemFilter(WorldSystemFilterFlags.Default | WorldSystemFilterFlags.EntitySceneOptimizations)]
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public unsafe partial class CartesianGridOnCubeSystemGeneratorSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
Dependency.Complete();
|
||||
Entities.WithStructuralChanges().ForEach((Entity entity, ref CartesianGridOnCubeGenerator cartesianGridOnCubeGenerator) =>
|
||||
Entities.WithStructuralChanges().ForEach((Entity entity, ref CartesianGridOnCubeGenerator cartesianGridOnCubeGenerator, in DynamicBuffer<CartesianGridOnCubeGeneratorFloorPrefab> floorPrefabsBuffer) =>
|
||||
{
|
||||
ref var floorPrefab = ref cartesianGridOnCubeGenerator.Blob.Value.FloorPrefab;
|
||||
var wallPrefab = cartesianGridOnCubeGenerator.Blob.Value.WallPrefab;
|
||||
var rowCount = cartesianGridOnCubeGenerator.Blob.Value.RowCount;
|
||||
var wallSProbability = cartesianGridOnCubeGenerator.Blob.Value.WallSProbability;
|
||||
var wallWProbability = cartesianGridOnCubeGenerator.Blob.Value.WallWProbability;
|
||||
var floorPrefabs = new NativeArray<Entity>(floorPrefabsBuffer.Length, Allocator.Temp);
|
||||
floorPrefabs.CopyFrom(floorPrefabsBuffer.Reinterpret<Entity>().AsNativeArray());
|
||||
|
||||
var floorPrefabCount = floorPrefab.Length;
|
||||
var wallPrefab = cartesianGridOnCubeGenerator.WallPrefab;
|
||||
var rowCount = cartesianGridOnCubeGenerator.RowCount;
|
||||
var wallSProbability = cartesianGridOnCubeGenerator.WallSProbability;
|
||||
var wallWProbability = cartesianGridOnCubeGenerator.WallWProbability;
|
||||
|
||||
var floorPrefabCount = floorPrefabs.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
|
@ -58,7 +58,7 @@ public unsafe partial class CartesianGridOnCubeSystemGeneratorSystem : SystemBas
|
|||
var tx = ((float)x) - cx;
|
||||
var tz = ((float)y) - cz;
|
||||
|
||||
CartesianGridGeneratorUtility.CreateFloorPanel(EntityManager, floorPrefab[prefabIndex], faceLocalToWorld[faceIndex], tx, tz);
|
||||
CartesianGridGeneratorUtility.CreateFloorPanel(EntityManager, floorPrefabs[prefabIndex], faceLocalToWorld[faceIndex], tx, tz);
|
||||
|
||||
var gridWallsIndex = faceGridWallsOffset + ((y * ((rowCount + 1) / 2)) + (x / 2));
|
||||
var walls = (gridWalls[gridWallsIndex] >> ((x & 1) * 4)) & 0x0f;
|
||||
|
|
|
@ -37,7 +37,11 @@ public unsafe partial class CartesianGridOnCubeSnapToFaceSystem : SystemBase
|
|||
.WithNone<CartesianGridOnCubeFace>()
|
||||
.WithAll<CartesianGridDirection>()
|
||||
.ForEach((Entity entity,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ref LocalToWorldTransform transform,
|
||||
#else
|
||||
ref Translation translation,
|
||||
#endif
|
||||
ref CartesianGridCoordinates gridCoordinates) =>
|
||||
{
|
||||
// Find closest GridFace
|
||||
|
@ -48,7 +52,11 @@ public unsafe partial class CartesianGridOnCubeSnapToFaceSystem : SystemBase
|
|||
var n = faceLocalToWorld[i].c1.xyz;
|
||||
var p = faceLocalToWorld[i].c3.xyz;
|
||||
var d = -math.dot(n, p);
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var dist = math.dot(transform.Value.Position.xyz, n) + d;
|
||||
#else
|
||||
var dist = math.dot(translation.Value.xyz, n) + d;
|
||||
#endif
|
||||
if (math.abs(dist) < bestDist)
|
||||
{
|
||||
bestDist = dist;
|
||||
|
@ -57,7 +65,11 @@ public unsafe partial class CartesianGridOnCubeSnapToFaceSystem : SystemBase
|
|||
}
|
||||
|
||||
// Put translation in GridFace space
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position = math.mul(faceWorldToLocal[bestCubeFace], new float4(transform.Value.Position.xyz, 1.0f)).xyz;
|
||||
#else
|
||||
translation.Value = math.mul(faceWorldToLocal[bestCubeFace], new float4(translation.Value.xyz, 1.0f)).xyz;
|
||||
#endif
|
||||
EntityManager.AddComponentData(entity, new CartesianGridOnCubeFace { Value = (byte)bestCubeFace });
|
||||
}).Run();
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ public partial class CartesianGridOnCubeSoloSpawnerSystem : SystemBase
|
|||
protected override void OnCreate()
|
||||
{
|
||||
// Cache the BeginInitializationEntityCommandBufferSystem in a field, so we don't have to create it every frame
|
||||
m_EntityCommandBufferSystem = World.GetOrCreateSystem<BeginInitializationEntityCommandBufferSystem>();
|
||||
m_EntityCommandBufferSystem = World.GetOrCreateSystemManaged<BeginInitializationEntityCommandBufferSystem>();
|
||||
m_GridQuery = GetEntityQuery(ComponentType.ReadOnly<CartesianGridOnCube>());
|
||||
RequireForUpdate(m_GridQuery);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public partial class CartesianGridOnCubeSoloSpawnerSystem : SystemBase
|
|||
protected override void OnUpdate()
|
||||
{
|
||||
// Clamp delta time so you can't overshoot.
|
||||
var deltaTime = math.min(Time.DeltaTime, 0.05f);
|
||||
var deltaTime = math.min(SystemAPI.Time.DeltaTime, 0.05f);
|
||||
|
||||
var commandBuffer = m_EntityCommandBufferSystem.CreateCommandBuffer();
|
||||
var cartesianGridCube = GetSingleton<CartesianGridOnCube>();
|
||||
|
@ -48,7 +48,11 @@ public partial class CartesianGridOnCubeSoloSpawnerSystem : SystemBase
|
|||
var y = 1.0f;
|
||||
var faceIndex = soloSpawner.Random.NextInt(0, 6);
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
commandBuffer.SetComponent(entity, new LocalToWorldTransform { Value = UniformScaleTransform.FromPosition(new float3(x, y, z)) });
|
||||
#else
|
||||
commandBuffer.SetComponent(entity, new Translation { Value = new float3(x, y, z) });
|
||||
#endif
|
||||
commandBuffer.AddComponent(entity, new CartesianGridOnCubeFace { Value = (byte)faceIndex });
|
||||
soloSpawner.GeneratedCount++;
|
||||
}
|
||||
|
|
|
@ -29,13 +29,20 @@ public unsafe partial class CartesianGridOnCubeTransformSystem : SystemBase
|
|||
.WithName("CartesianGridOnCubeTransform")
|
||||
.WithNativeDisableUnsafePtrRestriction(faceLocalToWorld)
|
||||
.ForEach((ref LocalToWorld localToWorld,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
in LocalToWorldTransform transform,
|
||||
#else
|
||||
in Translation translation,
|
||||
#endif
|
||||
in CartesianGridOnCubeFace cubeFace) =>
|
||||
{
|
||||
var cubeFaceIndex = cubeFace.Value;
|
||||
var resultLocalToWorld = faceLocalToWorld[cubeFaceIndex];
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
resultLocalToWorld.c3 = math.mul(resultLocalToWorld, new float4(transform.Value.Position, 1.0f));
|
||||
#else
|
||||
resultLocalToWorld.c3 = math.mul(resultLocalToWorld, new float4(translation.Value, 1.0f));
|
||||
|
||||
#endif
|
||||
localToWorld = new LocalToWorld
|
||||
{
|
||||
Value = resultLocalToWorld
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
using System.Collections.Generic;
|
||||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once InconsistentNaming
|
||||
[AddComponentMenu("DOTS Samples/GridPath/Cartesian Grid on Plane")]
|
||||
[ConverterVersion("macton", 10)]
|
||||
public class CartesianGridOnPlaneAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class CartesianGridOnPlaneAuthoring : MonoBehaviour
|
||||
{
|
||||
[Range(2, 512)] public int ColumnCount;
|
||||
[Range(2, 512)] public int RowCount;
|
||||
|
@ -17,38 +14,30 @@ public class CartesianGridOnPlaneAuthoring : MonoBehaviour, IConvertGameObjectTo
|
|||
public float WallSProbability = 0.5f;
|
||||
public float WallWProbability = 0.5f;
|
||||
|
||||
// Referenced prefabs have to be declared so that the conversion system knows about them ahead of time
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
class Baker : Baker<CartesianGridOnPlaneAuthoring>
|
||||
{
|
||||
referencedPrefabs.Add(WallPrefab);
|
||||
referencedPrefabs.AddRange(FloorPrefab);
|
||||
}
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
{
|
||||
var floorPrefabCount = FloorPrefab.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
var blobBuilder = new BlobBuilder(Allocator.Temp);
|
||||
ref var blob = ref blobBuilder.ConstructRoot<CartesianGridOnPlaneGeneratorBlob>();
|
||||
blob.RowCount = RowCount;
|
||||
blob.ColCount = ColumnCount;
|
||||
blob.WallSProbability = WallSProbability;
|
||||
blob.WallWProbability = WallWProbability;
|
||||
blob.WallPrefab = conversionSystem.GetPrimaryEntity(WallPrefab);
|
||||
var floorPrefab = blobBuilder.Allocate(ref blob.FloorPrefab, FloorPrefab.Length);
|
||||
|
||||
for (int i = 0; i < FloorPrefab.Length; i++)
|
||||
public override void Bake(CartesianGridOnPlaneAuthoring authoring)
|
||||
{
|
||||
floorPrefab[i] = conversionSystem.GetPrimaryEntity(FloorPrefab[i]);
|
||||
var floorPrefabCount = authoring.FloorPrefab.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
var floorPrefabs = AddBuffer<CartesianGridOnPlaneGeneratorFloorPrefab>();
|
||||
floorPrefabs.Length = authoring.FloorPrefab.Length;
|
||||
|
||||
for (int i = 0; i < authoring.FloorPrefab.Length; i++)
|
||||
{
|
||||
floorPrefabs[i] = GetEntity(authoring.FloorPrefab[i]);
|
||||
}
|
||||
|
||||
AddComponent( new CartesianGridOnPlaneGenerator
|
||||
{
|
||||
RowCount = authoring.RowCount,
|
||||
ColCount = authoring.ColumnCount,
|
||||
WallSProbability = authoring.WallSProbability,
|
||||
WallWProbability = authoring.WallWProbability,
|
||||
WallPrefab = GetEntity(authoring.WallPrefab),
|
||||
});
|
||||
}
|
||||
|
||||
dstManager.AddComponentData(entity, new CartesianGridOnPlaneGenerator
|
||||
{
|
||||
Blob = blobBuilder.CreateBlobAssetReference<CartesianGridOnPlaneGeneratorBlob>(Allocator.Persistent)
|
||||
});
|
||||
|
||||
blobBuilder.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,14 +37,26 @@ public unsafe partial class CartesianGridOnPlaneBounceOffWallsSystem : SystemBas
|
|||
.WithEntityQueryOptions(EntityQueryOptions.FilterWriteGroup)
|
||||
.ForEach((ref CartesianGridDirection gridDirection,
|
||||
ref CartesianGridCoordinates gridCoordinates,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ref LocalToWorldTransform transform) =>
|
||||
#else
|
||||
ref Translation translation) =>
|
||||
#endif
|
||||
{
|
||||
var dir = gridDirection.Value;
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var nextGridPosition = new CartesianGridCoordinates(transform.Value.Position.xz + trailingOffsets[dir], rowCount, colCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
transform.Value.Position = CartesianGridMovement.SnapToGridAlongDirection(transform.Value.Position, dir, gridCoordinates, cellCenterOffset);
|
||||
#else
|
||||
var nextGridPosition = new CartesianGridCoordinates(translation.Value.xz + trailingOffsets[dir], rowCount, colCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
translation.Value = CartesianGridMovement.SnapToGridAlongDirection(translation.Value, dir, gridCoordinates, cellCenterOffset);
|
||||
#endif
|
||||
return; // Still in the same grid cell. No need to change direction.
|
||||
}
|
||||
|
||||
|
|
|
@ -45,9 +45,9 @@ public unsafe partial class CartesianGridOnPlaneFollowTargetSystem : SystemBase
|
|||
var colCount = cartesianGridPlane.Blob.Value.ColCount;
|
||||
var trailingOffsets = (float2*)cartesianGridPlane.Blob.Value.TrailingOffsets.GetUnsafePtr();
|
||||
|
||||
var targetEntities = m_TargetQuery.ToEntityArray(Allocator.TempJob);
|
||||
var targetCoordinates = m_TargetQuery.ToComponentDataArray<CartesianGridCoordinates>(Allocator.TempJob);
|
||||
var getCartesianGridTargetDirectionFromEntity = GetBufferFromEntity<CartesianGridTargetDirection>(true);
|
||||
var targetEntities = m_TargetQuery.ToEntityArray(World.UpdateAllocator.ToAllocator);
|
||||
var targetCoordinates = m_TargetQuery.ToComponentDataArray<CartesianGridCoordinates>(World.UpdateAllocator.ToAllocator);
|
||||
var getCartesianGridTargetDirectionFromEntity = GetBufferLookup<CartesianGridTargetDirection>(true);
|
||||
|
||||
// Offset center to grid cell
|
||||
var cellCenterOffset = new float2(((float)colCount * 0.5f) - 0.5f, ((float)rowCount * 0.5f) - 0.5f);
|
||||
|
@ -63,16 +63,28 @@ public unsafe partial class CartesianGridOnPlaneFollowTargetSystem : SystemBase
|
|||
.WithAll<CartesianGridFollowTarget>()
|
||||
.ForEach((ref CartesianGridDirection gridDirection,
|
||||
ref CartesianGridCoordinates gridCoordinates,
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
ref LocalToWorldTransform transform) =>
|
||||
#else
|
||||
ref Translation translation) =>
|
||||
#endif
|
||||
{
|
||||
var dir = gridDirection.Value;
|
||||
if (dir != 0xff) // If moving, update grid based on trailing direction.
|
||||
{
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
var nextGridPosition = new CartesianGridCoordinates(transform.Value.Position.xz + trailingOffsets[dir], rowCount, colCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
transform.Value.Position = CartesianGridMovement.SnapToGridAlongDirection(transform.Value.Position, dir, gridCoordinates, cellCenterOffset);
|
||||
#else
|
||||
var nextGridPosition = new CartesianGridCoordinates(translation.Value.xz + trailingOffsets[dir], rowCount, colCount);
|
||||
if (gridCoordinates.Equals(nextGridPosition))
|
||||
{
|
||||
// Don't allow translation to drift
|
||||
translation.Value = CartesianGridMovement.SnapToGridAlongDirection(translation.Value, dir, gridCoordinates, cellCenterOffset);
|
||||
#endif
|
||||
return; // Still in the same grid cell. No need to change direction.
|
||||
}
|
||||
|
||||
|
@ -93,8 +105,5 @@ public unsafe partial class CartesianGridOnPlaneFollowTargetSystem : SystemBase
|
|||
var validDirections = CartesianGridOnPlaneShortestPath.LookupDirectionToTarget(gridCoordinates, rowCount, colCount, targetDirections);
|
||||
gridDirection.Value = CartesianGridMovement.PathVariation[(pathOffset * 16) + validDirections];
|
||||
}).Schedule();
|
||||
|
||||
Dependency = targetEntities.Dispose(Dependency);
|
||||
Dependency = targetCoordinates.Dispose(Dependency);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
using Unity.Entities;
|
||||
|
||||
public struct CartesianGridOnPlaneGenerator : IComponentData
|
||||
{
|
||||
public BlobAssetReference<CartesianGridOnPlaneGeneratorBlob> Blob;
|
||||
}
|
||||
|
||||
public struct CartesianGridOnPlaneGeneratorBlob
|
||||
{
|
||||
public int RowCount;
|
||||
public int ColCount;
|
||||
public Entity WallPrefab;
|
||||
public BlobArray<Entity> FloorPrefab;
|
||||
public float WallSProbability;
|
||||
public float WallWProbability;
|
||||
}
|
||||
|
||||
public struct CartesianGridOnPlaneGeneratorFloorPrefab : IBufferElementData
|
||||
{
|
||||
public Entity Value;
|
||||
|
||||
public static implicit operator CartesianGridOnPlaneGeneratorFloorPrefab(Entity entity) => new() { Value = entity };
|
||||
public static implicit operator Entity(CartesianGridOnPlaneGeneratorFloorPrefab element) => element.Value;
|
||||
}
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
using Unity.Collections;
|
||||
using Unity.Entities;
|
||||
using Unity.Jobs;
|
||||
using Unity.Mathematics;
|
||||
|
||||
[ConverterVersion("macton", 4)]
|
||||
[WorldSystemFilter(WorldSystemFilterFlags.Default | WorldSystemFilterFlags.EntitySceneOptimizations)]
|
||||
[RequireMatchingQueriesForUpdate]
|
||||
public unsafe partial class CartesianGridOnPlaneSystemGeneratorSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
Dependency.Complete();
|
||||
Entities.WithStructuralChanges().ForEach((Entity entity, ref CartesianGridOnPlaneGenerator cartesianGridOnPlaneGenerator) =>
|
||||
Entities.WithStructuralChanges().ForEach((Entity entity, in CartesianGridOnPlaneGenerator cartesianGridOnPlaneGenerator, in DynamicBuffer<CartesianGridOnPlaneGeneratorFloorPrefab> floorPrefabsBuffer) =>
|
||||
{
|
||||
ref var floorPrefab = ref cartesianGridOnPlaneGenerator.Blob.Value.FloorPrefab;
|
||||
var wallPrefab = cartesianGridOnPlaneGenerator.Blob.Value.WallPrefab;
|
||||
var rowCount = cartesianGridOnPlaneGenerator.Blob.Value.RowCount;
|
||||
var colCount = cartesianGridOnPlaneGenerator.Blob.Value.ColCount;
|
||||
var wallSProbability = cartesianGridOnPlaneGenerator.Blob.Value.WallSProbability;
|
||||
var wallWProbability = cartesianGridOnPlaneGenerator.Blob.Value.WallWProbability;
|
||||
var floorPrefabs = new NativeArray<Entity>(floorPrefabsBuffer.Length, Allocator.Temp);
|
||||
floorPrefabs.CopyFrom(floorPrefabsBuffer.Reinterpret<Entity>().AsNativeArray());
|
||||
|
||||
var floorPrefabCount = floorPrefab.Length;
|
||||
var wallPrefab = cartesianGridOnPlaneGenerator.WallPrefab;
|
||||
var rowCount = cartesianGridOnPlaneGenerator.RowCount;
|
||||
var colCount = cartesianGridOnPlaneGenerator.ColCount;
|
||||
var wallSProbability = cartesianGridOnPlaneGenerator.WallSProbability;
|
||||
var wallWProbability = cartesianGridOnPlaneGenerator.WallWProbability;
|
||||
|
||||
var floorPrefabCount = floorPrefabsBuffer.Length;
|
||||
if (floorPrefabCount == 0)
|
||||
return;
|
||||
|
||||
|
@ -48,7 +48,7 @@ public unsafe partial class CartesianGridOnPlaneSystemGeneratorSystem : SystemBa
|
|||
var tx = ((float)x) - cx;
|
||||
var tz = ((float)y) - cz;
|
||||
|
||||
CartesianGridGeneratorUtility.CreateFloorPanel(EntityManager, floorPrefab[prefabIndex], float4x4.identity, tx, tz);
|
||||
CartesianGridGeneratorUtility.CreateFloorPanel(EntityManager, floorPrefabs[prefabIndex], float4x4.identity, tx, tz);
|
||||
|
||||
var gridWallsIndex = (y * ((colCount + 1) / 2)) + (x / 2);
|
||||
var walls = (gridWalls[gridWallsIndex] >> ((x & 1) * 4)) & 0x0f;
|
||||
|
|
|
@ -14,7 +14,7 @@ public partial class CartesianGridOnPlaneSoloSpawnerSystem : SystemBase
|
|||
protected override void OnCreate()
|
||||
{
|
||||
// Cache the BeginInitializationEntityCommandBufferSystem in a field, so we don't have to create it every frame
|
||||
m_EntityCommandBufferSystem = World.GetOrCreateSystem<BeginInitializationEntityCommandBufferSystem>();
|
||||
m_EntityCommandBufferSystem = World.GetOrCreateSystemManaged<BeginInitializationEntityCommandBufferSystem>();
|
||||
m_GridQuery = GetEntityQuery(ComponentType.ReadOnly<CartesianGridOnPlane>());
|
||||
RequireForUpdate(m_GridQuery);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public partial class CartesianGridOnPlaneSoloSpawnerSystem : SystemBase
|
|||
protected override void OnUpdate()
|
||||
{
|
||||
// Clamp delta time so you can't overshoot.
|
||||
var deltaTime = math.min(Time.DeltaTime, 0.05f);
|
||||
var deltaTime = math.min(SystemAPI.Time.DeltaTime, 0.05f);
|
||||
|
||||
var commandBuffer = m_EntityCommandBufferSystem.CreateCommandBuffer();
|
||||
var cartesianGridPlane = GetSingleton<CartesianGridOnPlane>();
|
||||
|
@ -48,7 +48,11 @@ public partial class CartesianGridOnPlaneSoloSpawnerSystem : SystemBase
|
|||
var z = v - cy + 0.5f;
|
||||
var y = 1.0f;
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
commandBuffer.SetComponent(entity, new LocalToWorldTransform { Value = UniformScaleTransform.FromPosition(new float3(x, y, z)) });
|
||||
#else
|
||||
commandBuffer.SetComponent(entity, new Translation { Value = new float3(x, y, z) });
|
||||
#endif
|
||||
soloSpawner.GeneratedCount++;
|
||||
}
|
||||
secondsUntilGenerate = soloSpawner.CoolDownSeconds;
|
||||
|
|
|
@ -2,12 +2,14 @@ using Unity.Entities;
|
|||
using UnityEngine;
|
||||
|
||||
[AddComponentMenu("DOTS Samples/GridPath/Cartesian Grid Target")]
|
||||
[ConverterVersion("macton", 1)]
|
||||
public class CartesianGridTargetAuthoring : MonoBehaviour, IConvertGameObjectToEntity
|
||||
public class CartesianGridTargetAuthoring : MonoBehaviour
|
||||
{
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<CartesianGridTargetAuthoring>
|
||||
{
|
||||
dstManager.AddComponent<CartesianGridTarget>(entity);
|
||||
dstManager.AddComponentData(entity, new CartesianGridTargetCoordinates { x = -1, y = -1 });
|
||||
public override void Bake(CartesianGridTargetAuthoring authoring)
|
||||
{
|
||||
AddComponent<CartesianGridTarget>();
|
||||
AddComponent(new CartesianGridTargetCoordinates { x = -1, y = -1 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"Unity.Collections",
|
||||
"Unity.Transforms",
|
||||
"Unity.Transforms.Hybrid",
|
||||
"Unity.Rendering.Hybrid",
|
||||
"Unity.Entities.Graphics",
|
||||
"Unity.Burst",
|
||||
"Unity.Jobs",
|
||||
"Unity.Mathematics",
|
||||
|
|
|
@ -4,29 +4,27 @@ using UnityEngine;
|
|||
using Random = Unity.Mathematics.Random;
|
||||
|
||||
[AddComponentMenu("DOTS Samples/GridPath/Solo Spawner")]
|
||||
[ConverterVersion("macton", 2)]
|
||||
public class SoloSpawnerAuthoring : MonoBehaviour, IConvertGameObjectToEntity, IDeclareReferencedPrefabs
|
||||
public class SoloSpawnerAuthoring : MonoBehaviour
|
||||
{
|
||||
public GameObject Prefab;
|
||||
public float CoolDownSeconds;
|
||||
[Range(0, 64 * 1024)]
|
||||
public int GenerateMaxCount;
|
||||
|
||||
public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
|
||||
class Baker : Baker<SoloSpawnerAuthoring>
|
||||
{
|
||||
dstManager.AddComponentData(entity, new SoloSpawner
|
||||
public override void Bake(SoloSpawnerAuthoring authoring)
|
||||
{
|
||||
Prefab = conversionSystem.GetPrimaryEntity(Prefab),
|
||||
CoolDownSeconds = CoolDownSeconds,
|
||||
SecondsUntilGenerate = 0.0f,
|
||||
GenerateMaxCount = GenerateMaxCount,
|
||||
GeneratedCount = 0,
|
||||
Random = new Random(0xDBC19 * (uint)entity.Index)
|
||||
});
|
||||
}
|
||||
|
||||
public void DeclareReferencedPrefabs(List<GameObject> referencedPrefabs)
|
||||
{
|
||||
referencedPrefabs.Add(Prefab);
|
||||
var entity = GetEntity();
|
||||
AddComponent( new SoloSpawner
|
||||
{
|
||||
Prefab = GetEntity(authoring.Prefab),
|
||||
CoolDownSeconds = authoring.CoolDownSeconds,
|
||||
SecondsUntilGenerate = 0.0f,
|
||||
GenerateMaxCount = authoring.GenerateMaxCount,
|
||||
GeneratedCount = 0,
|
||||
Random = new Random(0xDBC19 * (uint)entity.Index)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1aa73905375319645806bd27d11d7903
|
||||
guid: 600068705a4488847bb5e6ccac7ab735
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8564e6615cb346c458d0b12623631e3d
|
||||
guid: 02a9b97194dfa5b4385b7e850ba03930
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
|
@ -0,0 +1,420 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &303461901
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 303461903}
|
||||
- component: {fileID: 303461902}
|
||||
m_Layer: 0
|
||||
m_Name: LivePropertySubscene
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &303461902
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 303461901}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45a335734b1572644a6a5d09d87adc65, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_SceneAsset: {fileID: 102900000, guid: 8fab3434adb3d014199528e0e87fbaf2, type: 3}
|
||||
_HierarchyColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
AutoLoadScene: 1
|
||||
_SceneGUID:
|
||||
Value:
|
||||
x: 1128512248
|
||||
y: 1091386330
|
||||
z: 243423633
|
||||
w: 799799182
|
||||
--- !u!4 &303461903
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 303461901}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &701853970
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 701853973}
|
||||
- component: {fileID: 701853972}
|
||||
- component: {fileID: 701853971}
|
||||
- component: {fileID: 701853974}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &701853971
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 701853970}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &701853972
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 701853970}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &701853973
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 701853970}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &701853974
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 701853970}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
--- !u!1 &1713490341
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1713490344}
|
||||
- component: {fileID: 1713490343}
|
||||
- component: {fileID: 1713490342}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1713490342
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1713490341}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Version: 1
|
||||
m_UsePipelineSettings: 1
|
||||
m_AdditionalLightsShadowResolutionTier: 2
|
||||
m_LightLayerMask: 1
|
||||
m_CustomShadowLayers: 0
|
||||
m_ShadowLayerMask: 1
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!108 &1713490343
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1713490341}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 10
|
||||
m_Type: 1
|
||||
m_Shape: 0
|
||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_UseViewFrustumForShadowCasterCull: 1
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &1713490344
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1713490341}
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ac553ec20b156c84c8bd703b7eae12b2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,597 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 12
|
||||
m_GIWorkflowMode: 1
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &233596020
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 233596024}
|
||||
- component: {fileID: 233596023}
|
||||
- component: {fileID: 233596022}
|
||||
- component: {fileID: 233596021}
|
||||
- component: {fileID: 233596025}
|
||||
m_Layer: 0
|
||||
m_Name: Cube_With_GenerateAuthoringComponent_Duplicate
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &233596021
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 233596020}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &233596022
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 233596020}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &233596023
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 233596020}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &233596024
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 233596020}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &233596025
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 233596020}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6db2e295bab65ae449008f116c3c15b5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &919464637
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 919464642}
|
||||
- component: {fileID: 919464641}
|
||||
- component: {fileID: 919464640}
|
||||
- component: {fileID: 919464639}
|
||||
- component: {fileID: 919464638}
|
||||
m_Layer: 0
|
||||
m_Name: Cube_With_No_RegisterBinding
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &919464638
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 919464637}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 72c7623bfefa460b843b5815eac2f453, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!65 &919464639
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 919464637}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &919464640
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 919464637}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &919464641
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 919464637}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &919464642
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 919464637}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1205759801
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1205759805}
|
||||
- component: {fileID: 1205759804}
|
||||
- component: {fileID: 1205759803}
|
||||
- component: {fileID: 1205759802}
|
||||
- component: {fileID: 1205759806}
|
||||
m_Layer: 0
|
||||
m_Name: Cube_With_GenerateAuthoringComponent
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &1205759802
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1205759801}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1205759803
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1205759801}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1205759804
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1205759801}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &1205759805
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1205759801}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1205759806
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1205759801}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6db2e295bab65ae449008f116c3c15b5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1630548374
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1630548378}
|
||||
- component: {fileID: 1630548377}
|
||||
- component: {fileID: 1630548376}
|
||||
- component: {fileID: 1630548375}
|
||||
- component: {fileID: 1630548379}
|
||||
m_Layer: 0
|
||||
m_Name: Cube_With_RegisterBinding
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!65 &1630548375
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1630548374}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &1630548376
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1630548374}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1630548377
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1630548374}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &1630548378
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1630548374}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1630548379
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1630548374}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d88cf081f0db44a6a8e8fdbae5b2fee3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8fab3434adb3d014199528e0e87fbaf2
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1e53f0786bda4b97901084b99842a2d1
|
||||
timeCreated: 1650916684
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a5270224fcdf4b3db8eb045eb8576642
|
||||
timeCreated: 1650916555
|
|
@ -0,0 +1,83 @@
|
|||
using Unity.Entities;
|
||||
using Unity.Mathematics;
|
||||
using Unity.Transforms;
|
||||
|
||||
public partial class LivePropertyByGenerateAuthoringComponentSystem : SystemBase
|
||||
{
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
Entities.ForEach((ref LivePropertyComponent move, ref LocalToWorldTransform transform) =>
|
||||
#else
|
||||
Entities.ForEach((ref LivePropertyComponent move, ref Translation translation, ref Rotation rotation, ref NonUniformScale scale) =>
|
||||
#endif
|
||||
{
|
||||
// transform
|
||||
float deltaTime = SystemAPI.Time.DeltaTime;
|
||||
|
||||
#if !ENABLE_TRANSFORM_V1
|
||||
transform.Value.Position.x += 0.01f;
|
||||
transform.Value.Position.y += 0.01f;
|
||||
transform.Value.Position.z += 0.01f;
|
||||
|
||||
transform.Value = transform.Value.RotateY(2 * deltaTime);
|
||||
|
||||
transform.Value.Scale += 0.01f;
|
||||
#else
|
||||
translation.Value.x += 0.01f;
|
||||
translation.Value.y += 0.01f;
|
||||
translation.Value.z += 0.01f;
|
||||
|
||||
rotation.Value = math.mul(
|
||||
math.normalize(rotation.Value),
|
||||
quaternion.AxisAngle(math.up(), 2 * deltaTime));
|
||||
|
||||
scale.Value += 0.01f;
|
||||
#endif
|
||||
|
||||
// float, int, bool
|
||||
move.FloatField = 0.0f;
|
||||
move.IntField += 1;
|
||||
move.BoolField = false;
|
||||
|
||||
// float2, int2, bool2
|
||||
move.Float2Field.x += 1.0f;
|
||||
move.Float2Field.y += 1.0f;
|
||||
|
||||
move.Int2Field.x += 1;
|
||||
move.Int2Field.y += 1;
|
||||
|
||||
move.Bool2Field.x = !move.Bool2Field.x;
|
||||
move.Bool2Field.y = !move.Bool2Field.y;
|
||||
|
||||
// float3, int3, bool3
|
||||
move.Float3Field.x += 1.0f;
|
||||
move.Float3Field.y += 1.0f;
|
||||
move.Float3Field.z += 1.0f;
|
||||
|
||||
move.Int3Field.x += 1;
|
||||
move.Int3Field.y += 1;
|
||||
move.Int3Field.z += 1;
|
||||
|
||||
move.Bool3Field.x = !move.Bool3Field.x;
|
||||
move.Bool3Field.y = !move.Bool3Field.y;
|
||||
move.Bool3Field.z = !move.Bool3Field.z;
|
||||
|
||||
// float4, int4, bool4
|
||||
move.Float4Field.x += 1.0f;
|
||||
move.Float4Field.y += 1.0f;
|
||||
move.Float4Field.z += 1.0f;
|
||||
move.Float4Field.w += 1.0f;
|
||||
|
||||
move.Int4Field.x += 1;
|
||||
move.Int4Field.y += 1;
|
||||
move.Int4Field.z += 1;
|
||||
move.Int4Field.w += 1;
|
||||
|
||||
move.Bool4Field.x = !move.Bool4Field.x;
|
||||
move.Bool4Field.y = !move.Bool4Field.y;
|
||||
move.Bool4Field.z = !move.Bool4Field.z;
|
||||
move.Bool4Field.w = !move.Bool4Field.w;
|
||||
}).WithoutBurst().Run();
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 30aae0f3bc58c42329c39a69454ce173
|
||||
guid: afeca53093db71544b41d802cbcf7a60
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче