(by nadeo). - MM2 France
Transcription
(by nadeo). - MM2 France
IMPORT DE MODÈLES - GUIDE OFFICIEL 3D - NADEO SOMMAIRE I PRINCIPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 3 II FICHIERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 4 2.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 4 2.2 Fichiers additionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 4 III MATERIAUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 5 3.1 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 5 3.2 Attribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 5 3.3 Autres textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 6 IV STRUCTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 7 4.1 Objets / Parts list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 8 4.2 Transmission / Suspensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 9 ANNEXES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Page 12 CE MANUEL A ÉTÉ CONÇU ET RÉALISÉ PAR TOM JUENET (JAMBON). MERCI À OGRO ET DAMIEN DE NADEO POUR LE SUPPORT ET LES TEMPLATES. PAGE 2 I - PRINCIPE Le changement de carrosserie est géré par le jeu comme un changement de peinture. Vous allez simplement créer votre voiture dans un programme de modélisation 3D, en respectant les contraintes ci-après, puis vous l'exportez au format .3DS, ensuite, grâce à un petit convertisseur intégré dans le launcher, vous en ferez un fichier avec l'extension .solid.gbx qui sera utilisé par le jeu à la place du fichier original. Pour des raisons de gameplay, les surfaces de collision de la voiture ne sont pas modifiables, quelque soit la géométrie affichée. Les noms et formats de fichiers doivent être respectés afin de garantir le bon fonctionnement du modèle. En cas d’erreur, le jeu renverra un message lors du choix du modèle dans le profil, et le vehicule ne pourra être utilisé. PAGE 3 II - FICHIERS 2.1 - FORMAT L’import d’un modèle dans le jeu se fait en créant une archive zippée (nomdumodele.zip) contenant les fichiers qui composent le véhicule. Ces fichiers doivent avoir un nom et un format précis pour être reconnus et fonctionnels. L’archive au format .zip sera placée sans être décompressée dans le répertoire : .../TrackmaniaNations/Gamedata/Skins/Vehicul es/StadiumCar/nomdumodele.zip. 2.2 - FICHIERS Pour être entièrement fonctionnelle, une archive de modèle doit contenir ces fichiers : - Mainbody.solid.gbx (cf. Chap 4) MainbodyHigh.solid.gbx (cf. Chap 4) Diffuse.dds (cf. Chap 3) Details.dds (cf. Chap 3) Pilot.dds (cf. Chap 3) Icon.dds (cf. Chap 3) ProjShad.dds (cf. Chap 3) Horn.wav (klaxon, au format .wav) ADDITIONNELS Layers : Les layers sont des textures qui peuvent être rajoutées sur le modèle après l’avoir repeint dans le Painter. Le plus utilisé est le Prelight, qui ombre la voiture, et donne l’illusion d’une illumination globale. Pour être fonctionnelle, une archive de layer doit contenir ces fichiers : - Layer.dds - Icon.dds L’utilisation des layers et du Painter est expliquée dans la notice du jeu. Les layers sont des archives zippées séparées du modèle, qui se placent dans le dossier .../TrackmaniaNations/Gamedata/Painter/Layer s/StadiumCar/nomdulayer.zip. Fichier texte : Un fichier texte au format readme.txt peut être ajouté à l’archive du véhicule, afin de préciser des infos sur l’auteur ou le modèle 3D. PAGE 4 III - MATERIAUX 3.1 - TYPES Il existe 4 types de matériaux, correspondant à des shaders : Skin (s) : Texture de carroserie. Brillance et réflexion déterminée par la couche Alpha. Fait appel au fichier diffuse.dds. - taille puissance de 2 (taille de la skin) - DXT5 (Alpha) - AVEC mipmaps gBody sBody Details (d) : Texture des parties brillantes et non réfléchissantes (pneus, antenne, joints...). La brillance est définie par la couche Alpha. Fait appel au fichier details.dds. - DXT5 (Alpha) - AVEC mipmaps dBody Glass (g) : Texture de verre. Utilise les coordonnées de mapping sur le details.dds. La transparence est définie par la couleur et la couche Alpha. Pilot (p) : Texture de la tête du pilote. Fait appel au fichier pilhead.dds, au format DXT5. - taille puissance de 2 (taille de la skin), - DXT5 (Alpha) - AVEC mipmaps 3.2 - ATTRIBUTION Pour attribuer un matériau à un objet, il faut rajouter la lettre correspondant au shader devant son nom, exemple : dFLHub dFLWheel Materiau Skin sur Jante = s + XXWheel L’objet se nommera sXXWheel. Materiau Details sur Pneu = d + XXWheel L’objet se nommera dXXWheel. Remarque : Pour toutes les textures au format .dds, les mipmaps doivent être générés, sinon le modèle ne fonctionnera pas (message d’erreur). sFLWheel PAGE 5 III - MATERIAUX 3.3 - AUTRES TEXTURES Ombre projetée (ProjShad.dds) : Il s’agit d’une texture appliquée sur la route, sous la voiture, donnant l’illusion d’une illumination globale. Elle s’ajoute à l’ombre projetée par le lowpoly. z y x Projshad Sa position est déterminée par l’objet ProjShad (cf. Chap 4). - taille puissance de 2 (128 ou 256, carrée ), - DXT1 (NoAlpha) - AVEC mipmaps attention : bien faire attention à ce que tous les pixels des 4 bords soient BLANCS (255 255 255) ProjShad.dds z y x Icônes (Icon.dds) : Les icônes du vehicule sont au format .dds - 64x64 ou 128x128 - DXT5 (Alpha) - sans mipmaps Layers (Layer.dds) : layer Details - taille puissance de 2 (32x1024, 512x512, etc... 2 4 8 16 32 64 128 256 512 1024 2048) (taille de la skin), - DXT5 (Alpha) - sans mipmaps layer PreLight - taille puissance de 2 (32x1024, 512x512, etc... 2 4 8 16 32 64 128 256 512 1024 2048) (taille de la skin), - DXT1 (NoAlpha) - sans mipmaps Icônes layers (Icon.dds) : - 64x64 DXT5(Alpha) ou DXT1 (NoAlpha) - sans mipmaps PAGE 6 IV - STRUCTURE 4.1 - CONTRAINTES : Taille du modèle : 3 Les modèles importés dans le jeu doivent respecter des cotes maximales. Celles-ci sont comprises dans une boite dont les coordonnées sont les suivantes : 2.7 z y Min : (-1.5,-3,-0.2) | Max : (1.5, 3, 2.5) x Si le modèle dépasse une des dimensions, le jeu renverra un message d’erreur, et le modèle ne fonctionnera pas. 6 z y x Nombre de sommets / niveau de détail : L’archive du modèle (cf. Chap 2) doit contenir 2 niveaux de détail du vehicule. Les fichiers exportés sont nommés comme ci-contre et ne doivent pas dépasser un nombre maximal de sommets, sous peine de ne pas être reconnus par le jeu (message d’erreur). Les suspensions, le système de transmission, les mouvements de la tête du pilote et des garde-boue ne sont pas pris en charge sur le modèle basse résolution. Nombre d’objets : MainbodyHigh.solid.gbx | 20000 sommets Version haute résolution (high poly) du modèle. Utilisé pour la vue par défaut du joueur, et pour les adversaires, suivant la configuration du joueur (cf. notice du jeu). Mainbody.solid.gbx | 3600 sommets Version basse résolution (low poly) du modèle. Sert à afficher les véhicules adverses lors de parties multijoueurs ou durant les replays, afin d’améliorer les performances (cf. notice du jeu). Génère l’ombre dynamique. High poly MainbodyHigh.solid.gbx Low poly Mainbody.solid.gbx 20 000 vertex max. 40 primitives max. 3600 vertex max. 11 primitives max. Le véhicule est composé d’objets auxquels sont attribués un nom et un matériau. Ces sousobjets composant le véhicule sont utilisables en nombre limité selon le niveau de détail du modèle. Nombre maximal de primitives : High poly : Low poly : 40 objets/materiaux 11 objets/materiaux PAGE 7 IV - STRUCTURE 4.2 - OBJETS / PART LIST : La voiture est décomposée en sous-objets, dont les noms et emplacements définissent leur comportement dans le jeu. Certaines parties sont fixes, d’autres réagissent en fonction du déplacement de la voiture (tête du pilote, roues, système de suspension.) Les objets doivent porter les noms spécifiés cidessous. Les points de pivot des parties fixes (carosserie, détails, vitres...) doivent impérativement avoir des coordonnées nulles (0, 0, 0). Utilisateurs de 3D Max, n’oubliez pas le reset XForm avant de définir vos pivots. Body : z y x gBody Le Body est l’ensemble des parties fixes du véhicule. Il est en général composé de 3 objets distincts, comprenant les vitres, la carosserie et les détails. Vous pouvez rajouter des parties supplémentaires, dans la limite du nombre d’objets acceptés par le jeu (cf. Chap 4.1). sBody Les materiaux des objets sont déterminés par le préfixe de l’objet (cf. Chap 3). Les points de pivots des objets sont aux coordonnées X=0, Y=0, Z=0. dBody dRRWheel ARRIERE REAR dRLWheel dFRWheel dFLWheel z AVANT FRONT y Wheels : Les roues sont disposées où vous le souhaitez, mais pour mieux correspondre au modèle du jeu et aux collisions du modèle original, il est conseillé de se fier à l’emplacement des roues du template 3D fourni (cf. annexe A). Elles doivent être nommées comme sur l’illustration ci-contre, et leur pivot centré sur leur centre de gravité. Leur préfixe détermine le materiau (cf. Chap 3). Vous pouvez séparer les materiaux de la jante et du pneu en créant 2 objets nommés dXXWheel et sXXWheel. x PAGE 8 IV - STRUCTURE Transmission / Suspensions : Les éléments de suspension et de transmission sont décomposés en objets séparés, gérés par le jeu grâce à leurs points de pivots et leurs appellations. ARRIERE REAR Pour que les suspensions soient prises en compte par le jeu, le HUB doit être présent sur chaque roue. Les gardes-boue ne sont en revanche “utilisables” qu’à l’avant (ceux de l’arrière sont rattachés au HUB et ne suivent pas la rotation des roues sur l’axe Z). Comme expliqué dans le chapitre III, la première lettre désigne le materiau affecté à l’objet. z y AVANT FRONT x dRRArmTop dRRHub dRLArmTop dRLSusp dRRSusp dRLHub dRRCardan dRLCardan dRRArmBot dRLArmBot Arrière gauche Rear left Arrière droite Rear right sFRGuard dFLArmTop dFRArmTop sFLGuard dFLSusp dFLArmDir dFRArmDir dFLHub dFRHub dFRSusp dFLArmBot dFRArmBot Avant droite Front right Avant gauche Front left PAGE 9 IV - STRUCTURE Transmission / Suspensions (suite) : Les points de pivots des composants doivent impérativement être orientés comme sur les illustrations suivantes. Si ce n’est pas le cas, leur comportement ingame ne sera pas correct, ou ne sera pas visible du tout. ARRIERE REAR Les gardes-boue sont une partie qui tourne avec les roues sur l’axe Z en plus de suivre leur mouvement le long de cet axe. Les mâchoires de freins peuvent être modélisées dessus, en plus du moyeu. Les gardes-boue arrière, s’ils sont mobiles, devront appartenir au HUB. z y AVANT FRONT Pour plus d’infos, consulter l’annexe A. x z z z y y x y x z x z y x y x x z y z z z x y x y z y x y z y x x z Arrière droite Rear right z z z y y x Arrière gauche Rear left z y y x y z x x z x y y x z x y x z x z y x z z x y y x z y x y z y z x Avant droite Front right Avant gauche Front left x y PAGE 10 IV - STRUCTURE Tête du pilote : Dans Trackmania Nations, la tête du pilote est un objet à part entière, mobile, et pouvant posséder sa propre texture (cf. Chap 3). pPilHead L’objet PilHead est placé où vous le souhaitez. Son point de pivot détermine ses mouvements. Celui-ci est placé au niveau de son articulation. z y x z y x Placeur de feu arriere : Un phare rouge s’allume lors du freinage. LightR z Ce phare est positionné grâce à un placeur invisible nommé LightR. Il peut être situé n’importe où, et son fonctionnement est géré par le jeu. y x z y x Placeur de l’ombre de la voiture : Lorsque vous jouez, votre véhicule projette deux ombres. z y x La première est automatiquement générée par le jeu grâce au modèle 3D de votre véhicule. L’autre est une texture simulant l’illumination globale. Il s’agit d’une texture (ProjShad.dds) qui est appliquée sous la voiture (cf. Chap 3). Elle est placée grâce à un objet invisible ProjShad dont les coordonnées sont nulles. Projshad ProjShad.dds z y x PAGE 11 ANNEXES TEMPLATE 3D Vous trouverez dans le template 3D tous les objets en versions schématisées, afin de faire correspondre plus facilement votre modèle aux critères d’import. INNOVER N’hésitez pas à expérimenter : certains membres du forum ont régulièrement des idées nouvelles sur les techniques de texturing et de modelling. Steph10 a récemment montré comment réaliser des chromes en superposant plusieurs couches de glass opaque, vous pouvez à présent les adapter aux roues de TMN ! Les possibilités sont grandes, partagez vos connaissances ;) PAGE 12