Bonsoir,
Adrien, je me permet de te proposer ce link.
http://unitygems.com/interaction-scripts/
Sans vouloir t'emmener dans mon camps, tu remarquera qu'une approche en C# est beaucoup plus souple.
A bientôt.
Sympa Mediateur ce lien avec les comparaisons des 3 langages
@_Toastation_ :
Ce site, enfin l'auteur de ce site fourni beaucoup d'infos pour les gars qui démarre sous Unity en ce qui concerne les concepts liés à la prog.
Il ne fait qu'éfleurer le sujet, mais c'est une bonne base.
MediateurOfGame Peut-être que je me mettrai au C# un jours, oui ... un jour .... Pour l'instant, je progresse en Jvs.
En uS tu veut dire ?
Oui
Bonjour, je débute dans unity, je commence a faire un petit jeux rigolo et j'ai besoin de propulser un objet dans le décors et laissez faire la physique ( genre on lâche un cube et il se cogne contre les objets avant de tomber au sol )
Il existe déjà une physique dans unity si je me trompe pas, vous savez comment ça marche ?
Merci.
Tu sélectionne ton objet, dans l'inspector, tu sélectionne Add Component et tu ajoute le component "rigidbody". Normalement, ton cube devrait maintenant avoir une gravité (vers le bas).
Yep, merci beaucoup !
Et c'est possible d'intéragir avec ce rigidbody ? Genre dans mon script je propulse le cube avant et la gravité s'active sur le rigidbody ?
Tout est possible
Ton script devrait ressembler à un truc comme sa :
var gravity : rigidbody;
function propulser(){
rigidbody.addforce(valeurs);
}
function Update(){
if(secondes == nombres de secondes voulues){
gravity.enabled = true;
}
}
Je te fait sa à 00:00 et je suis fatigué, sa doit être un peu faux, mais voilà comment je le voit dans le fond.
_____________________
De la part des 70%
Oups j'ai mal lu, voilà après rectification :
var gravity : rigidbody;
gravity.enabled = false;
function propulser(){
rigidbody.addforce(valeurs);
gravity.enabled = true;
}
}
Bonjour,
@SergeantCastlez:
A partir du moment ou tu as un composant RigidBody, son but est de justement gérer de façon transparente la physique de ton objet. Je ne comprends pas ta question. Regarde éventuellement les questions réponses évoquées pour le problème de _PowerUp_.
D'autre part à ma connaissance il n'existe pas de propriété Enabled pour une classe RigidBody.
Cela n'aurait aucun sens d'ailleurs.
Bonjour ,
Utilise tout simplement rigidbody.Sleep();
Doc :
https://docs.unity3d.com/Documentation/Components/RigidbodySleeping.html
script reference : https://docs.unity3d.com/Documentation/ScriptReference/Rigidbody.Sleep.html
Merci tout le monde ! J'ai utilisé rigidbody.Sleep(); et ça fonctionne parfaitement.
rigidbody.Sleep() désactive juste le traitement du moteur physique pour une trame d'image.
Il sert essentiellement à éviter un mauvais comportement du moteur physique quand on modifie les paramètres physique d'un objet dans le cadre d'un Update().
Celà ne réponds pas à mes interrogations pour la demande de SergeantCastlez.
MediateurOfGame Ce qu'il veut (si tu n'as pas compris), c'est qu'un objet fixe (exemple un cube sans gravité) soit propulser et que au moment où il se propulse, il reçoive les lois de la gravité.
MediateurOfGame ,
Tu n'as apparemment pas compris comment le rigidbody.sleep marche n'y le moteur physique . je t'invite à aller lire la doc unity et ou directement celle d'Nvidia vu que c'est physX qui est utilisé.
Si je pense comprendre...
Mettre un objet au repos est une chose. Maintenant avoir un objet possédant une gravité 0 et mettre et faire un rigidbody.Sleerp(), n'empechera pas sa descente dans l'univers en fonction de sa gravité et de sa masse.
Pour modifier la gravité en cours de route ou la désactiver (bien que je ne comprenne toujours pas le but). rigidbody.useGravity = false; Par exemple semble être une solution. Ou plus simplement la positionner à zero avec bien sur une velocitée nulle.
Ce qu'il faudrait vraiment savoir c'est pquoi SergeantCastlez veut faire cette manip. Quelle est l'utilité ?
Correction "possédant une gravité !=0 "
Non a la base je l'ai mis en rigidbody.sleep() puis au moment du lancement j'ai fais un rigidbody.wakeup().
Et je veux faire cette manip pour que l'objet ne tombe pas au sol au lancement du jeu et que ça se fasse quand le joueur appuie sur un bouton, tout simplement.