Tried to use Brackeys 4yr old code and change it for 3D but I’m running into issues unsuprisingly.
Here’s my code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Boss_Run : StateMachineBehaviour
{
public float speed = 4.5f;
Transform player;
Rigidbody rb;
Animator anim;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
rb = animator.GetComponent<Rigidbody>();
player = GameObject.FindGameObjectWithTag("Player").transform;
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Vector3 target = new Vector3(player.position.x, rb.position.y);
Vector3 newPos = Vector3.MoveTowards(rb.position, target, speed * Time.fixedDeltaTime);
rb.MovePosition(newPos);
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
}
}
The issue I have found is upon entering this animation the character just runs off the map in a forward direction instead of running after the player…
Would anyone know the issue?