diff --git a/Assets/Prefabs/Human.prefab b/Assets/Prefabs/Human.prefab new file mode 100644 index 0000000000000000000000000000000000000000..a2306c89f8db048c7af27ad615c9d99fd03d9ab5 --- /dev/null +++ b/Assets/Prefabs/Human.prefab @@ -0,0 +1,148 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7810272660902769727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7810272660902769714} + - component: {fileID: 7810272660902769715} + - component: {fileID: 7810272660902769712} + - component: {fileID: 7810272660902769713} + - component: {fileID: 7810272660902769726} + - component: {fileID: 7810272660902769717} + - component: {fileID: 1003655326493528498} + m_Layer: 0 + m_Name: Human + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7810272660902769714 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.63, y: 0.108, z: 0.37} + m_LocalScale: {x: 0.1, y: 0.2, z: 0.1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7810272660902769715 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7810272660902769712 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &7810272660902769713 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + 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!195 &7810272660902769726 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 1 + m_Acceleration: 20 + avoidancePriority: 50 + m_AngularSpeed: 350 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1 + m_BaseOffset: 0.5 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!114 &7810272660902769717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9b45449faa7484e4f97c562f631beee9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_spawnPoint: {fileID: 0} + m_sqrDistanceReturn: 0.5 + m_sqrDistanceSeek: 0.1 +--- !u!114 &1003655326493528498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7810272660902769727} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 04cc04c6d4ddf7e479c7005f74e4b3dd, type: 3} + m_Name: + m_EditorClassIdentifier: + maxLife: 5 + currentLife: 5 diff --git a/Assets/Prefabs/Human.prefab.meta b/Assets/Prefabs/Human.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..3d5ac657f4ff27c5c76b16675ffe6c6f4637d159 --- /dev/null +++ b/Assets/Prefabs/Human.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f4ab48abf97ae34092f5c76395a3320 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Spawner.prefab b/Assets/Prefabs/Spawner.prefab new file mode 100644 index 0000000000000000000000000000000000000000..2960ea136f1159e9d24798a6a30aa7bfb4c78694 --- /dev/null +++ b/Assets/Prefabs/Spawner.prefab @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &664808208814243609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 664808208814243611} + - component: {fileID: 664808208814243610} + m_Layer: 0 + m_Name: Spawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &664808208814243611 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 664808208814243609} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.51, y: 0.098, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7303279563949245309} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &664808208814243610 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 664808208814243609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f359c0e00c5474f449309af50a454591, type: 3} + m_Name: + m_EditorClassIdentifier: + m_human: {fileID: 7303279563949245296} + m_originalDelta: 8 + m_floor: 3 +--- !u!1001 &664808209862457167 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 664808208814243611} + m_Modifications: + - target: {fileID: 7810272660902769727, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_Name + value: Human + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7810272660902769717, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + propertyPath: m_spawnPoint + value: + objectReference: {fileID: 664808208814243609} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4f4ab48abf97ae34092f5c76395a3320, type: 3} +--- !u!1 &7303279563949245296 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7810272660902769727, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + m_PrefabInstance: {fileID: 664808209862457167} + m_PrefabAsset: {fileID: 0} +--- !u!4 &7303279563949245309 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7810272660902769714, guid: 4f4ab48abf97ae34092f5c76395a3320, + type: 3} + m_PrefabInstance: {fileID: 664808209862457167} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/Spawner.prefab.meta b/Assets/Prefabs/Spawner.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..79cb4bc2dc8e47990c62ccb3ba83978ff9c15cfc --- /dev/null +++ b/Assets/Prefabs/Spawner.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: db0ca2167672d2e4cb27da914b773e97 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Haowen.meta b/Assets/Scenes/Altarick/test1.meta similarity index 77% rename from Assets/Scenes/Haowen.meta rename to Assets/Scenes/Altarick/test1.meta index 47f2bca98ca733f95a9b98af522d39ca586e0f80..a5598f366634aff39e0582f691bf2edb638ce63e 100644 --- a/Assets/Scenes/Haowen.meta +++ b/Assets/Scenes/Altarick/test1.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 02a3116d8d100f74eaa8f69f7980a403 +guid: 0a9929b8f181faa41af270ec0ec9805c folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scenes/Altarick/test1/NavMesh.asset b/Assets/Scenes/Altarick/test1/NavMesh.asset new file mode 100644 index 0000000000000000000000000000000000000000..2967d2f314b1bd406a37f00e88c83dcf302079a4 Binary files /dev/null and b/Assets/Scenes/Altarick/test1/NavMesh.asset differ diff --git a/Assets/Scenes/Altarick/test1/NavMesh.asset.meta b/Assets/Scenes/Altarick/test1/NavMesh.asset.meta new file mode 100644 index 0000000000000000000000000000000000000000..5a26328b6f9f317b4c10764e570ebb393e08b26b --- /dev/null +++ b/Assets/Scenes/Altarick/test1/NavMesh.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05825e80cacb1a349a4467ff227eccc0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Plou/External.meta b/Assets/Scenes/MovementPrefab.unitypackage.meta similarity index 67% rename from Assets/Scenes/Plou/External.meta rename to Assets/Scenes/MovementPrefab.unitypackage.meta index 8a0c9b57339802362d83e6e1da4336c19a7c6c92..73a41bc8ba1e07c555ad122d2e342d703b85ec89 100644 --- a/Assets/Scenes/Plou/External.meta +++ b/Assets/Scenes/MovementPrefab.unitypackage.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 -guid: 98e674e46c7f2b2448370c9592076fe5 -folderAsset: yes +guid: d124b605340dbd74cb35e9c44ad152a4 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/PlayerPrefabPackage.unitypackage.meta b/Assets/Scenes/PlayerPrefabPackage.unitypackage.meta new file mode 100644 index 0000000000000000000000000000000000000000..a0418a90e83a032b4562fd170a4c0698efc82675 --- /dev/null +++ b/Assets/Scenes/PlayerPrefabPackage.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56a0506be2d25124dadc8b5d491b3f0a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/HumanScript.cs b/Assets/Scripts/HumanScript.cs new file mode 100644 index 0000000000000000000000000000000000000000..43b02e4e6d0eca2ccf7f4ebb3e3503d127aed46e --- /dev/null +++ b/Assets/Scripts/HumanScript.cs @@ -0,0 +1,69 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.AI; + +public class HumanScript : MonoBehaviour +{ + + [SerializeField] protected GameObject m_spawnPoint; + [SerializeField] protected float m_sqrDistanceReturn; + [SerializeField] protected float m_sqrDistanceSeek; + protected bool m_modeSeek = false; + protected bool m_modeReturn = true; + protected bool m_modeStandDown = false; + + public GameObject FindClosestTree() + { + GameObject[] gos; + gos = GameObject.FindGameObjectsWithTag("Tree"); + GameObject closest = null; + float distance = Mathf.Infinity; + Vector3 position = transform.position; + foreach (GameObject go in gos) + { + Vector3 diff = go.transform.position - position; + float curDistance = diff.sqrMagnitude; + if (curDistance < distance) + { + closest = go; + distance = curDistance; + } + } + return closest; + } + // Update is called once per frame + void FixedUpdate() + { + NavMeshAgent agent = GetComponent<NavMeshAgent>(); + if(m_modeReturn && (m_spawnPoint.transform.position - transform.position).sqrMagnitude < m_sqrDistanceReturn) + { + m_modeReturn = false; + GameObject closest = FindClosestTree(); + if(closest == null) + { + m_modeStandDown = true; + } + else + { + agent.destination = closest.transform.position; + m_modeSeek = true; + } + } + else if(m_modeSeek && (agent.destination - transform.position).sqrMagnitude < m_sqrDistanceSeek) + { + GameObject closest = FindClosestTree(); + if((closest.transform.position - transform.position).sqrMagnitude < m_sqrDistanceSeek) + { + Destroy(closest); + closest = null; + m_modeReturn = true; + m_modeSeek = false; + agent.destination = m_spawnPoint.transform.position; + } + else agent.destination = closest.transform.position; + } + + + } +} diff --git a/Assets/Scripts/HumanScript.cs.meta b/Assets/Scripts/HumanScript.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..ea153dc1f53a37a10637091e32666959447f46d4 --- /dev/null +++ b/Assets/Scripts/HumanScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b45449faa7484e4f97c562f631beee9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/HumanSpawner.cs b/Assets/Scripts/HumanSpawner.cs new file mode 100644 index 0000000000000000000000000000000000000000..b84a58c2a5a94fc7f764d749132973c07a5f0a32 --- /dev/null +++ b/Assets/Scripts/HumanSpawner.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +public class HumanSpawner : MonoBehaviour +{ + [SerializeField] protected GameObject m_human; + [SerializeField] protected int m_originalDelta; + + [SerializeField] protected int m_floor; + + protected float stamp; + + protected int delta ; + + // Start is called before the first frame update + void Start() + { + stamp = Time.fixedTime; + delta = m_originalDelta; + } + + // Update is called once per frame + void FixedUpdate() + { + if(Time.fixedTime - stamp > delta) + { + stamp = Time.fixedTime; + Instantiate(m_human, transform.position, Quaternion.identity); + if(delta > m_floor )delta -= 1; + } + } +} diff --git a/Assets/Scripts/HumanSpawner.cs.meta b/Assets/Scripts/HumanSpawner.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..53686d10dd4cf31d73d34274731628daa437f960 --- /dev/null +++ b/Assets/Scripts/HumanSpawner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f359c0e00c5474f449309af50a454591 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/cues.blend b/cues.blend index 8ddec3f0ec2dd2522716afdedae862322c40499d..6802f9b9f412d0431317640c60f2b6f3924cf5b6 100644 Binary files a/cues.blend and b/cues.blend differ diff --git a/cues.blend1 b/cues.blend1 index 76f95aae5a04b59e71e87e6300181fcec612c3dd..8ddec3f0ec2dd2522716afdedae862322c40499d 100644 Binary files a/cues.blend1 and b/cues.blend1 differ