Aller au contenu


[résolu] :  Probleme d'éclairage


  • Vous ne pouvez pas répondre à ce sujet
6 réponses à ce sujet

#1 olihya

    Ceinture Jaune

  • Members
  • 28 messages

Posté 23 juillet 2009 - 09:54

Bonjour,
Voilà, j'ai petit soucis.
J'ai voulu manipuler les caméras de ma scene 3d et j'ai perdu un peu d'éclairage (certains éléments de la scene sont devenus noirs).
Ensuite je suis aller dans les propriétés de ma scene schockwave 3D onglet Modele 3D et j'avais voulu remettre le réglage par défaut.
Depuis tout est dans le noir.
Savez-vous comment solutionner cela? icon_idea.gif

#2 glurp

    Modérateur

  • Moderateur
  • 1 249 messages

Posté 23 juillet 2009 - 10:58

Hello olihya,

Pour info, tu es limité à 8 lumières simultanées dans Director.
Lorsque tu dépasses ce nombre, les premières lumières se coupent.

Une astuce est d'éliminer toutes les lumières éloignées ou dans le dos de la caméra icon_wink.gif

#3 olihya

    Ceinture Jaune

  • Members
  • 28 messages

Posté 23 juillet 2009 - 12:18

Merci Glurp.
J'ai testé mais apparement, je n'avais que 2 caméras.
En fait c'était les angles de mes caméras qui avaient bougés.
Pour réinitaliser tout ça, j'ai supprimé le Shockwave 3D et en ai recréé un nouveau.
Tout est revenu dans l'ordre.
Bonne journée icon_smile.gif

#4 dZastreux

    Ceinture Marron

  • Members
  • 162 messages

Posté 23 juillet 2009 - 12:51

Citation (glurp @ Jul 23 2009, 11:58 AM)
Hello olihya,
Pour info, tu es limité à 8 lumières simultanées dans Director.
Lorsque tu dépasses ce nombre, les premières lumières se coupent.
Une astuce est d'éliminer toutes les lumières éloignées ou dans le dos de la caméra icon_wink.gif

En ce qui me concerne, après avoir essayé en vain de placer correctement mes lumières via LINGO ( je n'ai toujours pas compris comment on fait pour "diriger" le cône de lumière là où on veut : C'est moi qui suis dans le noir de ma caverne, ou bien c'est vraiment occulte ?! icon_smile.gif )
... Du coup, j'ai opté pour la solution de facilité en les exportant directement depuis 3DS max, puisque j'utilise ce soft pour mes meshes de toute façon et que l'exporteur propose cette option.

Actuellement, je n'utilise que 2 lumières (contenues dans un des .W3D, donc) mais je compte en rajouter quelques sources supplémentaires et du coup cette histoire d'optimisation m'intéresse ( D'autant que je récupère déjà les angles xyz de front à la caméra pour différentes choses )

Donc, je profite de ce sujet (résolu) pour poser mes propres questions ( icon_twisted.gif ) :

