FAQ Objets

Parlez des skins, des modèles, des avatars et des mods ici

Moderator: French Moderator

Fix
Nadeo
Nadeo
Posts: 1256
Joined: 14 Jun 2010, 17:28

Re: FAQ Objets

Post by Fix »

Les UV de lightmap (UV2) sont différents des UV material (UV1), ils n'ont aucun rapport, et même beaucoup de contraintes et d'astuces pour diminuer les artefacts de lightmap.
Je n'ai pas le temps en ce moment (vous comprendrez bientôt pourquoi ^^) de faire le tutorial tout de suite, il y a beaucoup à dire sur l'optimalité des UV2, que nous pratiquons à nadeo depuis le passage de TMN à TMNF.
Mais je vais essayer de survoler les points importants (si vous pouviez partager ça avec nos amis anglophones à l'occasion je vous serai très reconnaissant ^^):

1- le texel ratio doit être constant entre toutes les faces : si un polygone carré de 1x1m (le dessus d'une caisse) est sensé utiliser une zone de 2x2 pixels de lightmap (je donne ce chiffre en exemple, le moteur adapte la taille utilisée dans la lightmap en fonction de la taille de l'objet et de la place disponible); dans ce même objet, un polygone de 8x8m (le plateau en béton sur lequel est posée la caisse) devra donc occuper une zone de 16x16 pixels, et le petit polygone du dessus de la poutre métallique qui tient le panneau "DANGER" qui fait 5x5cm devra utiliser 0.1x0.1 pixel.
Dans cet exemple le texel ratio de référence est de 2 texels par mètre.
Si vous voulez augmenter la définition de la lightmap sur un petit polygone, et que vous lui donnez des UV2 plus gros que ce qu'il devrait avoir, alors le rapport "surface en 3D de l'objet" / "surface de lightmap utilisée" va changer.
Admettons que votre objet ait une surface de 1m² en 3D, et que dans la lightmap, en ayant grossit (X2 par exemple) certains polygones on obtienne une surface de 2m², on aura l'impression d'avoir doublé le texel ratio...
MAIS au moment d'assembler tous les objets avec les blocs le moteur réorganise les UV2 de tout le monde, et les mets tous au même ratio. Donc les UV de votre objet seront divisés par 2 pour être en accord avec le texel ratio de vos voisins : les petites faces avec beaucoup d'UV auront un peu plus de lightmap que les autres faces équivalentes dans les blocs voisins; mais du coup les autres faces , "réglo" de cet objet en auront moins...

Ce n'est pas interdit d'avoir un texel ratio variable, avec de l'expérience on peut transférer du texel ratio à l'intérieur même d'un objet : une grande portion de sol, toute plate avec peu de détails alentours aura en général une lumière assez simple, et on pourra lui faire des UV plus petits, et grossir un peu les UV des rambardes de sécurité à côté, pleines d'ombres et de petites faces. Mais c'est risqué et très difficile à bien faire.

2- espacer suffisamment les éléments d'UV pour éviter que la lightmap d'un polygone bave sur le voisin, on a fait pas mal de travail pour limiter cet effet indésirable, mais ça arrive toujours, surtout quand les maps sont très grosses le texel ratio moyen de canyon est de 1m (1 pixel de lightmap = 1m dans le monde) : A08 qui fait 3200c a un texel ration de 0.75 texel/m avec une lightmap de 2048x2048.
c'est le problème de Canyon : un gros environment = une lightmap moins précise.
Elite - TheCastle dans Storm fait presque 9000c mais les blocs font 8x8m et non pas 64x64m, et du coup le texel ratio est de 3.5 texel/m.
Note : si un petit polygone est plus petit qu'un pixel de lightmap) il écrira sa lumière sur tout le pixel, SAUF si un polygone voisin est plus gros et écrit en partie sur le même pixel (ça arrive souvent). Dans ce cas, le gros polygone est maître et définit la couleur de la lumière, le petit polygone utilisera la lumière du gros...tanpis.

3 - l'ensemble des UV2 doit remplir le maximum d'une surface carrée ou rectangulaire (le carré est plus facile à assembler par le moteur que les rectangles très anisotropes (très étirés); si vos polygones d'UV2 forment un ensemble en forme de L, la place occupée sera quand même un rectangle, et le trou vide du L sera perdu.


4 - rapprocher les éléments d'UV qui sont sensé recevoir une lumière semblable (suite à la remarque en fin de 2).
les faces qui regardent le ciel seront souvent claires, celles qui regardent le sol seront souvent sombres, idem avec intérieur-extérieur. Comme ça si certains polygones n'arrivent pas à écrire leur lumière et se font écraser par les voisins, il vaut mieux se faire écraser par un voisin pas trop différent ça limite les dégâts. C'est surtout valable pour les objets complexes qui génèrent des lightmaps contrastées.

5 - rapprocher les éléments d'UV proches en 3D, les 4 faces verticales d'un pilier de métal par exemple doivent être posées côte à côte comme si on dépliait un carton, la lumière a plus de chance d'être continue de cette manière que si on étale ces faces aux 4 coins de la lightmap. (mais ça dépend des cas, des fois il vaut mieux appliquer la règle 4)

6 - collez les polygones qui forment des surfaces douces (falaises) ensemble (fusionner/weld les vertices d'UV) , et séparez les polygônes qui ont des angles durs (murs de bâtiments).

pour info : nous avons certains matériaux qui sont prévus pour avoir un texel ratio assez faible et doivent avoir des UV2 plus petits, ce sont les fonds marins, qu'on ne voit quasiment jamais, et à priori utilisés rarement dans les objets :p

... j'avais dit que je serai bref :oops: :teub:
User avatar
meuh21
Posts: 1266
Joined: 15 Jun 2010, 17:00
Location: Dans mon champ...
Contact:

Re: FAQ Objets

Post by meuh21 »

Voilà des informations très précieuses qu'il va falloir que je digère dès que j'ai un peu plus de temps.

Un énorme merci car je pense qu'avec du boulot je vais trouver la solution à mes problèmes de lumière. Ton intervention est typiquement de celle qui vont faire progresser grandement tout ceux qui s'intéresse aux objets et aussi ceux qui voudront faire des supernovas :mrgreen:

:thumbsup: :thx:
User avatar
spaii
Posts: 1075
Joined: 19 Jun 2010, 00:04
Location: Rémy - France
Contact:

Re: FAQ Objets

Post by spaii »

Excellentes précisions :clap: :yes:

Merci beaucoup Fix :thumbsup:
SadHik
Posts: 482
Joined: 15 Jun 2010, 11:17
Location: FR - Grenoble
Contact:

Re: FAQ Objets

Post by SadHik »

Fix wrote:Je n'ai pas le temps en ce moment (vous comprendrez bientôt pourquoi ^^)
Pas d'excuses :lol:
Enfin si tu bosses à priori c'est des bonnes nouvelles : vite :pil
Fix wrote: (si vous pouviez partager ça avec nos amis anglophones à l'occasion je vous serai très reconnaissant ^^):
J'ai au moins fait le copier coller sur maniapark :)
Image
User avatar
meuh21
Posts: 1266
Joined: 15 Jun 2010, 17:00
Location: Dans mon champ...
Contact:

Re: FAQ Objets

Post by meuh21 »

LioHito wrote:Mais j'aimerais bien importer des objets mais je ne sais pas comment! donc comment on fait pour importer les objets?
et Aussi Sur Maniapark Y'a pas beaucoup d'objet donc a part ce site est-ce qu'il y a d'autre site?
En bref pour importer des objets, il faut :

Créer ou importer un objet dans un logiciel 3D
"Formater" cet objet selon les spécifications de Nadeo (ex : 2 UV maps)
Exporter cet objet au format .fbx
L'importer dans Maniaplanet via le programme nadeoimporter.

Les spécifications précises sont ici : http://forum.maniaplanet.com/viewtopic. ... 73&start=0

Pas d'autres sites que Maniapark pour obtenir des objets. Par contre, le titre Stunt comprend de nombreux objets mais ils sont il me semble également présent sur Maniapark.


A part ça, grâce à Fix je progresse au niveau de l'éclairage. Certains objets simples sont prêts.
Image
Image

Mais d'autres ont des reflets noirs, qui viennent je pense des normal maps (ou specular ?). Je n'arrive pas à les enlever malgré des essais variés sur la lightmap :( . Je ne sais pas si les "doubles faces" ont une influence. Pour les objets complexes (je risque de devoir en simplifier certains), y'a encore du boulot ;) mais les progrès sont évidents :yes:
Avant le calcul des ombres :
Image
Après :
Image

EDIT du 27/10/12 : Problèmes de traces noir résolu en reprenant la lightmap. En fait, tout se situe à ce niveau là. Par exemple, pour l'éolienne les pieds avaient un surface trop faible sur l'UV map ce qui posait des problèmes lors du calcul d'ombres sur les pales... La conséquence, c'est qu'il faut reprendre, voir faire totalement la Lightmap manuellement plutôt que d'utiliser un des modes automatiques de Blender. Enfin, c'est ce qu'un débutant comme moi est obligé de faire en tout cas ;)


Au passage si ça peut servir à d'autres, j'ai remarqué qu'il faut que l'uv map "material" soit en premier dans Blender (lorsqu'elle différente de la Lighmap évidemment ;)).
Last edited by meuh21 on 27 Oct 2012, 08:12, edited 2 times in total.
User avatar
Stteiph
Posts: 291
Joined: 11 Apr 2011, 17:20

Re: FAQ Objets

Post by Stteiph »

Elle est sympa ta girouette style américain.

J'attends avec impatience le tuto Blender de Spaii sur la création d'objet histoire de se lancer dans l'aventure et d'apporter quelques truc sympa. Mais comme je n'y connais rien...
Image
User avatar
meuh21
Posts: 1266
Joined: 15 Jun 2010, 17:00
Location: Dans mon champ...
Contact:

Re: FAQ Objets

Post by meuh21 »

Merci Stteiph :) Pas facile de partir de rien mais faisable ;) J'ai commencé il y a seulement 3 semaines... Tu peux déjà essayer de prendre en main un logiciel 3D comme Blender par exemple. Ce n'est pas du temps de perdu pour la suite ;)

2 topics qui aident beaucoup sinon :
Toutes les spécifications : http://forum.maniaplanet.com/viewtopic. ... 73&start=0
NadeoImporter : http://www.maniapark.com/forum/viewtopi ... 75&t=20805

:yes: Mes problèmes de traces noir sur l'éolienne sont résolus en reprenant la lightmap. En fait, tout se situe à ce niveau là. Par exemple, pour l'éolienne les pieds avaient un surface trop faible sur l'UV map ce qui posait des problèmes lors du calcul d'ombres sur les pales... La conséquence, c'est qu'il faut reprendre, voir faire totalement la Lightmap manuellement plutôt que d'utiliser un des modes automatiques de Blender. Enfin, c'est ce qu'un débutant comme moi est obligé de faire en tout cas ;)

Important : Dans Blender, la fonction Edge Split que m'a suggéré Spaii et évoqué aussi dans un post de Damien il me semble aide beaucoup aussi au niveau de certaines ombres bizarres. Je l'utilise maintenant systématiquement.
User avatar
meuh21
Posts: 1266
Joined: 15 Jun 2010, 17:00
Location: Dans mon champ...
Contact:

Re: FAQ Objets

Post by meuh21 »

Les nouvelles possibilités des objets apportent beaucoup à Shootmania mais complexifient l'ensemble.

Pour les "objets statiques", je n'ai pas l'impression que l'alpha soit supporté (très important pour faire des arbres par exemple) ou que la gestion des textures avec un répertoire commun, comme évoqué par Spaï, soit mise en place.

En fait, pour quelqu'un qui comme moi se contente de faire des "objets statiques" pour TM, je me demande s'il n'est pas plus simple pour l'instant de rester avec l'ancienne version du Nadeoimporter. En attendant de nouveaux progrès ;) Dont peut-être aussi le positionnement en hauteur des objets qui pose probleme dans certains cas (par exemple pont en morceaux pour passer sur l'eau).
User avatar
spaii
Posts: 1075
Joined: 19 Jun 2010, 00:04
Location: Rémy - France
Contact:

Re: FAQ Objets

Post by spaii »

meuh21 wrote:Les nouvelles possibilités des objets apportent beaucoup à Shootmania mais complexifient l'ensemble.
Je suis un peu d'accord. J'ai passé la journée d'hier sur la nouvelle version du NadeoImporter, après quelques déboires, j'ai enfin réussi à produire un Item.
J'ai découvert pas mal de bugs, que je posterais dans une autre partie du forum.
meuh21 wrote:je n'ai pas l'impression que l'alpha soit supporté
d'après le material list :
TDSN
Uv Layers : BaseMaterial, Lightmap
Textures to provide : xxx_D.dds, xxx_S.dds, xxx_N.dds

TDOSN
Uv Layers : BaseMaterial, Lightmap
Textures to provide : xxx_D.dds, xxx_S.dds, xxx_N.dds

TDSNE
Uv Layers : BaseMaterial, Lightmap
Textures to provide : xxx_D.dds, xxx_S.dds, xxx_N.dds, xxx_E.dds

TDSNI
Uv Layers : BaseMaterial, Lightmap
Textures to provide : xxx_D.dds, xxx_S.dds, xxx_N.dds, xxx_I.dds

TDSNI_Night
Uv Layers : BaseMaterial, Lightmap
Textures to provide : xxx_D.dds, xxx_S.dds, xxx_N.dds, xxx_I.dds
Il me semble que l'on peut maintenant utiliser une texture avec alpha (TDOSN), et même des textures qui illuminent (TDSNI), comme pour les néons sur les routes de Stadium, mais a vérifier...


Aujourd'hui je vais tester un objet dynamique, peut-être que l'on peut aussi les utiliser avec TM ?
Ce serait excellent !!!

Ah oui, j'avais fait un zip avec les objets de Stunters, à utiliser avec l'ancienne version du NadeoImporter.
Je ferais certainement une nouvelle version du package lorsque j'aurais fini de tester le NadeoImporter actuel.
User avatar
meuh21
Posts: 1266
Joined: 15 Jun 2010, 17:00
Location: Dans mon champ...
Contact:

Re: FAQ Objets

Post by meuh21 »

Dans le post De Damien les TDOSN, TDSNE, TDSNI? etc sont dans le cahpitre Character Skins. Pour nous autres simples trackmaniaques ;) c'est toujours écrit :
damien wrote: - custom material :
{MaterialName} = _{MaterialModel}_{TextureBaseName}_{PhysicalId}
ex "_TDSN_MetalPlate_Wood"
{MaterialModel} = "TDSN" only at this time (means texture Diffuse Specular Normal )
TDSN only... Si quelqu'un teste et que ça fonctionne aussi pour les objets statiques pour TM alors là je suis prêt à perdre un temps fou pour essayer de comprendre comment fonctionne le nouveau importer (ne pas oublier je suis une vache, j'ai donc un QI de bovin ;) )

La possibilité d'avoir des objets dynamiques ouvrirait aussi des perspectives pour TM. Mais j'avoue que cela ne constitue pas ma priorité. Il y a déjà tant à faire avec les objets statiques. Surtout lorsque l'alpha sera supporté. Et puis je suis déjà tellement en train de galérer avec le positionnement automatique de la hauteur :?
Post Reply

Return to “L'Atelier”

Who is online

Users browsing this forum: No registered users and 1 guest