PDA

Voir la version complète : Exporting objects with 2 UV sets from C4D to Unity



Steph3D ::.
18/05/2009, 04h35
Yoh ! :odile:

J'ai pas eu le temps de tester, mais quelqu'un est entrain d'écrire un script pour récupérer les 2 couches d'UW ( lightmaps ) pour C4D

http://forum.unity3d.com/viewtopic.php?t=22993

Apparemment ça marche pas avec la R11, il faut à la place modif le script pour qu'il marche en FBX ( qui passe très bien avec C4D > Unity ). Enfin mon english est very bad ;-) faudra tester...

atome451
18/05/2009, 13h35
Bonjour Steph3D,

Heureux de te voir sur Unity. J'ai suivi tes posts en silence pour la 3D temps réel et je suis certain que tu vas faire des trucs fantastiques avec cet outil :wink: Ca a d'ailleurs déjà bien commencé.

Concernant les UVW C4D dans Unity, j'ai lu pas mal de posts sur le forum Unity et je constate que c'est une belle grande soupe avec pas mal d'avis divergeants. Il y a ceux qui veulent gérer des tas d'UV sur un même objet et qui préconisent Cheeta (uniquement sur mac) et les autres qui préconisent la découpe des objets selon les textures répétées.
Si tu regardes le projet d'exemple "Asylum - loading entrance level" qui a été fait sur Lightwave, les zones du décor ont été découpées selon les textures répétées après un dépliage global des UV pour le baking d'une lightmap. Dans Unity, pour ce projet toutes les textures de décors sont de type "lightmapped" (mais là je ne t'apprends sûrement rien...) qui permettent la gestion de deux textures (l'une répétée ou non et l'autre pour la lightmap).
Dans le projet d'exemple 3DPlatformer, ce sont surtout de grandes textures "bakées" qui sont utilisées avec des shader très spécifiques à Unity par contre. Mais aucun objet avec de multiples UV. J'ai même vu dans un autre exemple qu'ils avaient utilisé un autre plan 3D que le plan du mur pour placer des coulées et des salissures, pas une UV supplémentaire non plus ici.

Ma conclusion est donc que ce n'est pas vraiment la philosophie dominante de Unity que de fonctionner avec des UV multiples. Même si ce serait bien pratique que C4D soit capable de les exporter d'un seul clic... :wink:

Si je découvre d'autres machins ou si je trouve ce fameux script dont j'ai également entendu parler, je me ferai un plaisir de partager.

EDIT : oups ! comme un idiot je n'avais pas suivi ton lien...je tournerai ma langue sept fois dans ma bouche avant de parler la prochaine fois :oops: Un grand merci pour cette info, c'est super !!!

Steph3D ::.
16/06/2009, 00h10
yoh ! :mrgreen:

Pour infos, très rapidement : Les lightmaps sont la seule solution pour atteindre le photoréalisme en temps réel, ou allors il faut utiliser une armée de filtres en shader sur ecran très gourmand à la Crysis ou le déffered shading ( voir killzone 2 ) avec des tonne de lampes pour les bonnes config et qui demande un talent certain dans l'éclairage classique non rad. Évidement, certain très gros moteur comme Unreal exploite leur propre moteur de rendu interne qui back auto les lighmaps sans l'intervention de l'utilisateur, mais en est pas tous milliardaire.
Après à chacun de voir s'il veux du photoréalisme, ou le rendu d'une PS2 ;-) Le backing brut comme un cochon ne permet pas d'aller très loin en saturant très vite la mémoire vidéo, augmentant très largement le poids des demos, et ne permettant pas trop des shaders dynamique, tout en réduisant méchamment la définition des textures, à réservé que pour les petites scène quant on est pressé ;-)

Pour cela, j'ajoute aussi se lien pour ceux qui cherchent encore une solution avec C4D.
http://www.unifycommunity.com/wiki/index.php?title=UVTransfer

C'est un petit script de transfert d'uv d'Obj à Obj pour deux objets identique directement par l'interface d'Unity.
En gros, on peu faire facilement des lightmaps avec ça et C4D, testé et approuvé :wink:

Évidement, si Maxon se décide un jour à supporter 2 couches d'uv à l'export comme Max avec FBX et Collada, cela serait plus intelligent pour le temps réel, car à part Unity, pour les autres moteur il n'y a pas d'autre solution que de bossé sur Max, Blender ou coder soit même un plug :roll:

atome451
13/09/2009, 21h48
Une petite info sur le premier lien donné par Steph3D : http://forum.unity3d.com/viewtopic.php?t=22993

Le système fonctionne très bien à condition de respecter deux petites choses. Il faut absolument placer le script "CombineMeshUV.cs" dans un dossier nommé "Editor", lui-même dans le dossier "Assets" du projet Unity3D en question. Il faut copier les fichiers à convertir dans le dossier "Assets" en direct via l'Explorateur (je n'ai pas essayé sur Mac), pas en faisant un cliquer-glisser sur la palette "Project" dans Unity3D car le script Unity ne fonctionne pas dans ce cas.

Pour le reste, à ce que j'ai vu le script C4d fonctionne très bien mais, en effet, ce serait nettement plus pratique s'il pouvait exporter directement en .fbx (j'ai essayé de le modifier mais... je suis une bille en script C4D... :mrgreen: ). Cela dit, ce script est anecdotique puisqu'il suffit de sauvegarder deux copies de l'objet avec chacun un tag UV tout en respectant la nomenclature "nomFichier.fbx" et nomFichier_UV2.fbx" pour que le script Unity3D fonctionne.

En tout cas, encore un tout grand merci pour ce lien Steph3D ! :poucehaut: