[Resolu] Deplacement d'un objet dans un objet en mouvement

Questions à propos du GUI, y compris la partie script.
Avatar de l’utilisateur
Amethyste
Messages : 136
Inscription : 30 Mai 2013 22:37
Localisation : Vendée

[Resolu] Deplacement d'un objet dans un objet en mouvement

Message par Amethyste » 25 Juil 2013 16:41

Bonjour à tous

Désolé de poster au mauvais endroit mais je n'ai pas trouvé le bon forum ou mettre ce post.

Donc j'ai un petit soucis.

Je vous explique le contexte.

Déjà une photo

Image

Maintenant le soucis

Donc j'ai un objet (le truc sphérique en haut a droite de l'image), on va l'appeler A pour l'explication, qui effectue une révolution autour d'un axe (le chemin noir) avec une certaine vitesse et le trou de A (représenté par le trait rouge) est toujours en face du centre de révolution (la sphère du milieu).

Ça fonctionne sans problèmes mais le problème est que, dans le jeu que je suis entrain de faire, un objet sphérique (B pour l'explication) doit entrer dans ce trou, mais dés qu'il y entre il est entrainé par la force de coriolis et ressort de l'autre coté du trou. Je vous ferais une petite vidéo si vous ne voyez pas le problème.

Donc j'aimerai que B suive tranquillement la rotation de A (sans prendre sa vitesse) un peu comme un humain qui est sur une planète et qui ne sent pas qu'elle tourne et ne se fait pas éjecter contre les murs.

Pour corser le tout je ne peux pas forcer la vélocité du rigidbody de B a zéro puisque je doit pouvoir bouger B quand je veux (pour faire ça j'augmente la vélocité de B)

Je ne veux pas forcément de script tout fait, je peux me débrouiller de ce coté la, mais juste une piste pour démarrer mes recherches, je vous avoue que ca fait 2 ou 3 jours que je cherche comment résoudre le problème mais je fonce dans le mur a chaque fois, donc je me dit qu'un autre cerveau avec une autre manière de penser pourrait m'aider.

Merci à tous
Dernière édition par Amethyste le 25 Juil 2013 17:37, édité 1 fois.

Avatar de l’utilisateur
cayou66
Codeur
Codeur
Messages : 6450
Inscription : 30 Juin 2011 14:45
Localisation : Montréal

Re: Deplacement d'un objet dans un objet en mouvement

Message par cayou66 » 25 Juil 2013 16:44

Salut,
Ça fonctionne sans problèmes mais le problème est que
Marrant ça :P

Sinon, on dirait que souhaite reproduire un effet de "gravité" sur ton objet A, si je ne me trompe.
Peut être qu'une vidéo pourrait aider, en tout cas pour moi.

Avatar de l’utilisateur
Amethyste
Messages : 136
Inscription : 30 Mai 2013 22:37
Localisation : Vendée

Re: Deplacement d'un objet dans un objet en mouvement

Message par Amethyste » 25 Juil 2013 17:05

Bonjour cayou66

Donc voila la vidéo

http://www.youtube.com/watch?v=ZCDm4ewdtVg

Si tu regardes vers la fin, tu vois que la balle est éjectée or de la sphère due a la révolution de la sphère jaune.

J'aimerai que la balle ne subisse pas cette force et suive tranquillement la révolution de la sphère

Merci

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: Deplacement d'un objet dans un objet en mouvement

Message par mel68 » 25 Juil 2013 17:26

Ben je suis absolument pas sur du résultat, et je ne pense pas que ca puisse faire propree,

mais peu etre en parentant ta balle a ta sphere jaune, quand la balle rentre en collision a la sphere jaune,

j'ai entendu beaucoup de gens dire quil fallait faire ca pour une plateforme mouvante, je pense que le principe est le meme
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Avatar de l’utilisateur
Amethyste
Messages : 136
Inscription : 30 Mai 2013 22:37
Localisation : Vendée

Re: Deplacement d'un objet dans un objet en mouvement

Message par Amethyste » 25 Juil 2013 17:29

Oui, ce n'est pas bête du tout.

Je met la vélocité a zéro, je parente la balle a la sphère et je rend la vélocité libre.

Comme cela si la sphère bouge, les enfants bougent avec.

Très bonne idée, merci.

Faut que je regarde comment forcer un gameobject a être enfant d'un autre via script (je n'ai jamais fait) mais merci beaucoup de l'idée

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: Deplacement d'un objet dans un objet en mouvement

Message par mel68 » 25 Juil 2013 17:32

pour forcer un objet a etre enfant d'un objet tu fait :

Code : Tout sélectionner

var tonParent : GameObject;

function Start()
  {
       transform.parent = tonParent;
  }

edit : lien vers la doc : http://docs.unity3d.com/Documentation/S ... arent.html

bonne chance ;)
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Avatar de l’utilisateur
Amethyste
Messages : 136
Inscription : 30 Mai 2013 22:37
Localisation : Vendée

Re: Deplacement d'un objet dans un objet en mouvement

Message par Amethyste » 25 Juil 2013 17:36

Lol, j'ai trouvé tout seul le temps que tu réponde.

Donc j'ai testé et ça fonctionne parfaitement.

Au moment ou je téléporte la balle je la stoppe, je récupère le parent du teleporteur d'arrivée (donc la sphère) que je réinjecte dans la balle.

Merci beaucoup :D

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [Resolu] Deplacement d'un objet dans un objet en mouveme

Message par mel68 » 25 Juil 2013 17:37

whoa tu code vite dis donc, ta fait ca en 3 mins o_O

sinon derien, et bonne chance pour ton golf :P
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Avatar de l’utilisateur
Amethyste
Messages : 136
Inscription : 30 Mai 2013 22:37
Localisation : Vendée

Re: [Resolu] Deplacement d'un objet dans un objet en mouveme

Message par Amethyste » 25 Juil 2013 17:42

Pas trois minutes, 5 minutes :P

Puis c'est juste une ligne a rajouter

Pour info voila le script qui fait le teleporteur, donc la ligne est vite rajoutée . :lol:

Code : Tout sélectionner


#pragma strict

//-----------------------------------------------------------------
//SCRIPT QUI VA TELEPORTER LA BALLE D'UN TELEPORTEUR VERS UN AUTRE
//-----------------------------------------------------------------

//variables publiques
var arrivee : GameObject; //teleporteur d'arrivee

function Teleporter(balle : GameObject){

	balle.transform.position = arrivee.transform.position; //on donne la position du teleporteur d'arrivee a la balle
	//on donne le parent de l'arrivee comme parent de la balle
	balle.transform.parent = arrivee.transform.parent;

}

Avatar de l’utilisateur
mel68
Messages : 827
Inscription : 04 Fév 2012 14:57

Re: [Resolu] Deplacement d'un objet dans un objet en mouveme

Message par mel68 » 25 Juil 2013 18:28

héhé, effectivement :P,

je pensait que tu avait fait un truc avec OnCollisionEnter() ou un truc du genre ^^
Bonjour bonjour, je tien juste a vous avertir promptement que ce message ne sert totalement a rien

Répondre

Revenir vers « L'interface GUI »