diff --git a/Assets/Scenes/Obstacles.unity b/Assets/Scenes/Obstacles.unity index 29141d2..7f27328 100644 --- a/Assets/Scenes/Obstacles.unity +++ b/Assets/Scenes/Obstacles.unity @@ -709,6 +709,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 455582639} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &476934352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 476934353} + m_Layer: 0 + m_Name: pos1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &476934353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 476934352} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6.33, y: 6.77, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1992316510} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &561001795 GameObject: m_ObjectHideFlags: 0 @@ -1117,7 +1148,7 @@ Transform: - {fileID: 1737815968} - {fileID: 952326956} - {fileID: 617391193} - - {fileID: 1094313418} + - {fileID: 1992316510} - {fileID: 840320352} - {fileID: 899030642} - {fileID: 1166806158} @@ -1668,6 +1699,7 @@ GameObject: - component: {fileID: 1094313415} - component: {fileID: 1094313419} - component: {fileID: 1094313420} + - component: {fileID: 1094313421} m_Layer: 6 m_Name: Cube m_TagString: Untagged @@ -1750,8 +1782,8 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 778227310} - m_RootOrder: 4 + m_Father: {fileID: 1992316510} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!54 &1094313419 Rigidbody: @@ -1776,11 +1808,30 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1094313414} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 6274607e1747d7342942440e01be026f, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &1094313421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094313414} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 52f427abc109c03429b4475effc7056e, type: 3} + m_Name: + m_EditorClassIdentifier: + path: + - {fileID: 476934353} + - {fileID: 1347410957} + - {fileID: 1702882725} + currTargetIndex: 0 + speed: 4 + loop: 1 --- !u!1 &1166806157 GameObject: m_ObjectHideFlags: 0 @@ -2039,6 +2090,37 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1341139406} m_PrefabAsset: {fileID: 0} +--- !u!1 &1347410956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1347410957} + m_Layer: 0 + m_Name: pos2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1347410957 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1347410956} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.88, y: 6.77, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1992316510} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1530935835 GameObject: m_ObjectHideFlags: 0 @@ -2386,6 +2468,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1678058221} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1702882724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1702882725} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1702882725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1702882724} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.96, y: 9.22, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1992316510} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1737815964 GameObject: m_ObjectHideFlags: 0 @@ -2647,6 +2760,41 @@ MonoBehaviour: m_YawDamping: 0 m_RollDamping: 0 m_AngularDamping: 0 +--- !u!1 &1992316509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1992316510} + m_Layer: 0 + m_Name: MovingCube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1992316510 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992316509} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1094313418} + - {fileID: 476934353} + - {fileID: 1347410957} + - {fileID: 1702882725} + m_Father: {fileID: 778227310} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2006523531 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/PathTracer.cs b/Assets/Scripts/PathTracer.cs new file mode 100644 index 0000000..818d7c0 --- /dev/null +++ b/Assets/Scripts/PathTracer.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PathTracer : MonoBehaviour +{ + [SerializeField] + private List path; + private Vector3 currTargetPos; + [SerializeField] + private int currTargetIndex; + [SerializeField] + private float speed; + [SerializeField][Tooltip("True = Go back to first pos; False = Inverse list")] + private bool loop = true; + private Rigidbody rb; + // Start is called before the first frame update + void Start() + { + rb = GetComponent(); + rb.position = path[0].position; + currTargetIndex = 1; + currTargetPos = path[currTargetIndex].position; + Debug.Log(path.Count); + } + + // Update is called once per frame + void Update() + { + if(Vector3.Distance(transform.position, currTargetPos) <= 0){ + currTargetIndex++; + if(currTargetIndex >= path.Count){ + if(!loop){ + path.Reverse(); + } + currTargetIndex = 0; + } + + currTargetPos = path[currTargetIndex].position; + } + rb.position = Vector3.MoveTowards(transform.position, currTargetPos, speed/100);//Magic number pour avoir une better time in inspector + } + +} diff --git a/Assets/Scripts/PathTracer.cs.meta b/Assets/Scripts/PathTracer.cs.meta new file mode 100644 index 0000000..e635592 --- /dev/null +++ b/Assets/Scripts/PathTracer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52f427abc109c03429b4475effc7056e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: