I am a beginner in unity so I apologize in advance for any stupid questions.
When I tried to make an enemy that would follow in unity it would only work with rigidbody 2d as one of the components, but I have a 3d game and it wasn’t working very well so I tried to switch it out with regular rigidbody but for some reason it says this:
Assets/Enemy.cs(23,17): error CS0029: Cannot implicitly convert type ‘float’ to ‘UnityEngine.Quaternion’
Here is the script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour
{
public Transform player;
public float moveSpeed = 10f;
private Rigidbody rb;
private Vector2 movement;
// Start is called before the first frame update
void Start()
{
rb = this.GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
Vector2 direction = player.position - transform.position;
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
rb.rotation = angle;
direction.Normalize();
movement = direction;
}
private void FixedUpdate()
{
moveCharacter(movement);
}
void moveCharacter(Vector2 direction)
{
rb.MovePosition((Vector2)transform.position + (direction * moveSpeed * Time.deltaTime));
}
}