Jeu exploration 3d unity blendedr
Cliquez sur un chapitre pour lancer le lecteur et votre vidéo.

Script de déplacement du bateau

 

Description

Nous allons maintenant créer le script qui servira à contrôler le bateau avec le clavier afin de pouvoir se déplacer sur l’océan.

Liens

Code source

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BoatCtrl : MonoBehaviour
{
    public float speed = 3; // Vitesse bateau

    float force; // Avant / arrière
    float dir; // Gauche / droite
    Rigidbody rb;
    public int nbObj = 0;

    private void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void FixedUpdate()
    {
        // Calcul force & direction
        force = Mathf.SmoothStep(force, Input.GetAxis("Vertical"), Time.deltaTime * 10);
        dir = Mathf.SmoothStep(dir, Input.GetAxis("Horizontal"), Time.deltaTime * 5);
        // On applique la velicité au rigidbody pour avancer
        Vector3 velocity = new Vector3(0, force * speed, 0);
        rb.velocity = rb.transform.TransformDirection(velocity);
        // On applique la rotation pour la direction
        Vector3 angularVel = new Vector3(0, dir * speed/2 , 0);
        rb.angularVelocity = angularVel;
    }

    // Gestion des collisions
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("obj"))
        {
            Destroy(other.gameObject);
            nbObj++;
        }
    }
}

 

Comments are closed.