A obj can trace a path, and loop or reverse

This commit is contained in:
Soulaha Balde 2022-10-23 12:32:40 -04:00
parent 21b87a28d3
commit 2416b70c2c
3 changed files with 207 additions and 4 deletions

View File

@ -709,6 +709,37 @@ MeshFilter:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 455582639} m_GameObject: {fileID: 455582639}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 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 --- !u!1 &561001795
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1117,7 +1148,7 @@ Transform:
- {fileID: 1737815968} - {fileID: 1737815968}
- {fileID: 952326956} - {fileID: 952326956}
- {fileID: 617391193} - {fileID: 617391193}
- {fileID: 1094313418} - {fileID: 1992316510}
- {fileID: 840320352} - {fileID: 840320352}
- {fileID: 899030642} - {fileID: 899030642}
- {fileID: 1166806158} - {fileID: 1166806158}
@ -1668,6 +1699,7 @@ GameObject:
- component: {fileID: 1094313415} - component: {fileID: 1094313415}
- component: {fileID: 1094313419} - component: {fileID: 1094313419}
- component: {fileID: 1094313420} - component: {fileID: 1094313420}
- component: {fileID: 1094313421}
m_Layer: 6 m_Layer: 6
m_Name: Cube m_Name: Cube
m_TagString: Untagged m_TagString: Untagged
@ -1750,8 +1782,8 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 778227310} m_Father: {fileID: 1992316510}
m_RootOrder: 4 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!54 &1094313419 --- !u!54 &1094313419
Rigidbody: Rigidbody:
@ -1776,11 +1808,30 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094313414} m_GameObject: {fileID: 1094313414}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6274607e1747d7342942440e01be026f, type: 3} m_Script: {fileID: 11500000, guid: 6274607e1747d7342942440e01be026f, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: 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 --- !u!1 &1166806157
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2039,6 +2090,37 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1341139406} m_PrefabInstance: {fileID: 1341139406}
m_PrefabAsset: {fileID: 0} 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 --- !u!1 &1530935835
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2386,6 +2468,37 @@ MeshFilter:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1678058221} m_GameObject: {fileID: 1678058221}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 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 --- !u!1 &1737815964
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2647,6 +2760,41 @@ MonoBehaviour:
m_YawDamping: 0 m_YawDamping: 0
m_RollDamping: 0 m_RollDamping: 0
m_AngularDamping: 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 --- !u!1 &2006523531
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -0,0 +1,44 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PathTracer : MonoBehaviour
{
[SerializeField]
private List<Transform> 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<Rigidbody>();
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
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 52f427abc109c03429b4475effc7056e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: