Modelele din Sursa de jocuri - indiferent dacă sunt elemente de recuzită, personaje, modele de vizualizare. și altele - necesită cel puțin 3 componente principale: .MDL. Dvs. VMT și dvs..VTF.
Din păcate, nu este foarte precis să spunem că MDL este un "schelet", VTF este "acoperirea" și VMT este "fizică". În fiecare etapă, modelul dvs. va conține cel puțin două fișiere separate, dar care se referă întotdeauna la celălalt. Fiecare etapă de compilare necesită informații dintr-o parte dintr-un alt fișier. Prin urmare, procedura trebuie să urmeze o secvență strictă, iar numele fișierelor și locația lor sunt de asemenea întotdeauna definite strict.
Procesul de creare a acestor fișiere se potrivește în două etape generale:
- Primul pas este crearea texturii principale și plasarea acesteia pe grila, rezultând o pereche de fișiere "temporare": your.SMD și your.TGA.
- În a doua etapă, folosind .SMD și .TGA dvs. compilați .MDL. Your.VMT și your.VTF într-un anumit director Sursă game_directory.
- Pentru a crea o textură pentru modelul dvs. în XSI:
- selectați modelul creat.
- selectați modul de redirecționare XSI (în partea de sus a barei laterale din stânga).
- din Render> Get-Material, selectați Blinn (închideți fereastra Material)
- din Render> Get-Texture, selectați Image pentru a deschide fereastra Image-Texture:
- în fila Imagine-Textură> Imagine, faceți clic pe "Nou" pentru a găsi și importa noul fișier de textură TGA.
- În fila Imagine textură> Proiectare textura, faceți clic pe "Nou" și selectați Vigoare unice (polymesh) (închideți fereastra Imagine)
- dați clic pe "Alt + 7" pentru a deschide fereastra Editor textură XSI.
- Dacă ați confundat plasarea textului și doriți să începeți:
- A se vedea și lecția XSI Texturing.
- Concluzii despre procesul de texturarea caracterul tău poate fi făcută direct în Sursa motorului, înainte de a merge mai departe cu materialul său, export-l la .vtf, crea .vmt, crea .mdl si uita-te la modelul de joc. Lucrul la subtilitățile și parametrii shader-ului poate fi numai după ce vă vedeți modelul în joc.
Textura temporară "șah" ("șah")
- Folosirea unei texturi de șah este o modalitate bună de a vă verifica coordonatele UV; aceasta vă va permite să vedeți rapid prezența oricăror distorsiuni, dungi sau cusături care necesită corectare. De asemenea, utilizarea de bord textura șah oferă o modalitate bună de a măsura cât de multe elemente textura pe care doriți pe diferite părți ale modelului, așa cum ați identificat coordonatele UV, unele elemente (cum ar fi o persoană) necesită o densitate mai mica, dar, în general, ar trebui să depună eforturi pentru densitatea logică a elementelor de textură pe întregul model. Fișierul standard noicon.pic din XSI este o alegere bună sau puteți utiliza textura Starterboard Starter (faceți clic pe PKM, salvați ca.) Inclus în SDK.
Care ar trebui să fie dimensiunea texturii?
Texturi cu mai multe straturi
- Ar trebui să încercați să utilizați numai o textura de bază, dacă materialul nu necesită celălalt. O textură cu mai multe straturi poate afecta semnificativ timpul de redare. Dacă trebuie să creați o textură multistrat pentru model, trebuie mai întâi să selectați poligoanele, să le grupați și apoi să aplicați materialul și imaginea grupului. Asigurați-vă că parametrii sunt setați să "reîncărcați imaginile modificate extern la focalizare". Acest lucru va reîncărca textura atunci când reveniți folosind alt tab-ul din XSI dintr-un alt program, cum ar fi Photoshop, care vă economisește puțin timp.
Orice textură aplicată modelului (înainte de a exporta în .SMD din XSI) trebuie transformată din TGA într-un fișier VTF înainte de a putea utiliza motorul sursă. Numele fișierului VTF trebuie să fie aceeași ca și cea a fișierului TGA utilizat în Vashem.SMD (de exemplu, Vash.TGA -> Vash.VTF) și VTF plasate în dosarul game_directory / materiale / modele.
- SourceSDK / bin conține Vtex .exe, aplicația folosită pentru a compila în .VTF. Cea mai ușoară modalitate de a utiliza Vtex este de a crea o comandă rapidă pentru vtex.exe pe desktop și trageți fișierele .TGA la acesta. Acest lucru va crea un fișier .VTF care va avea același nume ca fișierul dvs. .TGA din directorul de materiale. Când ați tras fișierul tga în Vtex, un fișier .TXT va fi creat în același director ca fișierul .TGA. În acest fișier, puteți scrie comenzi pentru Vtex care vor schimba modul în care se face compresia.
Notă: Pentru dezvoltarea rapidă a materialelor, încercați să adăugați „-shader VertexLitGeneric“ în proprietățile de comenzi rapide pentru VTEX, în calea obiectului. Acest lucru funcționează, de asemenea, cu orice alte tipuri de shadere. Transferul texturii pe comanda rapidă modificat va fișier în mod normal, .VTF și miez shader mai tip de fișier .VMT și textura specifice textura.
- StudioCompiler de la Cannonfodder va oferi o interfață mai ușor de utilizat pentru Vtex (și Studiomdl). Acest lucru vă va permite să compilați / decompilați fișierele VTF, VMT și MDL din / în fișiere TGA și SMD.
Fiecare material din motorul sursă este definit printr-un fișier .VMT. Acest model de iluminat special, texturi de bază (VTF), precum și orice alte informații care ar putea avea nevoie de: o oglindă, strălucire, hărți normale, transparență, transluciditatea, și proxy shaderele.
Pentru modelul Vash.VMT trebuie să fie scris manual (cu ajutorul notepad-ului etc.) și să fie plasat în folderul game_directory / materials / models unde MD.LL vă poate găsi. $ basetexture (dvs..VTF) se referă la .VMT dvs., ar trebui să fie, de asemenea, în același folder game_directory / materiale / modele în cazul în care dvs..VMT poate găsi.
Sfat: Comanda QC $ cdmaterials poate utiliza și alte subdosare.
Avertisment: Toate materialele trebuie să utilizeze shaderul VertexLitGeneric. Materialele pentru model nu funcționează cu LightmappedGeneric sau UnlitGeneric.
Iată un exemplu de fișier VMT de la HL2:
În acest exemplu, materialul este utilizat pentru un model de poligon folosind shader-ul VertexLitGeneric. $ Basetexture sau diffusemap definite în "Modele / Combine_soldier / Combine_elite" bumpmap $ sau de pe hartă normală importate din "modele / combine_soldier / combine_elite_normal". $ envmap sau maparea mediului este setată la "env_cubemap". care se referă la entitățile cubemap plasate la nivel; imaginea în oglindă a acestui personaj va reflecta întotdeauna lumea din jur - se presupune că ați plasat entitățile cubemap la nivel. Puteți utiliza în schimb acest alt cubemap, dacă doriți. Pe linia următoare, „$ normalmapalphaenvmapmask“ 1 Potrivit că acest material redare are o mască speculară, și numai unele părți din ea va reflecta informația din env_cubemap, situat în acest caz, în canalul alfa al hărții normale. Harta speculară poate fi în canalul alfa al texturii principale „$ basealphaenvmapmask 1“, sau specularitate masca de fișier „$ envmapmask“ „modele / numemodel / mymask“. Comanda "$ envmapcontrast" 1 înseamnă că luminozitatea reflexiilor envmap este înmulțită o singură dată; pentru a crea iluminare puternică și umbre profunde. Toate modelele necesită comanda "$ model" 1. care indică vizualizatorului că materialul este utilizat pentru modelul poligonal al Studiomdl.exe compilat. Ultima linie de $ selfillum 1 îi spune vizualizatorului că canalul alpha $ basetexture conține informații despre auto-radiații, aceste zone ale canalelor alfa arată zonele strălucitoare ale modelului.
Canal Alpha
Pentru a crea un material cu un canal alfa activ, trebuie să introduceți comanda "$ translucent" 1 în fișierul VMT. Uneori, aceasta duce la o eroare de randare a modelului (de exemplu, convexul 1 este în partea din spate a convexului 2, dar convexul 2 este ascuns prin convex 1 => Eroare rendering). Dacă se întâmplă acest lucru, folosiți comanda "$ alphatest" 1 în loc de "$ translucent" 1. care corectează acest lucru.
Proiector shadere
O componentă puternică a sistemului de materiale din motorul Source este sistemul Shader Proxy. Un exemplu de capabilități de shadow-uri proxy va arăta cardul shaderzoo inclus în sdk. Informații suplimentare privind crearea acestora pot fi găsite în secțiunile relevante ale documentației.