Mon rigidboby n'arrête pas de bugger
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
-
- Messages : 25
- Inscription : 26 Jan 2020 12:03
- Localisation : Territoire de Belfort (90)
Mon rigidboby n'arrête pas de bugger
Bonjour, j'ai un gros problème. J'ai créé un joueur composé (tête, corp, yeux, nez, caméra...) mais la rigidboby ne marche mas correctement. Quand je commence le jeu, le personnage se tortille dans tout les sens comme une balle rebonndissante et quand je freeze toutes les rotation, Le personnage se met à monter dans les air sans s'arrêter. Merci d'avance !
Bonjour, je suis un débutant et je me suis inscrit au forum car j'ai souvent besoin d'aide. Je créé des jeu de plateformes sur unity.
- boubouk50
- ModoGenereux
- Messages : 6225
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Mon rigidboby n'arrête pas de bugger
Encore une fois, fais un effort sur les informations. Le rigidbody fonctionne bien, tu en fais donc une mauvaise utilisation. Sans nous expliquer ce que tu as fait, ce que tu as mis en place, comment tu l'as fait, on ne peut pas te répondre correctement. C'est trop vague, on est à la limite du "ça marche pas".
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
-
- Messages : 25
- Inscription : 26 Jan 2020 12:03
- Localisation : Territoire de Belfort (90)
Re: Mon rigidboby n'arrête pas de bugger
J'ai utiliser deux codes avec mon rigidboby. Un qui permet de déplacer le personnage...
...et un autre qui permet de faire tourner le personnage.
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovements : MonoBehaviour
{
// Public variables
public float Speed;
// Private variables
private float X;
private float Z;
private Transform PlayerBody;
private Vector3 Movements;
// Start is called before the first frame update
void Start()
{
PlayerBody = this.transform;
}
// Update is called once per frame
void Update()
{
X = Input.GetAxis("Horizontal");
Z = Input.GetAxis("Vertical");
Movements = new Vector3(X, 0, Z);
if(X != 0.0f || Z != 0.0f)
{
PlayerBody.Translate(Movements * Speed * Time.deltaTime);
}
}
}
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseLook : MonoBehaviour
{
// Public variables
public float MouseSensivity;
public bool RotateX;
public bool RotateY;
// Private variables
private Transform PlayerBody;
private float MouseX;
private float MouseY;
// Start is called before the first frame update
void Start()
{
PlayerBody = this.transform;
}
// Update is called once per frame
void Update()
{
if(RotateX == true)
{
MouseX = Input.GetAxis("Mouse X") * Time.deltaTime;
PlayerBody.Rotate(Vector3.up * MouseSensivity * MouseX);
}
if(RotateY == true)
{
MouseY = Input.GetAxis("Mouse Y") * Time.deltaTime;
PlayerBody.Rotate(Vector3.left * MouseSensivity * MouseY);
}
// transform.eulerAngles = new Vector3(Mathf.Clamp(transform.eulerAngles.x, -90f, 90f), transform.eulerAngles.y, transform.eulerAngles.z);
}
}
Bonjour, je suis un débutant et je me suis inscrit au forum car j'ai souvent besoin d'aide. Je créé des jeu de plateformes sur unity.
Re: Mon rigidboby n'arrête pas de bugger
Bonjour,
Première chose, tu pars sur un "Controller" basé sur un RigidBody, donc ton code devrais être basé la dessus.
Là tu ne travailles que sur le Transform, ce qui n'est pas vraiment la bonne approche dans ce cas.
En suite dans ta partie MouseLook tu codes une rotation sur deux axes. Normalement ton Player ne devrait pouvoir tourner que sur l'axe des Y.
Tu devrais regarder du coté des StandardAssets où il y un exemple de RigidBodyFPSController, et t'en inspirer, cela te fournirait de bonnes pistes à suivre.
Première chose, tu pars sur un "Controller" basé sur un RigidBody, donc ton code devrais être basé la dessus.
Là tu ne travailles que sur le Transform, ce qui n'est pas vraiment la bonne approche dans ce cas.
En suite dans ta partie MouseLook tu codes une rotation sur deux axes. Normalement ton Player ne devrait pouvoir tourner que sur l'axe des Y.
Tu devrais regarder du coté des StandardAssets où il y un exemple de RigidBodyFPSController, et t'en inspirer, cela te fournirait de bonnes pistes à suivre.
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