je suis en cours de réalisation d'un petit jeu fps mais dès le début je n'arrive pas à passer en mode play car mon script a une ou plusieurs erreur(s) je vous copie donc mon script pour que vous pussiez m'aider :
Player controller :
Code : Tout sélectionner
using UnityEngine;
[RequireComponent(typeof(PlayerMotor))]
public class PlayerController : MonoBehaviour {
[SerializeField]
private float speed;
private PlayerMotor motor;
private void Start()
{
motor = GetComponents<PlayerMotor>();
}
private void Update()
{
// on va calculer la vélocité du mouvement du joueur en un vecteur 3D
float _xMov = Input.GetAxisRaw("Horizontal");
float _zMov = Input.GetAxisRaw("Vertical");
Vector3 _movHorizontal = Transform.right * _xMov;
Vector3 _movVertical = transform.forward * _zMov;
Vector3 _Velocity = (_movHorizontal + _movVertical).normalized * speed;
motor.Move (_Velocity);
}
}
Code : Tout sélectionner
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
public class PlayerMotor : MonoBehaviour
{
private Vector3 velocity;
private Rigidbody rb;
private void Start()
{
rb = GetComponents<rigidbody> ();
}
public void Move(Vector3 _velocity)
{
velocity = _velocity;
}
private void FixedUpdate()
{
PerformMovement ();
}
private void PerformMovement()
{
if (velocity != Vector3.zero)
{
rb.MovePosition (rb.position + velocity * Time.fixedDeltaTime);
}
}
}
Vladixime
.