icon_arrow.gif Pour couper des lumières déjà incluses dans un .W3D, peut-on accéder individuellement à 1 des objets de type light inclu, ou peut-on "simplement" jouer sur la propriété .visible de l'ensemble du #model crée à partir de ce .W3d ? icon_confused.gif
( En d'autres termes, pour continuer à placer les lumières avec 3DS plutôt qu'en LINGO, dois-je créer 1 fichier .W3D par lumière, et ne rien mettre d'autre dedans de façon à pouvoir court-circuiter celle-ci + facilement ? )

icon_arrow.gif En cas d'activation / désactivation des lumières à la volée, n'obtiens t'on pas parfois des artefacts visuels indésirables ?
( Flashs, noirs, tearing, etc... )

Merci !

#5 glurp

    Modérateur

  • Moderateur
  • 1 249 messages

Posté 23 juillet 2009 - 04:03

Salut dZastreux,

Des précisions s'imposent car tes questions sont bizarres ;

Tout d'abord, sache que tous les w3d importés sont des mondes (world) à par entière et non juste des models.
Ainsi, chaque w3d peut contenir ses models, ses textures, ses lumières, ses caméras, ses groupes...

Donc si tu importes un w3d contenant plusieurs lights, elles seront toutes bien présentes et accessibles (gWorld.light[i]).
Pour les faire apparaitre et disparaitre, utilises addToWorld() et removeFromWorld(), ça ne provoquera aucun artefact indésirable.

#6 dZastreux

    Ceinture Marron

  • Members
  • 162 messages

Posté 23 juillet 2009 - 06:55

Salut Glurp, et merci bcp pour ta (prompte) réponse icon_biggrin.gif
Citation (glurp @ Jul 23 2009, 05:03 PM)
sache que tous les w3d importés sont des mondes (world) à par entière et non juste des models.

Râaah... Ben figures-toi que ça, je ne l'apprends que maintenant !
...Parce qu'en fait, en raison de certaines contraintes techniques, j'ai pris l'habitude de grouper mes models dans 3dsMax avant l'export, ce qui interdit ce que tu décris ! ( Voir à ce sujet: [résolu] Connaitre le type d'un parent )
Cela dit, maintenant que tu m'apprends ça, je vais éviter les "groupes" dans 3ds au moins pour mes lumières, pour pouvoir faire comme tu le préconises gourou.gif

Histoire de résumer un peu ce que je faisais habituellement, j'utilise plusieurs .W3d parce que j'ai :
- D'une part, des models avec un modifieur "Skin" nécessitant que soient groupés les #models avec leur #bones
- D'autre part, des éléments qui seront redondants dans ma scène et que je clone donc à la volée en Lingo pour optimiser les (télé)chargements ; dans ces différents autres .W3d, je suis parfois aussi amené à créer des "groupes" de models ( rotations de groupes, etc... )

Or, lorsqu'on groupe les models dans 3dsMax9, il semblerait donc qu'il devient ensuite impossible d'accéder aux références individuelles de ces models groupés, une fois ensuite dans Director, via Lingo :
J'ai fait différents tests et recherches à ce sujet, et la question a notamment été abordée sur certains forums U.S. où ils en viennent également tout simplement à la conclusion que ce serait impossible.
En effet, dans ce cas précis, LINGO traite les groupes de models (faits sous 3ds) comme un model unique ( mais pas comme un groupe LINGO contenant plusieurs models ! )

D'ailleurs, c'est ainsi que j'intègre mon .w3d dans le shockwave principal vide (gWorld3d) :

Lingo

gWorld3d.loadfile("fileName.w3d", false, false)
mTerrain = gWorld3D.model("my3dsGroupOfModels")
Pour pouvoir quand même re-texturer à la volée, et individuellement, des models groupés comme ceux décrits ci-dessus, j'ai quand même ma propre petite astuce ; j'exporte depuis 3dsMax9 en laissant coché seulement :
[X] Scenegraph hierarchy
[X] Geometry Resources
[X] Shaders
Puis, je crée mes propres #shaders avec textures et materials, plus tard, à la volée (en LINGO) que j'applique ensuite à chacun de ces "sous-models" de mon "multi-model" grâce à la propriété shaderlist() ( à défaut de pouvoir accéder individuellement à chaque model groupé, par son petit nom, comme d'hab, donc )
Dans ce cas très précis, chaque index de shaderlist() corresponds alors aux shaders d'un de ces models groupés.
( Pour que cette astuce avec shaderlist() fonctionne, il est par contre important de laisser coché "shaders" à l'export même si on crée finalement des "new shaders()" après en Lingo)

Bref, c'est avec cette habitude de configuration là que j'utilise beaucoup et pour laquelle tout mon code a été optimisé ("groupage des models dans 3ds") que j'ai finalement crée mes lumières, d'où mes inquiétudes sur la façon de parvenir à y accéder ensuite individuellement en Lingo icon_redface.gif
( J'espère que je me suis bien expliqué, ça peut paraître un peu dur à comprendre !? )

En fait, si tu groupes plusieurs lumières dans un même groupe(3ds) avant export de ton .W3d ( Par exemple pour une animation pré-calculée combinant rotations et translations, comme sur un carrousel ) tu ne dois plus pouvoir accéder individuellement à chaque lumière ensuite avec Lingo ( en tout cas ça ne marche pas pour les meshes groupés, ça c'est sûr !)
Du coup, je vais éviter les groupes dans 3D studio lorsqu'ils ne sont pas complètement nécessaires pour pouvoir essayer ce que tu dis et ça devrait nettement me faciliter la vie (merci) ! icon_cool.gif

#7 glurp

    Modérateur

  • Moderateur
  • 1 249 messages

Posté 24 juillet 2009 - 06:21

En effet, tous les éléments des groupes créés sous 3dsmax ne sont plus accessibles une fois exportés.

Pour plus d'information sur l'export 3dsmax vers shockwave, je t'invite à jeter un coup d'oeil à cet article de 3d-station : http://www.3d-station.com/pages/tutorials/...d=65&page=1





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS - Tel. 0826 466 613 - Fax. 01 72 70 31 38

FFP