Section Bogues Dreamotion3D

Généralités sur la programmation 3D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Section Bogues Dreamotion3D

Message par comtois »

Bon pour être sûr que tmyke ne les oublies pas, mettez tous vos bogues dans ce post :)

Et puis c'est bon de connaitre les bogues existants, ça évite de se prendre la tête quand on tombe dessus, on sait qu'il faut contourner le problème ou attendre une correction :P
Dernière modification par comtois le jeu. 09/nov./2006 21:47, modifié 1 fois.
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

DM_Draw_Text() : Problème d'accent

Message par comtois »

On ne peut pas afficher les accents avec la commande DM_DrawText()
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

[Résolu] Lightmap , problème Dreamotion3d ou Deled ?

Message par comtois »

j'ai testé avec un autre décors issu de deled , WaterWorld

ça fonctionne bien, sauf une pièce qui apparait en rouge dans l'éditeur et pas avec Dreamotion3D.(il faut calculer les lightmap pour voir la pièce rouge)

C'est l'exporter B3D de deled qui déconne , ou l'importer B3D de dreamotion3D ?

[Résolu]
En fait il faut préciser le nombre de textures avec
DM_EntityFormat(2) ; c'est l'instruction a rajouter
avant de charger le décor
*mesh = DM_LoadEntity("WaterWorld.b3d")
Dernière modification par comtois le ven. 10/nov./2006 20:27, modifié 2 fois.
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.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Merci pour ce genre de post qui va me permettre d'avancer et d'inventorier vos bug et
problèmes.

Pour ce qui est de la zone rouge dans WaterWorld,
Il ne s'agit pas d'un bug, mais la façon dont tu importe le modèle.
La partie rouge dont tu parles n'est généré que lors du lightmapping,
et donc si tu veux pouvoir en profiter, il faut préciser au moteur que
le modèle que tu importe aura 2 textures de profondeur. Il faut donc
ecrire:

Code : Tout sélectionner

;-load a B3D file
DM_EntityFormat(2) ; c'est l'instruction a rajouter
*mesh = DM_LoadEntity("WaterWorld.b3d")
...
Tu profite alors du ligmapping et des effets qui vont avec...
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

J'ai encore beaucoup à apprendre sur Dreamotion3d, il y a tellement de choses possibles :)

Merci pour l'info. C'est quand même mieux avec l'effet des lightmaps.
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

DM_CameraFogColor() n'affiche pas la bonne couleur

Message par comtois »

Je ne sais pas si c'est le même bug déjà mentionné par cpl_bator ?

j'ai
DM_CameraClsColor(*camera, 0, 0, 0)
Si je mets
DM_CameraFogColor(*camera, 255, 0, 0)
Je devrait obtenir un brouillard rouge, mais il est lilas, violet , bref je ne connais pas le nom de la couleur, mais c'est l'équivalent d'un Rgb(255,0,255).

Si je mets
DM_CameraFogColor(*camera, 0,255, 0)
là c'est ok , le brouillard est vert.

Si je mets
DM_CameraFogColor(*camera, 0, 0, 255)
Le brouillard n'est pas bleu comme on pourrait s'y attendre, il n'a pas de couleur.
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

DM_CameraFogDensity() n'a pas d'effet visible

Message par comtois »

Je me suis amusé à faire varier la densité de 0 à 2000 , je n'ai pas vu de changement à l'affichage.

Il faut combiner cette fonction avec autre chose ?
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

NX_MoveCharacter() & NX_StrafeCharacter() ensemble

Message par comtois »

Voila j'ai ce code, et je voudrais pouvoir avancer en biais, et ce n'est pas le cas.
pourtant je valide à la fois la commande NX_MoveCharacter(*camera, 320.0) et la commande NX_StrafeCharacter(*camera, DM_EntityPitch(*camera) + 90, 320)
Comment se fait-il qu'une seule des commandes s'éxécutent si j'appuie sur les deux touches ?

Code : Tout sélectionner

  If KeyboardPushed(#PB_Key_Up)
    NX_MoveCharacter(*camera, 320.0)
  ElseIf KeyboardPushed(#PB_Key_Down)
    NX_MoveCharacter(*camera, -320.0)
  EndIf
  
  If KeyboardPushed(#PB_Key_Right)
    NX_StrafeCharacter(*camera, DM_EntityPitch(*camera) + 90, 320)
  ElseIf KeyboardPushed(#PB_Key_Left)
    NX_StrafeCharacter(*camera, DM_EntityPitch(*camera) - 90, 320)
  EndIf
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

LoadMD2() ne fonctionne pas avec les textures en pcx

Message par comtois »

J'ai récupéré des modèles MD2 pour faire des tests, et la texture ne peut pas être chargée parce qu'elle est au format pcx, si je prends une texture au format jpg, ça passe, le modèle se charge bien.

Tu as prévu de gérer le format pcx , ou je commence à convertir les textures ?
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.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Pour les couleurs brouillard/camera, c'est un bug , que j'ai sur ma petites liste. ;)
Pour la density, dans la mesure ou le mode brouillard par défaut est 'Linear', il ne
sert a rien, la density ne servant qu'en mode 'exponentiel'...

Les format de textures supporté sont ceux de DX, c-à-d:
bmp - jpeg - png - dds - ppm -tga

Pour les question lié a PhysX, je regarde et je te réponds dès que possible...
Force et sagesse...
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Pour le déplacement avec les instructions

NX_MoveCharacter()
NX_StrafeCharacter()

C'est une limitation du module, en fait les deux instruction établisse un vecteur
direction, qui est pris en compte pour le déplacement. Et il n'y a pas interaction
entre les deux instruction, donc c'est la dernière executée qui établi les vecteur
dir, le panachage étant pas possible pour l'instant. Je le note dans mes Bug et je reviens
sur le principe dès que possible...
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

c'est pas a proprement parlé un bug , mais c'est on jamais

l'instruction "DM_PivotEntity(*cone, 0, 0, 0)" déplace l'objet

c'est a dire que l'on defini un emplacement avec
DM_PositionEntity(*cone, posxe.f, posye.f, posze.f)

et j'utilise
DM_TurnEntity(*cone,0,90,0) ; on va faire tourner l'objet pour le metre debout

puis dans la boucle repeat
j'utilise
angle.f=0.05
DM_TurnEntity(*cone,angle,0,0) ; on va faire tourner l'objet

pour faire tourner mon cone !! comme les aiguille d'une montre

mais lorsque j'utilise auparavent
DM_PivotEntity(*cone, a, b, c)
quelque soit la a,b ou c cela deplace l'objet sur la nouvelle coordonées
alors que cela devrai deplacer son point de pivot,non ?
c'est a dire le point autour duquel le cone va tourner !!
hors, la il tourne ailleurs , mais toujours sur son centre !! :?

alors que j'aimerai qu'il tourne comme si l'on avait attaché une ficelle
sur sa base et punaisé cette ficelle a un axe :D comme les aiguilles d'une horloge quoi ...

(je tente de faire une horloge en 3D :D)
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

l'utilisaton de DM_PivotEntity() est pas toujours facile a apréhender.
D'abord les valeurs que tu fournis sont en relatif, et non en absolu.

et si tu ecrit par exemple

Code : Tout sélectionner

*cone = DM_CreateCone()
DM_PivotEntity(*cone, 0,0,-10)
...
DM_TurnEntity(*cone, 0,1,0)
tu aura une aiguille qui tournera autour de l'axe des 'Y' (vertical)

Sinon, tu peux utiliser le system parent/enfant. Tu créé un pivot virtuel (très très
utilisés sous Blitz3D) et tu asservis ton mesh dessus:

Code : Tout sélectionner

*pivot = DM_CreatePivot()
*mesh  = DM_CreateCone(8, *pivot)
DM_TranslateEntity(*mesh, 0,0,10)
...
DM_TurnEntity(*pivot, 0,1,0)
C'est surerment la methode la plus élégante et la plus 'maitrisable'
;)
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

DM_PivotEntity(*cone, 0,0,-10)
c'est tout a fait ce que je cherchai :D
simplement j'avais pas compris que le chiffre "-10" signifiai l'eloignement par raport au centre de l'objet (n'oublie pas de le préciser dans ta doc :D)

Merci :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ben il y a bien un problème avec pivot !!

peut tu jeter un oeil sur mon horloge 3D ?

http://purebasic.forum-gratuit.com/viewtopic.php?t=5910
Répondre