[Resolu] [DB] RigidBody: Gestion des masses

Pour les scripts écrits en C#
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
Avatar de l’utilisateur
SunixDev
Messages : 15
Inscription : 06 Avr 2017 11:47

[Resolu] [DB] RigidBody: Gestion des masses

Message par SunixDev » 07 Avr 2017 11:51

Salut a tous

j’espère que quelqu'un pourra m'aider , alors voici mon problème j'ai un bloc que je ne peu normalement pas bouger en le poussant (rigidbody de mass 200) mais j'ai un script qui me permet de léviter des objets et quand je le lâche sans toucher c'est bon , mais si en le lâchant je le touche ou sa touche quelque chose d'autre alors la problème mon objet qui fait 200kg peut être déplacer comme si il ne faisait que 10 . 3 secondes après qu'il soit bien poser je ne peu plus le bouger mais si je le touche un peu avant alors la problème.
https://gyazo.com/a6f2b46461557620c2906ae5d3562012
aussi le fait que mon objet tombe quand il touche le mur est normal , c'est juste le fait que je puisse le déplacer se bloc quand il tombe et touche le sol le problème.

Donc voici la partie concernée je pense, la partie qui lâche l'objet.

Code : Tout sélectionner

	public void dropObject()
	{
		
		bool distorted = carriedObject.GetComponent<Pickupable>().distorted;
		carrying = false;
		
		if (distorted)
		{
			carriedObject.gameObject.GetComponent<Rigidbody>().useGravity = false;
			carriedObject.gameObject.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezeAll;
			carriedObject = null;
			distance = 3;
		}
		else
		{
			carriedObject.gameObject.GetComponent<Rigidbody>().useGravity = true;
			carriedObject.gameObject.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.None;
			carriedObject = null;
			distance = 3;
		}
	}
Merci
Dernière édition par SunixDev le 07 Avr 2017 15:32, édité 6 fois.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6206
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: RigidBody: Gestion des masses

Message par boubouk50 » 07 Avr 2017 12:02

Salut SunixDev,

J'ai déplacé ton sujet dans la partie script puisque c'est de là qu'est géré le comportement de ton objet. Aussi, j'ai changé le titre de ton post, si tout le monde mais "aidez-moi svp" comme titre, ça va être compliqué de se repérer dans les posts...

Est-ce un script gratuit? Si oui, peux-tu le poster ici qu'on voit un peu cela? S'il y a des configurations externes peux-tu nous les donner également.
Là, comme ça, à froid, je dirais que la gestion de la masse est définie dans ton script avec des contraintes (ou sans) que tu ne souhaites pas, il faudrait donc les modifier.

j'ajoute également que la Nétiquette du forum te demande de te présenter dans la section Présentation des membres, histoire que l'on en sache un peu plus sur toi et sur ton niveau.
"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

Avatar de l’utilisateur
SunixDev
Messages : 15
Inscription : 06 Avr 2017 11:47

Re: [DB] RigidBody: Gestion des masses

Message par SunixDev » 07 Avr 2017 12:19

Salut boubouk50
OK merci, je rectifie sa de suite .

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6206
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] RigidBody: Gestion des masses

Message par boubouk50 » 07 Avr 2017 12:32

Donc ce n'est qu'une question de gravité et de contraintes?
Rien d'autre n'est touché? Est-ce que les contraintes de départ sont nulles sur ton rigidBody?
"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

Avatar de l’utilisateur
SunixDev
Messages : 15
Inscription : 06 Avr 2017 11:47

Re: [DB] RigidBody: Gestion des masses

Message par SunixDev » 07 Avr 2017 12:37

Oui juste la gravité et les contraintes et oui au départ les contraintes sont nulles .

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6206
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] RigidBody: Gestion des masses

Message par boubouk50 » 07 Avr 2017 12:55

Ajoute la ligne de Debug à cet endroit:

Code : Tout sélectionner

	bool distorted = carriedObject.GetComponent<Pickupable>().distorted;
	Debug.Log ("Dropped Object. Distorted = " + distorted);
	carrying = false;
Et teste quand l'objet est lâché, ce message apparaîtra en console au moment où la fonction est appelée.
"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

Avatar de l’utilisateur
SunixDev
Messages : 15
Inscription : 06 Avr 2017 11:47

Re: [DB] RigidBody: Gestion des masses

Message par SunixDev » 07 Avr 2017 13:17

Voila le resultat

Code : Tout sélectionner

Dropped Object. Distorted = False
UnityEngine.Debug:Log(Object)
PickupObject:dropObject() (at Assets/Scripts/PickupObject.cs:238)
PickupObject:checkDrop() (at Assets/Scripts/PickupObject.cs:227)
PickupObject:FixedUpdate() (at Assets/Scripts/PickupObject.cs:133)
Distorted sert a savoir si mon objet est dans une zone tagger distorted enfaite et dans ces zones l'objet reste figé en lévitation.
comme je ne suis pas dans cette zone la gravité s'applique sur l'objet.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6206
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] RigidBody: Gestion des masses

Message par boubouk50 » 07 Avr 2017 13:34

:roll:
Je n'ai pas besoin du log, merci. C'est à toi de tester lorsque la fonction est appelée. L'est-elle dès que tu lâches la pression? L'est-elle lorsque l'objet touche le sol? etc. En gros, il faut que tu détermines ce qui se passe dans les cas où ça bogue et où ça bogue pas. QU'est ce qui fait que ton objet reprend à un comportement bizarre dans certains cas.
Je ne vais pas faire tout le travail d'investigation à ta place...
"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

Avatar de l’utilisateur
SunixDev
Messages : 15
Inscription : 06 Avr 2017 11:47

Re: [DB] RigidBody: Gestion des masses

Message par SunixDev » 07 Avr 2017 13:54

Le log apparait dès que je clique , je pense que le problème est dans unity je pense que sa doit être un problème de vélocité , mon objet tombe et garde une certaine force qui fait que mon joueur peu le pousser car il n'y a plus aucun script que qui a accès a se bloc après l'avoir lâcher, le problème apparait vraiment dans un collision ou le cube est mis en mouvement

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6206
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB] RigidBody: Gestion des masses

Message par boubouk50 » 07 Avr 2017 14:09

Et le drag?
Ce n'est pas normal qu'il ait deux comportements ou alors c'est ta configuration du rigidbody et rien à voir avec le script.
"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

Répondre

Revenir vers « (C#) CSharp »