Je pense pouvoir pondre un petit truc d'ici a ce soir...
Dreamotion3D
-
tmyke
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
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

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
Force et sagesse...
d'un point de vue Ergonomique :
Au lieu d'utiliser 2 instructions comme celles ci
)
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 ?

Au lieu d'utiliser 2 instructions comme celles ci
qui peut porter a confusion (car se rappeler des syntaxes n'est pas toujours facileDM_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.
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 ?
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.
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.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
-
tmyke
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
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é...
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é...
Force et sagesse...
oui pourquoi pascomtois 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.
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
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 ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
je pense que le get/set est plus aproprié etant une norme du principe de moindre surprise
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ù .
Quelqu'un a vu quelques chose à ce sujet ? Je suis sûr que ça existe, mais où .
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
-
tmyke
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Si tu veux modifier les angle de vue d'une camera, c'est une entity comme les autres,
donc tu peux ecrire:
tu peux aussi utiliser DM_RotateEntity()
par exemple...
donc tu peux ecrire:
Code : Tout sélectionner
camera = DM_CreateCamera()
DM_TurnEntity(camera, 0,0,10)
...
par exemple...
Force et sagesse...
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
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
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je demandais juste un PointEntity() mais si tu peux faire un CameraPoursuit() en plus, je ne vais pas faire la fine bouchetmyke a écrit :Dans beaucoups de moteurs c'est l'instruction 'CameraPoursuit(Entity)'.
Je vais voir pour coder cela, et je te tiens au courant...
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
