[Demande d'aide] Hovercraft !
-
- Messages : 10
- Inscription : 09 Sep 2011 23:39
[Demande d'aide] Hovercraft !
Bien le bonjour à tous, je suis nouveau sur ce forum.
Je vais essayer d'expliquer rapidement mon problème. Je me lance dans le monde merveilleux d'Unity 3D et je me suis lancé dans un petit projet. La création d'un jeu à la WipeOut (dont je reste un inconditionnel fan). Seulement voila, après avoir parcouru internet pour trouver la solution à mon problème, je galère complétement sur le script de gestion "antigravité".
J'entend par la évidemment les déplacements de mon hovercraft. J'ai essayé pas mal de solutions, des fausses wheelcolliders, des raycastcolliders, des "bidouilles" pour recalculer la position de mon vaisseau sans reelement trouver quelque chose de "réaliste".
Alors voila, je ne demande pas que l'on me ponde un script, je vous demande juste si vous le pouvez, de m'indiquer la voix à suivre... Ce qui n'est malheureusement pas chose aisée quand on se lance dans la bataille
En résumé :
- Je souhaite que mon vaisseau "flotte" à une distance du sol variable en fonction de la gravité (si je saute une bosse, je dois gérer une sorte de "suspension").
- Je souhaite que mon vaisseau s'incline au niveau du modèle 3D lorsque je tourne, et qu'il s'incline vers l'avant quand j’accélère.
Je pense avoir correctement résumé mon soucis.
Je vous remercie par avance si possible de m'indiquer la direction à suivre !
Je vais essayer d'expliquer rapidement mon problème. Je me lance dans le monde merveilleux d'Unity 3D et je me suis lancé dans un petit projet. La création d'un jeu à la WipeOut (dont je reste un inconditionnel fan). Seulement voila, après avoir parcouru internet pour trouver la solution à mon problème, je galère complétement sur le script de gestion "antigravité".
J'entend par la évidemment les déplacements de mon hovercraft. J'ai essayé pas mal de solutions, des fausses wheelcolliders, des raycastcolliders, des "bidouilles" pour recalculer la position de mon vaisseau sans reelement trouver quelque chose de "réaliste".
Alors voila, je ne demande pas que l'on me ponde un script, je vous demande juste si vous le pouvez, de m'indiquer la voix à suivre... Ce qui n'est malheureusement pas chose aisée quand on se lance dans la bataille
En résumé :
- Je souhaite que mon vaisseau "flotte" à une distance du sol variable en fonction de la gravité (si je saute une bosse, je dois gérer une sorte de "suspension").
- Je souhaite que mon vaisseau s'incline au niveau du modèle 3D lorsque je tourne, et qu'il s'incline vers l'avant quand j’accélère.
Je pense avoir correctement résumé mon soucis.
Je vous remercie par avance si possible de m'indiquer la direction à suivre !
- MasterNovice
- Messages : 610
- Inscription : 23 Juil 2011 16:03
Re: [Demande d'aide] Hovercraft !
Salut,
Je pense qu'avec un rigidbody et les forces ça doit être jouable.
Je ne sais pas si je suis clair, mais je pense que ça peut le faire, facile à mettre en place et sans te prendre la tête dans des calculs de fou.
Voilà voilà, si tu veux plus de précisions hésites pas. Sans doute qu'il existe une meilleure façon de faire et bien plus "propre" avec les forces et autres.
Je pense qu'avec un rigidbody et les forces ça doit être jouable.
- Je n'ai pas testé et je ne sais pas si ca peut être coûteux en ressources mais tu pourrais désactiver la gravité de ton vaisseau, rajouter un mesh vide parent au vaisseau avec un rigidbody et une gravité assez haute pour qu'en cas de saut l'objet "flotte". Tu place ton vaisceau à une la distance souhaité au dessus du mesh vide parent qui lui est au sol. Tu fais un script de déplacement sur le mesh parent, du coup le vaisseau avancera aussi au dessus de celui-ci en tenant compte de la fluctuation du terrain. Pour améliorer l'effet tu peux ajouter un script sur ton vaisseau où quand ton mesh parent avance, une fois sur deux le vaisseau descend de quelques centimètres et remonte l'autre fois.- Je souhaite que mon vaisseau "flotte" à une distance du sol variable en fonction de la gravité (si je saute une bosse, je dois gérer une sorte de "suspension").
Je ne sais pas si je suis clair, mais je pense que ça peut le faire, facile à mettre en place et sans te prendre la tête dans des calculs de fou.
Script sur le vaisseau quand tu tourne tu applique une rotation locale du nombre de degrés que tu veux et pareil dans l'autre sens.- Je souhaite que mon vaisseau s'incline au niveau du modèle 3D lorsque je tourne, et qu'il s'incline vers l'avant quand j’accélère.
Voilà voilà, si tu veux plus de précisions hésites pas. Sans doute qu'il existe une meilleure façon de faire et bien plus "propre" avec les forces et autres.
Re: [Demande d'aide] Hovercraft !
Project a la "Wipe Out" : http://vimeo.com/13969214
Zip : http://www.systemsgo.se/development/ant ... system.zip
Sinon : http://forum.unity3d.com/threads/5597-F ... hovercraft
Ou : http://www.youtube.com/watch?v=3xWfBgtI_BA
http://answers.unity3d.com/questions/21 ... cript.html
http://www.gotow.net/andrew/wordpress/?page_id=99
http://answers.unity3d.com/questions/15 ... ement.html
JP
Zip : http://www.systemsgo.se/development/ant ... system.zip
Sinon : http://forum.unity3d.com/threads/5597-F ... hovercraft
Ou : http://www.youtube.com/watch?v=3xWfBgtI_BA
http://answers.unity3d.com/questions/21 ... cript.html
http://www.gotow.net/andrew/wordpress/?page_id=99
http://answers.unity3d.com/questions/15 ... ement.html
JP
Re: [Demande d'aide] Hovercraft !
C'est tout JP?
Chuic déçu..........
Chuic déçu..........
Dés fois j'bug, dés fois j'bug pas.
Re: [Demande d'aide] Hovercraft !
1h du mat chez moi. Fatigué.
A demain.
JP
A demain.
JP
Re: [Demande d'aide] Hovercraft !
ouai moi aussi, il était fatigué l'JPFranck a écrit :C'est tout JP?
Chuic déçu..........
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
Re: [Demande d'aide] Hovercraft !
Bonjour tout le monde
JP
JP
-
- Messages : 10
- Inscription : 09 Sep 2011 23:39
Re: [Demande d'aide] Hovercraft !
Bonjour,
Juste un petit message pour vous remercier de votre aide, j'avance bien !
Je me suis basé via le projet http://vimeo.com/13969214.
En attendant, je bloque depuis une petite heure sur un autre soucis... dans ce script, le vaisseau avance via une force appliquée à l’arrière de la boxcollider dans une certaine direction (en l occurence ici, Vector3.Left). En gros, même si j'applique une rotation sur les Y, il continue de foncer dans la même direction... Je suppose que je dois recalculer un vecteur a partir de sa position actuelle afin d'appliquer la force a cette endroit et le "pousser" vers cet endroit.
Je suis pas sur d être bien clair ! Je reste à l'affut au cas ou (en continuant à chercher evidemment)
(la communauté de ce fofo à l'air tout a fait sympathique en tous cas )
Juste un petit message pour vous remercier de votre aide, j'avance bien !
Je me suis basé via le projet http://vimeo.com/13969214.
En attendant, je bloque depuis une petite heure sur un autre soucis... dans ce script, le vaisseau avance via une force appliquée à l’arrière de la boxcollider dans une certaine direction (en l occurence ici, Vector3.Left). En gros, même si j'applique une rotation sur les Y, il continue de foncer dans la même direction... Je suppose que je dois recalculer un vecteur a partir de sa position actuelle afin d'appliquer la force a cette endroit et le "pousser" vers cet endroit.
Je suis pas sur d être bien clair ! Je reste à l'affut au cas ou (en continuant à chercher evidemment)
(la communauté de ce fofo à l'air tout a fait sympathique en tous cas )
Re: [Demande d'aide] Hovercraft !
HS:
Poua la vidéo ça envoie bien !
Et puis la musique...Pendulum ! Génial
Ah oui, pardon...Ce que tu parles il me semble que c'est la différence entre utiliser du transform et des addForce. Tu dois peut être pas pouvoir mélanger...Bien que...
Bon courage !
Poua la vidéo ça envoie bien !
Et puis la musique...Pendulum ! Génial
Ah oui, pardon...Ce que tu parles il me semble que c'est la différence entre utiliser du transform et des addForce. Tu dois peut être pas pouvoir mélanger...Bien que...
Bon courage !
-
- Messages : 10
- Inscription : 09 Sep 2011 23:39
Re: [Demande d'aide] Hovercraft !
Bon bon bon..
Je galere totalement sur le script de déplacement...
En gros avec ce bout de code, le vaisseau va bien dans la direction souhaitée, la force est appliquée correctement et il gagne en vitesse très rapidement comme je le souhaite. L'ennui est son "glissement" perpétuelle lorsque je change de direction, et du coup, il me faut un certain temps apres la rotation pour que le vaisseau aille dans la direction souhaitée.
Toute aide est de loin, la bienvenue
var acceleration = 10;
var rotation = 1000;
function Update ()
{
var accelerate : float = Input.GetAxis ("Vertical");
var volant : float = Input.GetAxis ("Horizontal");
rigidbody.AddRelativeForce(Vector3.left * acceleration * accelerate, ForceMode.Impulse);
transform.Rotate(0,volant * 2,0);
rigidbody.AddRelativeForce(Vector3.forward * acceleration * volant, ForceMode.Impulse);
}
A mon avis, la force que dois appliqué sur les "cotés' afin qu'il tourne doit être dépendante de la vitesse du rigidbody.. mais alors là je ne vois pas du tout comment faire..
PS : dans mon script la direction pour avancer c'est Vector3.left, et Vector3.forward pour tourner, le modele que j'ai créé n'est pas orienté dans la bonne direction
Je galere totalement sur le script de déplacement...
En gros avec ce bout de code, le vaisseau va bien dans la direction souhaitée, la force est appliquée correctement et il gagne en vitesse très rapidement comme je le souhaite. L'ennui est son "glissement" perpétuelle lorsque je change de direction, et du coup, il me faut un certain temps apres la rotation pour que le vaisseau aille dans la direction souhaitée.
Toute aide est de loin, la bienvenue
var acceleration = 10;
var rotation = 1000;
function Update ()
{
var accelerate : float = Input.GetAxis ("Vertical");
var volant : float = Input.GetAxis ("Horizontal");
rigidbody.AddRelativeForce(Vector3.left * acceleration * accelerate, ForceMode.Impulse);
transform.Rotate(0,volant * 2,0);
rigidbody.AddRelativeForce(Vector3.forward * acceleration * volant, ForceMode.Impulse);
}
A mon avis, la force que dois appliqué sur les "cotés' afin qu'il tourne doit être dépendante de la vitesse du rigidbody.. mais alors là je ne vois pas du tout comment faire..
PS : dans mon script la direction pour avancer c'est Vector3.left, et Vector3.forward pour tourner, le modele que j'ai créé n'est pas orienté dans la bonne direction