Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
15.04.2005, 20:54
sigistein



ich hab mir eigene texturen gemacht und will diesen jetzt einen spiegeleffekt verpassen. wie stell ich das am geschicktesten an? (benutze das tool 360g)

--

zum Seitenanfang zum Seitenende Profil || Suche
001
16.04.2005, 09:40
Adrian_Broher
Admin


Also als erstes erstellst du mit dem Bildprogramm deiner Wahl eine Textur mit der Größe der Diffuse Map (in dem Fall wären es die Fliesen an sich). Dieses stellst du dann als Graustufenbild um und bearbeitest sie soweit. Helle Stellen in der Textur waren afaik Stellen für starke Spiegelungen, dunkle dann für schwache Spiegelungen. Dann speicherst du diese Graustufenmap als tga ab.
Als nächstes compilest du die tga textur in das vtf format um, wie das geht steht hier irgendwo im forum/wiki, aber ich suche den link jetzt nicht raus.
Damit hast du jetzt eine Specularmap erstellt, welche Informationen erhält wie stark an welcher Stelle die Textur spiegeln soll.
Jetzt muss diese Specularmap noch in das Fliesenmaterial eingebunden werden.
Danach gehst du in den HL installationsordner und dort in den Unterordner Materials.

Nun musst du als nächstes eine *.vmt Datei erstellen oder die zu dem Fliesenmaterial zugehörigen öffnen, welche Information enthält woraus ein Material besteht (diffuse map, glowmap, specularmap, usw) und wie es später gerendert werden soll. Um eine *.vmt zu erstellen reicht es einfach eine Textdatei zu erstellen und die Dateiendung auf vmt abzuändern.
Diese kann dann einfach mit einem Texteditor (Notepad) geöffnet werden.

Dort kannst du dann folgendes reinschreiben ( Textzeilen hinter einem // werden als Kommentar angesehen und bei der Verarbeitung ignoriert):

Zitat:
"LightmappedGeneric" { //dies ist die Angabe des Shaders, der Shader 'LightmappedGeneric' sorgt dafür das dieses Material beim compilen einer Map mit Hilfe von rad seinen Schatten bekommt.
"$basetexture" "mySubDir/mybaseTexture" // Die Textur, welche die Fliesen enthält. Wie der Pfad zustande kommt erkläre ich unten.
"$specularmap" "mySubDir/mySpecularTexture" // Die Textur, welche die Glanzinfos enhält. Wie der Pfad zustande kommt erkläre ich unten.
}
Um die Pfadangaben zu verstehen muss man wissen, das die Source Engine den Ordner Materials wird immer als Ursprung für Pfadangaben nimmt, wenn es um Texturen geht und die Deteiendung *.vft nicht in die Pfadangabe geschrieben wird.
Das heisst das sich die Texturen 'mybaseTexture.vtf' und 'mySpecularTexture.vtf' in einem Unterordner von Materials namens 'mySubDir' befinden. Natürlich ist es auch möglich die beiden vtf Datei woanders hinzupacken solange dieses Woanders ein Unterordner von Materials ist. ;)
Wenn die beiden Texturen sich z.B. in einem Unterordner namens 'meineTexturen' befinden würde sich die vmt so abändern:

Zitat:
"LightmappedGeneric" { //hier ändert sich nichts
"$basetexture" "meineTexturen/mybaseTexture" // Die Textur, welche die Fliesen enthält.
"$specularmap" "meineTexturen/mySpecularTexture" // Die Textur, welche die Glanzinfos enhält.
}
Nun kann man die Texturen im Hammer einbinden. Falls eine der Texturen dann mit einen rosa/schwarzen Muster dargestellt wird wird diese Textur nicht gefunden. Das kann heissen das die Pfadangabe in der vmtt falsch ist oder Das die dazugehörige vtf nicht existiert. Also müsste man in diesem Falle nachbessern. ;)

phew... hatte gerade irgendwie lust ein kleines Tut zu schreiben, ich hoffe du würdigst das. ;)

/edit: @ Forenstaff: man bräuchte mal hier etwas wie einen syntaxhighlighter, aber nicht nur für php ;)

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 16.04.2005 um 09:43 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche