From 4d19e51745cece518437253254bd5eabcc54d463 Mon Sep 17 00:00:00 2001 From: Anton Pantev Date: Sat, 24 Oct 2015 02:52:06 -0700 Subject: [PATCH] initial commit --- .gitignore | 36 + Assets/Examples.meta | 9 + Assets/Examples/Arrive.unity | 275 ++++++++ Assets/Examples/Arrive.unity.meta | 8 + Assets/Examples/CollisionAvoidance.unity | 457 ++++++++++++ Assets/Examples/CollisionAvoidance.unity.meta | 8 + Assets/Examples/Empty.unity | 233 +++++++ Assets/Examples/Empty.unity.meta | 8 + Assets/Examples/Evade.unity | 376 ++++++++++ Assets/Examples/Evade.unity.meta | 8 + Assets/Examples/Flee.unity | 438 ++++++++++++ Assets/Examples/Flee.unity.meta | 8 + Assets/Examples/Flocking.unity | 601 ++++++++++++++++ Assets/Examples/Flocking.unity.meta | 8 + Assets/Examples/FollowPath.unity | 279 ++++++++ Assets/Examples/FollowPath.unity.meta | 8 + Assets/Examples/Hide.unity | 512 ++++++++++++++ Assets/Examples/Hide.unity.meta | 8 + Assets/Examples/Interpose.unity | 423 +++++++++++ Assets/Examples/Interpose.unity.meta | 8 + Assets/Examples/OffsetPursuit.unity | 657 ++++++++++++++++++ Assets/Examples/OffsetPursuit.unity.meta | 8 + Assets/Examples/Pursue.unity | 368 ++++++++++ Assets/Examples/Pursue.unity.meta | 8 + Assets/Examples/Seek.unity | 367 ++++++++++ Assets/Examples/Seek.unity.meta | 8 + Assets/Examples/WallAvoidance1.unity | 421 +++++++++++ Assets/Examples/WallAvoidance1.unity.meta | 8 + Assets/Examples/WallAvoidance2.unity | 433 ++++++++++++ Assets/Examples/WallAvoidance2.unity.meta | 8 + Assets/Examples/Wander.unity | 359 ++++++++++ Assets/Examples/Wander.unity.meta | 8 + Assets/Models.meta | 9 + Assets/Models/Materials.meta | 9 + Assets/Models/Materials/Green.mat | 138 ++++ Assets/Models/Materials/Green.mat.meta | 8 + Assets/Models/Materials/Lines.mat | 23 + Assets/Models/Materials/Lines.mat.meta | 8 + Assets/Models/Materials/Lines.shader | 14 + Assets/Models/Materials/Lines.shader.meta | 9 + Assets/Models/Materials/Red.mat | 138 ++++ Assets/Models/Materials/Red.mat.meta | 8 + Assets/Models/Materials/unnamed.mat | 138 ++++ Assets/Models/Materials/unnamed.mat.meta | 8 + Assets/Models/unit.blend | Bin 0 -> 450732 bytes Assets/Models/unit.blend.meta | 78 +++ Assets/Prefabs.meta | 9 + Assets/Prefabs/ArriveUnit.prefab | 137 ++++ Assets/Prefabs/ArriveUnit.prefab.meta | 8 + Assets/Prefabs/ColAvoidUnit1.prefab | 233 +++++++ Assets/Prefabs/ColAvoidUnit1.prefab.meta | 8 + Assets/Prefabs/ColAvoidUnit2.prefab | 249 +++++++ Assets/Prefabs/ColAvoidUnit2.prefab.meta | 8 + Assets/Prefabs/EvadeUnit.prefab | 166 +++++ Assets/Prefabs/EvadeUnit.prefab.meta | 8 + Assets/Prefabs/FleeUnit.prefab | 138 ++++ Assets/Prefabs/FleeUnit.prefab.meta | 8 + Assets/Prefabs/FlockingUnit.prefab | 271 ++++++++ Assets/Prefabs/FlockingUnit.prefab.meta | 8 + Assets/Prefabs/FollowPathUnit.prefab | 160 +++++ Assets/Prefabs/FollowPathUnit.prefab.meta | 8 + Assets/Prefabs/HideUnit.prefab | 196 ++++++ Assets/Prefabs/HideUnit.prefab.meta | 8 + Assets/Prefabs/InterposeUnit.prefab | 138 ++++ Assets/Prefabs/InterposeUnit.prefab.meta | 8 + Assets/Prefabs/Obstacle.prefab | 106 +++ Assets/Prefabs/Obstacle.prefab.meta | 8 + Assets/Prefabs/OffsetPursuitUnit.prefab | 253 +++++++ Assets/Prefabs/OffsetPursuitUnit.prefab.meta | 8 + Assets/Prefabs/PursueUnit.prefab | 154 ++++ Assets/Prefabs/PursueUnit.prefab.meta | 8 + Assets/Prefabs/ScreenBoundary.prefab | 77 ++ Assets/Prefabs/ScreenBoundary.prefab.meta | 8 + Assets/Prefabs/SeekUnit.prefab | 137 ++++ Assets/Prefabs/SeekUnit.prefab.meta | 8 + Assets/Prefabs/Spawner.prefab | 62 ++ Assets/Prefabs/Spawner.prefab.meta | 8 + Assets/Prefabs/WallAvoidanceUnit.prefab | 173 +++++ Assets/Prefabs/WallAvoidanceUnit.prefab.meta | 8 + Assets/Prefabs/Wander1Unit.prefab | 156 +++++ Assets/Prefabs/Wander1Unit.prefab.meta | 8 + Assets/Prefabs/Wander2Unit.prefab | 156 +++++ Assets/Prefabs/Wander2Unit.prefab.meta | 8 + Assets/Prefabs/WanderAvoidUnit.prefab | 217 ++++++ Assets/Prefabs/WanderAvoidUnit.prefab.meta | 8 + Assets/Scripts.meta | 9 + Assets/Scripts/ArriveUnit.cs | 24 + Assets/Scripts/ArriveUnit.cs.meta | 12 + Assets/Scripts/Camera.meta | 9 + Assets/Scripts/Camera/CameraMovement.cs | 23 + Assets/Scripts/Camera/CameraMovement.cs.meta | 12 + Assets/Scripts/Camera/InfiniteGrid.cs | 72 ++ Assets/Scripts/Camera/InfiniteGrid.cs.meta | 12 + Assets/Scripts/ColAvoidUnit.cs | 51 ++ Assets/Scripts/ColAvoidUnit.cs.meta | 12 + Assets/Scripts/EvadeUnit.cs | 27 + Assets/Scripts/EvadeUnit.cs.meta | 12 + Assets/Scripts/FleeUnit.cs | 27 + Assets/Scripts/FleeUnit.cs.meta | 12 + Assets/Scripts/FlockingUnit.cs | 47 ++ Assets/Scripts/FlockingUnit.cs.meta | 12 + Assets/Scripts/FollowPathUnit.cs | 42 ++ Assets/Scripts/FollowPathUnit.cs.meta | 12 + Assets/Scripts/HideUnit.cs | 39 ++ Assets/Scripts/HideUnit.cs.meta | 12 + Assets/Scripts/InterposeUnit.cs | 25 + Assets/Scripts/InterposeUnit.cs.meta | 12 + Assets/Scripts/Movement.meta | 9 + Assets/Scripts/Movement/Cohesion.cs | 46 ++ Assets/Scripts/Movement/Cohesion.cs.meta | 12 + Assets/Scripts/Movement/CollisionAvoidance.cs | 105 +++ .../Movement/CollisionAvoidance.cs.meta | 12 + Assets/Scripts/Movement/Evade.cs | 45 ++ Assets/Scripts/Movement/Evade.cs.meta | 12 + Assets/Scripts/Movement/Flee.cs | 66 ++ Assets/Scripts/Movement/Flee.cs.meta | 12 + Assets/Scripts/Movement/FollowPath.cs | 66 ++ Assets/Scripts/Movement/FollowPath.cs.meta | 12 + Assets/Scripts/Movement/Hide.cs | 64 ++ Assets/Scripts/Movement/Hide.cs.meta | 12 + Assets/Scripts/Movement/LinePath.cs | 193 +++++ Assets/Scripts/Movement/LinePath.cs.meta | 12 + Assets/Scripts/Movement/NearSensor.cs | 16 + Assets/Scripts/Movement/NearSensor.cs.meta | 12 + Assets/Scripts/Movement/OffsetPursuit.cs | 54 ++ Assets/Scripts/Movement/OffsetPursuit.cs.meta | 12 + Assets/Scripts/Movement/Pursue.cs | 43 ++ Assets/Scripts/Movement/Pursue.cs.meta | 12 + Assets/Scripts/Movement/Separation.cs | 48 ++ Assets/Scripts/Movement/Separation.cs.meta | 12 + Assets/Scripts/Movement/SteeringBasics.cs | 201 ++++++ .../Scripts/Movement/SteeringBasics.cs.meta | 12 + Assets/Scripts/Movement/VelocityMatch.cs | 64 ++ Assets/Scripts/Movement/VelocityMatch.cs.meta | 12 + Assets/Scripts/Movement/WallAvoidance.cs | 97 +++ Assets/Scripts/Movement/WallAvoidance.cs.meta | 12 + Assets/Scripts/Movement/Wander1.cs | 61 ++ Assets/Scripts/Movement/Wander1.cs.meta | 12 + Assets/Scripts/Movement/Wander2.cs | 49 ++ Assets/Scripts/Movement/Wander2.cs.meta | 12 + Assets/Scripts/OffsetPursuitUnit.cs | 44 ++ Assets/Scripts/OffsetPursuitUnit.cs.meta | 12 + Assets/Scripts/PursueUnit.cs | 24 + Assets/Scripts/PursueUnit.cs.meta | 12 + Assets/Scripts/ScreenBoundary.cs | 45 ++ Assets/Scripts/ScreenBoundary.cs.meta | 12 + Assets/Scripts/SeekUnit.cs | 22 + Assets/Scripts/SeekUnit.cs.meta | 12 + Assets/Scripts/Spawner.cs | 112 +++ Assets/Scripts/Spawner.cs.meta | 12 + Assets/Scripts/WallAvoidanceUnit.cs | 48 ++ Assets/Scripts/WallAvoidanceUnit.cs.meta | 12 + Assets/Scripts/Wander1Unit.cs | 22 + Assets/Scripts/Wander1Unit.cs.meta | 12 + Assets/Scripts/Wander2Unit.cs | 25 + Assets/Scripts/Wander2Unit.cs.meta | 12 + Assets/Scripts/WanderAvoidUnit.cs | 35 + Assets/Scripts/WanderAvoidUnit.cs.meta | 12 + ProjectSettings/AudioManager.asset | 15 + ProjectSettings/DynamicsManager.asset | 15 + ProjectSettings/EditorBuildSettings.asset | 7 + ProjectSettings/EditorSettings.asset | 15 + ProjectSettings/GraphicsSettings.asset | 34 + ProjectSettings/InputManager.asset | 295 ++++++++ ProjectSettings/NavMeshAreas.asset | 71 ++ ProjectSettings/NetworkManager.asset | 8 + ProjectSettings/Physics2DSettings.asset | 25 + ProjectSettings/ProjectSettings.asset | 481 +++++++++++++ ProjectSettings/ProjectVersion.txt | 2 + ProjectSettings/QualitySettings.asset | 172 +++++ ProjectSettings/TagManager.asset | 43 ++ ProjectSettings/TimeManager.asset | 8 + ProjectSettings/UnityAdsSettings.asset | 11 + ProjectSettings/UnityAnalyticsManager.asset | 10 + 174 files changed, 13923 insertions(+) create mode 100644 .gitignore create mode 100644 Assets/Examples.meta create mode 100644 Assets/Examples/Arrive.unity create mode 100644 Assets/Examples/Arrive.unity.meta create mode 100644 Assets/Examples/CollisionAvoidance.unity create mode 100644 Assets/Examples/CollisionAvoidance.unity.meta create mode 100644 Assets/Examples/Empty.unity create mode 100644 Assets/Examples/Empty.unity.meta create mode 100644 Assets/Examples/Evade.unity create mode 100644 Assets/Examples/Evade.unity.meta create mode 100644 Assets/Examples/Flee.unity create mode 100644 Assets/Examples/Flee.unity.meta create mode 100644 Assets/Examples/Flocking.unity create mode 100644 Assets/Examples/Flocking.unity.meta create mode 100644 Assets/Examples/FollowPath.unity create mode 100644 Assets/Examples/FollowPath.unity.meta create mode 100644 Assets/Examples/Hide.unity create mode 100644 Assets/Examples/Hide.unity.meta create mode 100644 Assets/Examples/Interpose.unity create mode 100644 Assets/Examples/Interpose.unity.meta create mode 100644 Assets/Examples/OffsetPursuit.unity create mode 100644 Assets/Examples/OffsetPursuit.unity.meta create mode 100644 Assets/Examples/Pursue.unity create mode 100644 Assets/Examples/Pursue.unity.meta create mode 100644 Assets/Examples/Seek.unity create mode 100644 Assets/Examples/Seek.unity.meta create mode 100644 Assets/Examples/WallAvoidance1.unity create mode 100644 Assets/Examples/WallAvoidance1.unity.meta create mode 100644 Assets/Examples/WallAvoidance2.unity create mode 100644 Assets/Examples/WallAvoidance2.unity.meta create mode 100644 Assets/Examples/Wander.unity create mode 100644 Assets/Examples/Wander.unity.meta create mode 100644 Assets/Models.meta create mode 100644 Assets/Models/Materials.meta create mode 100644 Assets/Models/Materials/Green.mat create mode 100644 Assets/Models/Materials/Green.mat.meta create mode 100644 Assets/Models/Materials/Lines.mat create mode 100644 Assets/Models/Materials/Lines.mat.meta create mode 100644 Assets/Models/Materials/Lines.shader create mode 100644 Assets/Models/Materials/Lines.shader.meta create mode 100644 Assets/Models/Materials/Red.mat create mode 100644 Assets/Models/Materials/Red.mat.meta create mode 100644 Assets/Models/Materials/unnamed.mat create mode 100644 Assets/Models/Materials/unnamed.mat.meta create mode 100644 Assets/Models/unit.blend create mode 100644 Assets/Models/unit.blend.meta create mode 100644 Assets/Prefabs.meta create mode 100644 Assets/Prefabs/ArriveUnit.prefab create mode 100644 Assets/Prefabs/ArriveUnit.prefab.meta create mode 100644 Assets/Prefabs/ColAvoidUnit1.prefab create mode 100644 Assets/Prefabs/ColAvoidUnit1.prefab.meta create mode 100644 Assets/Prefabs/ColAvoidUnit2.prefab create mode 100644 Assets/Prefabs/ColAvoidUnit2.prefab.meta create mode 100644 Assets/Prefabs/EvadeUnit.prefab create mode 100644 Assets/Prefabs/EvadeUnit.prefab.meta create mode 100644 Assets/Prefabs/FleeUnit.prefab create mode 100644 Assets/Prefabs/FleeUnit.prefab.meta create mode 100644 Assets/Prefabs/FlockingUnit.prefab create mode 100644 Assets/Prefabs/FlockingUnit.prefab.meta create mode 100644 Assets/Prefabs/FollowPathUnit.prefab create mode 100644 Assets/Prefabs/FollowPathUnit.prefab.meta create mode 100644 Assets/Prefabs/HideUnit.prefab create mode 100644 Assets/Prefabs/HideUnit.prefab.meta create mode 100644 Assets/Prefabs/InterposeUnit.prefab create mode 100644 Assets/Prefabs/InterposeUnit.prefab.meta create mode 100644 Assets/Prefabs/Obstacle.prefab create mode 100644 Assets/Prefabs/Obstacle.prefab.meta create mode 100644 Assets/Prefabs/OffsetPursuitUnit.prefab create mode 100644 Assets/Prefabs/OffsetPursuitUnit.prefab.meta create mode 100644 Assets/Prefabs/PursueUnit.prefab create mode 100644 Assets/Prefabs/PursueUnit.prefab.meta create mode 100644 Assets/Prefabs/ScreenBoundary.prefab create mode 100644 Assets/Prefabs/ScreenBoundary.prefab.meta create mode 100644 Assets/Prefabs/SeekUnit.prefab create mode 100644 Assets/Prefabs/SeekUnit.prefab.meta create mode 100644 Assets/Prefabs/Spawner.prefab create mode 100644 Assets/Prefabs/Spawner.prefab.meta create mode 100644 Assets/Prefabs/WallAvoidanceUnit.prefab create mode 100644 Assets/Prefabs/WallAvoidanceUnit.prefab.meta create mode 100644 Assets/Prefabs/Wander1Unit.prefab create mode 100644 Assets/Prefabs/Wander1Unit.prefab.meta create mode 100644 Assets/Prefabs/Wander2Unit.prefab create mode 100644 Assets/Prefabs/Wander2Unit.prefab.meta create mode 100644 Assets/Prefabs/WanderAvoidUnit.prefab create mode 100644 Assets/Prefabs/WanderAvoidUnit.prefab.meta create mode 100644 Assets/Scripts.meta create mode 100644 Assets/Scripts/ArriveUnit.cs create mode 100644 Assets/Scripts/ArriveUnit.cs.meta create mode 100644 Assets/Scripts/Camera.meta create mode 100644 Assets/Scripts/Camera/CameraMovement.cs create mode 100644 Assets/Scripts/Camera/CameraMovement.cs.meta create mode 100644 Assets/Scripts/Camera/InfiniteGrid.cs create mode 100644 Assets/Scripts/Camera/InfiniteGrid.cs.meta create mode 100644 Assets/Scripts/ColAvoidUnit.cs create mode 100644 Assets/Scripts/ColAvoidUnit.cs.meta create mode 100644 Assets/Scripts/EvadeUnit.cs create mode 100644 Assets/Scripts/EvadeUnit.cs.meta create mode 100644 Assets/Scripts/FleeUnit.cs create mode 100644 Assets/Scripts/FleeUnit.cs.meta create mode 100644 Assets/Scripts/FlockingUnit.cs create mode 100644 Assets/Scripts/FlockingUnit.cs.meta create mode 100644 Assets/Scripts/FollowPathUnit.cs create mode 100644 Assets/Scripts/FollowPathUnit.cs.meta create mode 100644 Assets/Scripts/HideUnit.cs create mode 100644 Assets/Scripts/HideUnit.cs.meta create mode 100644 Assets/Scripts/InterposeUnit.cs create mode 100644 Assets/Scripts/InterposeUnit.cs.meta create mode 100644 Assets/Scripts/Movement.meta create mode 100644 Assets/Scripts/Movement/Cohesion.cs create mode 100644 Assets/Scripts/Movement/Cohesion.cs.meta create mode 100644 Assets/Scripts/Movement/CollisionAvoidance.cs create mode 100644 Assets/Scripts/Movement/CollisionAvoidance.cs.meta create mode 100644 Assets/Scripts/Movement/Evade.cs create mode 100644 Assets/Scripts/Movement/Evade.cs.meta create mode 100644 Assets/Scripts/Movement/Flee.cs create mode 100644 Assets/Scripts/Movement/Flee.cs.meta create mode 100644 Assets/Scripts/Movement/FollowPath.cs create mode 100644 Assets/Scripts/Movement/FollowPath.cs.meta create mode 100644 Assets/Scripts/Movement/Hide.cs create mode 100644 Assets/Scripts/Movement/Hide.cs.meta create mode 100644 Assets/Scripts/Movement/LinePath.cs create mode 100644 Assets/Scripts/Movement/LinePath.cs.meta create mode 100644 Assets/Scripts/Movement/NearSensor.cs create mode 100644 Assets/Scripts/Movement/NearSensor.cs.meta create mode 100644 Assets/Scripts/Movement/OffsetPursuit.cs create mode 100644 Assets/Scripts/Movement/OffsetPursuit.cs.meta create mode 100644 Assets/Scripts/Movement/Pursue.cs create mode 100644 Assets/Scripts/Movement/Pursue.cs.meta create mode 100644 Assets/Scripts/Movement/Separation.cs create mode 100644 Assets/Scripts/Movement/Separation.cs.meta create mode 100644 Assets/Scripts/Movement/SteeringBasics.cs create mode 100644 Assets/Scripts/Movement/SteeringBasics.cs.meta create mode 100644 Assets/Scripts/Movement/VelocityMatch.cs create mode 100644 Assets/Scripts/Movement/VelocityMatch.cs.meta create mode 100644 Assets/Scripts/Movement/WallAvoidance.cs create mode 100644 Assets/Scripts/Movement/WallAvoidance.cs.meta create mode 100644 Assets/Scripts/Movement/Wander1.cs create mode 100644 Assets/Scripts/Movement/Wander1.cs.meta create mode 100644 Assets/Scripts/Movement/Wander2.cs create mode 100644 Assets/Scripts/Movement/Wander2.cs.meta create mode 100644 Assets/Scripts/OffsetPursuitUnit.cs create mode 100644 Assets/Scripts/OffsetPursuitUnit.cs.meta create mode 100644 Assets/Scripts/PursueUnit.cs create mode 100644 Assets/Scripts/PursueUnit.cs.meta create mode 100644 Assets/Scripts/ScreenBoundary.cs create mode 100644 Assets/Scripts/ScreenBoundary.cs.meta create mode 100644 Assets/Scripts/SeekUnit.cs create mode 100644 Assets/Scripts/SeekUnit.cs.meta create mode 100644 Assets/Scripts/Spawner.cs create mode 100644 Assets/Scripts/Spawner.cs.meta create mode 100644 Assets/Scripts/WallAvoidanceUnit.cs create mode 100644 Assets/Scripts/WallAvoidanceUnit.cs.meta create mode 100644 Assets/Scripts/Wander1Unit.cs create mode 100644 Assets/Scripts/Wander1Unit.cs.meta create mode 100644 Assets/Scripts/Wander2Unit.cs create mode 100644 Assets/Scripts/Wander2Unit.cs.meta create mode 100644 Assets/Scripts/WanderAvoidUnit.cs create mode 100644 Assets/Scripts/WanderAvoidUnit.cs.meta create mode 100644 ProjectSettings/AudioManager.asset create mode 100644 ProjectSettings/DynamicsManager.asset create mode 100644 ProjectSettings/EditorBuildSettings.asset create mode 100644 ProjectSettings/EditorSettings.asset create mode 100644 ProjectSettings/GraphicsSettings.asset create mode 100644 ProjectSettings/InputManager.asset create mode 100644 ProjectSettings/NavMeshAreas.asset create mode 100644 ProjectSettings/NetworkManager.asset create mode 100644 ProjectSettings/Physics2DSettings.asset create mode 100644 ProjectSettings/ProjectSettings.asset create mode 100644 ProjectSettings/ProjectVersion.txt create mode 100644 ProjectSettings/QualitySettings.asset create mode 100644 ProjectSettings/TagManager.asset create mode 100644 ProjectSettings/TimeManager.asset create mode 100644 ProjectSettings/UnityAdsSettings.asset create mode 100644 ProjectSettings/UnityAnalyticsManager.asset diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4e86a17 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# =============== # +# Unity generated # +# =============== # +Temp/ +Library/ + +# ===================================== # +# Visual Studio / MonoDevelop generated # +# ===================================== # +ExportedObj/ +obj/ +*.svd +*.userprefs +/*.csproj +*.pidb +*.suo +/*.sln +*.user +*.unityproj +*.booproj + +# ============ # +# OS generated # +# ============ # +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# ============== # +# My Own Ignores # +# ============== # +/Build/ \ No newline at end of file diff --git a/Assets/Examples.meta b/Assets/Examples.meta new file mode 100644 index 0000000..5c5b69e --- /dev/null +++ b/Assets/Examples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 475b7bd53297fab449aae3a8a551bedb +folderAsset: yes +timeCreated: 1445679897 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Arrive.unity b/Assets/Examples/Arrive.unity new file mode 100644 index 0000000..e06c65e --- /dev/null +++ b/Assets/Examples/Arrive.unity @@ -0,0 +1,275 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1552663943 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 444704, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 1c3b01984c06a8a4789f8458da3c2a37, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Arrive.unity.meta b/Assets/Examples/Arrive.unity.meta new file mode 100644 index 0000000..4ac251a --- /dev/null +++ b/Assets/Examples/Arrive.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35e3bef5247340a429948872e06fe695 +timeCreated: 1445137318 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/CollisionAvoidance.unity b/Assets/Examples/CollisionAvoidance.unity new file mode 100644 index 0000000..e29e329 --- /dev/null +++ b/Assets/Examples/CollisionAvoidance.unity @@ -0,0 +1,457 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &225932908 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.x + value: -3 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &348613320 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[0].x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[0].y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[1].x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[1].y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: reversePath + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1645856993 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 116958, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: m_Name + value: ColAvoidUnit1 (1) + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: path.nodes.Array.data[0].x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: path.nodes.Array.data[1].x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: path.nodes.Array.data[0].y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + propertyPath: path.nodes.Array.data[1].y + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 61b087f5f78e8d649a464e6025f7abc1, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2040632570 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalPosition.x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 401788, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: path.nodes.Array.data[0].x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: path.nodes.Array.data[0].y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: path.nodes.Array.data[1].x + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 11436192, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + propertyPath: path.nodes.Array.data[1].y + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d6f1274d3e6263641a5045bd41ecdb94, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/CollisionAvoidance.unity.meta b/Assets/Examples/CollisionAvoidance.unity.meta new file mode 100644 index 0000000..1d6e0da --- /dev/null +++ b/Assets/Examples/CollisionAvoidance.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 46dc14dba7131d14e90fbc4e25c64249 +timeCreated: 1445039827 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Empty.unity b/Assets/Examples/Empty.unity new file mode 100644 index 0000000..c0234b9 --- /dev/null +++ b/Assets/Examples/Empty.unity @@ -0,0 +1,233 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 diff --git a/Assets/Examples/Empty.unity.meta b/Assets/Examples/Empty.unity.meta new file mode 100644 index 0000000..6af31fd --- /dev/null +++ b/Assets/Examples/Empty.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8cc9e3bd54684af4ebbf6de6da93423e +timeCreated: 1444773879 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Evade.unity b/Assets/Examples/Evade.unity new file mode 100644 index 0000000..fdc5b28 --- /dev/null +++ b/Assets/Examples/Evade.unity @@ -0,0 +1,376 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &482017761 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.x + value: -2.47000003 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.y + value: 2.02999997 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11418928, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: target + value: + objectReference: {fileID: 1458497020} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &732246796 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11497968, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + propertyPath: target + value: + objectReference: {fileID: 1054179065} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!54 &1054179065 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5427432, guid: 500699f3ba0b7f0438e50d52a0fb3691, + type: 2} + m_PrefabInternal: {fileID: 482017761} +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1458497020 stripped +Transform: + m_PrefabParentObject: {fileID: 465116, guid: c5bb1fe20c939954ba720df0cb0be27c, type: 2} + m_PrefabInternal: {fileID: 732246796} diff --git a/Assets/Examples/Evade.unity.meta b/Assets/Examples/Evade.unity.meta new file mode 100644 index 0000000..e6ead18 --- /dev/null +++ b/Assets/Examples/Evade.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a8d14936bcfd9b4db59dc4d477fbe0d +timeCreated: 1445123886 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Flee.unity b/Assets/Examples/Flee.unity new file mode 100644 index 0000000..fffdbe9 --- /dev/null +++ b/Assets/Examples/Flee.unity @@ -0,0 +1,438 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &260153143 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.size + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[2].x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[2].y + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[3].x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[3].y + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[4].x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[4].y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[0].y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[1].x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[1].y + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: pathLoop + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: reversePath + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: path.nodes.Array.data[0].x + value: -2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &627796957 stripped +Transform: + m_PrefabParentObject: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + m_PrefabInternal: {fileID: 260153143} +--- !u!1 &686763080 stripped +GameObject: + m_PrefabParentObject: {fileID: 131706, guid: 28bd245136767a6439883098b9d5f339, type: 2} + m_PrefabInternal: {fileID: 1215689966} +--- !u!114 &686763081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 686763080} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cdf64bcab4d4d8468c92f1bc4b23f7c, type: 3} + m_Name: + m_EditorClassIdentifier: + panicDist: 3.5 + decelerateOnStop: 1 + maxAcceleration: 10 + timeToTarget: .100000001 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1215689966 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 481000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11404330, guid: 28bd245136767a6439883098b9d5f339, type: 2} + propertyPath: target + value: + objectReference: {fileID: 627796957} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 28bd245136767a6439883098b9d5f339, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Flee.unity.meta b/Assets/Examples/Flee.unity.meta new file mode 100644 index 0000000..9a13436 --- /dev/null +++ b/Assets/Examples/Flee.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 701b8f410c6884341a1573a98233af46 +timeCreated: 1445125003 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Flocking.unity b/Assets/Examples/Flocking.unity new file mode 100644 index 0000000..fca1abc --- /dev/null +++ b/Assets/Examples/Flocking.unity @@ -0,0 +1,601 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &495440769 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: thingsToAvoid.Array.size + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: obj + value: + objectReference: {fileID: 411838, guid: 7811d047f013c5f43a36b27f05f17bbb, type: 2} + - target: {fileID: 105404, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: randomizeOrientation + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: numberOfObjects + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: thingsToAvoid.Array.data[0] + value: + objectReference: {fileID: 1044301833} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: thingsToAvoid.Array.data[1] + value: + objectReference: {fileID: 1160010932} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: thingsToAvoid.Array.data[2] + value: + objectReference: {fileID: 949489803} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: thingsToAvoid.Array.data[3] + value: + objectReference: {fileID: 2038159839} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -20} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &690374863 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.x + value: 12.21 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.z + value: -.976011932 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.w + value: .217717245 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxAcceleration + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2364876, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &710067751 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.y + value: -5.01000023 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.z + value: .843110025 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.w + value: .537741065 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 118562, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Name + value: WanderAvoidUnit (3) + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxAcceleration + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2364876, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &940496254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 160320, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &949489803 stripped +Transform: + m_PrefabParentObject: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_PrefabInternal: {fileID: 1583038580} +--- !u!4 &1044301833 stripped +Transform: + m_PrefabParentObject: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_PrefabInternal: {fileID: 690374863} +--- !u!4 &1160010932 stripped +Transform: + m_PrefabParentObject: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_PrefabInternal: {fileID: 1667001092} +--- !u!1001 &1583038580 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.x + value: -14.2700005 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.z + value: -.410719126 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.w + value: -.91176194 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 118562, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Name + value: WanderAvoidUnit (2) + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxAcceleration + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2364876, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1667001092 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.y + value: 5.19999981 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.z + value: .558541417 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.w + value: -.829476714 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 118562, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Name + value: WanderAvoidUnit (1) + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11445756, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: maxAcceleration + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 2364876, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2038159839 stripped +Transform: + m_PrefabParentObject: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_PrefabInternal: {fileID: 710067751} diff --git a/Assets/Examples/Flocking.unity.meta b/Assets/Examples/Flocking.unity.meta new file mode 100644 index 0000000..5749afd --- /dev/null +++ b/Assets/Examples/Flocking.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a8ea7c2341ae6b043b33030f348b7cca +timeCreated: 1445554724 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/FollowPath.unity b/Assets/Examples/FollowPath.unity new file mode 100644 index 0000000..8394337 --- /dev/null +++ b/Assets/Examples/FollowPath.unity @@ -0,0 +1,279 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1901763279 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 471744, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11449618, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + propertyPath: reversePath + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/FollowPath.unity.meta b/Assets/Examples/FollowPath.unity.meta new file mode 100644 index 0000000..663d607 --- /dev/null +++ b/Assets/Examples/FollowPath.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e2d0d463b7b48b4caa90f6d2c950a8b +timeCreated: 1445039320 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Hide.unity b/Assets/Examples/Hide.unity new file mode 100644 index 0000000..7a8d37c --- /dev/null +++ b/Assets/Examples/Hide.unity @@ -0,0 +1,512 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!4 &69819901 stripped +Transform: + m_PrefabParentObject: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_PrefabInternal: {fileID: 1978370653} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!4 &1049882220 stripped +Transform: + m_PrefabParentObject: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + m_PrefabInternal: {fileID: 1903373595} +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 160320, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!54 &1450276239 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5403330, guid: bd1d62c70d726f34eb654e97eb3686cd, + type: 2} + m_PrefabInternal: {fileID: 1978370653} +--- !u!1001 &1756920970 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.x + value: -7 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 118936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_Name + value: HideUnit (1) + objectReference: {fileID: 0} + - target: {fileID: 11443842, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: target + value: + objectReference: {fileID: 1450276239} + - target: {fileID: 2370856, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 169903cbb559e444f97e4606acc79194, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1804033521 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: charsToAvoid.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 491568, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: charsToAvoid.Array.data[0] + value: + objectReference: {fileID: 69819901} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: charsToAvoid.Array.data[1] + value: + objectReference: {fileID: 1049882220} + - target: {fileID: 105404, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: m_Name + value: ObstacleSpawner + objectReference: {fileID: 0} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: obj + value: + objectReference: {fileID: 415264, guid: 42b9f0b5c3336af4eb6299b224c18f68, type: 2} + - target: {fileID: 11493774, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + propertyPath: objectSizeRange.y + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5c40413500bcaa84f884e9834bc27ec9, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1903373595 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.x + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.y + value: -5 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 435936, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11443842, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: target + value: + objectReference: {fileID: 1450276239} + - target: {fileID: 2370856, guid: 169903cbb559e444f97e4606acc79194, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5eff0f9175d0e054290206daa1eef80e, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 169903cbb559e444f97e4606acc79194, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1978370653 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.x + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 408412, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11470582, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2364876, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 6f2d6f225d44e744dbbc449e44aa41fc, type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: bd1d62c70d726f34eb654e97eb3686cd, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Hide.unity.meta b/Assets/Examples/Hide.unity.meta new file mode 100644 index 0000000..3c188c5 --- /dev/null +++ b/Assets/Examples/Hide.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74d165f473291874c8c7b957f91ba53b +timeCreated: 1445210382 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Interpose.unity b/Assets/Examples/Interpose.unity new file mode 100644 index 0000000..c80cda7 --- /dev/null +++ b/Assets/Examples/Interpose.unity @@ -0,0 +1,423 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &102033559 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: -2.5 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: -1.79999995 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 163698, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_Name + value: Wander2Unit (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!54 &153756803 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5424576, guid: 11eae3e40166fd0429da122769705e13, + type: 2} + m_PrefabInternal: {fileID: 640805474} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &640805474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!54 &1096561976 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5424576, guid: 11eae3e40166fd0429da122769705e13, + type: 2} + m_PrefabInternal: {fileID: 102033559} +--- !u!1001 &1810436892 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 494964, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11470476, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: target1 + value: + objectReference: {fileID: 153756803} + - target: {fileID: 11470476, guid: de64d63e28828754fae81e255923d00c, type: 2} + propertyPath: target2 + value: + objectReference: {fileID: 1096561976} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: de64d63e28828754fae81e255923d00c, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Interpose.unity.meta b/Assets/Examples/Interpose.unity.meta new file mode 100644 index 0000000..a4a7059 --- /dev/null +++ b/Assets/Examples/Interpose.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67df6bafc8996dc4f97f892bb0daf6ed +timeCreated: 1445204252 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/OffsetPursuit.unity b/Assets/Examples/OffsetPursuit.unity new file mode 100644 index 0000000..6205f88 --- /dev/null +++ b/Assets/Examples/OffsetPursuit.unity @@ -0,0 +1,657 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + - 114: {fileID: 551253056} + - 114: {fileID: 551253057} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &551253056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 770499eb59bf16e40babd2e41f691bda, type: 3} + m_Name: + m_EditorClassIdentifier: + show: 1 + cellSize: 1 + zPosition: 0 + lineMat: {fileID: 2100000, guid: 68454679857835641ae4595960001fbf, type: 2} +--- !u!114 &551253057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49346cc1dafa05c429a4659d89e3a1f6, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 757470802} +--- !u!54 &600780046 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5424576, guid: 11eae3e40166fd0429da122769705e13, + type: 2} + m_PrefabInternal: {fileID: 640805474} +--- !u!1001 &609579693 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.x + value: -1.27999997 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.y + value: -.779999971 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 152688, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_Name + value: OffsetPursuitUnit (2) + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.x + value: -1.20000005 + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.y + value: 1.20000005 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &640805474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 2332060, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 6f2d6f225d44e744dbbc449e44aa41fc, type: 2} + - target: {fileID: 11457380, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 11481402, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5424576, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &747903351 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.x + value: -2.53999996 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.y + value: -2.26999998 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.x + value: -.600000024 + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.y + value: .600000024 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &757470802 stripped +Transform: + m_PrefabParentObject: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_PrefabInternal: {fileID: 640805474} +--- !u!1001 &791490160 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.x + value: -4.19000006 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.y + value: -.360000014 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 152688, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_Name + value: OffsetPursuitUnit (3) + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.x + value: -1.20000005 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &824940893 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.x + value: -3.5999999 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.y + value: 1.00999999 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 152688, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_Name + value: OffsetPursuitUnit (1) + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.x + value: -.600000024 + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.y + value: -.600000024 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 160320, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1617110129 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.x + value: -1.64999998 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.y + value: 2.27999997 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 438550, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 152688, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: m_Name + value: OffsetPursuitUnit (4) + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.x + value: -1.20000005 + objectReference: {fileID: 0} + - target: {fileID: 11461530, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + propertyPath: offset.y + value: -1.20000005 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 85f9ae2daa0efae42a9814c8de2d0d2d, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/OffsetPursuit.unity.meta b/Assets/Examples/OffsetPursuit.unity.meta new file mode 100644 index 0000000..dafe9e1 --- /dev/null +++ b/Assets/Examples/OffsetPursuit.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d792e3cf59999a64db71abaeef39eecd +timeCreated: 1445384586 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Pursue.unity b/Assets/Examples/Pursue.unity new file mode 100644 index 0000000..b99dcb3 --- /dev/null +++ b/Assets/Examples/Pursue.unity @@ -0,0 +1,368 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!54 &600780046 stripped +Rigidbody: + m_PrefabParentObject: {fileID: 5424576, guid: 11eae3e40166fd0429da122769705e13, + type: 2} + m_PrefabInternal: {fileID: 640805474} +--- !u!1001 &640805474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &895139053 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 442860, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11432080, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + propertyPath: target + value: + objectReference: {fileID: 600780046} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 877167d1f91274a4281ed4fe9864c393, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Pursue.unity.meta b/Assets/Examples/Pursue.unity.meta new file mode 100644 index 0000000..17e7476 --- /dev/null +++ b/Assets/Examples/Pursue.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6cb70af36da7fb94887e1f4adfcb3daa +timeCreated: 1445138288 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Seek.unity b/Assets/Examples/Seek.unity new file mode 100644 index 0000000..f459d81 --- /dev/null +++ b/Assets/Examples/Seek.unity @@ -0,0 +1,367 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &541513073 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 469634, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11418928, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + propertyPath: target + value: + objectReference: {fileID: 1670659230} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 500699f3ba0b7f0438e50d52a0fb3691, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &640805474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &1670659230 stripped +Transform: + m_PrefabParentObject: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_PrefabInternal: {fileID: 640805474} diff --git a/Assets/Examples/Seek.unity.meta b/Assets/Examples/Seek.unity.meta new file mode 100644 index 0000000..51b69a8 --- /dev/null +++ b/Assets/Examples/Seek.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca5d059be05447b40b29102013ff0048 +timeCreated: 1445140791 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/WallAvoidance1.unity b/Assets/Examples/WallAvoidance1.unity new file mode 100644 index 0000000..cb819b2 --- /dev/null +++ b/Assets/Examples/WallAvoidance1.unity @@ -0,0 +1,421 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &1376305553 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1770636607 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1770636609} + - 108: {fileID: 1770636608} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1770636608 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770636607} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: .839215696, g: .839215696, b: .839215696, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &1770636609 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770636607} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &2073609297 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2073609301} + - 33: {fileID: 2073609300} + - 65: {fileID: 2073609299} + - 23: {fileID: 2073609298} + m_Layer: 0 + m_Name: Wall1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2073609298 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2073609299 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + 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!33 &2073609300 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2073609301 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -.119999997, y: 2.24000001, z: 0} + m_LocalScale: {x: 4, y: .200000003, z: .25} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &2143586458 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2143586463} + - 20: {fileID: 2143586462} + - 92: {fileID: 2143586461} + - 124: {fileID: 2143586460} + - 81: {fileID: 2143586459} + 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 &2143586459 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!124 &2143586460 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!92 &2143586461 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!20 &2143586462 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &2143586463 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &2145718230 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2145718234} + - 33: {fileID: 2145718233} + - 65: {fileID: 2145718232} + - 23: {fileID: 2145718231} + m_Layer: 0 + m_Name: Wall2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2145718231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2145718232 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + 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!33 &2145718233 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2145718234 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_LocalRotation: {x: 0, y: 0, z: -.297531337, w: -.954712093} + m_LocalPosition: {x: -3.70910001, y: 1.12150002, z: 0} + m_LocalScale: {x: 4, y: .200000003, z: .25} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 diff --git a/Assets/Examples/WallAvoidance1.unity.meta b/Assets/Examples/WallAvoidance1.unity.meta new file mode 100644 index 0000000..0416ffa --- /dev/null +++ b/Assets/Examples/WallAvoidance1.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59a8f3cb377a0564dbec58b7e73ec865 +timeCreated: 1444864391 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/WallAvoidance2.unity b/Assets/Examples/WallAvoidance2.unity new file mode 100644 index 0000000..cc35818 --- /dev/null +++ b/Assets/Examples/WallAvoidance2.unity @@ -0,0 +1,433 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1770636607 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1770636609} + - 108: {fileID: 1770636608} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1770636608 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770636607} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: .839215696, g: .839215696, b: .839215696, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &1770636609 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770636607} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1966384876 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 490436, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11440604, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: path.nodes.Array.data[0].x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11440604, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: path.nodes.Array.data[0].y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11440604, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + propertyPath: path.nodes.Array.data[1].x + value: 3.5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 3356bb3bf08034540bdb1c85eba417e0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2073609297 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2073609301} + - 33: {fileID: 2073609300} + - 65: {fileID: 2073609299} + - 23: {fileID: 2073609298} + m_Layer: 0 + m_Name: Wall1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2073609298 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2073609299 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + 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!33 &2073609300 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2073609301 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2073609297} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 2, z: 0} + m_LocalScale: {x: 4, y: .200000003, z: .25} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!1 &2143586458 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2143586463} + - 20: {fileID: 2143586462} + - 92: {fileID: 2143586461} + - 124: {fileID: 2143586460} + - 81: {fileID: 2143586459} + 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 &2143586459 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!124 &2143586460 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!92 &2143586461 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 +--- !u!20 &2143586462 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &2143586463 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2143586458} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &2145718230 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2145718234} + - 33: {fileID: 2145718233} + - 65: {fileID: 2145718232} + - 23: {fileID: 2145718231} + m_Layer: 0 + m_Name: Wall2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2145718231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2145718232 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + 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!33 &2145718233 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2145718234 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145718230} + m_LocalRotation: {x: 0, y: 0, z: .707106829, w: .707106709} + m_LocalPosition: {x: 2, y: 3.9000001, z: 0} + m_LocalScale: {x: 4, y: .200000003, z: .25} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 diff --git a/Assets/Examples/WallAvoidance2.unity.meta b/Assets/Examples/WallAvoidance2.unity.meta new file mode 100644 index 0000000..26b99ff --- /dev/null +++ b/Assets/Examples/WallAvoidance2.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0b1ed83d0bf0654b82c4cb0900df249 +timeCreated: 1445032162 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Examples/Wander.unity b/Assets/Examples/Wander.unity new file mode 100644 index 0000000..4b8e03f --- /dev/null +++ b/Assets/Examples/Wander.unity @@ -0,0 +1,359 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .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} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &551253050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 551253055} + - 20: {fileID: 551253054} + - 92: {fileID: 551253053} + - 124: {fileID: 551253052} + - 81: {fileID: 551253051} + 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 &551253051 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!124 &551253052 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!92 &551253053 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 +--- !u!20 &551253054 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: .933333337, g: .933333337, b: .933333337, a: 1} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + 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: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 + m_StereoMirrorMode: 0 +--- !u!4 &551253055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 551253050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &640805474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486792, guid: 11eae3e40166fd0429da122769705e13, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 11eae3e40166fd0429da122769705e13, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &735375198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 735375200} + - 108: {fileID: 735375199} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &735375199 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &735375200 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735375198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &948851442 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalPosition.x + value: -3 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_LocalRotation.w + value: -1.62920685e-07 + objectReference: {fileID: 0} + - target: {fileID: 499076, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 646771f426c6db7489d21b5d19614acd, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1080571765 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 457112, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 2fe3f13595b05354ab1b6bd1c710d777, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Examples/Wander.unity.meta b/Assets/Examples/Wander.unity.meta new file mode 100644 index 0000000..a7b95b1 --- /dev/null +++ b/Assets/Examples/Wander.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4fbe1f9442e6b044ab17e1da3b09b926 +timeCreated: 1445036106 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models.meta b/Assets/Models.meta new file mode 100644 index 0000000..f7b9506 --- /dev/null +++ b/Assets/Models.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1211219d01d31ff4e89d561924628d2f +folderAsset: yes +timeCreated: 1444774062 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials.meta b/Assets/Models/Materials.meta new file mode 100644 index 0000000..f62e3c5 --- /dev/null +++ b/Assets/Models/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 13c72042cb219ef4c99362d22daf27c5 +folderAsset: yes +timeCreated: 1444774090 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials/Green.mat b/Assets/Models/Materials/Green.mat new file mode 100644 index 0000000..39e00cb --- /dev/null +++ b/Assets/Models/Materials/Green.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: .298039228, g: .686274529, b: .313725501, a: 1} diff --git a/Assets/Models/Materials/Green.mat.meta b/Assets/Models/Materials/Green.mat.meta new file mode 100644 index 0000000..e093645 --- /dev/null +++ b/Assets/Models/Materials/Green.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5eff0f9175d0e054290206daa1eef80e +timeCreated: 1445373227 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials/Lines.mat b/Assets/Models/Materials/Lines.mat new file mode 100644 index 0000000..8ba2997 --- /dev/null +++ b/Assets/Models/Materials/Lines.mat @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Lines + m_Shader: {fileID: 4800000, guid: 8ee66983680df0641839e93f4dc445f4, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: 2000 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: {} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Models/Materials/Lines.mat.meta b/Assets/Models/Materials/Lines.mat.meta new file mode 100644 index 0000000..e0588dd --- /dev/null +++ b/Assets/Models/Materials/Lines.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68454679857835641ae4595960001fbf +timeCreated: 1445452144 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials/Lines.shader b/Assets/Models/Materials/Lines.shader new file mode 100644 index 0000000..6a97eb0 --- /dev/null +++ b/Assets/Models/Materials/Lines.shader @@ -0,0 +1,14 @@ +Shader "Lines/Colored Blended" { + Properties { _Color ("Main Color", Color) = (0, 0, 0, 1) } + + SubShader { + Pass { + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Cull Off Fog { Mode Off } + Color[_Color] + BindChannels { + Bind "vertex", vertex Bind "color", color + } + } + } +} \ No newline at end of file diff --git a/Assets/Models/Materials/Lines.shader.meta b/Assets/Models/Materials/Lines.shader.meta new file mode 100644 index 0000000..25741e5 --- /dev/null +++ b/Assets/Models/Materials/Lines.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8ee66983680df0641839e93f4dc445f4 +timeCreated: 1445451002 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials/Red.mat b/Assets/Models/Materials/Red.mat new file mode 100644 index 0000000..197ffcb --- /dev/null +++ b/Assets/Models/Materials/Red.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Red + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: .956862748, g: .262745112, b: .211764708, a: 1} diff --git a/Assets/Models/Materials/Red.mat.meta b/Assets/Models/Materials/Red.mat.meta new file mode 100644 index 0000000..d09efdd --- /dev/null +++ b/Assets/Models/Materials/Red.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f2d6f225d44e744dbbc449e44aa41fc +timeCreated: 1445373168 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/Materials/unnamed.mat b/Assets/Models/Materials/unnamed.mat new file mode 100644 index 0000000..a533ab3 --- /dev/null +++ b/Assets/Models/Materials/unnamed.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: unnamed + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: .800000012, g: .800000012, b: .800000012, a: 1} diff --git a/Assets/Models/Materials/unnamed.mat.meta b/Assets/Models/Materials/unnamed.mat.meta new file mode 100644 index 0000000..13f5f6b --- /dev/null +++ b/Assets/Models/Materials/unnamed.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91a6a98d47f55e347a20c2dadf7a8b73 +timeCreated: 1444774090 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/unit.blend b/Assets/Models/unit.blend new file mode 100644 index 0000000000000000000000000000000000000000..66a8914aa9047011c75580b9b3c3a09c157045c8 GIT binary patch literal 450732 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 WNz|oh@El&aifp&|Uo-~R(wIBdoM literal 0 HcmV?d00001 diff --git a/Assets/Models/unit.blend.meta b/Assets/Models/unit.blend.meta new file mode 100644 index 0000000..68517f4 --- /dev/null +++ b/Assets/Models/unit.blend.meta @@ -0,0 +1,78 @@ +fileFormatVersion: 2 +guid: fb79ccf0fd6eb084587be081e0c6ddac +timeCreated: 1444774090 +licenseType: Free +ModelImporter: + serializedVersion: 18 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Sphere + 7400000: Default Take + 9500000: //RootNode + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + splitTangentsAcrossUV: 1 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..f9ff77a --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c7d91ea63fa61d54c92863fb2e902622 +folderAsset: yes +timeCreated: 1444783773 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ArriveUnit.prefab b/Assets/Prefabs/ArriveUnit.prefab new file mode 100644 index 0000000..7da545c --- /dev/null +++ b/Assets/Prefabs/ArriveUnit.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &165344 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444704} + - 33: {fileID: 3325190} + - 23: {fileID: 2344440} + - 54: {fileID: 5442004} + - 135: {fileID: 13518144} + - 114: {fileID: 11439398} + - 114: {fileID: 11492588} + m_Layer: 0 + m_Name: ArriveUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &444704 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + 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: 0 +--- !u!23 &2344440 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3325190 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5442004 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11439398 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ecfcf724a92030e4eb05c1a23e70116f, type: 3} + m_Name: + m_EditorClassIdentifier: + targetPosition: {x: -7, y: -4, z: 0} +--- !u!114 &11492588 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!135 &13518144 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 165344} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 165344} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/ArriveUnit.prefab.meta b/Assets/Prefabs/ArriveUnit.prefab.meta new file mode 100644 index 0000000..37e74fc --- /dev/null +++ b/Assets/Prefabs/ArriveUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c3b01984c06a8a4789f8458da3c2a37 +timeCreated: 1445138170 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ColAvoidUnit1.prefab b/Assets/Prefabs/ColAvoidUnit1.prefab new file mode 100644 index 0000000..66da0d3 --- /dev/null +++ b/Assets/Prefabs/ColAvoidUnit1.prefab @@ -0,0 +1,233 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &116958 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401788} + - 33: {fileID: 3315610} + - 23: {fileID: 2336010} + - 54: {fileID: 5402970} + - 135: {fileID: 13556852} + - 114: {fileID: 11436192} + - 114: {fileID: 11423876} + - 114: {fileID: 11480236} + - 114: {fileID: 11460476} + m_Layer: 0 + m_Name: ColAvoidUnit1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &137442 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442132} + - 114: {fileID: 11485160} + - 135: {fileID: 13572740} + m_Layer: 8 + m_Name: ColAvoidSensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &401788 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + 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: + - {fileID: 442132} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &442132 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -.300000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401788} + m_RootOrder: 0 +--- !u!23 &2336010 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3315610 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5402970 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11423876 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11436192 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1fa9bf6680359d048833285e2586e9be, type: 3} + m_Name: + m_EditorClassIdentifier: + path: + nodes: + - {x: -3, y: 2, z: 0} + - {x: 3, y: 2, z: 0} +--- !u!114 &11460476 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0fb7ad878c96643a9ef33951d933ba, type: 3} + m_Name: + m_EditorClassIdentifier: + maxAcceleration: 15 +--- !u!114 &11480236 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 049423ef460e2524186c56ba0e274368, type: 3} + m_Name: + m_EditorClassIdentifier: + stopRadius: .00499999989 + pathOffset: .709999979 + pathDirection: 1 +--- !u!114 &11485160 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6cfdaa6b4aa86854cad04292e279f62e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!135 &13556852 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!135 &13572740 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 1.66666663 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxAcceleration + value: 15 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 116958} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/ColAvoidUnit1.prefab.meta b/Assets/Prefabs/ColAvoidUnit1.prefab.meta new file mode 100644 index 0000000..8c49937 --- /dev/null +++ b/Assets/Prefabs/ColAvoidUnit1.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61b087f5f78e8d649a464e6025f7abc1 +timeCreated: 1445058739 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ColAvoidUnit2.prefab b/Assets/Prefabs/ColAvoidUnit2.prefab new file mode 100644 index 0000000..a4466e6 --- /dev/null +++ b/Assets/Prefabs/ColAvoidUnit2.prefab @@ -0,0 +1,249 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &116958 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 401788} + - 33: {fileID: 3315610} + - 23: {fileID: 2336010} + - 54: {fileID: 5402970} + - 135: {fileID: 13556852} + - 114: {fileID: 11436192} + - 114: {fileID: 11423876} + - 114: {fileID: 11480236} + - 114: {fileID: 11460476} + m_Layer: 0 + m_Name: ColAvoidUnit2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &137442 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442132} + - 114: {fileID: 11485160} + - 65: {fileID: 6513130} + m_Layer: 8 + m_Name: ColAvoidSensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &401788 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + 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: + - {fileID: 442132} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &442132 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -.300000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 401788} + m_RootOrder: 0 +--- !u!23 &2336010 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3315610 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5402970 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!65 &6513130 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.5, y: .600000024, z: .600000024} + m_Center: {x: .449999988, y: 0, z: 0} +--- !u!114 &11423876 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11436192 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1fa9bf6680359d048833285e2586e9be, type: 3} + m_Name: + m_EditorClassIdentifier: + path: + nodes: + - {x: -3, y: 2, z: 0} + - {x: 3, y: 2, z: 0} +--- !u!114 &11460476 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0fb7ad878c96643a9ef33951d933ba, type: 3} + m_Name: + m_EditorClassIdentifier: + maxAcceleration: 15 +--- !u!114 &11480236 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 049423ef460e2524186c56ba0e274368, type: 3} + m_Name: + m_EditorClassIdentifier: + stopRadius: .00499999989 + pathOffset: .709999979 + pathDirection: 1 +--- !u!114 &11485160 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 137442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6cfdaa6b4aa86854cad04292e279f62e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!135 &13556852 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116958} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Center.x + value: .300000012 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalScale.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Name + value: ColAvoidSensor + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxAcceleration + value: 15 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 116958} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/ColAvoidUnit2.prefab.meta b/Assets/Prefabs/ColAvoidUnit2.prefab.meta new file mode 100644 index 0000000..eed2a98 --- /dev/null +++ b/Assets/Prefabs/ColAvoidUnit2.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6f1274d3e6263641a5045bd41ecdb94 +timeCreated: 1445270928 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/EvadeUnit.prefab b/Assets/Prefabs/EvadeUnit.prefab new file mode 100644 index 0000000..69f08be --- /dev/null +++ b/Assets/Prefabs/EvadeUnit.prefab @@ -0,0 +1,166 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &175194 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 465116} + - 33: {fileID: 3343802} + - 23: {fileID: 2326050} + - 54: {fileID: 5409404} + - 135: {fileID: 13544796} + - 114: {fileID: 11497968} + - 114: {fileID: 11495834} + - 114: {fileID: 11446182} + - 114: {fileID: 11433666} + m_Layer: 0 + m_Name: EvadeUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &465116 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + 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: 0 +--- !u!23 &2326050 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3343802 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5409404 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11433666 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52e7f349139dea54da032182166c26d8, type: 3} + m_Name: + m_EditorClassIdentifier: + maxPrediction: 1 +--- !u!114 &11446182 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cdf64bcab4d4d8468c92f1bc4b23f7c, type: 3} + m_Name: + m_EditorClassIdentifier: + panicDist: Infinity + decelerateOnStop: 1 + maxAcceleration: 10 + timeToTarget: .100000001 +--- !u!114 &11495834 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11497968 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b0a3e859ea8fe534488413270935c6c1, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} +--- !u!135 &13544796 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 175194} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 175194} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/EvadeUnit.prefab.meta b/Assets/Prefabs/EvadeUnit.prefab.meta new file mode 100644 index 0000000..e592e2e --- /dev/null +++ b/Assets/Prefabs/EvadeUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5bb1fe20c939954ba720df0cb0be27c +timeCreated: 1445188804 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/FleeUnit.prefab b/Assets/Prefabs/FleeUnit.prefab new file mode 100644 index 0000000..1bb5b06 --- /dev/null +++ b/Assets/Prefabs/FleeUnit.prefab @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &131706 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 481000} + - 33: {fileID: 3314436} + - 23: {fileID: 2387162} + - 54: {fileID: 5411190} + - 135: {fileID: 13568662} + - 114: {fileID: 11404330} + - 114: {fileID: 11441856} + m_Layer: 0 + m_Name: FleeUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &481000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + 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: 0 +--- !u!23 &2387162 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3314436 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5411190 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11404330 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 55191c5ba3a442d4e8b1f817bdb15378, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} + panicDist: 5 +--- !u!114 &11441856 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!135 &13568662 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 131706} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 131706} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/FleeUnit.prefab.meta b/Assets/Prefabs/FleeUnit.prefab.meta new file mode 100644 index 0000000..58f611d --- /dev/null +++ b/Assets/Prefabs/FleeUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 28bd245136767a6439883098b9d5f339 +timeCreated: 1445136290 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/FlockingUnit.prefab b/Assets/Prefabs/FlockingUnit.prefab new file mode 100644 index 0000000..ca8dec7 --- /dev/null +++ b/Assets/Prefabs/FlockingUnit.prefab @@ -0,0 +1,271 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &116192 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 411838} + - 33: {fileID: 3344166} + - 23: {fileID: 2385776} + - 54: {fileID: 5481068} + - 135: {fileID: 13572110} + - 114: {fileID: 11443776} + - 114: {fileID: 11486314} + - 114: {fileID: 11453142} + - 114: {fileID: 11455984} + - 114: {fileID: 11495998} + - 114: {fileID: 11483568} + m_Layer: 0 + m_Name: FlockingUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &145914 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 475080} + - 114: {fileID: 11415046} + - 135: {fileID: 13533002} + m_Layer: 8 + m_Name: Sensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &411838 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + 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: + - {fileID: 475080} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &475080 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145914} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -.300000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 411838} + m_RootOrder: 0 +--- !u!23 &2385776 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3344166 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5481068 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11415046 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145914} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6cfdaa6b4aa86854cad04292e279f62e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11443776 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b367b651c2e510041a2a4431b028bed2, type: 3} + m_Name: + m_EditorClassIdentifier: + cohesionWeight: 1.5 + separationWeight: 2 + velocityMatchWeight: 1 +--- !u!114 &11453142 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5943b3ef333d3b45b456e9a8ce26d40, type: 3} + m_Name: + m_EditorClassIdentifier: + wanderRadius: 1.20000005 + wanderDistance: 2 + wanderJitter: 40 +--- !u!114 &11455984 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b54d0c5e57344f4994540c2b983849a, type: 3} + m_Name: + m_EditorClassIdentifier: + sepMaxAcceleration: 20 + maxSepDist: 1.29999995 +--- !u!114 &11483568 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 712fa36ac13bbc043b7aabcad738e7dc, type: 3} + m_Name: + m_EditorClassIdentifier: + facingCosine: 90 + timeToTarget: .100000001 + maxAcceleration: 4 +--- !u!114 &11486314 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3 + maxAcceleration: 4 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 +--- !u!114 &11495998 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1dcff34f8b3e02b44a21610e0e8c523b, type: 3} + m_Name: + m_EditorClassIdentifier: + facingCosine: 120 +--- !u!135 &13533002 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 145914} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 3.70000005 + m_Center: {x: 0, y: 0, z: 0} +--- !u!135 &13572110 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 116192} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: separationWeight + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: sepMaxAcceleration + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Radius + value: 3.70000005 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxSepDist + value: 1.29999995 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxVelocity + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxAcceleration + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 116192} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/FlockingUnit.prefab.meta b/Assets/Prefabs/FlockingUnit.prefab.meta new file mode 100644 index 0000000..9d74a00 --- /dev/null +++ b/Assets/Prefabs/FlockingUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7811d047f013c5f43a36b27f05f17bbb +timeCreated: 1445645982 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/FollowPathUnit.prefab b/Assets/Prefabs/FollowPathUnit.prefab new file mode 100644 index 0000000..6963423 --- /dev/null +++ b/Assets/Prefabs/FollowPathUnit.prefab @@ -0,0 +1,160 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &199308 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471744} + - 33: {fileID: 3334030} + - 23: {fileID: 2307250} + - 54: {fileID: 5448904} + - 135: {fileID: 13520100} + - 114: {fileID: 11449618} + - 114: {fileID: 11468718} + - 114: {fileID: 11466984} + m_Layer: 0 + m_Name: FollowPathUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &471744 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + 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: 0 +--- !u!23 &2307250 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3334030 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5448904 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11449618 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d127f162cb2d3b34784df7d7696be4e0, type: 3} + m_Name: + m_EditorClassIdentifier: + path: + nodes: + - {x: -3, y: .5, z: 0} + - {x: 5, y: 3.5, z: 0} +--- !u!114 &11466984 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 049423ef460e2524186c56ba0e274368, type: 3} + m_Name: + m_EditorClassIdentifier: + stopRadius: .00499999989 + pathOffset: .709999979 + pathDirection: 1 +--- !u!114 &11468718 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 + collAvoidRadius: .5 +--- !u!135 &13520100 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 199308} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 199308} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/FollowPathUnit.prefab.meta b/Assets/Prefabs/FollowPathUnit.prefab.meta new file mode 100644 index 0000000..985a2c9 --- /dev/null +++ b/Assets/Prefabs/FollowPathUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b8141dc3c6e4cb49b4cf7b795ca5d74 +timeCreated: 1444783790 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/HideUnit.prefab b/Assets/Prefabs/HideUnit.prefab new file mode 100644 index 0000000..18beb25 --- /dev/null +++ b/Assets/Prefabs/HideUnit.prefab @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &118936 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 435936} + - 33: {fileID: 3382740} + - 23: {fileID: 2370856} + - 54: {fileID: 5438492} + - 135: {fileID: 13559214} + - 114: {fileID: 11443842} + - 114: {fileID: 11410022} + - 114: {fileID: 11460090} + - 114: {fileID: 11422126} + - 114: {fileID: 11468830} + - 114: {fileID: 11480672} + m_Layer: 0 + m_Name: HideUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &435936 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + 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: 0 +--- !u!23 &2370856 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3382740 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5438492 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11410022 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11422126 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52e7f349139dea54da032182166c26d8, type: 3} + m_Name: + m_EditorClassIdentifier: + maxPrediction: 1 +--- !u!114 &11443842 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8895fef33386c5d4eb6e38eb84205740, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} +--- !u!114 &11460090 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9cdf64bcab4d4d8468c92f1bc4b23f7c, type: 3} + m_Name: + m_EditorClassIdentifier: + panicDist: Infinity + decelerateOnStop: 1 + maxAcceleration: 10 + timeToTarget: .100000001 +--- !u!114 &11468830 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8303b41d5b5e59846808128b46019c95, type: 3} + m_Name: + m_EditorClassIdentifier: + distanceFromBoundary: .600000024 +--- !u!114 &11480672 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e008bb997f9e8cc42a7861ed1e5b45ea, type: 3} + m_Name: + m_EditorClassIdentifier: + mainWhiskerLen: 1 + wallAvoidDistance: .5 + sideWhiskerLen: .600000024 + sideWhiskerAngle: 30 + maxAcceleration: 20 +--- !u!135 &13559214 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118936} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 118936} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/HideUnit.prefab.meta b/Assets/Prefabs/HideUnit.prefab.meta new file mode 100644 index 0000000..75daeda --- /dev/null +++ b/Assets/Prefabs/HideUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 169903cbb559e444f97e4606acc79194 +timeCreated: 1445373002 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/InterposeUnit.prefab b/Assets/Prefabs/InterposeUnit.prefab new file mode 100644 index 0000000..ea0fdf6 --- /dev/null +++ b/Assets/Prefabs/InterposeUnit.prefab @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &118818 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494964} + - 33: {fileID: 3360540} + - 23: {fileID: 2354476} + - 54: {fileID: 5453142} + - 135: {fileID: 13588998} + - 114: {fileID: 11470476} + - 114: {fileID: 11409158} + m_Layer: 0 + m_Name: InterposeUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &494964 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + 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: 0 +--- !u!23 &2354476 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3360540 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5453142 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11409158 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11470476 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3536641d912cf8b4c9d3c259b62f5e24, type: 3} + m_Name: + m_EditorClassIdentifier: + target1: {fileID: 0} + target2: {fileID: 0} +--- !u!135 &13588998 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118818} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 118818} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/InterposeUnit.prefab.meta b/Assets/Prefabs/InterposeUnit.prefab.meta new file mode 100644 index 0000000..7e83b94 --- /dev/null +++ b/Assets/Prefabs/InterposeUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de64d63e28828754fae81e255923d00c +timeCreated: 1445205381 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Obstacle.prefab b/Assets/Prefabs/Obstacle.prefab new file mode 100644 index 0000000..fd9ba91 --- /dev/null +++ b/Assets/Prefabs/Obstacle.prefab @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &161660 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 415264} + - 33: {fileID: 3353948} + - 135: {fileID: 13506922} + - 23: {fileID: 2308278} + - 54: {fileID: 5419392} + m_Layer: 0 + m_Name: Obstacle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &415264 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161660} + 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: .300000012} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!23 &2308278 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161660} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3353948 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161660} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &5419392 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161660} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!135 &13506922 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 161660} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_LocalScale.z + value: .300000012 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 161660} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Obstacle.prefab.meta b/Assets/Prefabs/Obstacle.prefab.meta new file mode 100644 index 0000000..b79edf3 --- /dev/null +++ b/Assets/Prefabs/Obstacle.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42b9f0b5c3336af4eb6299b224c18f68 +timeCreated: 1445210771 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/OffsetPursuitUnit.prefab b/Assets/Prefabs/OffsetPursuitUnit.prefab new file mode 100644 index 0000000..1d55097 --- /dev/null +++ b/Assets/Prefabs/OffsetPursuitUnit.prefab @@ -0,0 +1,253 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &149352 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 485778} + - 114: {fileID: 11474518} + - 135: {fileID: 13561980} + m_Layer: 8 + m_Name: SeparationSensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &152688 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 438550} + - 33: {fileID: 3367426} + - 23: {fileID: 2337416} + - 54: {fileID: 5495944} + - 135: {fileID: 13595954} + - 114: {fileID: 11461530} + - 114: {fileID: 11468040} + - 114: {fileID: 11495396} + - 114: {fileID: 11467456} + m_Layer: 0 + m_Name: OffsetPursuitUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &438550 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + 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: + - {fileID: 485778} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &485778 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149352} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -.300000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 438550} + m_RootOrder: 0 +--- !u!23 &2337416 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3367426 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5495944 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11461530 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 06dca02ef11e90749b6ab44ba79f30da, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} + offset: {x: 0, y: 0, z: 0} + groupLookDist: 1.5 +--- !u!114 &11467456 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b54d0c5e57344f4994540c2b983849a, type: 3} + m_Name: + m_EditorClassIdentifier: + sepMaxAcceleration: 25 + maxSepDist: .800000012 +--- !u!114 &11468040 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 4 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 +--- !u!114 &11474518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6cfdaa6b4aa86854cad04292e279f62e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11495396 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5663dbf892c30d74caacee862f4f7134, type: 3} + m_Name: + m_EditorClassIdentifier: + maxPrediction: 1 +--- !u!135 &13561980 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 149352} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .330000013 + m_Center: {x: 0, y: 0, z: 0} +--- !u!135 &13595954 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152688} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: offset.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: offset.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Radius + value: .330000013 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: slowRadius + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxVelocity + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Name + value: SeparationSensor + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: sepThreshold + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: sepMaxAcceleration + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: maxSepDist + value: .800000012 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 152688} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/OffsetPursuitUnit.prefab.meta b/Assets/Prefabs/OffsetPursuitUnit.prefab.meta new file mode 100644 index 0000000..3bc0bce --- /dev/null +++ b/Assets/Prefabs/OffsetPursuitUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85f9ae2daa0efae42a9814c8de2d0d2d +timeCreated: 1445386547 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PursueUnit.prefab b/Assets/Prefabs/PursueUnit.prefab new file mode 100644 index 0000000..5fb68c2 --- /dev/null +++ b/Assets/Prefabs/PursueUnit.prefab @@ -0,0 +1,154 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &130544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 442860} + - 33: {fileID: 3331680} + - 23: {fileID: 2326942} + - 54: {fileID: 5438218} + - 135: {fileID: 13565114} + - 114: {fileID: 11432080} + - 114: {fileID: 11497850} + - 114: {fileID: 11449512} + m_Layer: 0 + m_Name: PursueUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &442860 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + 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: 0 +--- !u!23 &2326942 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3331680 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5438218 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11432080 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 28a5ea66325b4b34bb7fdd2c5706ca3e, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} +--- !u!114 &11449512 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e2da78e0f74f9cf449361cf180272705, type: 3} + m_Name: + m_EditorClassIdentifier: + maxPrediction: 1 +--- !u!114 &11497850 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!135 &13565114 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 130544} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: maxVelocity + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 130544} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/PursueUnit.prefab.meta b/Assets/Prefabs/PursueUnit.prefab.meta new file mode 100644 index 0000000..399c2dc --- /dev/null +++ b/Assets/Prefabs/PursueUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 877167d1f91274a4281ed4fe9864c393 +timeCreated: 1445188923 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ScreenBoundary.prefab b/Assets/Prefabs/ScreenBoundary.prefab new file mode 100644 index 0000000..40e58ef --- /dev/null +++ b/Assets/Prefabs/ScreenBoundary.prefab @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &160320 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 457112} + - 33: {fileID: 3324950} + - 65: {fileID: 6565720} + - 114: {fileID: 11470440} + m_Layer: 8 + m_Name: ScreenBoundary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &457112 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160320} + 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: 4} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!33 &3324950 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160320} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!65 &6565720 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160320} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &11470440 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160320} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69e649a4f3e436244b1498ab2c59107d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 160320} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/ScreenBoundary.prefab.meta b/Assets/Prefabs/ScreenBoundary.prefab.meta new file mode 100644 index 0000000..e284b4a --- /dev/null +++ b/Assets/Prefabs/ScreenBoundary.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2fe3f13595b05354ab1b6bd1c710d777 +timeCreated: 1445037934 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/SeekUnit.prefab b/Assets/Prefabs/SeekUnit.prefab new file mode 100644 index 0000000..d5470e2 --- /dev/null +++ b/Assets/Prefabs/SeekUnit.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &122656 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 469634} + - 33: {fileID: 3361840} + - 23: {fileID: 2383574} + - 54: {fileID: 5427432} + - 135: {fileID: 13592788} + - 114: {fileID: 11418928} + - 114: {fileID: 11414804} + m_Layer: 0 + m_Name: SeekUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &469634 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + 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: 0 +--- !u!23 &2383574 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3361840 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5427432 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11414804 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11418928 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4ae73ab1d415c7c4a9ffbd954f482d15, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} +--- !u!135 &13592788 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 122656} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 122656} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/SeekUnit.prefab.meta b/Assets/Prefabs/SeekUnit.prefab.meta new file mode 100644 index 0000000..708b4dd --- /dev/null +++ b/Assets/Prefabs/SeekUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 500699f3ba0b7f0438e50d52a0fb3691 +timeCreated: 1445124924 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Spawner.prefab b/Assets/Prefabs/Spawner.prefab new file mode 100644 index 0000000..3b59e3a --- /dev/null +++ b/Assets/Prefabs/Spawner.prefab @@ -0,0 +1,62 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &105404 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 491568} + - 114: {fileID: 11493774} + m_Layer: 0 + m_Name: Spawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &491568 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 105404} + 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: 0 +--- !u!114 &11493774 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 105404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b337c53d2671c0a42aea40f4e5df0ae2, type: 3} + m_Name: + m_EditorClassIdentifier: + obj: {fileID: 0} + objectSizeRange: {x: 1, y: 1} + numberOfObjects: 10 + boundaryPadding: 1 + spaceBetweenObjects: 1 + thingsToAvoid: [] +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: objectSizeRange.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 105404} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Spawner.prefab.meta b/Assets/Prefabs/Spawner.prefab.meta new file mode 100644 index 0000000..a27d9dd --- /dev/null +++ b/Assets/Prefabs/Spawner.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c40413500bcaa84f884e9834bc27ec9 +timeCreated: 1445264925 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/WallAvoidanceUnit.prefab b/Assets/Prefabs/WallAvoidanceUnit.prefab new file mode 100644 index 0000000..143c8a5 --- /dev/null +++ b/Assets/Prefabs/WallAvoidanceUnit.prefab @@ -0,0 +1,173 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &132094 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 490436} + - 33: {fileID: 3387170} + - 23: {fileID: 2314350} + - 54: {fileID: 5473764} + - 135: {fileID: 13547376} + - 114: {fileID: 11440604} + - 114: {fileID: 11461840} + - 114: {fileID: 11416706} + - 114: {fileID: 11437948} + m_Layer: 0 + m_Name: WallAvoidanceUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &490436 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + 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: 0 +--- !u!23 &2314350 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3387170 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5473764 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11416706 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 049423ef460e2524186c56ba0e274368, type: 3} + m_Name: + m_EditorClassIdentifier: + stopRadius: .00499999989 + pathOffset: .709999979 + pathDirection: 1 +--- !u!114 &11437948 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e008bb997f9e8cc42a7861ed1e5b45ea, type: 3} + m_Name: + m_EditorClassIdentifier: + mainWhiskerLen: 1.25 + wallAvoidDistance: .5 + sideWhiskerLen: .700999975 + sideWhiskerAngle: 45 + acceleration: 40 +--- !u!114 &11440604 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e09b033aa7b983469142324db471025, type: 3} + m_Name: + m_EditorClassIdentifier: + path: + nodes: + - {x: 3, y: .5, z: 0} + - {x: -5, y: 3.5, z: 0} +--- !u!114 &11461840 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 + collAvoidRadius: .5 +--- !u!135 &13547376 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 132094} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 132094} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/WallAvoidanceUnit.prefab.meta b/Assets/Prefabs/WallAvoidanceUnit.prefab.meta new file mode 100644 index 0000000..5fe26c1 --- /dev/null +++ b/Assets/Prefabs/WallAvoidanceUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3356bb3bf08034540bdb1c85eba417e0 +timeCreated: 1445034535 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Wander1Unit.prefab b/Assets/Prefabs/Wander1Unit.prefab new file mode 100644 index 0000000..0f19982 --- /dev/null +++ b/Assets/Prefabs/Wander1Unit.prefab @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &101970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 499076} + - 33: {fileID: 3360636} + - 23: {fileID: 2303730} + - 54: {fileID: 5405632} + - 135: {fileID: 13565118} + - 114: {fileID: 11477000} + - 114: {fileID: 11439074} + - 114: {fileID: 11467628} + m_Layer: 0 + m_Name: Wander1Unit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &499076 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + 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: 0 +--- !u!23 &2303730 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3360636 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5405632 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11439074 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 6.66599989 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 + collAvoidRadius: .5 +--- !u!114 &11467628 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 22a41feec586bae4ba2177d8457b7fa2, type: 3} + m_Name: + m_EditorClassIdentifier: + wanderOffset: 1.5 + wanderRadius: 2 + wanderRate: .400000006 +--- !u!114 &11477000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9101efdc6414c2c48b7e2db10478de53, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!135 &13565118 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 101970} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 101970} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Wander1Unit.prefab.meta b/Assets/Prefabs/Wander1Unit.prefab.meta new file mode 100644 index 0000000..cacf625 --- /dev/null +++ b/Assets/Prefabs/Wander1Unit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 646771f426c6db7489d21b5d19614acd +timeCreated: 1444858143 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Wander2Unit.prefab b/Assets/Prefabs/Wander2Unit.prefab new file mode 100644 index 0000000..1e921cb --- /dev/null +++ b/Assets/Prefabs/Wander2Unit.prefab @@ -0,0 +1,156 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &163698 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 486792} + - 33: {fileID: 3359818} + - 23: {fileID: 2332060} + - 54: {fileID: 5424576} + - 135: {fileID: 13510442} + - 114: {fileID: 11481402} + - 114: {fileID: 11457380} + - 114: {fileID: 11474718} + m_Layer: 0 + m_Name: Wander2Unit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &486792 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + 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: 0 +--- !u!23 &2332060 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3359818 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5424576 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!114 &11457380 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 6.66599989 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 + collAvoidRadius: .5 +--- !u!114 &11474718 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5943b3ef333d3b45b456e9a8ce26d40, type: 3} + m_Name: + m_EditorClassIdentifier: + wanderRadius: 1.20000005 + wanderDistance: 2 + wanderJitter: 40 +--- !u!114 &11481402 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ecb0c8fe6f551294bbba53fde5ed4b5d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!135 &13510442 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163698} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: m_Constraints + value: 120 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 163698} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Wander2Unit.prefab.meta b/Assets/Prefabs/Wander2Unit.prefab.meta new file mode 100644 index 0000000..72d03bb --- /dev/null +++ b/Assets/Prefabs/Wander2Unit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11eae3e40166fd0429da122769705e13 +timeCreated: 1444858392 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/WanderAvoidUnit.prefab b/Assets/Prefabs/WanderAvoidUnit.prefab new file mode 100644 index 0000000..e66e930 --- /dev/null +++ b/Assets/Prefabs/WanderAvoidUnit.prefab @@ -0,0 +1,217 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &118562 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 408412} + - 33: {fileID: 3331998} + - 23: {fileID: 2364876} + - 54: {fileID: 5403330} + - 135: {fileID: 13575940} + - 114: {fileID: 11470582} + - 114: {fileID: 11445756} + - 114: {fileID: 11441008} + - 114: {fileID: 11423726} + m_Layer: 0 + m_Name: WanderAvoidUnit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &135936 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 444106} + - 114: {fileID: 11433922} + - 65: {fileID: 6592742} + m_Layer: 8 + m_Name: ColAvoidSensor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &408412 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + 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: + - {fileID: 444106} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &444106 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135936} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -.300000012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 408412} + m_RootOrder: 0 +--- !u!23 &2364876 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 91a6a98d47f55e347a20c2dadf7a8b73, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3331998 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Mesh: {fileID: 4300000, guid: fb79ccf0fd6eb084587be081e0c6ddac, type: 3} +--- !u!54 &5403330 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: .0500000007 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 120 + m_CollisionDetection: 0 +--- !u!65 &6592742 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135936} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1.5, y: .600000024, z: .600000024} + m_Center: {x: .449999988, y: 0, z: 0} +--- !u!114 &11423726 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5943b3ef333d3b45b456e9a8ce26d40, type: 3} + m_Name: + m_EditorClassIdentifier: + wanderRadius: 1.20000005 + wanderDistance: 2 + wanderJitter: 40 +--- !u!114 &11433922 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 135936} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6cfdaa6b4aa86854cad04292e279f62e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11441008 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0fb7ad878c96643a9ef33951d933ba, type: 3} + m_Name: + m_EditorClassIdentifier: + maxAcceleration: 15 +--- !u!114 &11445756 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f58141e9f357e448fd2fa6f1afc1f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVelocity: 3.5 + maxAcceleration: 10 + targetRadius: .00499999989 + slowRadius: 1 + timeToTarget: .100000001 + turnSpeed: 20 + smoothing: 1 + numSamplesForSmoothing: 5 + sepMaxAcceleration: 10 + sepThreshold: 1.66659999 +--- !u!114 &11470582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfc8bb85285d9974684a932daef751b2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!135 &13575940 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 118562} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: .300000012 + m_Center: {x: 0, y: 0, z: -.300000012} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 118562} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/WanderAvoidUnit.prefab.meta b/Assets/Prefabs/WanderAvoidUnit.prefab.meta new file mode 100644 index 0000000..96f8ca9 --- /dev/null +++ b/Assets/Prefabs/WanderAvoidUnit.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bd1d62c70d726f34eb654e97eb3686cd +timeCreated: 1445290612 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..fe6345e --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 697f66ace6f88074695e73d7159f4f19 +folderAsset: yes +timeCreated: 1444774494 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ArriveUnit.cs b/Assets/Scripts/ArriveUnit.cs new file mode 100644 index 0000000..fcba0d4 --- /dev/null +++ b/Assets/Scripts/ArriveUnit.cs @@ -0,0 +1,24 @@ +using UnityEngine; +using System.Collections; + +public class ArriveUnit : MonoBehaviour { + + public Vector3 targetPosition; + + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = steeringBasics.arrive(targetPosition); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/ArriveUnit.cs.meta b/Assets/Scripts/ArriveUnit.cs.meta new file mode 100644 index 0000000..91c30d3 --- /dev/null +++ b/Assets/Scripts/ArriveUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ecfcf724a92030e4eb05c1a23e70116f +timeCreated: 1445137354 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Camera.meta b/Assets/Scripts/Camera.meta new file mode 100644 index 0000000..592c591 --- /dev/null +++ b/Assets/Scripts/Camera.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0faec369b0e19734fa127edb321ad3f3 +folderAsset: yes +timeCreated: 1445458543 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Camera/CameraMovement.cs b/Assets/Scripts/Camera/CameraMovement.cs new file mode 100644 index 0000000..876241e --- /dev/null +++ b/Assets/Scripts/Camera/CameraMovement.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; + +public class CameraMovement : MonoBehaviour { + + public Transform target; + + private Vector3 displacement; + // Use this for initialization + void Start () { + //target = GameObject.Find ("Player").transform; + + displacement = transform.position - target.position; + } + + // LateUpdate is called once per frame after the other normal Update functions have already run + void LateUpdate () { + //Debug.Log (Vector2.Distance (transform.position, target.position)); + if(target != null) { + transform.position = target.position + displacement; + } + } +} diff --git a/Assets/Scripts/Camera/CameraMovement.cs.meta b/Assets/Scripts/Camera/CameraMovement.cs.meta new file mode 100644 index 0000000..729a948 --- /dev/null +++ b/Assets/Scripts/Camera/CameraMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 49346cc1dafa05c429a4659d89e3a1f6 +timeCreated: 1445450394 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Camera/InfiniteGrid.cs b/Assets/Scripts/Camera/InfiniteGrid.cs new file mode 100644 index 0000000..d41a744 --- /dev/null +++ b/Assets/Scripts/Camera/InfiniteGrid.cs @@ -0,0 +1,72 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +/** + * This class will create an infinite grid in the x/y directions for a camera using perspective. + * Put this class on your camera. + */ +public class InfiniteGrid : MonoBehaviour { + + public bool show = true; + + public float cellSize = 1; + + public float zPosition = 0; + + private float[] getGridBounds() { + float distToGrid = zPosition - transform.position.z; + + float angle = (GetComponent().fieldOfView / 2) * Mathf.Deg2Rad; + + float halfHeight = Mathf.Tan (angle) * distToGrid; + float halfWidth = GetComponent().aspect * halfHeight; + + float[] bounds = new float[4]; + + // Get the camera bounds + bounds [0] = transform.position.x - halfWidth; + bounds [1] = transform.position.y - halfHeight; + bounds [2] = transform.position.x + halfWidth; + bounds [3] = transform.position.y + halfHeight; + + // Convert the camera bounds to the grid bounds + bounds [0] = Mathf.Floor(bounds [0] / cellSize) * cellSize; + bounds [1] = Mathf.Floor(bounds [1] / cellSize) * cellSize; + bounds [2] = Mathf.Ceil(bounds [2] / cellSize) * cellSize; + bounds [3] = Mathf.Ceil(bounds [3] / cellSize) * cellSize; + + return bounds; + } + + public Material lineMat; + + void OnPostRender() + { + GL.Begin( GL.LINES ); + + if(show) + { + Material lineMaterial = lineMat; + lineMaterial.SetPass( 0 ); + + float[] bounds = getGridBounds (); + + //X axis lines + for(float j = 0; bounds[1] + j <= bounds[3]; j += cellSize) + { + GL.Vertex3( bounds[0], bounds[1] + j, zPosition); + GL.Vertex3( bounds[2], bounds[1] + j, zPosition); + } + + //Y axis lines + for(float k = 0; bounds[0] + k <= bounds[2]; k += cellSize) + { + GL.Vertex3( bounds[0] + k, bounds[1], zPosition); + GL.Vertex3( bounds[0] + k, bounds[3], zPosition); + } + } + + GL.End(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/Camera/InfiniteGrid.cs.meta b/Assets/Scripts/Camera/InfiniteGrid.cs.meta new file mode 100644 index 0000000..564ad35 --- /dev/null +++ b/Assets/Scripts/Camera/InfiniteGrid.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 770499eb59bf16e40babd2e41f691bda +timeCreated: 1445450857 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ColAvoidUnit.cs b/Assets/Scripts/ColAvoidUnit.cs new file mode 100644 index 0000000..f0d6114 --- /dev/null +++ b/Assets/Scripts/ColAvoidUnit.cs @@ -0,0 +1,51 @@ +using UnityEngine; +using System.Collections; + +public class ColAvoidUnit : MonoBehaviour { + + public LinePath path; + + private SteeringBasics steeringBasics; + private FollowPath followPath; + private CollisionAvoidance colAvoid; + + private NearSensor colAvoidSensor; + + // Use this for initialization + void Start() + { + path.calcDistances(); + + steeringBasics = GetComponent(); + followPath = GetComponent(); + colAvoid = GetComponent(); + + colAvoidSensor = transform.Find("ColAvoidSensor").GetComponent(); + } + + // Update is called once per frame + void Update() + { + path.draw(); + + if (isAtEndOfPath()) + { + path.reversePath(); + } + + Vector3 accel = colAvoid.getSteering(colAvoidSensor.targets); + + if (accel.magnitude < 0.005f) + { + accel = followPath.getSteering(path); + } + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } + + public bool isAtEndOfPath() + { + return Vector3.Distance(path.endNode, transform.position) < followPath.stopRadius; + } +} diff --git a/Assets/Scripts/ColAvoidUnit.cs.meta b/Assets/Scripts/ColAvoidUnit.cs.meta new file mode 100644 index 0000000..0b51a0f --- /dev/null +++ b/Assets/Scripts/ColAvoidUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1fa9bf6680359d048833285e2586e9be +timeCreated: 1445041211 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/EvadeUnit.cs b/Assets/Scripts/EvadeUnit.cs new file mode 100644 index 0000000..b2f8d3d --- /dev/null +++ b/Assets/Scripts/EvadeUnit.cs @@ -0,0 +1,27 @@ +using UnityEngine; +using System.Collections; + +public class EvadeUnit : MonoBehaviour +{ + + public Rigidbody target; + + private SteeringBasics steeringBasics; + private Evade evade; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + evade = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = evade.getSteering(target); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/EvadeUnit.cs.meta b/Assets/Scripts/EvadeUnit.cs.meta new file mode 100644 index 0000000..b71cef0 --- /dev/null +++ b/Assets/Scripts/EvadeUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b0a3e859ea8fe534488413270935c6c1 +timeCreated: 1445141347 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/FleeUnit.cs b/Assets/Scripts/FleeUnit.cs new file mode 100644 index 0000000..d457848 --- /dev/null +++ b/Assets/Scripts/FleeUnit.cs @@ -0,0 +1,27 @@ +using UnityEngine; +using System.Collections; + +public class FleeUnit : MonoBehaviour +{ + + public Transform target; + + private SteeringBasics steeringBasics; + private Flee flee; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + flee = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = flee.getSteering(target.position); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/FleeUnit.cs.meta b/Assets/Scripts/FleeUnit.cs.meta new file mode 100644 index 0000000..6896669 --- /dev/null +++ b/Assets/Scripts/FleeUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 55191c5ba3a442d4e8b1f817bdb15378 +timeCreated: 1445125027 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/FlockingUnit.cs b/Assets/Scripts/FlockingUnit.cs new file mode 100644 index 0000000..90df561 --- /dev/null +++ b/Assets/Scripts/FlockingUnit.cs @@ -0,0 +1,47 @@ +using UnityEngine; +using System.Collections; + +public class FlockingUnit : MonoBehaviour +{ + public float cohesionWeight = 1.5f; + public float separationWeight = 2f; + public float velocityMatchWeight = 1f; + + private SteeringBasics steeringBasics; + private Wander2 wander; + private Cohesion cohesion; + private Separation separation; + private VelocityMatch velocityMatch; + + private NearSensor sensor; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + wander = GetComponent(); + cohesion = GetComponent(); + separation = GetComponent(); + velocityMatch = GetComponent(); + + sensor = transform.Find("Sensor").GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = Vector3.zero; + + accel += cohesion.getSteering(sensor.targets) * cohesionWeight; + accel += separation.getSteering(sensor.targets) * separationWeight; + accel += velocityMatch.getSteering(sensor.targets) * velocityMatchWeight; + + if (accel.magnitude < 0.005f) + { + accel = wander.getSteering(); + } + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/FlockingUnit.cs.meta b/Assets/Scripts/FlockingUnit.cs.meta new file mode 100644 index 0000000..deb4e53 --- /dev/null +++ b/Assets/Scripts/FlockingUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b367b651c2e510041a2a4431b028bed2 +timeCreated: 1445651384 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/FollowPathUnit.cs b/Assets/Scripts/FollowPathUnit.cs new file mode 100644 index 0000000..9c779f5 --- /dev/null +++ b/Assets/Scripts/FollowPathUnit.cs @@ -0,0 +1,42 @@ +using UnityEngine; +using System.Collections; + +public class FollowPathUnit : MonoBehaviour { + + public bool pathLoop = false; + + public bool reversePath = false; + + public LinePath path; + + private SteeringBasics steeringBasics; + private FollowPath followPath; + + // Use this for initialization + void Start () { + path.calcDistances(); + + steeringBasics = GetComponent(); + followPath = GetComponent(); + } + + // Update is called once per frame + void Update () { + path.draw(); + + if (reversePath && isAtEndOfPath()) + { + path.reversePath(); + } + + Vector3 accel = followPath.getSteering(path, pathLoop); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } + + public bool isAtEndOfPath() + { + return Vector3.Distance(path.endNode, transform.position) < followPath.stopRadius; + } +} diff --git a/Assets/Scripts/FollowPathUnit.cs.meta b/Assets/Scripts/FollowPathUnit.cs.meta new file mode 100644 index 0000000..26f7880 --- /dev/null +++ b/Assets/Scripts/FollowPathUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d127f162cb2d3b34784df7d7696be4e0 +timeCreated: 1444774830 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/HideUnit.cs b/Assets/Scripts/HideUnit.cs new file mode 100644 index 0000000..987b5b1 --- /dev/null +++ b/Assets/Scripts/HideUnit.cs @@ -0,0 +1,39 @@ +using UnityEngine; +using System.Collections; + +public class HideUnit : MonoBehaviour { + public Rigidbody target; + + private SteeringBasics steeringBasics; + private Hide hide; + private Spawner obstacleSpawner; + + private WallAvoidance wallAvoid; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + hide = GetComponent(); + obstacleSpawner = GameObject.Find("ObstacleSpawner").GetComponent(); + + wallAvoid = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 hidePosition; + Vector3 hideAccel = hide.getSteering(target, obstacleSpawner.objs, out hidePosition); + + Vector3 accel = wallAvoid.getSteering(hidePosition - transform.position); + + if (accel.magnitude < 0.005f) + { + accel = hideAccel; + } + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/HideUnit.cs.meta b/Assets/Scripts/HideUnit.cs.meta new file mode 100644 index 0000000..ef545fe --- /dev/null +++ b/Assets/Scripts/HideUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8895fef33386c5d4eb6e38eb84205740 +timeCreated: 1445294691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/InterposeUnit.cs b/Assets/Scripts/InterposeUnit.cs new file mode 100644 index 0000000..34108a9 --- /dev/null +++ b/Assets/Scripts/InterposeUnit.cs @@ -0,0 +1,25 @@ +using UnityEngine; +using System.Collections; + +public class InterposeUnit : MonoBehaviour { + + public Rigidbody target1; + public Rigidbody target2; + + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = steeringBasics.interpose(target1, target2); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/InterposeUnit.cs.meta b/Assets/Scripts/InterposeUnit.cs.meta new file mode 100644 index 0000000..58217f6 --- /dev/null +++ b/Assets/Scripts/InterposeUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3536641d912cf8b4c9d3c259b62f5e24 +timeCreated: 1445204369 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement.meta b/Assets/Scripts/Movement.meta new file mode 100644 index 0000000..42eaaf7 --- /dev/null +++ b/Assets/Scripts/Movement.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3619010d62741404f97da7be43ca847b +folderAsset: yes +timeCreated: 1444774530 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Cohesion.cs b/Assets/Scripts/Movement/Cohesion.cs new file mode 100644 index 0000000..8c287ef --- /dev/null +++ b/Assets/Scripts/Movement/Cohesion.cs @@ -0,0 +1,46 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +[RequireComponent(typeof(SteeringBasics))] +public class Cohesion : MonoBehaviour { + + public float facingCosine = 120f; + + private float facingCosineVal; + + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start () { + facingCosineVal = Mathf.Cos(facingCosine * Mathf.Deg2Rad); + steeringBasics = GetComponent(); + } + + public Vector3 getSteering(ICollection targets) + { + Vector3 centerOfMass = Vector3.zero; + int count = 0; + + /* Sums up everyone's position who is close enough and in front of the character */ + foreach (Rigidbody r in targets) + { + if (steeringBasics.isFacing(r.position, facingCosineVal)) + { + centerOfMass += r.position; + count++; + } + } + + if (count == 0) + { + return Vector3.zero; + } + else + { + centerOfMass = centerOfMass / count; + + return steeringBasics.arrive(centerOfMass); + } + } +} diff --git a/Assets/Scripts/Movement/Cohesion.cs.meta b/Assets/Scripts/Movement/Cohesion.cs.meta new file mode 100644 index 0000000..633e1b2 --- /dev/null +++ b/Assets/Scripts/Movement/Cohesion.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1dcff34f8b3e02b44a21610e0e8c523b +timeCreated: 1445674703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/CollisionAvoidance.cs b/Assets/Scripts/Movement/CollisionAvoidance.cs new file mode 100644 index 0000000..8647f0e --- /dev/null +++ b/Assets/Scripts/Movement/CollisionAvoidance.cs @@ -0,0 +1,105 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class CollisionAvoidance : MonoBehaviour { + public float maxAcceleration = 15f; + + //public float agentRadius = 0.25f; + + private float characterRadius; + + private Rigidbody rb; + + // Use this for initialization + void Start() + { + characterRadius = SteeringBasics.getBoundingRadius(transform); + + rb = GetComponent(); + } + + public Vector3 getSteering(ICollection targets) + { + Vector3 acceleration = Vector3.zero; + + /* 1. Find the target that the character will collide with first */ + + /* The first collision time */ + float shortestTime = float.PositiveInfinity; + + /* The first target that will collide and other data that + * we will need and can avoid recalculating */ + Rigidbody firstTarget = null; + //float firstMinSeparation = 0, firstDistance = 0; + float firstMinSeparation = 0, firstDistance = 0, firstRadius = 0; + Vector3 firstRelativePos = Vector3.zero, firstRelativeVel = Vector3.zero; + + foreach (Rigidbody r in targets) + { + /* Calculate the time to collision */ + Vector3 relativePos = transform.position - r.position; + Vector3 relativeVel = rb.velocity - r.velocity; + float distance = relativePos.magnitude; + float relativeSpeed = relativeVel.magnitude; + + if (relativeSpeed == 0) + { + continue; + } + + float timeToCollision = -1 * Vector3.Dot(relativePos, relativeVel) / (relativeSpeed * relativeSpeed); + + /* Check if they will collide at all */ + Vector3 separation = relativePos + relativeVel * timeToCollision; + float minSeparation = separation.magnitude; + + float targetRadius = SteeringBasics.getBoundingRadius(r.transform); + + if (minSeparation > characterRadius + targetRadius) + //if (minSeparation > 2 * agentRadius) + { + continue; + } + + /* Check if its the shortest */ + if (timeToCollision > 0 && timeToCollision < shortestTime) + { + shortestTime = timeToCollision; + firstTarget = r; + firstMinSeparation = minSeparation; + firstDistance = distance; + firstRelativePos = relativePos; + firstRelativeVel = relativeVel; + firstRadius = targetRadius; + } + } + + /* 2. Calculate the steering */ + + /* If we have no target then exit */ + if (firstTarget == null) + { + return acceleration; + } + + /* If we are going to collide with no separation or if we are already colliding then + * steer based on current position */ + if (firstMinSeparation <= 0 || firstDistance < characterRadius + firstRadius) + //if (firstMinSeparation <= 0 || firstDistance < 2 * agentRadius) + { + acceleration = transform.position - firstTarget.position; + } + /* Else calculate the future relative position */ + else + { + acceleration = firstRelativePos + firstRelativeVel * shortestTime; + } + + /* Avoid the target */ + acceleration.Normalize(); + acceleration *= maxAcceleration; + + return acceleration; + } +} diff --git a/Assets/Scripts/Movement/CollisionAvoidance.cs.meta b/Assets/Scripts/Movement/CollisionAvoidance.cs.meta new file mode 100644 index 0000000..af4b0d2 --- /dev/null +++ b/Assets/Scripts/Movement/CollisionAvoidance.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0d0fb7ad878c96643a9ef33951d933ba +timeCreated: 1445040328 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Evade.cs b/Assets/Scripts/Movement/Evade.cs new file mode 100644 index 0000000..b2f64f0 --- /dev/null +++ b/Assets/Scripts/Movement/Evade.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(Flee))] +public class Evade : MonoBehaviour +{ + /* Maximum prediction time the pursue will predict in the future */ + public float maxPrediction = 1f; + + private Flee flee; + + // Use this for initialization + void Start() + { + flee = GetComponent(); + } + + public Vector3 getSteering(Rigidbody target) + { + /* Calculate the distance to the target */ + Vector3 displacement = target.position - transform.position; + float distance = displacement.magnitude; + + /* Get the targets's speed */ + float speed = target.velocity.magnitude; + + /* Calculate the prediction time */ + float prediction; + if (speed <= distance / maxPrediction) + { + prediction = maxPrediction; + } + else + { + prediction = distance / speed; + //Place the predicted position a little before the target reaches the character + prediction *= 0.9f; + } + + /* Put the target together based on where we think the target will be */ + Vector3 explicitTarget = target.position + target.velocity * prediction; + + return flee.getSteering(explicitTarget); + } +} diff --git a/Assets/Scripts/Movement/Evade.cs.meta b/Assets/Scripts/Movement/Evade.cs.meta new file mode 100644 index 0000000..6b51dac --- /dev/null +++ b/Assets/Scripts/Movement/Evade.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 52e7f349139dea54da032182166c26d8 +timeCreated: 1445141371 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Flee.cs b/Assets/Scripts/Movement/Flee.cs new file mode 100644 index 0000000..4156a53 --- /dev/null +++ b/Assets/Scripts/Movement/Flee.cs @@ -0,0 +1,66 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(Rigidbody))] +public class Flee : MonoBehaviour { + + public float panicDist = 3.5f; + + public bool decelerateOnStop = true; + + public float maxAcceleration = 10f; + + public float timeToTarget = 0.1f; + + private Rigidbody rb; + + // Use this for initialization + void Start () { + rb = GetComponent(); + } + + /* A flee steering behavior. Will return the steering for the current game object to flee a given position */ + public Vector3 getSteering(Vector3 targetPosition) + { + //Get the direction + Vector3 acceleration = transform.position - targetPosition; + + //If the target is far way then don't flee + if (acceleration.magnitude > panicDist) + { + //Slow down if we should decelerate on stop + if (decelerateOnStop && rb.velocity.magnitude > 0.001f) + { + //Decelerate to zero velocity in time to target amount of time + acceleration = -rb.velocity / timeToTarget; + + if (acceleration.magnitude > maxAcceleration) + { + acceleration = giveMaxAccel(acceleration); + } + + return acceleration; + } + else + { + rb.velocity = Vector2.zero; + return Vector3.zero; + } + } + + return giveMaxAccel(acceleration); + } + + private Vector3 giveMaxAccel(Vector3 v) + { + //Remove the z coordinate + v.z = 0; + + v.Normalize(); + + //Accelerate to the target + v *= maxAcceleration; + + return v; + } +} diff --git a/Assets/Scripts/Movement/Flee.cs.meta b/Assets/Scripts/Movement/Flee.cs.meta new file mode 100644 index 0000000..05e62de --- /dev/null +++ b/Assets/Scripts/Movement/Flee.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9cdf64bcab4d4d8468c92f1bc4b23f7c +timeCreated: 1445140127 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/FollowPath.cs b/Assets/Scripts/Movement/FollowPath.cs new file mode 100644 index 0000000..8f475fd --- /dev/null +++ b/Assets/Scripts/Movement/FollowPath.cs @@ -0,0 +1,66 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent (typeof (SteeringBasics))] +public class FollowPath : MonoBehaviour { + public float stopRadius = 0.005f; + + public float pathOffset = 0.71f; + + public float pathDirection = 1f; + + private SteeringBasics steeringBasics; + private Rigidbody rb; + + // Use this for initialization + void Start () { + steeringBasics = GetComponent (); + rb = GetComponent (); + } + + public Vector3 getSteering (LinePath path) { + return getSteering (path, false); + } + + public Vector3 getSteering (LinePath path, bool pathLoop) { + Vector3 targetPosition; + return getSteering(path, pathLoop, out targetPosition); + } + + public Vector3 getSteering (LinePath path, bool pathLoop, out Vector3 targetPosition) { + + // If the path has only one node then just go to that position; + if (path.Length == 1) { + targetPosition = path[0]; + } + // Else find the closest spot on the path to the character and go to that instead. + else { + if (!pathLoop) + { + /* Find the final destination of the character on this path */ + Vector2 finalDestination = (pathDirection > 0) ? path[path.Length - 1] : path[0]; + + /* If we are close enough to the final destination then either stop moving or reverse if + * the character is set to loop on paths */ + if (Vector2.Distance(transform.position, finalDestination) < stopRadius) + { + targetPosition = finalDestination; + + rb.velocity = Vector2.zero; + return Vector2.zero; + } + } + + /* Get the param for the closest position point on the path given the character's position */ + float param = path.getParam(transform.position); + + /* Move down the path */ + param += pathDirection * pathOffset; + + /* Set the target position */ + targetPosition = path.getPosition(param, pathLoop); + } + + return steeringBasics.arrive(targetPosition); + } +} diff --git a/Assets/Scripts/Movement/FollowPath.cs.meta b/Assets/Scripts/Movement/FollowPath.cs.meta new file mode 100644 index 0000000..f5ef768 --- /dev/null +++ b/Assets/Scripts/Movement/FollowPath.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 049423ef460e2524186c56ba0e274368 +timeCreated: 1440216999 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Hide.cs b/Assets/Scripts/Movement/Hide.cs new file mode 100644 index 0000000..6333b1a --- /dev/null +++ b/Assets/Scripts/Movement/Hide.cs @@ -0,0 +1,64 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +[RequireComponent(typeof(SteeringBasics))] +[RequireComponent(typeof(Evade))] +public class Hide : MonoBehaviour { + public float distanceFromBoundary = 0.6f; + + private SteeringBasics steeringBasics; + private Evade evade; + + // Use this for initialization + void Start () { + steeringBasics = GetComponent(); + evade = GetComponent(); + } + + public Vector3 getSteering(Rigidbody target, ICollection obstacles) + { + Vector3 bestHidingSpot; + return getSteering(target, obstacles, out bestHidingSpot); + } + + public Vector3 getSteering(Rigidbody target, ICollection obstacles, out Vector3 bestHidingSpot) + { + //Find the closest hiding spot + float distToClostest = Mathf.Infinity; + bestHidingSpot = Vector3.zero; + + foreach(Rigidbody r in obstacles) + { + Vector3 hidingSpot = getHidingPosition(r, target); + + float dist = Vector3.Distance(hidingSpot, transform.position); + + if(dist < distToClostest) + { + distToClostest = dist; + bestHidingSpot = hidingSpot; + } + } + + //If no hiding spot is found then just evade the enemy + if(distToClostest == Mathf.Infinity) + { + return evade.getSteering(target); + } + + //Debug.DrawLine(transform.position, bestHidingSpot); + + return steeringBasics.arrive(bestHidingSpot); + } + + private Vector3 getHidingPosition(Rigidbody obstacle, Rigidbody target) + { + float distAway = SteeringBasics.getBoundingRadius(obstacle.transform) + distanceFromBoundary; + + Vector3 dir = obstacle.position - target.position; + dir.Normalize(); + + return obstacle.position + dir * distAway; + } +} diff --git a/Assets/Scripts/Movement/Hide.cs.meta b/Assets/Scripts/Movement/Hide.cs.meta new file mode 100644 index 0000000..92f0b1c --- /dev/null +++ b/Assets/Scripts/Movement/Hide.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8303b41d5b5e59846808128b46019c95 +timeCreated: 1445294684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/LinePath.cs b/Assets/Scripts/Movement/LinePath.cs new file mode 100644 index 0000000..1c67b73 --- /dev/null +++ b/Assets/Scripts/Movement/LinePath.cs @@ -0,0 +1,193 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using System; + +[System.Serializable] +public class LinePath { + public Vector3[] nodes; + private float[] distances; + [System.NonSerialized] + public float maxDist; + + // Indexer declaration. + public Vector3 this[int i] + { + get + { + return nodes[i]; + } + + set + { + nodes[i] = value; + } + } + + public int Length + { + get { + return nodes.Length; + } + } + + public Vector3 endNode { + get { + return nodes[nodes.Length-1]; + } + } + + /* This function creates a path of line segments */ + public LinePath(Vector3[] nodes) { + this.nodes = nodes; + + calcDistances(); + } + + /* Loops through the path's nodes and determines how far each node in the path is + * from the starting node */ + public void calcDistances() { + distances = new float[nodes.Length]; + distances[0] = 0; + + for(var i = 0; i < nodes.Length - 1; i++) { + distances[i+1] = distances[i] + Vector3.Distance(nodes[i], nodes[i+1]); + } + + maxDist = distances[distances.Length-1]; + } + + /* Draws the path in the scene view */ + public void draw() { + for (int i = 0; i < nodes.Length-1; i++) { + Debug.DrawLine(nodes[i], nodes[i+1], Color.cyan, 0.0f, false); + } + } + + /* Gets the param for the closest point on the path given a position */ + public float getParam(Vector3 position) { + int closestSegment = getClosestSegment(position); + + float param = this.distances[closestSegment] + getParamForSegment(position, nodes[closestSegment], nodes[closestSegment+1]); + + return param; + } + + public int getClosestSegment(Vector3 position) { + /* Find the first point in the closest line segment to the path */ + float closestDist = distToSegment(position, nodes[0], nodes[1]); + int closestSegment = 0; + + for(int i = 1; i < nodes.Length - 1; i++) { + float dist = distToSegment(position, nodes[i], nodes[i+1]); + + if(dist <= closestDist) { + closestDist = dist; + closestSegment = i; + } + } + + return closestSegment; + } + + /* Given a param it gets the position on the path */ + public Vector3 getPosition(float param, bool pathLoop = false) { + /* Make sure the param is not past the beginning or end of the path */ + if (param < 0) { + param = (pathLoop) ? param + maxDist : 0; + } else if (param > maxDist) { + param = (pathLoop) ? param - maxDist : maxDist; + } + + /* Find the first node that is farther than given param */ + int i = 0; + for(; i < distances.Length; i++) { + if(distances[i] > param) { + break; + } + } + + /* Convert it to the first node of the line segment that the param is in */ + if (i > distances.Length - 2) { + i = distances.Length - 2; + } else { + i -= 1; + } + + /* Get how far along the line segment the param is */ + float t = (param - distances[i]) / Vector3.Distance(nodes[i], nodes[i+1]); + + /* Get the position of the param */ + return Vector3.Lerp(nodes[i], nodes[i+1], t); + } + + /* Gives the distance of a point to a line segment. + * p is the point, v and w are the two points of the line segment */ + private static float distToSegment(Vector3 p, Vector3 v, Vector3 w) { + Vector3 vw = w - v; + + float l2 = Vector3.Dot(vw, vw); + + if (l2 == 0) { + return Vector3.Distance(p, v); + } + + float t = Vector3.Dot(p - v, vw) / l2; + + if (t < 0) { + return Vector3.Distance(p, v); + } + + if (t > 1) { + return Vector3.Distance(p, w); + } + + Vector3 closestPoint = Vector3.Lerp(v, w, t); + + return Vector3.Distance(p, closestPoint); + } + + /* Finds the param for the closest point on the segment vw given the point p */ + private static float getParamForSegment(Vector3 p, Vector3 v, Vector3 w) { + Vector3 vw = w - v; + + float l2 = Vector3.Dot(vw, vw); + + if (l2 == 0) { + return 0; + } + + float t = Vector3.Dot(p - v, vw) / l2; + + if(t < 0) { + t = 0; + } else if (t > 1) { + t = 1; + } + + return t * Mathf.Sqrt(l2); + } + + public void removeNode(int i ) { + Vector3[] newNodes = new Vector3[nodes.Length - 1]; + + int newNodesIndex = 0; + for (int j = 0; j < newNodes.Length; j++) { + if(j != i) { + newNodes[newNodesIndex] = nodes[j]; + newNodesIndex++; + } + } + + this.nodes = newNodes; + + calcDistances(); + } + + public void reversePath() + { + Array.Reverse(nodes); + + calcDistances(); + } +} diff --git a/Assets/Scripts/Movement/LinePath.cs.meta b/Assets/Scripts/Movement/LinePath.cs.meta new file mode 100644 index 0000000..525ff97 --- /dev/null +++ b/Assets/Scripts/Movement/LinePath.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 973b14114335987478bf67e5fd96e242 +timeCreated: 1444774557 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/NearSensor.cs b/Assets/Scripts/Movement/NearSensor.cs new file mode 100644 index 0000000..f4ab3af --- /dev/null +++ b/Assets/Scripts/Movement/NearSensor.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class NearSensor : MonoBehaviour { + + public HashSet targets = new HashSet(); + + void OnTriggerEnter(Collider other) { + targets.Add (other.GetComponent()); + } + + void OnTriggerExit(Collider other) { + targets.Remove (other.GetComponent()); + } +} diff --git a/Assets/Scripts/Movement/NearSensor.cs.meta b/Assets/Scripts/Movement/NearSensor.cs.meta new file mode 100644 index 0000000..8d49322 --- /dev/null +++ b/Assets/Scripts/Movement/NearSensor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6cfdaa6b4aa86854cad04292e279f62e +timeCreated: 1445040604 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/OffsetPursuit.cs b/Assets/Scripts/Movement/OffsetPursuit.cs new file mode 100644 index 0000000..19a50e5 --- /dev/null +++ b/Assets/Scripts/Movement/OffsetPursuit.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SteeringBasics))] +public class OffsetPursuit : MonoBehaviour { + /* Maximum prediction time the pursue will predict in the future */ + public float maxPrediction = 1f; + + private Rigidbody rb; + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start() + { + rb = GetComponent(); + steeringBasics = GetComponent(); + } + + public Vector3 getSteering(Rigidbody target, Vector3 offset) + { + Vector3 targetPos; + return getSteering(target, offset, out targetPos); + } + + public Vector3 getSteering(Rigidbody target, Vector3 offset, out Vector3 targetPos) + { + Vector3 worldOffsetPos = target.position + target.transform.TransformDirection(offset); + + //Debug.DrawLine(transform.position, worldOffsetPos); + + /* Calculate the distance to the offset point */ + Vector3 displacement = worldOffsetPos - transform.position; + float distance = displacement.magnitude; + + /* Get the character's speed */ + float speed = rb.velocity.magnitude; + + /* Calculate the prediction time */ + float prediction; + if (speed <= distance / maxPrediction) + { + prediction = maxPrediction; + } + else + { + prediction = distance / speed; + } + + /* Put the target together based on where we think the target will be */ + targetPos = worldOffsetPos + target.velocity * prediction; + + return steeringBasics.arrive(targetPos); + } +} diff --git a/Assets/Scripts/Movement/OffsetPursuit.cs.meta b/Assets/Scripts/Movement/OffsetPursuit.cs.meta new file mode 100644 index 0000000..6e9ac47 --- /dev/null +++ b/Assets/Scripts/Movement/OffsetPursuit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5663dbf892c30d74caacee862f4f7134 +timeCreated: 1445384830 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Pursue.cs b/Assets/Scripts/Movement/Pursue.cs new file mode 100644 index 0000000..f0645ee --- /dev/null +++ b/Assets/Scripts/Movement/Pursue.cs @@ -0,0 +1,43 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SteeringBasics))] +public class Pursue : MonoBehaviour +{ + /* Maximum prediction time the pursue will predict in the future */ + public float maxPrediction = 1f; + + private Rigidbody rb; + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start () { + rb = GetComponent(); + steeringBasics = GetComponent(); + } + + public Vector3 getSteering (Rigidbody target) { + /* Calculate the distance to the target */ + Vector3 displacement = target.position - transform.position; + float distance = displacement.magnitude; + + /* Get the character's speed */ + float speed = rb.velocity.magnitude; + + /* Calculate the prediction time */ + float prediction; + if (speed <= distance / maxPrediction) + { + prediction = maxPrediction; + } + else + { + prediction = distance / speed; + } + + /* Put the target together based on where we think the target will be */ + Vector3 explicitTarget = target.position + target.velocity*prediction; + + return steeringBasics.seek(explicitTarget); + } +} diff --git a/Assets/Scripts/Movement/Pursue.cs.meta b/Assets/Scripts/Movement/Pursue.cs.meta new file mode 100644 index 0000000..ca01694 --- /dev/null +++ b/Assets/Scripts/Movement/Pursue.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e2da78e0f74f9cf449361cf180272705 +timeCreated: 1445138555 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Separation.cs b/Assets/Scripts/Movement/Separation.cs new file mode 100644 index 0000000..ea814b4 --- /dev/null +++ b/Assets/Scripts/Movement/Separation.cs @@ -0,0 +1,48 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class Separation : MonoBehaviour { + + /* The maximum acceleration for separation */ + public float sepMaxAcceleration = 25; + + /* This should be the maximum separation distance possible between a separation + * target and the character. + * So it should be: separation sensor radius + max target radius */ + public float maxSepDist = 1f; + + private float boundingRadius; + + // Use this for initialization + void Start() + { + boundingRadius = SteeringBasics.getBoundingRadius(transform); + } + + public Vector3 getSteering(ICollection targets) + { + Vector3 acceleration = Vector3.zero; + + foreach (Rigidbody r in targets) + { + /* Get the direction and distance from the target */ + Vector3 direction = transform.position - r.position; + float dist = direction.magnitude; + + if (dist < maxSepDist) + { + float targetRadius = SteeringBasics.getBoundingRadius(r.transform); + + /* Calculate the separation strength (can be changed to use inverse square law rather than linear) */ + var strength = sepMaxAcceleration * (maxSepDist - dist) / (maxSepDist - boundingRadius - targetRadius); + + /* Added separation acceleration to the existing steering */ + direction.Normalize(); + acceleration += direction * strength; + } + } + + return acceleration; + } +} diff --git a/Assets/Scripts/Movement/Separation.cs.meta b/Assets/Scripts/Movement/Separation.cs.meta new file mode 100644 index 0000000..89efe6a --- /dev/null +++ b/Assets/Scripts/Movement/Separation.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4b54d0c5e57344f4994540c2b983849a +timeCreated: 1445542880 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/SteeringBasics.cs b/Assets/Scripts/Movement/SteeringBasics.cs new file mode 100644 index 0000000..6a0a004 --- /dev/null +++ b/Assets/Scripts/Movement/SteeringBasics.cs @@ -0,0 +1,201 @@ +using UnityEngine; +using System.Collections; + +/* A helper class for steering a game object in 2D */ +using System.Collections.Generic; + + +[RequireComponent (typeof (Rigidbody))] +public class SteeringBasics : MonoBehaviour { + + public float maxVelocity = 3.5f; + + /* The maximum acceleration */ + public float maxAcceleration = 10f; + + /* The radius from the target that means we are close enough and have arrived */ + public float targetRadius = 0.005f; + + /* The radius from the target where we start to slow down */ + public float slowRadius = 1f; + + /* The time in which we want to achieve the targetSpeed */ + public float timeToTarget = 0.1f; + + public float turnSpeed = 20f; + + private Rigidbody rb; + + public bool smoothing = true; + public int numSamplesForSmoothing = 5; + private Queue velocitySamples = new Queue(); + + // Use this for initialization + void Start () { + rb = GetComponent (); + } + + /* Updates the velocity of the current game object by the given linear acceleration */ + public void steer(Vector3 linearAcceleration) { + rb.velocity += linearAcceleration * Time.deltaTime; + + if (rb.velocity.magnitude > maxVelocity) { + rb.velocity = rb.velocity.normalized * maxVelocity; + } + } + + public void steer(Vector2 linearAcceleration) { + this.steer (new Vector3 (linearAcceleration.x, linearAcceleration.y, 0)); + } + + /* A seek steering behavior. Will return the steering for the current game object to seek a given position */ + public Vector3 seek(Vector3 targetPosition, float maxSeekAccel) { + //Get the direction + Vector3 acceleration = targetPosition - transform.position; + + //Remove the z coordinate + acceleration.z = 0; + + acceleration.Normalize (); + + //Accelerate to the target + acceleration *= maxSeekAccel; + + return acceleration; + } + + public Vector3 seek(Vector3 targetPosition) + { + return seek(targetPosition, maxAcceleration); + } + + /* Makes the current game object look where he is going */ + public void lookWhereYoureGoing() { + Vector2 direction = rb.velocity; + + if (smoothing) { + if (velocitySamples.Count == numSamplesForSmoothing) { + velocitySamples.Dequeue (); + } + + velocitySamples.Enqueue (rb.velocity); + + direction = Vector2.zero; + + foreach (Vector2 v in velocitySamples) { + direction += v; + } + + direction /= velocitySamples.Count; + } + + lookAtDirection (direction); + } + + public void lookAtDirection(Vector2 direction) { + direction.Normalize(); + + // If we have a non-zero direction then look towards that direciton otherwise do nothing + if (direction.sqrMagnitude > 0.001f) { + float toRotation = (Mathf.Atan2 (direction.y, direction.x) * Mathf.Rad2Deg); + float rotation = Mathf.LerpAngle(transform.rotation.eulerAngles.z, toRotation, Time.deltaTime*turnSpeed); + + transform.rotation = Quaternion.Euler(0, 0, rotation); + } + } + + public void lookAtDirection(Quaternion toRotation) + { + lookAtDirection(toRotation.eulerAngles.z); + } + + public void lookAtDirection(float toRotation) + { + float rotation = Mathf.LerpAngle(transform.rotation.eulerAngles.z, toRotation, Time.deltaTime * turnSpeed); + + transform.rotation = Quaternion.Euler(0, 0, rotation); + } + + /* Returns the steering for a character so it arrives at the target */ + public Vector3 arrive(Vector3 targetPosition) { + /* Get the right direction for the linear acceleration */ + Vector3 targetVelocity = targetPosition - transform.position; + + // Remove the z coordinate + targetVelocity.z = 0; + + /* Get the distance to the target */ + float dist = targetVelocity.magnitude; + + /* If we are within the stopping radius then stop */ + if(dist < targetRadius) { + rb.velocity = Vector2.zero; + return Vector2.zero; + } + + /* Calculate the target speed, full speed at slowRadius distance and 0 speed at 0 distance */ + float targetSpeed; + if(dist > slowRadius) { + targetSpeed = maxVelocity; + } else { + targetSpeed = maxVelocity * (dist / slowRadius); + } + + /* Give targetVelocity the correct speed */ + targetVelocity.Normalize(); + targetVelocity *= targetSpeed; + + /* Calculate the linear acceleration we want */ + Vector3 acceleration = targetVelocity - new Vector3(rb.velocity.x, rb.velocity.y, 0); + /* + Rather than accelerate the character to the correct speed in 1 second, + accelerate so we reach the desired speed in timeToTarget seconds + (if we were to actually accelerate for the full timeToTarget seconds). + */ + acceleration *= 1/timeToTarget; + + /* Make sure we are accelerating at max acceleration */ + if(acceleration.magnitude > maxAcceleration) { + acceleration.Normalize(); + acceleration *= maxAcceleration; + } + + return acceleration; + } + + public Vector3 interpose(Rigidbody target1, Rigidbody target2) + { + Vector3 midPoint = (target1.position + target2.position) / 2; + + float timeToReachMidPoint = Vector3.Distance(midPoint, transform.position) / maxVelocity; + + Vector3 futureTarget1Pos = target1.position + target1.velocity * timeToReachMidPoint; + Vector3 futureTarget2Pos = target2.position + target2.velocity * timeToReachMidPoint; + + midPoint = (futureTarget1Pos + futureTarget2Pos) / 2; + + return arrive(midPoint); + } + + /* Checks to see if the target is in front of the character */ + public bool isInFront(Vector3 target) + { + return isFacing(target, 0); + } + + public bool isFacing(Vector3 target, float cosineValue) { + Vector2 facing = transform.right.normalized; + + Vector2 directionToTarget = (target - transform.position); + directionToTarget.Normalize(); + + return Vector2.Dot(facing, directionToTarget) >= cosineValue; + } + + public static float getBoundingRadius(Transform t) + { + SphereCollider col = t.GetComponent(); + return Mathf.Max(t.localScale.x, t.localScale.y, t.localScale.z) * col.radius; + } + +} \ No newline at end of file diff --git a/Assets/Scripts/Movement/SteeringBasics.cs.meta b/Assets/Scripts/Movement/SteeringBasics.cs.meta new file mode 100644 index 0000000..fc01f4c --- /dev/null +++ b/Assets/Scripts/Movement/SteeringBasics.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a6f58141e9f357e448fd2fa6f1afc1f7 +timeCreated: 1440217000 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/VelocityMatch.cs b/Assets/Scripts/Movement/VelocityMatch.cs new file mode 100644 index 0000000..0f00080 --- /dev/null +++ b/Assets/Scripts/Movement/VelocityMatch.cs @@ -0,0 +1,64 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +[RequireComponent(typeof(SteeringBasics))] +public class VelocityMatch : MonoBehaviour +{ + + public float facingCosine = 90; + public float timeToTarget = 0.1f; + public float maxAcceleration = 4f; + + private float facingCosineVal; + + private Rigidbody rb; + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start() + { + facingCosineVal = Mathf.Cos(facingCosine * Mathf.Deg2Rad); + + rb = GetComponent(); + steeringBasics = GetComponent(); + } + + public Vector3 getSteering(ICollection targets) + { + Vector3 accel = Vector3.zero; + int count = 0; + + foreach (Rigidbody r in targets) + { + if (steeringBasics.isFacing(r.position, facingCosineVal)) + { + /* Calculate the acceleration we want to match this target */ + Vector3 a = r.velocity - rb.velocity; + /* + Rather than accelerate the character to the correct speed in 1 second, + accelerate so we reach the desired speed in timeToTarget seconds + (if we were to actually accelerate for the full timeToTarget seconds). + */ + a = a / timeToTarget; + + accel += a; + + count++; + } + } + + if (count > 0) + { + accel = accel / count; + + /* Make sure we are accelerating at max acceleration */ + if (accel.magnitude > maxAcceleration) + { + accel = accel.normalized * maxAcceleration; + } + } + + return accel; + } +} diff --git a/Assets/Scripts/Movement/VelocityMatch.cs.meta b/Assets/Scripts/Movement/VelocityMatch.cs.meta new file mode 100644 index 0000000..16485dd --- /dev/null +++ b/Assets/Scripts/Movement/VelocityMatch.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 712fa36ac13bbc043b7aabcad738e7dc +timeCreated: 1445675196 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/WallAvoidance.cs b/Assets/Scripts/Movement/WallAvoidance.cs new file mode 100644 index 0000000..55801d0 --- /dev/null +++ b/Assets/Scripts/Movement/WallAvoidance.cs @@ -0,0 +1,97 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SteeringBasics))] +public class WallAvoidance : MonoBehaviour { + + /* How far ahead the ray should extend */ + public float mainWhiskerLen = 1.25f; + + /* The distance away from the collision that we wish go */ + public float wallAvoidDistance = 0.5f; + + public float sideWhiskerLen = 0.701f; + + public float sideWhiskerAngle = 45f; + + public float maxAcceleration = 40f; + + private Rigidbody rb; + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start () { + rb = GetComponent(); + steeringBasics = GetComponent(); + } + + public Vector3 getSteering() + { + return getSteering(rb.velocity); + } + + public Vector3 getSteering(Vector3 facingDir) + { + Vector3 acceleration = Vector3.zero; + + /* Creates the ray direction vector */ + Vector3[] rayDirs = new Vector3[3]; + rayDirs[0] = facingDir.normalized; + + float orientation = Mathf.Atan2(rb.velocity.y, rb.velocity.x); + + rayDirs[1] = orientationToVector(orientation + sideWhiskerAngle * Mathf.Deg2Rad); + rayDirs[2] = orientationToVector(orientation - sideWhiskerAngle * Mathf.Deg2Rad); + + RaycastHit hit; + + /* If no collision do nothing */ + if (!findObstacle(rayDirs, out hit)) + { + return acceleration; + } + + /* Create a target away from the wall to seek */ + Vector3 targetPostition = hit.point + hit.normal * wallAvoidDistance; + + /* If velocity and the collision normal are parallel then move the target a bit to + the left or right of the normal */ + Vector3 cross = Vector3.Cross(rb.velocity, hit.normal); + if (cross.magnitude < 0.005f) + { + targetPostition = targetPostition + new Vector3(-hit.normal.y, hit.normal.x, hit.normal.z); + } + + return steeringBasics.seek(targetPostition, maxAcceleration); + } + + /* Returns the orientation as a unit vector */ + private Vector3 orientationToVector(float orientation) + { + return new Vector3(Mathf.Cos(orientation), Mathf.Sin(orientation), 0); + } + + private bool findObstacle(Vector3[] rayDirs, out RaycastHit firstHit) + { + firstHit = new RaycastHit(); + bool foundObs = false; + + for (int i = 0; i < rayDirs.Length; i++) + { + float rayDist = (i == 0) ? mainWhiskerLen : sideWhiskerLen; + + RaycastHit hit; + + if (Physics.Raycast(transform.position, rayDirs[i], out hit, rayDist)) + { + foundObs = true; + firstHit = hit; + break; + } + + //Debug.DrawLine(transform.position, transform.position + rayDirs[i] * rayDist); + } + + return foundObs; + } +} diff --git a/Assets/Scripts/Movement/WallAvoidance.cs.meta b/Assets/Scripts/Movement/WallAvoidance.cs.meta new file mode 100644 index 0000000..4b4b15b --- /dev/null +++ b/Assets/Scripts/Movement/WallAvoidance.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e008bb997f9e8cc42a7861ed1e5b45ea +timeCreated: 1445034832 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Wander1.cs b/Assets/Scripts/Movement/Wander1.cs new file mode 100644 index 0000000..a42b796 --- /dev/null +++ b/Assets/Scripts/Movement/Wander1.cs @@ -0,0 +1,61 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SteeringBasics))] +public class Wander1 : MonoBehaviour { + + /* The forward offset of the wander square */ + public float wanderOffset = 1.5f; + + /* The radius of the wander square */ + public float wanderRadius = 4; + + /* The rate at which the wander orientation can change */ + public float wanderRate = 0.4f; + + private float wanderOrientation = 0; + + private SteeringBasics steeringBasics; + + //private GameObject debugRing; + + void Start() { + // DebugDraw debugDraw = gameObject.GetComponent (); + // debugRing = debugDraw.createRing (Vector3.zero, wanderRadius); + + steeringBasics = GetComponent (); + } + + public Vector3 getSteering() { + float characterOrientation = transform.rotation.eulerAngles.z * Mathf.Deg2Rad; + + /* Update the wander orientation */ + wanderOrientation += randomBinomial() * wanderRate; + + /* Calculate the combined target orientation */ + float targetOrientation = wanderOrientation + characterOrientation; + + /* Calculate the center of the wander circle */ + Vector3 targetPosition = transform.position + (orientationToVector (characterOrientation) * wanderOffset); + + //debugRing.transform.position = targetPosition; + + /* Calculate the target position */ + targetPosition = targetPosition + (orientationToVector(targetOrientation) * wanderRadius); + + //Debug.DrawLine (transform.position, targetPosition); + + return steeringBasics.seek (targetPosition); + } + + /* Returns a random number between -1 and 1. Values around zero are more likely. */ + float randomBinomial() { + return Random.value - Random.value; + } + + /* Returns the orientation as a unit vector */ + Vector3 orientationToVector(float orientation) { + return new Vector3(Mathf.Cos(orientation), Mathf.Sin(orientation), 0); + } + +} diff --git a/Assets/Scripts/Movement/Wander1.cs.meta b/Assets/Scripts/Movement/Wander1.cs.meta new file mode 100644 index 0000000..1661588 --- /dev/null +++ b/Assets/Scripts/Movement/Wander1.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 22a41feec586bae4ba2177d8457b7fa2 +timeCreated: 1444782458 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Movement/Wander2.cs b/Assets/Scripts/Movement/Wander2.cs new file mode 100644 index 0000000..df1da0c --- /dev/null +++ b/Assets/Scripts/Movement/Wander2.cs @@ -0,0 +1,49 @@ +using UnityEngine; +using System.Collections; + +public class Wander2 : MonoBehaviour { + + public float wanderRadius = 1.2f; + + public float wanderDistance = 2f; + + //maximum amount of random displacement a second + public float wanderJitter = 40f; + + private Vector3 wanderTarget; + + private SteeringBasics steeringBasics; + + void Start() + { + //stuff for the wander behavior + float theta = Random.value * 2 * Mathf.PI; + + //create a vector to a target position on the wander circle + wanderTarget = new Vector3(wanderRadius * Mathf.Cos(theta), wanderRadius * Mathf.Sin(theta), 0f); + + steeringBasics = GetComponent(); + } + + public Vector3 getSteering() + { + //get the jitter for this time frame + float jitter = wanderJitter * Time.deltaTime; + + //add a small random vector to the target's position + wanderTarget += new Vector3(Random.Range(-1f, 1f) * jitter, Random.Range(-1f, 1f) * jitter, 0f); + + //make the wanderTarget fit on the wander circle again + wanderTarget.Normalize(); + wanderTarget *= wanderRadius; + + //move the target in front of the character + Vector3 targetPosition = transform.position + transform.right * wanderDistance + wanderTarget; + + //Debug.DrawLine(transform.position, targetPosition); + + return steeringBasics.seek(targetPosition); + } + + +} diff --git a/Assets/Scripts/Movement/Wander2.cs.meta b/Assets/Scripts/Movement/Wander2.cs.meta new file mode 100644 index 0000000..56f0791 --- /dev/null +++ b/Assets/Scripts/Movement/Wander2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b5943b3ef333d3b45b456e9a8ce26d40 +timeCreated: 1444786057 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OffsetPursuitUnit.cs b/Assets/Scripts/OffsetPursuitUnit.cs new file mode 100644 index 0000000..c62a602 --- /dev/null +++ b/Assets/Scripts/OffsetPursuitUnit.cs @@ -0,0 +1,44 @@ +using UnityEngine; +using System.Collections; + +public class OffsetPursuitUnit : MonoBehaviour { + + public Rigidbody target; + public Vector3 offset; + public float groupLookDist = 1.5f; + + private SteeringBasics steeringBasics; + private OffsetPursuit offsetPursuit; + private Separation separation; + + private NearSensor sensor; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + offsetPursuit = GetComponent(); + separation = GetComponent(); + + sensor = transform.Find("SeparationSensor").GetComponent(); + } + + // Update is called once per frame + void LateUpdate() + { + Vector3 targetPos; + Vector3 offsetAccel = offsetPursuit.getSteering(target, offset, out targetPos); + Vector3 sepAccel = separation.getSteering(sensor.targets); + + steeringBasics.steer(offsetAccel + sepAccel); + + /* If we are still arriving then look where we are going, else look the same direction as our formation target */ + if (Vector3.Distance(transform.position, targetPos) > groupLookDist) + { + steeringBasics.lookWhereYoureGoing(); + } else + { + steeringBasics.lookAtDirection(target.rotation); + } + } +} diff --git a/Assets/Scripts/OffsetPursuitUnit.cs.meta b/Assets/Scripts/OffsetPursuitUnit.cs.meta new file mode 100644 index 0000000..b5c8d3c --- /dev/null +++ b/Assets/Scripts/OffsetPursuitUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 06dca02ef11e90749b6ab44ba79f30da +timeCreated: 1445384844 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PursueUnit.cs b/Assets/Scripts/PursueUnit.cs new file mode 100644 index 0000000..82f175b --- /dev/null +++ b/Assets/Scripts/PursueUnit.cs @@ -0,0 +1,24 @@ +using UnityEngine; +using System.Collections; + +public class PursueUnit : MonoBehaviour { + + public Rigidbody target; + + private SteeringBasics steeringBasics; + private Pursue pursue; + + // Use this for initialization + void Start () { + steeringBasics = GetComponent(); + pursue = GetComponent(); + } + + // Update is called once per frame + void Update () { + Vector3 accel = pursue.getSteering(target); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/PursueUnit.cs.meta b/Assets/Scripts/PursueUnit.cs.meta new file mode 100644 index 0000000..6888227 --- /dev/null +++ b/Assets/Scripts/PursueUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 28a5ea66325b4b34bb7fdd2c5706ca3e +timeCreated: 1445138563 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ScreenBoundary.cs b/Assets/Scripts/ScreenBoundary.cs new file mode 100644 index 0000000..a0dafbc --- /dev/null +++ b/Assets/Scripts/ScreenBoundary.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using System.Collections; + +public class ScreenBoundary : MonoBehaviour { + + private Vector3 bottomLeft; + private Vector3 topRight; + private Vector3 widthHeight; + + // Use this for initialization + void Start () { + float z = -1*Camera.main.transform.position.z; + + bottomLeft = Camera.main.ViewportToWorldPoint(new Vector3(0, 0, z)); + topRight = Camera.main.ViewportToWorldPoint(new Vector3(1, 1, z)); + widthHeight = topRight - bottomLeft; + + transform.localScale = new Vector3(widthHeight.x, widthHeight.y, transform.localScale.z); + } + + void OnTriggerStay(Collider other) + { + Transform t = other.transform; + + if (t.position.x < bottomLeft.x) + { + t.position = new Vector3(t.position.x + widthHeight.x, t.position.y, t.position.z); + } + + if (t.position.x > topRight.x) + { + t.position = new Vector3(t.position.x - widthHeight.x, t.position.y, t.position.z); + } + + if (t.position.y < bottomLeft.y) + { + t.position = new Vector3(t.position.x, t.position.y + widthHeight.y, t.position.z); + } + + if (t.position.y > topRight.y) + { + t.position = new Vector3(t.position.x, t.position.y - widthHeight.y, t.position.z); + } + } +} diff --git a/Assets/Scripts/ScreenBoundary.cs.meta b/Assets/Scripts/ScreenBoundary.cs.meta new file mode 100644 index 0000000..f83049f --- /dev/null +++ b/Assets/Scripts/ScreenBoundary.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 69e649a4f3e436244b1498ab2c59107d +timeCreated: 1445036316 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SeekUnit.cs b/Assets/Scripts/SeekUnit.cs new file mode 100644 index 0000000..1655374 --- /dev/null +++ b/Assets/Scripts/SeekUnit.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using System.Collections; + +public class SeekUnit : MonoBehaviour { + + public Transform target; + + private SteeringBasics steeringBasics; + + // Use this for initialization + void Start () { + steeringBasics = GetComponent(); + } + + // Update is called once per frame + void Update () { + Vector3 accel = steeringBasics.seek(target.position); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/SeekUnit.cs.meta b/Assets/Scripts/SeekUnit.cs.meta new file mode 100644 index 0000000..13cb983 --- /dev/null +++ b/Assets/Scripts/SeekUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4ae73ab1d415c7c4a9ffbd954f482d15 +timeCreated: 1445123948 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Spawner.cs b/Assets/Scripts/Spawner.cs new file mode 100644 index 0000000..50672c2 --- /dev/null +++ b/Assets/Scripts/Spawner.cs @@ -0,0 +1,112 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class Spawner : MonoBehaviour { + + public Transform obj; + public Vector2 objectSizeRange = new Vector2(1, 2); + public int numberOfObjects = 10; + public bool randomizeOrientation = false; + public float boundaryPadding = 1f; + public float spaceBetweenObjects = 1f; + public Transform[] thingsToAvoid; + + private Vector3 bottomLeft; + private Vector3 widthHeight; + + private float[] thingsToAvoidRadius; + + [System.NonSerialized] + public List objs = new List(); + + // Use this for initialization + void Start() + { + //Find the size of the map + float z = -1 * Camera.main.transform.position.z; + + bottomLeft = Camera.main.ViewportToWorldPoint(new Vector3(0, 0, z)); + Vector3 topRight = Camera.main.ViewportToWorldPoint(new Vector3(1, 1, z)); + widthHeight = topRight - bottomLeft; + + //Find the radius' of the things to avoid + thingsToAvoidRadius = new float[thingsToAvoid.Length]; + + for (int i = 0; i < thingsToAvoid.Length; i++) + { + thingsToAvoidRadius[i] = SteeringBasics.getBoundingRadius(thingsToAvoid[i].transform); + } + + //Create the create the objects + for (int i = 0; i < numberOfObjects; i++) + { + //Try to place the objects multiple times before giving up + for(int j = 0; j < 10; j++) + { + if(tryToCreateObject()) + { + break; + } + } + } + } + + private bool tryToCreateObject() + { + float size = Random.Range(objectSizeRange.x, objectSizeRange.y); + float halfSize = size / 2f; + + Vector3 pos = new Vector3(); + pos.x = bottomLeft.x + Random.Range(boundaryPadding + halfSize, widthHeight.x - boundaryPadding - halfSize); + pos.y = bottomLeft.y + Random.Range(boundaryPadding + halfSize, widthHeight.y - boundaryPadding - halfSize); + + if(canPlaceObject(halfSize, pos)) + { + Transform t = Instantiate(obj, pos, Quaternion.identity) as Transform; + t.localScale = new Vector3(size, size, obj.localScale.z); + + if(randomizeOrientation) + { + Vector3 euler = transform.eulerAngles; + euler.z = Random.Range(0f, 360f); + transform.eulerAngles = euler; + } + + objs.Add(t.GetComponent()); + + return true; + } + + return false; + } + + private bool canPlaceObject(float halfSize, Vector3 pos) + { + //Make sure it does not overlap with any thing to avoid + for (int i = 0; i < thingsToAvoid.Length; i++) + { + float dist = Vector3.Distance(thingsToAvoid[i].position, pos); + + if(dist < halfSize + thingsToAvoidRadius[i]) + { + return false; + } + } + + //Make sure it does not overlap with any existing object + foreach(Rigidbody o in objs) + { + float dist = Vector3.Distance(o.position, pos); + + float oRadius = SteeringBasics.getBoundingRadius(o.transform); + + if (dist < oRadius + spaceBetweenObjects + halfSize) + { + return false; + } + } + + return true; + } +} diff --git a/Assets/Scripts/Spawner.cs.meta b/Assets/Scripts/Spawner.cs.meta new file mode 100644 index 0000000..b8522fe --- /dev/null +++ b/Assets/Scripts/Spawner.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b337c53d2671c0a42aea40f4e5df0ae2 +timeCreated: 1445210872 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WallAvoidanceUnit.cs b/Assets/Scripts/WallAvoidanceUnit.cs new file mode 100644 index 0000000..87af0c7 --- /dev/null +++ b/Assets/Scripts/WallAvoidanceUnit.cs @@ -0,0 +1,48 @@ +using UnityEngine; +using System.Collections; + +public class WallAvoidanceUnit: MonoBehaviour +{ + + public LinePath path; + + private SteeringBasics steeringBasics; + private WallAvoidance wallAvoidance; + private FollowPath followPath; + + // Use this for initialization + void Start() + { + path.calcDistances(); + + steeringBasics = GetComponent(); + wallAvoidance = GetComponent(); + followPath = GetComponent(); + } + + // Update is called once per frame + void Update() + { + if (isAtEndOfPath()) + { + path.reversePath(); + } + + Vector3 accel = wallAvoidance.getSteering(); + + if (accel.magnitude < 0.005f) + { + accel = followPath.getSteering(path); + } + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + + path.draw(); + } + + public bool isAtEndOfPath() + { + return Vector3.Distance(path.endNode, transform.position) < followPath.stopRadius; + } +} diff --git a/Assets/Scripts/WallAvoidanceUnit.cs.meta b/Assets/Scripts/WallAvoidanceUnit.cs.meta new file mode 100644 index 0000000..a7c6a83 --- /dev/null +++ b/Assets/Scripts/WallAvoidanceUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1e09b033aa7b983469142324db471025 +timeCreated: 1444865876 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Wander1Unit.cs b/Assets/Scripts/Wander1Unit.cs new file mode 100644 index 0000000..8446606 --- /dev/null +++ b/Assets/Scripts/Wander1Unit.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using System.Collections; + +public class Wander1Unit : MonoBehaviour { + + private SteeringBasics steeringBasics; + private Wander1 wander; + + // Use this for initialization + void Start () { + steeringBasics = GetComponent(); + wander = GetComponent(); + } + + // Update is called once per frame + void Update () { + Vector3 accel = wander.getSteering(); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/Wander1Unit.cs.meta b/Assets/Scripts/Wander1Unit.cs.meta new file mode 100644 index 0000000..488cf93 --- /dev/null +++ b/Assets/Scripts/Wander1Unit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9101efdc6414c2c48b7e2db10478de53 +timeCreated: 1444784704 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Wander2Unit.cs b/Assets/Scripts/Wander2Unit.cs new file mode 100644 index 0000000..5749746 --- /dev/null +++ b/Assets/Scripts/Wander2Unit.cs @@ -0,0 +1,25 @@ +using UnityEngine; +using System.Collections; + +public class Wander2Unit : MonoBehaviour +{ + + private SteeringBasics steeringBasics; + private Wander2 wander; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + wander = GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = wander.getSteering(); + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} diff --git a/Assets/Scripts/Wander2Unit.cs.meta b/Assets/Scripts/Wander2Unit.cs.meta new file mode 100644 index 0000000..5dc1392 --- /dev/null +++ b/Assets/Scripts/Wander2Unit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ecb0c8fe6f551294bbba53fde5ed4b5d +timeCreated: 1444858155 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/WanderAvoidUnit.cs b/Assets/Scripts/WanderAvoidUnit.cs new file mode 100644 index 0000000..a1f67e8 --- /dev/null +++ b/Assets/Scripts/WanderAvoidUnit.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using System.Collections; + +public class WanderAvoidUnit : MonoBehaviour { + + private SteeringBasics steeringBasics; + private Wander2 wander; + private CollisionAvoidance colAvoid; + + private NearSensor colAvoidSensor; + + // Use this for initialization + void Start() + { + steeringBasics = GetComponent(); + wander = GetComponent(); + colAvoid = GetComponent(); + + colAvoidSensor = transform.Find("ColAvoidSensor").GetComponent(); + } + + // Update is called once per frame + void Update() + { + Vector3 accel = colAvoid.getSteering(colAvoidSensor.targets); + + if (accel.magnitude < 0.005f) + { + accel = wander.getSteering(); + } + + steeringBasics.steer(accel); + steeringBasics.lookWhereYoureGoing(); + } +} \ No newline at end of file diff --git a/Assets/Scripts/WanderAvoidUnit.cs.meta b/Assets/Scripts/WanderAvoidUnit.cs.meta new file mode 100644 index 0000000..f7d4671 --- /dev/null +++ b/Assets/Scripts/WanderAvoidUnit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bfc8bb85285d9974684a932daef751b2 +timeCreated: 1445210468 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..faf901c --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 0 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_DisableAudio: 0 diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..345dcb5 --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Gravity: {x: 0, y: -9.81000042, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: .00499999989 + m_DefaultContactOffset: .00999999978 + m_SolverIterationCount: 6 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_LayerCollisionMatrix: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..6dc24f7 --- /dev/null +++ b/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: [] diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..529a05c --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 3 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_WebSecurityEmulationEnabled: 0 + m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d + m_DefaultBehaviorMode: 0 + m_SpritePackerMode: 2 + m_SpritePackerPaddingPower: 1 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd + m_ProjectGenerationRootNamespace: diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..151b43f --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_LightmapStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDirSeparate: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepDynamicDirSeparate: 1 + m_FogStripping: 0 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..b5ba40c --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: .00100000005 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: .00100000005 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: .100000001 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: .100000001 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: .100000001 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: .189999998 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: .189999998 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: .00100000005 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..a04f35c --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,71 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshAreas: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 diff --git a/ProjectSettings/NetworkManager.asset b/ProjectSettings/NetworkManager.asset new file mode 100644 index 0000000..5dc6a83 --- /dev/null +++ b/ProjectSettings/NetworkManager.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!149 &1 +NetworkManager: + m_ObjectHideFlags: 0 + m_DebugLevel: 0 + m_Sendrate: 15 + m_AssetToPrefab: {} diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..80b5feb --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Gravity: {x: 0, y: -9.81000042} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: .200000003 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_MinPenetrationForPenalty: .00999999978 + m_BaumgarteScale: .200000003 + m_BaumgarteTimeOfImpactScale: .75 + m_TimeToSleep: .5 + m_LinearSleepTolerance: .00999999978 + m_AngularSleepTolerance: 2 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_ChangeStopsCallbacks: 0 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..0c17c14 --- /dev/null +++ b/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,481 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + AndroidProfiler: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + targetResolution: 0 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: steering-behaviors + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_ShowUnitySplashScreen: 1 + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + m_MobileMTRendering: 0 + m_Stereoscopic3D: 0 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosAppInBackgroundBehavior: 0 + displayResolutionDialog: 1 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + disableDepthAndStencilBuffers: 0 + defaultIsFullScreen: 1 + defaultIsNativeResolution: 1 + runInBackground: 0 + captureSingleScreen: 0 + Override IPod Music: 0 + Prepare IOS For Recording: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + resizableWindow: 0 + useMacAppStoreValidation: 0 + gpuSkinning: 0 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 0 + macFullscreenMode: 2 + d3d9FullscreenMode: 1 + d3d11FullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + n3dsDisableStereoscopicView: 0 + n3dsEnableSharedListOpt: 1 + n3dsEnableVSync: 0 + xboxOneResolution: 0 + ps3SplashScreen: {fileID: 0} + videoMemoryForVertexBuffers: 0 + psp2PowerMode: 0 + psp2AcquireBGM: 1 + wiiUTVResolution: 0 + wiiUGamePadMSAA: 1 + wiiUSupportsNunchuk: 0 + wiiUSupportsClassicController: 0 + wiiUSupportsBalanceBoard: 0 + wiiUSupportsMotionPlus: 0 + wiiUSupportsProController: 0 + wiiUAllowScreenCapture: 1 + wiiUControllerCount: 0 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleIdentifier: com.Company.ProductName + bundleVersion: 1.0 + preloadedAssets: [] + metroEnableIndependentInputSource: 0 + metroEnableLowLatencyPresentationAPI: 0 + xboxOneDisableKinectGpuReservation: 0 + virtualRealitySupported: 0 + productGUID: 753a44efa39e03e4588197bd90f6b28a + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 9 + AndroidPreferredInstallLocation: 1 + aotOptions: + apiCompatibilityLevel: 2 + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + iPhoneBuildNumber: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + preloadShaders: 0 + StripUnusedMeshComponents: 0 + VertexChannelCompressionMask: + serializedVersion: 2 + m_Bits: 238 + iPhoneSdkVersion: 988 + iPhoneTargetOSVersion: 22 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + iPhoneSplashScreen: {fileID: 0} + iPhoneHighResSplashScreen: {fileID: 0} + iPhoneTallHighResSplashScreen: {fileID: 0} + iPhone47inSplashScreen: {fileID: 0} + iPhone55inPortraitSplashScreen: {fileID: 0} + iPhone55inLandscapeSplashScreen: {fileID: 0} + iPadPortraitSplashScreen: {fileID: 0} + iPadHighResPortraitSplashScreen: {fileID: 0} + iPadLandscapeSplashScreen: {fileID: 0} + iPadHighResLandscapeSplashScreen: {fileID: 0} + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSDeviceRequirements: [] + AndroidTargetDevice: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidTVCompatibility: 1 + AndroidIsGame: 1 + androidEnableBanner: 1 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + resolutionDialogBanner: {fileID: 0} + m_BuildTargetIcons: [] + m_BuildTargetBatching: [] + m_BuildTargetGraphicsAPIs: [] + webPlayerTemplate: APPLICATION:Default + m_TemplateCustomTags: {} + wiiUTitleID: 0005000011000000 + wiiUGroupID: 00010000 + wiiUCommonSaveSize: 4096 + wiiUAccountSaveSize: 2048 + wiiUOlvAccessKey: 0 + wiiUTinCode: 0 + wiiUJoinGameId: 0 + wiiUJoinGameModeMask: 0000000000000000 + wiiUCommonBossSize: 0 + wiiUAccountBossSize: 0 + wiiUAddOnUniqueIDs: [] + wiiUMainThreadStackSize: 3072 + wiiULoaderThreadStackSize: 1024 + wiiUSystemHeapSize: 128 + wiiUTVStartupScreen: {fileID: 0} + wiiUGamePadStartupScreen: {fileID: 0} + wiiUProfilerLibPath: + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + locationUsageDescription: + XboxTitleId: + XboxImageXexPath: + XboxSpaPath: + XboxGenerateSpa: 0 + XboxDeployKinectResources: 0 + XboxSplashScreen: {fileID: 0} + xboxEnableSpeech: 0 + xboxAdditionalTitleMemorySize: 0 + xboxDeployKinectHeadOrientation: 0 + xboxDeployKinectHeadPosition: 0 + ps3TitleConfigPath: + ps3DLCConfigPath: + ps3ThumbnailPath: + ps3BackgroundPath: + ps3SoundPath: + ps3NPAgeRating: 12 + ps3TrophyCommId: + ps3NpCommunicationPassphrase: + ps3TrophyPackagePath: + ps3BootCheckMaxSaveGameSizeKB: 128 + ps3TrophyCommSig: + ps3SaveGameSlots: 1 + ps3TrialMode: 0 + ps3VideoMemoryForAudio: 0 + ps3EnableVerboseMemoryStats: 0 + ps3UseSPUForUmbra: 0 + ps3EnableMoveSupport: 1 + ps3DisableDolbyEncoding: 0 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 1 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutResolution: 4 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + ps4ReprojectionSupport: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4IncludedModules: [] + monoEnv: + psp2Splashimage: {fileID: 0} + psp2NPTrophyPackPath: + psp2NPSupportGBMorGJP: 0 + psp2NPAgeRating: 12 + psp2NPTitleDatPath: + psp2NPCommsID: + psp2NPCommunicationsID: + psp2NPCommsPassphrase: + psp2NPCommsSig: + psp2ParamSfxPath: + psp2ManualPath: + psp2LiveAreaGatePath: + psp2LiveAreaBackroundPath: + psp2LiveAreaPath: + psp2LiveAreaTrialPath: + psp2PatchChangeInfoPath: + psp2PatchOriginalPackage: + psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui + psp2KeystoneFile: + psp2MemoryExpansionMode: 0 + psp2DRMType: 0 + psp2StorageType: 0 + psp2MediaCapacity: 0 + psp2DLCConfigPath: + psp2ThumbnailPath: + psp2BackgroundPath: + psp2SoundPath: + psp2TrophyCommId: + psp2TrophyPackagePath: + psp2PackagedResourcesPath: + psp2SaveDataQuota: 10240 + psp2ParentalLevel: 1 + psp2ShortTitle: Not Set + psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF + psp2Category: 0 + psp2MasterVersion: 01.00 + psp2AppVersion: 01.00 + psp2TVBootMode: 0 + psp2EnterButtonAssignment: 2 + psp2TVDisableEmu: 0 + psp2AllowTwitterDialog: 1 + psp2Upgradable: 0 + psp2HealthWarning: 0 + psp2UseLibLocation: 0 + psp2InfoBarOnStartup: 0 + psp2InfoBarColor: 0 + psmSplashimage: {fileID: 0} + spritePackerPolicy: + scriptingDefineSymbols: {} + metroPackageName: steering-behaviors + metroPackageLogo: + metroPackageLogo140: + metroPackageLogo180: + metroPackageLogo240: + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: steering-behaviors + metroStoreTileLogo80: + metroStoreTileLogo: + metroStoreTileLogo140: + metroStoreTileLogo180: + metroStoreTileWideLogo80: + metroStoreTileWideLogo: + metroStoreTileWideLogo140: + metroStoreTileWideLogo180: + metroStoreTileSmallLogo80: + metroStoreTileSmallLogo: + metroStoreTileSmallLogo140: + metroStoreTileSmallLogo180: + metroStoreSmallTile80: + metroStoreSmallTile: + metroStoreSmallTile140: + metroStoreSmallTile180: + metroStoreLargeTile80: + metroStoreLargeTile: + metroStoreLargeTile140: + metroStoreLargeTile180: + metroStoreSplashScreenImage: + metroStoreSplashScreenImage140: + metroStoreSplashScreenImage180: + metroPhoneAppIcon: + metroPhoneAppIcon140: + metroPhoneAppIcon240: + metroPhoneSmallTile: + metroPhoneSmallTile140: + metroPhoneSmallTile240: + metroPhoneMediumTile: + metroPhoneMediumTile140: + metroPhoneMediumTile240: + metroPhoneWideTile: + metroPhoneWideTile140: + metroPhoneWideTile240: + metroPhoneSplashScreenImage: + metroPhoneSplashScreenImage140: + metroPhoneSplashScreenImage240: + metroTileShortName: + metroCommandLineArgsFile: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 1 + metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} + metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + metroCompilationOverrides: 1 + blackberryDeviceAddress: + blackberryDevicePassword: + blackberryTokenPath: + blackberryTokenExires: + blackberryTokenAuthor: + blackberryTokenAuthorId: + blackberryCskPassword: + blackberrySaveLogPath: + blackberrySharedPermissions: 0 + blackberryCameraPermissions: 0 + blackberryGPSPermissions: 0 + blackberryDeviceIDPermissions: 0 + blackberryMicrophonePermissions: 0 + blackberryGamepadSupport: 0 + blackberryBuildId: 0 + blackberryLandscapeSplashScreen: {fileID: 0} + blackberryPortraitSplashScreen: {fileID: 0} + blackberrySquareSplashScreen: {fileID: 0} + tizenProductDescription: + tizenProductURL: + tizenSigningProfileName: + tizenGPSPermissions: 0 + tizenMicrophonePermissions: 0 + n3dsUseExtSaveData: 0 + n3dsCompressStaticMem: 1 + n3dsExtSaveDataNumber: 0x12345 + n3dsStackSize: 131072 + n3dsTargetPlatform: 2 + n3dsRegion: 7 + n3dsMediaSize: 0 + n3dsLogoStyle: 3 + n3dsTitle: GameName + n3dsProductCode: + n3dsApplicationId: 0xFF3FF + stvDeviceAddress: + stvProductDescription: + stvProductAuthor: + stvProductAuthorEmail: + stvProductLink: + stvProductCategory: 0 + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneIsContentPackage: 0 + XboxOneEnableGPUVariability: 0 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + intPropertyNames: + - Android::ScriptingBackend + - Metro::ScriptingBackend + - Standalone::ScriptingBackend + - WP8::ScriptingBackend + - WebGL::ScriptingBackend + - WebGL::audioCompressionFormat + - WebGL::exceptionSupport + - WebGL::memorySize + - WebPlayer::ScriptingBackend + - iOS::Architecture + - iOS::EnableIncrementalBuildSupportForIl2cpp + - iOS::ScriptingBackend + Android::ScriptingBackend: 0 + Metro::ScriptingBackend: 2 + Standalone::ScriptingBackend: 0 + WP8::ScriptingBackend: 2 + WebGL::ScriptingBackend: 1 + WebGL::audioCompressionFormat: 4 + WebGL::exceptionSupport: 1 + WebGL::memorySize: 256 + WebPlayer::ScriptingBackend: 0 + iOS::Architecture: 2 + iOS::EnableIncrementalBuildSupportForIl2cpp: 0 + iOS::ScriptingBackend: 1 + boolPropertyNames: + - WebGL::analyzeBuildSize + - WebGL::dataCaching + - WebGL::useEmbeddedResources + - XboxOne::enus + WebGL::analyzeBuildSize: 0 + WebGL::dataCaching: 0 + WebGL::useEmbeddedResources: 0 + XboxOne::enus: 1 + stringPropertyNames: + - WebGL::emscriptenArgs + - WebGL::template + - additionalIl2CppArgs::additionalIl2CppArgs + WebGL::emscriptenArgs: + WebGL::template: APPLICATION:Default + additionalIl2CppArgs::additionalIl2CppArgs: + firstStreamedSceneWithResources: 0 + cloudProjectId: + projectName: + organizationId: + cloudEnabled: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..8a062e6 --- /dev/null +++ b/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 5.2.1f1 +m_StandardAssetsVersion: 0 diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..2282260 --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,172 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Fastest + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: .300000012 + maximumLODLevel: 0 + particleRaycastBudget: 4 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Fast + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: .400000006 + maximumLODLevel: 0 + particleRaycastBudget: 16 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Simple + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: .699999988 + maximumLODLevel: 0 + particleRaycastBudget: 64 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Good + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + particleRaycastBudget: 256 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Beautiful + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + particleRaycastBudget: 1024 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Fantastic + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 2 + shadowCascade2Split: .333333343 + shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669} + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + particleRaycastBudget: 4096 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + BlackBerry: 2 + GLES Emulation: 5 + Nintendo 3DS: 5 + PS3: 5 + PS4: 5 + PSM: 5 + PSP2: 2 + Samsung TV: 2 + Standalone: 5 + Tizen: 2 + WP8: 5 + Web: 5 + WebGL: 3 + Wii U: 5 + Windows Store Apps: 5 + XBOX360: 5 + XboxOne: 5 + iPhone: 2 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..b63ddbc --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - Sensor + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..f0e494b --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: .0199999996 + Maximum Allowed Timestep: .333333343 + m_TimeScale: 1 diff --git a/ProjectSettings/UnityAdsSettings.asset b/ProjectSettings/UnityAdsSettings.asset new file mode 100644 index 0000000..224050c --- /dev/null +++ b/ProjectSettings/UnityAdsSettings.asset @@ -0,0 +1,11 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!292 &1 +UnityAdsSettings: + m_ObjectHideFlags: 0 + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_EnabledPlatforms: 4294967295 + m_IosGameId: + m_AndroidGameId: diff --git a/ProjectSettings/UnityAnalyticsManager.asset b/ProjectSettings/UnityAnalyticsManager.asset new file mode 100644 index 0000000..4a7b668 --- /dev/null +++ b/ProjectSettings/UnityAnalyticsManager.asset @@ -0,0 +1,10 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!303 &1 +UnityAnalyticsManager: + m_ObjectHideFlags: 0 + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_TestEventUrl: + m_TestConfigUrl: