[MY AL] [resolu] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
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
[MY AL] [resolu] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Hello,
Je poste un peu partout cette question sur internet,
Je souhaite donc orienter mon rigidbody (non soumis à la gravité)
vers une rotation cible d'un autre gameObject.
La méthode d'AJOUT de vélocité n'est pas choisi hasard,
On peut par exemple faire
Rigidbody. AngularVelocity += vélocitéAngulaireAjouté * facteurMultiplicateur;
Si le facteurMultiplicateur est egal a zéro cela ne stop pas la progression du rigidbody qui continu sa route sans contrainte.
J'ai réussi avec la position d'un gameObject, mais la rotation c'est autre chose. Les angles des vector3 se reinitialise au dela de 360 et fausse les résultats.
Je ne sais pas me servir des quaternions.
J'ai exposé mon problème avec plus de détails ici
[Physics unity] How to target a rotation by Adding velocity ?
Je poste un peu partout cette question sur internet,
Je souhaite donc orienter mon rigidbody (non soumis à la gravité)
vers une rotation cible d'un autre gameObject.
La méthode d'AJOUT de vélocité n'est pas choisi hasard,
On peut par exemple faire
Rigidbody. AngularVelocity += vélocitéAngulaireAjouté * facteurMultiplicateur;
Si le facteurMultiplicateur est egal a zéro cela ne stop pas la progression du rigidbody qui continu sa route sans contrainte.
J'ai réussi avec la position d'un gameObject, mais la rotation c'est autre chose. Les angles des vector3 se reinitialise au dela de 360 et fausse les résultats.
Je ne sais pas me servir des quaternions.
J'ai exposé mon problème avec plus de détails ici
[Physics unity] How to target a rotation by Adding velocity ?
Dernière édition par nigel le 21 Fév 2017 10:37, édité 1 fois.
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Ton message a été supprimé apparemment.
Était-ce le doublon de celui-ci? https://www.reddit.com/r/learnmath/comm ... to_target/
Il vaut mieux réexpliquer en français ici... C'est un peu le but d'avoir un forum français: ne pas se taper l'anglais.
Était-ce le doublon de celui-ci? https://www.reddit.com/r/learnmath/comm ... to_target/
Il vaut mieux réexpliquer en français ici... C'est un peu le but d'avoir un forum français: ne pas se taper l'anglais.
"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
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Oui, mais de chez moi c'est pas supprimé..
Désolé pour le lien en anglais mais c'est dur de tout re-écrire sur un mobile.
Et puis je n'ai rien écrit en anglais sur Unity France
Désolé pour le lien en anglais mais c'est dur de tout re-écrire sur un mobile.
Et puis je n'ai rien écrit en anglais sur Unity France
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Et faut aller chez toi pour avoir plus de détail?nigel a écrit :Oui, mais de chez moi c'est pas supprimé..
Est-ce donc à nous de le faire ou d'apprendre l'anglais?nigel a écrit :Désolé pour le lien en anglais mais c'est dur de tout re-écrire sur un mobile.
Effectivement, nous allons donc nous passer des détails de ton explication...nigel a écrit :Et puis je n'ai rien écrit en anglais sur Unity France
La documentation: RigidBody.AngularVelocity
Elle nous apprend que la vélocité angulaire est exprimée en Radian par secondes. Donc pas d'angles -> Donc que mesures-tu? Il s'agit ici de vitesse et dans ton explication tu parles d'angles.
Elle nous avertit également de ne pas modifier directement cette variable, sauf pour des cas non réalistes ou déterminés.
"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
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
On peut faire:
rigidbody. AddForce(force, forceMode.changingVelocity);
Ca fait la même chose, mais ici je parle d'ajouter de la vélocité parce que, bah, on aime bien les trucs simples en français
Et le comportement de "ressort rotationnel" qui en résulte est ce que je cherche.
rigidbody. AddForce(force, forceMode.changingVelocity);
Ca fait la même chose, mais ici je parle d'ajouter de la vélocité parce que, bah, on aime bien les trucs simples en français
Et le comportement de "ressort rotationnel" qui en résulte est ce que je cherche.
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Et donc? quel est le rapport entre la rotation et la vélocité? Je ne cerne toujours pas ton problème, c'est la vélocité ou bien la rotation?nigel a écrit :Les angles des vector3 se reinitialise au dela de 360 et fausse les résultats.
"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
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Le problème c'est que je ne sais pas déduire l'ajout d'une vélocité angulaire nécessaire pour orienter un rigidbody dand une rotation cible.
Donc je tente des trucs qui sont pas forcément bon. Et c'est pour ca que j'appelle a l'aide sur des forums, en précisant ce que j'ai fait de pas bon, dans l'espoir qu'on m'explique les trucs bon.
Donc je tente des trucs qui sont pas forcément bon. Et c'est pour ca que j'appelle a l'aide sur des forums, en précisant ce que j'ai fait de pas bon, dans l'espoir qu'on m'explique les trucs bon.
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Ok, mais c'est quoi ton problème? Je veux dire que cherches-tu à faire? Nous n'avons que ta solution qui ne marche pas. Il nous faut l'énoncé du problème:
Tu as un rigidBody qui se déplace dans l'espace et qui peut être entraîné dans une orbite autour d'un autre GameObject? Comment est-il contrôlé? Pourquoi la physique pour cela et pas pour le déplacement? (Je souhaite donc orienter mon rigidbody (non soumis à la gravité) vers une rotation cible d'un autre gameObject. )
Tu as un rigidBody qui se déplace dans l'espace et qui peut être entraîné dans une orbite autour d'un autre GameObject? Comment est-il contrôlé? Pourquoi la physique pour cela et pas pour le déplacement? (Je souhaite donc orienter mon rigidbody (non soumis à la gravité) vers une rotation cible d'un autre gameObject. )
"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
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Je veux déduire le couple nécessaire pour orienter un rigidBody non kinematic, non soumis a gravité, vers une orientation cible, par exemple
la rotation d'un autre GameObject, a une certaine vitesse.
Donc a la fin de la résolution du problème, la rotation de mon GameObject avec RigidBody devra être semblable a la rotation du GameObjet cible, d’où ma tentative avec les angles vector3. [edit]
Ah oui, tout ça indépendamment de la masse du rigidBody. Donc on parle bien de touché a la vélocité directement.
la rotation d'un autre GameObject, a une certaine vitesse.
Donc a la fin de la résolution du problème, la rotation de mon GameObject avec RigidBody devra être semblable a la rotation du GameObjet cible, d’où ma tentative avec les angles vector3. [edit]
Ah oui, tout ça indépendamment de la masse du rigidBody. Donc on parle bien de touché a la vélocité directement.
- boubouk50
- ModoGenereux
- Messages : 6224
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: [MY AL] Orienter un rigidbody vers une rotation cible en ajoutant de la vélocité ?
Si je comprends bien il te faut interpoler entre la vélocité angulaire du rigidbody vers celle du GameObject source (qui n'en a pas forcément s'il n'a pas de rigidBody).
La vélocité angulaire se calcule en radians par secondes:
Soit tu as la vitesse de rotation de ton gameObject, dans ce cas il te faut convertir l'angle parcouru en une seconde en radians.
Soit tu retrouves l'angle effectué entre deux frames, tu le calcules pour une seconde (1/deltaTime) et tu le convertis ensuite en radians.
La vélocité angulaire se calcule en radians par secondes:
Soit tu as la vitesse de rotation de ton gameObject, dans ce cas il te faut convertir l'angle parcouru en une seconde en radians.
Soit tu retrouves l'angle effectué entre deux frames, tu le calcules pour une seconde (1/deltaTime) et tu le convertis ensuite en radians.
"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