[Demande d'aide] Hovercraft !

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Répondre
ReikanYsora
Messages : 10
Inscription : 09 Sep 2011 23:39

[Demande d'aide] Hovercraft !

Message par ReikanYsora » 09 Sep 2011 23:48

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 !

Avatar de l’utilisateur
MasterNovice
Messages : 610
Inscription : 23 Juil 2011 16:03

Re: [Demande d'aide] Hovercraft !

Message par MasterNovice » 10 Sep 2011 00:01

Salut,

Je pense qu'avec un rigidbody et les forces ça doit être jouable.
- 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 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 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.
- 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.
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.

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.


Avatar de l’utilisateur
Franck
Bricoleur
Bricoleur
Messages : 2884
Inscription : 08 Jan 2011 18:43
Localisation : Tours

Re: [Demande d'aide] Hovercraft !

Message par Franck » 10 Sep 2011 07:54

C'est tout JP?
Chuic déçu.......... :D
Dés fois j'bug, dés fois j'bug pas.

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: [Demande d'aide] Hovercraft !

Message par ZJP » 10 Sep 2011 08:00

1h du mat chez moi. Fatigué. :mrgreen:
A demain. :lol:

JP

Avatar de l’utilisateur
Max
Messages : 8805
Inscription : 30 Juil 2011 13:57
Contact :

Re: [Demande d'aide] Hovercraft !

Message par Max » 10 Sep 2011 09:32

Franck a écrit :C'est tout JP?
Chuic déçu.......... :D
ouai moi aussi, il était fatigué l'JP
Image
Image
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

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: [Demande d'aide] Hovercraft !

Message par ZJP » 10 Sep 2011 15:52

Bonjour tout le monde :D

JP

ReikanYsora
Messages : 10
Inscription : 09 Sep 2011 23:39

Re: [Demande d'aide] Hovercraft !

Message par ReikanYsora » 10 Sep 2011 22:15

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 :D (en continuant à chercher evidemment)

(la communauté de ce fofo à l'air tout a fait sympathique en tous cas :) )

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

Re: [Demande d'aide] Hovercraft !

Message par cayou66 » 11 Sep 2011 00:52

HS:
Poua la vidéo ça envoie bien !
Et puis la musique...Pendulum ! Génial :D

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 !

ReikanYsora
Messages : 10
Inscription : 09 Sep 2011 23:39

Re: [Demande d'aide] Hovercraft !

Message par ReikanYsora » 11 Sep 2011 12:26

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 :D

Répondre

Revenir vers « Scripting »