FBX De Blender a Unity sense perdre el cap
Exportar animacions entre diferents softwares sempre pot donar problemes, en aquest cas explicarem la millor configuració que em trobat per fer-ho des de blender, en el nostre pipeline per fer el videojoc.
Al fer una animació amb blender i exportar-la a UNITY ens podem trobar amb el problema etern: el personatge es veu bé a Blender, però arriba a Unity mirant a terra, gir de 90 graus
El problema: Blender considera que "Amunt" és l'eix Z, mentre que Unity fa servir l'eix Y.
La finestra d'exportació de FBX de Blender té mil opcions i marcar la incorrecta pot trencar-ho tot.
La solució: Hem d'assegurar-nos que a Blender les transformacions estan aplicades tant a la mesh com al esquelet (Ctrl+A) abans d'exportar. A l'exportador FBX, hem configurat l'opció Apply Scalings a "FBX All" perquè faci la conversió d'eixos correctament sense que haguem de rotar el personatge manualment dins del motor de jocAra passem a descriure els "Settings" que ens han donat millor resultat al exportar un FBX d'un personatge que conté 4 animacions separades amb NLA. Que Unity reconeixerà automàticament cada animació per separat en importar-lo.
Apply Scalings: FBX All
És el truc per evitar que el personatge arribi a Unity gegant (escala 100) o diminut (escala 0.01). Això "planxa" l'escala a 1,1,1.
Apply Transform (Experimental): ACTIVAT
Aquesta és la solució màgica per al problema de la rotació (-90º). "Cuina" la rotació real als vèrtexs perquè el personatge surti dret a Unity sense haver de tocar eixos estranys.
(Si no tens aquesta casella, fem servir Forward: -Y Forward / Up: Z Up).
Smoothing: Face (o Normals Only)
Apply Modifiers: DESACTIVAT (Molt important)
Tenir-ho activat en personatges amb esquelet (Armature) és un error greu. Si s'activa, Blender intenta "enganxar" l'esquelet a la malla de forma estàtica, trencant les animacions
Triangulate Faces: DESACTIVAT
Add Leaf Bones: DESACTIVAT
Si ho actives, Blender afegeix ossos extra inútils a la punta de cada dit i al cap. Això només serveix per embrutar la jerarquia dins de Unity
Only Deform Bones: ACTIVAT
Així només exportes els ossos que realment mouen la malla, deixant enrere els ossos que Unity no necessita per res.
Bake Animation: ACTIVAT
Key All Bones: DESACTIVAT
NLA Strips: ACTIVAT
Li diu a l'exportador: "exporta'm els clips separats que he organitzat al NLA Editor".
All Actions: DESACTIVAT
Force Start/End Key: ACTIVAT
Afegeix un keyframe al principi i al final de cada animació per assegurar que els loops (cicles com caminar) quedin perfectes i no facin salts.
Esperem que els nostres aprenentatges a l'hora de fer el videojoc os siguin útils.