Home Tutorials Download Beta Store Forum Documentation KnowledgeBase Wiki Blog

ShiVa3D

Return to Game programming

déplacement dynamique!

All about the StoneScript

Re:déplacement dynamique!

Postby pataya » 12 Nov 2007, 18:32

Salut kilik!B)
je suis comme toi je débute!:cheer:
j'en suis environ au même point que toi j'ai un cube qui traverse les murs :cheer:
je sais pas si c'est possible pour un débutant de gérer les collisions :dry:
Shiva can do hit!
User avatar
pataya
Platinum Boarder
Platinum Boarder
 
Posts: 876

Re:déplacement dynamique!

Postby NiCoX » 12 Nov 2007, 19:34

Bonsoir et bienvenue pataya :)

Le meilleur moyen de bien comprendre l'utilisation de la dynamique est, à mon avis, de partir du sample "BallDynamics" et d'essayer de, par exemple, rajouter des contrôles clavier permettant d'appliquer des forces à la boule, pour la faire avancer dans la direction voulue.

Une fois cela fait, il suffira de remplacer le décors du sample par un maillage de votre choix (une heightmap par exemple), et la boule par un personnage.

PS : pour appliquer une force à un object géré par la dynamique il suffit d'utiliser la fonction dynamics.addForce(...), c'est tout. Donc pas si compliqué au final ;)
User avatar
NiCoX
Platinum Boarder
Platinum Boarder
 
Posts: 5640
Location: France

Re:déplacement dynamique!

Postby kilik » 13 Nov 2007, 02:04

Salut Pataya! welcomme!:)
Merci NiCoX ca m'a aidez cette fois j'ai bien les collisions dans ma scène mais le déplacement
et impossible a décrire si ce n'est qui ce déplace tout seul et injouable !


en gros je vient de me rendre conte que j'avais assigné 2 createboxbody au même object
un bon massacre a la tronconeuse!

j'ai essayé enableDynamics fasle quand key up .pas bon

le code ressemble a :

local B = this.getObject ("me")

Code: Select all
if ( dynamics.createBoxBody ( B, 2, 2, 2) )  then
                dynamics.enableDynamics     ( B,  true )
                dynamics.enableCollisions   ( B,  true )
                dynamics.enableGravity ( B, false )
                dynamics.enableRotations ( B, false )
   --             dynamics.setLinearDamping   ( B,  5.00 )
    --            dynamics.setAngularDamping  ( B,  5.00 )
         --       dynamics.setLinearSpeedLimit( B,  1 )
             --   dynamics.setMass            ( B,    1)
                dynamics.setGuardBox ( B, this.tx ()-5, this.ty(), this.tz()-5, this.tx()+5, this.ty(), this.tz()+5 )
            --    dynamics.enableAutoIdle     (B, false )
end


une fois le setGuardBox marche pas dans cette exemple mais il marché quand j'ai testé pour la priemiere fois

j'ai remplacer addforce par addLinearImpulse pour testé

bref cette fois c'est pas que j'arrive plus a faire bouger mon personnage c'est que j'arrive a le stopé que si je rentre dans le mur!
c'est un peu comme la torture au final le code faut aimez ce faire du mal :sick:
!
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby kilik » 13 Nov 2007, 02:36

5 min plus tard je vient de comprendre pourquoi mon objet bouger tout seul mais du coup il bouge plus !
op ca c'est fait!:)

je voudrais un déplacement linéaire la force ca pousse l'objet en fonction de la masse friction ? .. comment je stop la force?
pour l'instant je dois avouez que j'aurais préféré appliqué les collision au système de déplacement basique :silly:

c'est la misère!!
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby pataya » 13 Nov 2007, 19:13

salut kilik !:)
ta oubliez dynamics.enableGuardBox ( hObject, true )

Salut Nicox!:)
j'ai testé comme tu ma dis c'est fun
avec la fonction dynamics.addPonctualForce le truc c'est quand mon objet touche un mur
1)il reste bloqué en fonction de la force donner que dois je faire ?
je pensé utilisé getLastCollisionTime mais je sais pas comment elle marche

2)y'a pas une fonction pour resest la force comme kilik mon objet bouge tout seul ;(

3)comment je récupère un objet touchez par getLastCollisionTime et getFirstHitSensor
par exemple j'ai un missile je voudrais envoyer un event a l'objet touchez:)

Merci:)<br><br>Message édité par : pataya, à : 13-11-2007 à 20:31
Shiva can do hit!
User avatar
pataya
Platinum Boarder
Platinum Boarder
 
Posts: 876

Re:déplacement dynamique!

Postby kilik » 15 Nov 2007, 02:06

Merci Bien :=) dslé je peu pas t'aidez je galère encore plus que toi:(-
j'ai testé mass fonction dynamic sans résultat je dois t'avouez que je désespère un peu
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby pingu » 15 Nov 2007, 10:59

Regarde dans le sample FPVframework, l'AImodel de la caméra : il y a tout le code qui va bien pour faire avancer un objet en physique (remplace juste la caméra par un objet, et supprime les lignes superflues qui gèrent l'orientation par la souris)

Une erreur sur laquelle j'ai bloqué comme un imbécile pendant quelques temps : ne pas oublier d'envoyer un message sur évènement onKeyboardDown et onKeyboardUp de l'user/main jusqu'à ton objet ! moi j'avais juste mis les évènements dans le script de mon objet, et je pestais contre mon objet qui ne bougeait pas lol
pingu
Senior Boarder
Senior Boarder
 
Posts: 59

