TEXTUREBLEND für .b3d maps
Übersicht

![]() |
rctunerBetreff: TEXTUREBLEND für .b3d maps |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo,
ich verwende 3d world studio von leadwerks für meine maps und speichere sie dann in das format *.b3d. Die Texturen werden dann automatisch beim Laden der map mit Blitz3D gleich mitgeladen und angezeigt. Nun möchte ich für die Textur TEXTUREBLEND (für Dot3) einstellen. Das Problem ist, dass ich hier direkt die Variable für die Textur angeben muss und es nicht so machen kann wie mit TEXTUREFILTER, bei dem ich einen Suchtext angeben kann. Ich habe aber keine Variable, da wie schon erwähnt die Texturen gleich mitgeladen werden. Wie könnte ich das noch machen? |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
coldie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du könntest die in Frage kommenden Texturen in ein Array speichern. Dann kannst du in einer Variable die Arraynummer der betroffenen Textur speichern und das Problem so umgehen. | ||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Surface=GETSURFACE (Mesh, Index)
Brush=GETSURFACEBRUSH (Surface) Textur=GETBRUSHTEXTURE (Brush [,Index]) mit Name$=TEXTURENAME$ (Textur) herausfinden ob es die richtige Textur ist und dann hast du das Texturhandle zur passenden Textur. |
||
antome |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke, aber woher soll ich wissen welches surface oder brush ich brauche?
meine map hat so um die tausend surfaces... |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hast du evtl. einzelne Meshes ?
Oder ist die ganze MAP ein einziger Mesh ? Egal auf jeden Fall. Wenn ja, mit CountSurfaces die Anzahl bestimmen, dann die einzelnen Surfaces durchackern bis der Texturnamen übereinstimmt. Leider nützt es nichts sich die Surfacenummer zu merken, die ändert sich bei erneutem Aufruf unter Umständen. |
||
antome |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
die ganze map ist ein mesh. lässt sich auch nur schlecht vermeiden, da dass spiel so ähnlich wie GTA ist und alle wege offen sind.
würde sowas gehen? mit if TEXTURENAME$ (Textur) <> "bump.jpg" surf=surf+1 endif Surface=GETSURFACE (Mesh, surf) Brush=GETSURFACEBRUSH (Surface) Textur=GETBRUSHTEXTURE (Brush) |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
TEXTURENAME$ (Textur) <> "bump.jpg"
Da du ja das/den Handle/Zeiger von der Textur noch nicht hast wird dir nichts anderes übrig beliben als mit CountSurfaces die Anzahl der Surfaces im Großen Mesh zu bestimmen und dan Surface für Surface durchtesten ob der zurück gegebene Handle/Zeiger zu der Textur mit dem Namen gehört. Kann 3d world studio kein TextureBlend setzen ? Denn wenn du diese Operation jedes mal bei Programmstart oder Level wechsel machen musst ist das schon eine zu zeitaufwändige Sache. Schreib doch mal den Hersteller an ob er die Funktion nicht integrieren kann. Oder schreib dir ein Tool welches TextureBlend Werte in dein B3D File einbindet, SaveB3D Routinen gibt es auf der offiziellen Seite. |
||
antome |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group