I’m Working On A Game But I Don’t Know How To Make A Wandering NPC.
The NPC Is Limited To 3 Moves
1.Moving Left
2.Moving Right
3.Jumping
I’m Using Box Colliders And Rigidbodies.
If Anybody Could Help Me Out, That Be Greatly Appreciated.
Edit: I Found A Working Script Online, I Don’t Need Help Anymore
Edit 2: Here Is The Script That I Used, Customize Values To Your Liking.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NPCCode : MonoBehaviour
{
internal Transform thisTransform;
// Remember That You Need A Collider And Rigidbody
public float moveSpeed = 10f;
public Vector2 decisionTime = new Vector2(1, 4);
internal float decisionTimeCount = 0;
internal Vector3[] moveDirections = new Vector3[] { Vector3.right, Vector3.left, Vector3.up, Vector3.up, Vector3.zero, Vector3.zero };
internal int currentMoveDirection;
void Start()
{
thisTransform = this.transform;
decisionTimeCount = Random.Range(decisionTime.x, decisionTime.y);
ChooseMoveDirection();
}
void Update()
{
thisTransform.position += moveDirections[currentMoveDirection] * Time.deltaTime * moveSpeed;
if (decisionTimeCount > 0) decisionTimeCount -= Time.deltaTime;
else
{
decisionTimeCount = Random.Range(decisionTime.x, decisionTime.y);
ChooseMoveDirection();
}
}
void ChooseMoveDirection()
{
currentMoveDirection = Mathf.FloorToInt(Random.Range(0, moveDirections.Length));
}
}