Page 11 sur 62
Publié : mer. 01/nov./2006 9:54
par tmyke
Pas de soucis, je vais voir pour te fournir un minimum d'expli, vue qu'il n'y a pas de doc
Je pense pouvoir pondre un petit truc d'ici a ce soir...
Publié : mer. 01/nov./2006 14:40
par cha0s
ok merci j'attend avec impatience

Publié : mer. 01/nov./2006 15:36
par tmyke
Voici un petit résumé de ce que peut faire le modeste terrainEngine de DM3D:
http://www.dreamotion3d.com/Docs/terrain.html
Pour illustrer tous cela, voici le lien vers le petit code que j'avais fait pour Cpl.Bator
http://www.dreamotion3d.com/PureBasic/TutoTerrain1.zip
Pour la gestion avec les brush, ce n'est surement pas encore très clair, mais j'avance la doc, et
avant le WE prochain je mettrais en ligne la partie déjà fini, avec entre autre justement les Brush
et Textures...
les commandes:
clickGauche + souris = commande camera
ClickDroit + souris = picking pour soit dessiner 'road', soit changer la hauteur du terrain
F1/F2: commute le mode picking ('road' ou Hauteur)
F5: exemple d'accès directe au vertex d'un Quad et de ses valeurs

Publié : mer. 01/nov./2006 16:04
par cha0s
j'ai reussi exactement a ce que voulait faire merci D3D est vraiment genial
Publié : mer. 01/nov./2006 16:47
par Backup
d'un point de vue Ergonomique :
Au lieu d'utiliser 2 instructions comme celles ci
DM_TerrainHeight(posx, posy), permet de
connaître la hauteur du terrain à une position donnée.
DM_HeightTerrain(posx, posy, Hauteur),permet de spécifier que la hauteur du terrain a la position ‘posx / posy’ sera de valeur ‘Hauteur’, et donc de changer la valeur initiale.
qui peut porter a confusion (car se rappeler des syntaxes n'est pas toujours facile

)
tu devrai utiliser ce type d'instruction
DMR_TerrainHeight(posx, posy) permet de connaître la hauteur du terrain à une position donnée
DMI_TerrainHeight(posx, posy) permet de spécifier que la hauteur du terrain a la position ‘posx / posy’ sera de valeur ‘Hauteur’, et donc de changer la valeur initiale.
dans ce cas le nom reste le même puisqu'il sagit de la hauteur de terrain
le (R) apres DM indiquerai que l'on attends un (r)etour de valeur de la fonction
alors que le (I) indiquerai que ce fut une (i)nstruction, on commande une action
de la sorte tu diminuerai le nombre de nom de fonctions a retenir pour notre petite memoire ,
et d'un coup d'oeil nous saurions s'il sagit de l'exécution d'une
action que l'on demande au moteur ,
ou d'un paramètre que que l'on attends !!
qu'en pense tu de cette idée ??
en plus dans l'aide ce serai plus simple de faire pour des noms de fonction
pour chaque page la partie mettons supérieur indiquerai le coté (R)
et la partie inférieur le coté (I) d'une même fonction
suis-je clair ?

Publié : mer. 01/nov./2006 16:57
par comtois
perso je préfère faire l'analogie avec les commandes des gadgets
en utilisant Set et Get
DM_GetTerrainHeight(posx, posy), permet de
connaître la hauteur du terrain à une position donnée.
DM_SetTerrainHeight(posx, posy, Hauteur),permet de spécifier que la hauteur du terrain a la position ‘posx / posy’ sera de valeur ‘Hauteur’, et donc de changer la valeur initiale.
Publié : mer. 01/nov./2006 17:00
par tmyke
L'idée n'est pas mauvaise en effet. Mais cette syntaxe émane du milieu
Blitz3D, qui sur beaucoup de fonctions employe la syntaxe suivante:
Entity_x() -> requette
x_Entity() -> action
exemple:
BrushEntity() -> affecte une nouvelle brush a une entity
EntityBrush() -> retourne la brush d'une entity.
C'est une habitude je crois. Cette syntaxe a de plus été plebiscité par les
BMax users ... comunauté originaire de DM3D. Mais le débat est lancé...
Publié : mer. 01/nov./2006 17:00
par Backup
comtois a écrit :perso je préfère faire l'analogie avec les commandes des gadgets
en utilisant Set et Get
DM_GetTerrainHeight(posx, posy), permet de
connaître la hauteur du terrain à une position donnée.
DM_SetTerrainHeight(posx, posy, Hauteur),permet de spécifier que la hauteur du terrain a la position ‘posx / posy’ sera de valeur ‘Hauteur’, et donc de changer la valeur initiale.
oui pourquoi pas

Publié : mer. 01/nov./2006 17:14
par Progi1984
Perso, provenant des deux cmmunautés, je penche sur le Set/Get que sur la méthode Blitz. C'est plus compréhensible à mon avis... Pourquoi ne pas faire un sondage sur tous les sites ?
Publié : mer. 01/nov./2006 18:02
par cha0s
je pense que le get/set est plus aproprié etant une norme
du principe de moindre surprise
Publié : mer. 01/nov./2006 19:42
par comtois
Je cherche l'équivalent de la commande CameraLookAt(), je n'ai pas trouvé ?
Quelqu'un a vu quelques chose à ce sujet ? Je suis sûr que ça existe, mais où .
Publié : mer. 01/nov./2006 20:23
par tmyke
Si tu veux modifier les angle de vue d'une camera, c'est une entity comme les autres,
donc tu peux ecrire:
Code : Tout sélectionner
camera = DM_CreateCamera()
DM_TurnEntity(camera, 0,0,10)
...
tu peux aussi utiliser DM_RotateEntity()
par exemple...
Publié : mer. 01/nov./2006 20:31
par comtois
oui mais ça m'oblige à calculer moi même l'angle, alors que la commande CameraLookAt() regarde le point qu'on lui indique directement.
C'est pratique pour fixer une entité avec la caméra ( pour faire du suivi par exemple).
Par exemple pour écrire ce
codeavec Dreamotion3D
Il n'y a pas besoin de média, tu peux le tester pour comprendre ce que je veux dire.
Et effectivement, ça serait bien de le généraliser aux entités aussi
[EDIT]
Toi qui prends Blitz en référence, ça pourrait être une commande de ce
genre
Et avec PureBasic c'est cette
commande
Publié : mer. 01/nov./2006 20:46
par tmyke
Très bon code. Je vois mieux ce que tu voulais dire.
Dans beaucoups de moteurs c'est l'instruction 'CameraPoursuit(Entity)'.
Je vais voir pour coder cela, et je te tiens au courant...
Publié : mer. 01/nov./2006 20:49
par comtois
tmyke a écrit :Dans beaucoups de moteurs c'est l'instruction 'CameraPoursuit(Entity)'.
Je vais voir pour coder cela, et je te tiens au courant...
Je demandais juste un PointEntity() mais si tu peux faire un CameraPoursuit() en plus, je ne vais pas faire la fine bouche
