Bonjour à tous, j'essaye désespérément d'ajouter un modele.obj avec irrlicht mais tous mes modèles crées avec Blender apparaissent noire. (les modèles exemple d'irrlicht sont bien sensible à la lumière)
J'ai essayer de recalculer les normals (ctrl+N) et W > Flip normals, (sous Blender) de changer la position de la lumière, de l'associer a différents noeuds mais il reste noire.
- avec une lumière ambiant (ambiantLight), le modèle est éclairé (donc ça fonctionne quand même un peu ?) mais reste très sombre.
- avec une lumière diffuse, il refuse complètement de s'éclairer :-° (tout noire)
Je précise que je débute et j'essaye de m'initier à irrlicht avec le tuto du siteduzero.
Hors ligne
Bonjour endering et bienvenu.
Avant de tenter de répondre, quelques petites questions:
- les objets que tu exportes contiennent-ils une composante 'normal' ? Si ce n'est pas le cas, la lumière n'auras jamais
d'effet sur eux (je ne connais pas Blender je précise).
- en désactivant sur les materiaux de tes objets les effets des light (par un setMaterialFlag(video::EMF_LIGHTING, false) par
exemple) apparaissent-il convenablement.
- as-tu essayé un autre format d'export que le 'OBJ' pour voir.
Hors ligne
Merci pour cette réponse rapide !
Pour la composante je ne suis pas sûr d'avoir compris mais je pense que oui, et les objet apparaissent convenablement avec false. De plus, ils apparaissent aussi avec l'ambiantLight au maximum, mais ils sont sombres.
Et je cours immédiatement essayer un autre format que le .obj pour voir ...
Hors ligne
OK, tiens nous au courant. Je viens au nouvelles en fin d'après midi (faut bien aller bosser) pour voir si les choses ont évoluées
Hors ligne
Et bien, incroyable, au format .3ds, ça marche !
Enfin il me reste toujours un (pas trop gros) problème : comme avec l'ambiant light, l'objet s'affiche correctement (textures, ombres, ect ...) mais il est sombre.
J'ai utilisé l'UV Mapping, et j'ai coloré le tout avec paint et enregistré en .jpg que j'applique ensuite sur le mesh via irrlicht.
Quand je passe la sensibilité à false, les textures sont claires, super quoi , mais quand je passe à true mon banc devient environ de moitié plus sombre. (enfin, c'est mieux que noire hein ) Et je précise que pour ces essais je charge deux modèles : le room.3ds (inclue dans irrlicht) et mon banc.3ds, room.3ds étant toujours resplendissant !
EDIT : j'ai trouvé pourquoi l'objet était sombre, j'avais utilisé setScale(10.0, 10.0, 10.0), car mon banc apparaissait tout rikiki mais la lmière était alors répartie sur une plus large surface. Un problème de résolu, un autre de trouvé ! Comment faire pour changer la taille de mon banc par rapport à celle de la pièce ?
Dernière modification par endering (20-11-2008 14:02:46)
Hors ligne
Verifie aussi les valeur ambient, diffuse et autre specular des material de ton model avant export.
endering :
Comment faire pour changer la taille de mon banc par rapport à celle de la pièce ?
Je comprend pas trop le sens de ta question, tu veux dire comment changer la taille sans qu'il y ai d'incidence
sur l'éclairage ?
Hors ligne
Oui, en fait je suis obliger d'agrandir ou de rétrécir mes modèles avec Blender, et suivant les modèles que je charge, un banc qui paraît énorme sous Blender apparaît tout petit une fois afficher avec irrlicht.
Mais après quelques essais j'arrive tout de même à me débrouiller. Sinon y-a-t-il effectivement un moyen de changer la taille original du mdèle avec irrlicht sans qu'il y ai d'incidence sur l'éclairage ?
Hors ligne
endering :
Mais après quelques essais j'arrive tout de même à me débrouiller. Sinon y-a-t-il effectivement un moyen de changer la taille original du mdèle avec irrlicht sans qu'il y ai d'incidence sur l'éclairage ?
J'ai essayer de faire un ou deux petits codes pour reproduire le truc, mais je ne rencontre jamais le problème. As-tu toujours le soucis ?
Hors ligne
Je me débrouille pour créer de petits objets avec blender et paramétrer la caméra d'irrlicht en conséquence, de cette façon je règle la taille de mes objets avec blender et je n'ai plus besoin d'utiliser setScale, donc plus de problème. Comme je créer de petits objets (enfin "petit" dans la fenêtre de blender, et comme tous mes objets viennent de blender ils sont tous proportionnels) j'ai une plus grande marge de taille possible.
Sinon, dès que j'essaye de changer l'échelle via irrlicht j'ai toujours ce problème de luminosité. Mais ça ne me gène plus vraiment à présent
Pour le truc :
- je créer une caméra
- je charge un mesh et sa texture
- je change sa taille
- je créer une lumière
> l'objet agrandi est plus sombre que l'objet non-agrandi
mais je suis débutant et j'ai peut-être fait des erreurs ...
Merci encore pour tes réponses, pour le moment mon problème est résolue
Hors ligne
Dès que j'ai un peu de temps je refait quelques essais avec les éléments que tu viens de fournir...
Hors ligne
Bon, je viens de re-essayer, en respectant l'ordre de création et d'action des éléments que tu fournis plus haut, mais je n'ai rien d'anormal pour le moment.
Si tu as 5 mn, écris un petit code de base reproduisant le phénomène, et joints y le media que tu emploi pour faire le test.
A+
Hors ligne
Voilà ce que ça donne, j'ai aligné 4 bancs avec des échelles différentes (c'est tout ce que j'avais sous la main ) avec le fichier room.3ds fournit dans le dossier media d'irrlicht.
http://up.sur-la-toile.com/iko2
tout est dans le dossier debug, comme je suis en 56K , je te laisse y ajouter irrlicht.dll ...
et voilà un screen :
Dernière modification par endering (26-11-2008 15:17:40)
Hors ligne
Désolé, mais pour l'archive cela me dis 'invalid...', donc zip non conforme. Désolé, surtout si tu as effectivement du 56K.
En upload cela doit être la mort...
Sinon, fait juste une archive avec ton model de banc, et le code, pour le reste ( comme room.3ds et ses textures) je les
reprendrais du pack Irrlicht ...
Hors ligne
j'essaye sur un autre site, juste le strict nécessaire :
http://www.uploading.com/files/NKUJTGP6/Debug.zip.html
Hors ligne
Cette fois j'ai bien l'archive, je vais essayer de voir cela rapidement.
Sinon, ton uploader est ignoble, pense à celui du site Irrlicht, simple, rapide et sans soucis
(liens http://forum.irrlicht.fr/viewtopic.php?id=733 )
[EDIT] Ah oui, sinon tu utilises quel driver OGL ou DX, car je sais que chez moi les différences entre les deux sont énormes...
Là par exemple avec tes paramètres entre OGL et DX, j'ai soit une pièce fortement éclairée (et tes bancs sont tous identiques), ou
alors une pièce quasiment noire (avec DX donc) et je ne vois rien..... (la dessus je sais qu'Irrlicht est très perfectible niveau
light). :?
Hors ligne
Enore merci pour ton aide, et oui j'avoue je trouvais pas l'uploader d'irrlicht, sinon je suis en opengl et je n'arrive pas à lancer avec directX justement (même dans les exemples du dossier irrlicht). Peut-être que cela règlera ces problèmes (on voit quand même assez bien sur les screens).
Donc j'essaye de passer sous DX car j'ai vu qu'en plus les performances était bien meilleurs, mais video::EDT_DIRECT3D9 ne semble pas suffire, y a des manips spéciales à faire ?
Et enfin je n'arrive pas à obtenir des ombres, j'ai vu qu'il y avait une fonction castshadows ou addShadowVolumeSceneNode(), que j'ai essayé mais sans résultats. Et en regardant le code fournit dans l'exemple sur le super tuto du siteduzero, je n'ai rien trouvé en rapport avec les ombres alors qu'il y en a dans le rendu
Hors ligne
Donc pour les ombres c'est réglé, mais pour directX ...
J'ai commencé à suivre le tuto du forum pour compiler avec code::blocks,
1) télécharger code::blocks, c'est bon
2)Le SDK de DX9, ba mince, j'ai ça moi ? > je clique http://www.microsoft.com/downloads/deta … layLang=en [...] 432 Mo , avec un modem 56K le temps indiqué est de 19h30 minutes ... sans compter le retard.
Si je me trompe pas c'est pour obtenir la dll compatible ? Y a-t-il un moyen de la télécharger ? Ou peut-etre puis-je trouver ça quelque part sur mon disque ?
Je n'aimerai pas être condamné à l'openGL
Hors ligne
Salut endering et désolé de n'avoir pas répondu à ton message du 27-11-08, j'avoue avoir zappé.
Bizarre que tu ai ce genre de soucis avec DirectX. En fait, pour faire tourner tes applications Irrlicht
avec les drivers DX, tu n'a besoins de rien de spécial. L'installation du DXSDK n'est absolument pas
nescessaire (sauf si tu veux recomplier le moteur lui-même), et donc le fait que cela ne fonctionne pas
vient très certainement d'un autre soucis.
- type de carte video, vraiment trop ancienne, ou mal supporté.
- version de tes drivers (as-tu essayé aussi avec DX8 voir ce que cela donne ?)
- être sous windows (je plaisante )
tiens nous au courant...
Hors ligne
Ca me rassure un peu, mais bon
sinon je vien de télécharger le zip de ton générateur de terrain, un peu par hasard et je viens de voir qu'il fonctionne avec DX9. Sinon j'ai une Geforce 7600 GT avec tous les drivers à jours, c'est pas le top du moment mais ça tourne super bien quand même ^^ , et j'ai la dernière version de DX9 avec Windows.
Avec les exemples d'irrlicht, que ce soit DX8 ou 9 la fenêtre se ferme immédiatement. Avec mon code, comme je n'ai rien prévue j'ai un error : "l'instruction blala [...] la mémoire ne peut pas être "read". Et j'utilise la dernière version d'irrlicht.
Il n'y a rien à rajouter dans le projet que j'aurais oublier ? Donc je suis un peu en panne, et encore merci de suivre cette discussion qui d'ailleurs n'a plus beaucoup de rapport avec le titre ...
Hors ligne
endering :
Ca me rassure un peu, mais bon
sinon je vien de télécharger le zip de ton générateur de terrain, un peu par hasard et je viens de voir qu'il fonctionne avec DX9.
C'est déjà une bonne chose. Cela veut dire qu'un code Irrlicht compilé peut tourner en DX9 sur ton system...
endering :
Sinon j'ai une Geforce 7600 GT avec tous les drivers à jours, c'est pas le top du moment mais ça tourne super bien quand même ^^ , et j'ai la dernière version de DX9 avec Windows.
ta carte n'est pas si vieille, et donc je ne pense pas que ton soucis vienne de ce coté là, surtout si tes autres appli tournent sans soucis apparent sous DX9...
endering :
Avec les exemples d'irrlicht, que ce soit DX8 ou 9 la fenêtre se ferme immédiatement. Avec mon code, comme je n'ai rien prévue j'ai un error : "l'instruction blala [...] la mémoire ne peut pas être "read". Et j'utilise la dernière version d'irrlicht.
Là par contre, je suis très surpris. C'est très étonnant, d'autant par exemple que l'init est le même par exemple dans mon moteur de terrain. De plus les code fournis en exemple sont basic, donc.... ou peut bien se situer le lézard....
Quand tu essais les codes d'exemples du pack, tu essais en lançant le 'bin' direct du package ou en le recompilant d'abord à partir de ton compilateur ?
Hors ligne
Ah oui, au fait, pour ce qui est de ton OS, c'est du windows XP ou du Vista ?
Hors ligne
En effet, je compilais avant de lancer, et je viens d'essayer les .exe dans le bin "win32-Viusal Studio" et ceux là fonctionnent. Ca vient de donc de la compilation.
Et j'ai aussi remarqué que les irrlicht.dll n'étaient pas les même ... mais je ne vois toujours pas comment régler le problème.
Hors ligne
endering :
En effet, je compilais avant de lancer, et je viens d'essayer les .exe dans le bin "win32-Viusal Studio" et ceux là fonctionnent. Ca vient de donc de la compilation.
Tu as déjà avancé sur ce point. Plus qu'a trouver la faille..
endering :
Et j'ai aussi remarqué que les irrlicht.dll n'étaient pas les même ... mais je ne vois toujours pas comment régler le problème.
Par contre ce n'est pas normal. Fait attention par exemple de ne pas compiler tes codes et de les lier avec une lib d'Irrlicht qui ne correspond pas
à la DLL chargée par l'exe, je te le dis car cela m'est arrivé...
Le mieux est de t'assurer de ne garder que le DLL du dernier pack release et de n'employer que la lib associée...
Hors ligne
J'ai tout réinstallé et j'ai recréé un projet avec le même code. J'ai bien configuré le linker avec le .a de win-gcc et j'ai pris la lib irrlicht.dll de 4.90 Mo dans bin / win-gcc.
Maintenant il me marque dans la console "DIRECT3D9 was not compiled into this dll. Try another one" donc je pense que maintenant c'est clair
Pour info, j'ai irrlicht 1.4.2 et code::blocks 8.02. (et j'avais oublié de préciser : windows xp ) Je vais voir si je peu pas télécharger une dll, mais celle-ci devrait pourtant être complète ?
EDIT : Il est a peu près partout question de recompiler le moteur avec le SDK de directX ou de télécharger une dll, mais je n'en trouve pas pour irrlicht 1.4.2
Dernière modification par endering (03-12-2008 17:38:16)
Hors ligne
J'en reviens à ce que je disais au dessus, normalement tu n'as pas besoin d'autres choses que le package d'Irrlicht pour compiler et executer les exemple fournis.
L'installation d'autres éléments ne se justifie que si tu souhaite recompiler le moteur lui-même....
Après je ne sais pas avec le couple CodeBlock/GCC comment c'est configuré, mais normalement je ne vois vraiment pas pourquoi cela ne fonctionnerait pas...
D'ailleurs dans les pré-requis listé dans le fichier 'readme', il n'en est aucunement fait mention...
Donc, il doit y avoir un petit truc qui te fou la zone, plus qu'a trouver ce que c'est....
[EDIT] personnelement, utilisant l'environement de dev 'Visual C++', j'emploie la DLL de Vc, donc de 2.01Mo. C'est d'ailleurs étrange cette différence
au niveau des DLL. Car si les lib doivent effectivement être différente selon que tu passe par VC ou Gcc, je ne comprend pas pourquoi les DLL le sont...
Essais avec la DLL du repertoire Win32-VisualStudio....
Avec DM3D, j'avais bien deux lib (.a et .lib), mais la DLL était commune, donc ....
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 46 invités en ligne Aucun membre connecté RSS Feed |