Donc je vous présente mon problème en espérant une aide , je débute dans Unity, je veut que mon FPS puisse nager dans l'eau le soucis étant que sous android les tuto YouTube pour apprendre a faire nager mon FpsController ne m'aide pas vraiment car les touche ne sont pas les même sur pc et android ^^ du coup j'ai modifié les scripts et je pence avoir fait pas mal de bêtise en me compliquant la vie pour rien,
Donc voila le script donné dans le tuto permet de savoir si le Fps et oui ou non dans l'eau, quand le Fps et dans l'eau le script exécute certain paramétre et hors de l'eau d'autre paramétre,
Donc je me suis dit si je joue sur la gravite une foi dans l'eau que je désactive ma touche jump et que je met 0 dans la mass du rigidbody mon FPS volera dans l'eau et une foi hors de l'eau il retrouvera les valeur normal pour ne pas voler hors de l'eau,
Mais quand je lance le jeux avec le script toute les valeurs du menu inspector du FpsController que je souhaite changer une foi dans l'eau change comme prévu, mais mon Fps coulent et je marche au fond de l'eau impossible de voler et de remonter a la surface ,
je vous montre mon script en C#:
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;
public class Underwater : MonoBehaviour {
public GameObject Bubble;
private FirstPersonController FpsScript;
private FpsPerso FpsPerso;
public UnityStandardAssets.Characters.FirstPerson.FirstPersonController controller;
public UnityStandardAssets.Characters.FirstPerson.FirstPersonController jump;
public Rigidbody rb;
public UnityStandardAssets.Characters.FirstPerson.FirstPersonController stick;
// Use this for initialization
void Start () {
rb = GetComponent<Rigidbody>();
FpsScript = GetComponent<FirstPersonController>();
FpsPerso = GetComponent<FpsPerso>();
}
bool IsUnderWater()
{
return gameObject.transform.position.y < 499.10f;
}
// Update is called once per frame
void Update () {
if(IsUnderWater())
{
Bubble.SetActive(true);//Activation des Bulles si dans l'eau
controller.m_GravityMultiplier = (0.0f);
FpsPerso.enabled = true;
jump.m_JumpSpeed = (0f);
rb.mass = (0.0f);
stick.m_StickToGroundForce = (0);
}
else
{
Bubble.SetActive(false);
controller.m_GravityMultiplier = (2);
FpsPerso.enabled = false;
jump.m_JumpSpeed = (10);
rb.mass = (1);
stick.m_StickToGroundForce = (10);
}
}
}
Si quelqu’un peut me donner un coup de main sa serai super généreux et je lui en remercie d'avance.