Re:déplacement dynamique!

Postby kilik » 16 Nov 2007, 17:34

yo pingu!:)
j'ai testé ton idée !

mon perso ce déplace que vers le haut sauf quand je fait une diagonal:((-

j'ai du faire une betisse dans le onenterframe ;-

même un copier coller je suis pas capable de le faire sans eureur :S

j'ai pas mis la variable bHandleInputs peu etre que ca vient de la mais je pense pas :silly:

ps: lol le vieux reflexe je fait f7 pour voir si j'ai pas une eureur sur le forum^^

Message édité par : kilik, à : 16-11-2007 à 18:46

Message édité par : kilik, à : 16-11-2007 à 19:04<br><br>Message édité par : kilik, à : 16-11-2007 à 19:06
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby Jami » 16 Nov 2007, 18:29

Salut kilik !

L'astuce avec FPVCamera, c'est que c'est un dummy qui se déplace et la camera se positionne à l'endroit du dummy. Pour déplacer le dummy, on récupère les axes X,Y,Z du model : As-tu effectué une rotation sur ton model ? cela expliquerait le fait qu'il ne se déplace pas dans la direction souhaitée...

La variable bHandleInputs te permet, comme pour FPSDemo, de récupérer la main sur le curseur de la souris, donc, non ça n'est pas ça ;) .
Jami
Junior Boarder
Junior Boarder
 
Posts: 31
Location: Earth

Re:déplacement dynamique!

Postby Jami » 16 Nov 2007, 18:30

ah j'oubliais !

Terrible le PS ! ça m'arrive aussi !

Bon courage !
Jami
Junior Boarder
Junior Boarder
 
Posts: 31
Location: Earth

Re:déplacement dynamique!

Postby kilik » 17 Nov 2007, 16:07

yéyéyé merci c'était bien ca !:)
quand un problème est résolut d'autre arrive malheuresement (;-
j'ai des ralentissement quand je passe entre 2 object collider:dry:
surement du a la taille des object?

arf lol je viend d'essayé de rajouté les rotations du coup ca a inversé gauche droite haut bas!<br><br>Message édité par : kilik, à : 17-11-2007 à 17:26
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby Jami » 17 Nov 2007, 16:58

De rien !

Je ne comprends pas ce que tu veux dire par des ralentissement entre 2 objets coliders, mais je suppose que si tu as fais un copier-coller tu as dû gardé la même taille de sphère dynamique que dans FPVCamera :

if ( dynamics.createSphereBody ( dynObject, 0.25 ) ) ...

Or si ton objet est plus grand il faut agrandir la sphère ou même créer une boîte plutôt : dynamics.createBoxBody...

Si ce n'est pas ça, pourrais-tu faire une capture de ton problème ?
Jami
Junior Boarder
Junior Boarder
 
Posts: 31
Location: Earth

Re:déplacement dynamique!

Postby kilik » 17 Nov 2007, 17:35

en fait c'est même du au colliders j'ai des ralentissements dans le déplacement environ toutes les 3 sec une sortes de lag perte de fps(on peu affichez les fps ?)
j'ai crée un boxbody 1,1,1 et changer le addforce par addLinearImpulse

c'est pas méchant mais bon c'est pas bon pour le gameplay je vais avoir d'autre problème que je sais pas comment réglé

http://i225.photobucket.com/albums/dd21 ... robob1.jpg
comme vous vous en doutais je fait la suite de bombinet
http://bombinet.sourceforge.net/index.php

alors ca commence a être compliquer:

1) je dois faire exploser un cube quand il est touchez par les flammes de la bombe(je vais essayé de faire ca solo comme un grand)
2) il faut que les bombes ce place en fonction de mon model mais au millieu du point le plus proche pour ne pas avoir plus de 2 bombe sur la même case
(faut déja avoir jouez a bomberman pour comprendre)
3)optimisé encore et toujours le déplacement :angry:
la quand j'essaie de tourner autour d'un carré
je suis ralentie par les collisions ce qui donne un déplacement tres peu fluide :silly:
ca détruit complêtement la jouabilité bien sur j'ai fait plusieur test dans la dynamics<br><br>Message édité par : kilik, à : 17-11-2007 à 19:08
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby kilik » 17 Nov 2007, 20:04

:woohoo:

le système de trail c'est un simple systême de particule?
j'ai essayé d'en mettre sur un dummy!
y'a le dummy qui se déplace dans la scène mais j'ai pas de trail?
j'ai loupé qq chose je voudrais donner a mes particules un système de collision
je me suis dis que ce serait une solution !
hum hum docteur ?<br><br>Message édité par : kilik, à : 18-11-2007 à 00:54
User avatar
kilik
Expert Boarder
Expert Boarder
 
Posts: 158

Re:déplacement dynamique!

Postby Jami » 18 Nov 2007, 14:29

aloha Kilik !

Pourquoi ne postes-tu pas ton projet dans la section W.I.P ? Ainsi toute la communauté pourrait t'aider dans sa progression B) ...

Concernant les trails, je dirais pareillement, ça fait partie d'un autre thread ;)

J'ai tenté d'en créer un mais sans grand succès, j'avoue que je ne m'y suis pas plus penché que ça...
Pour donner un système de collision sur des particules, j'ai crée un balle dynamique sur laquelle j'ai appliqué un système de particules, ça fonctionne bien donc, oui, ce doit être une bonne solution.
Jami
Junior Boarder
Junior Boarder
 
Posts: 31
Location: Earth

PreviousNext

Return to Game programming