Cubemap auf bestimmte Surface des Modells

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Der_Schläfer

Betreff: Cubemap auf bestimmte Surface des Modells

BeitragFr, Feb 20, 2009 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Nabend allerseits

Ich wollte einen Reflexionseffekt auf der Kuppel meiner Kathedrale machen, per cubemap.
Also hab ich in meinem Mapskript einen Befehl gemacht, mit dem man eine Textur auf eine bestimmte Surface des Modells anwenden können soll.

Problem: Die Surfaces werden (nach neustart des PCs oder so) neu nummeriert.
Mir währe es eigentlich lieber wenn ich kein separates Mesh machen müsst für das Dach, deshalb frage ich noch kurz hier ob jemand ne Lösung für dieses Problem kennt.

Mfg

Silver_Knee

BeitragMo, Feb 23, 2009 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
du könntest das mesh als animmesh laden. Dann sind die surfaces einzelne Meshes und du kannst über findchilf dir das mesh raussuchen dass du brauchst....

Mr.Keks

BeitragMo, Feb 23, 2009 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm, also eigentlich sollten die Indices der Surfaces immer gleich bleiben? Also diejenigen, die man an GetSurface übergibt. Ansonsten kann mensch manchmal auch mit FindSurface arbeiten.

Wenn du die Nummer des Dachs nicht kennst, wird es etwas knifflig. Dann musst du unter umständen alle Surfaces des Meshes durchgehen und mit GetSurfaceBrush, GetBrushTexture sowie TextureName herausfinden, ob es sich um das gesuchte Surface handelt.

Am billigsten wäre es übrigens, einfach die Cubemap gleich im Modell auf das Dach zu packen Wink
MrKeks.net

Der_Schläfer

BeitragDi, Feb 24, 2009 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
@MrKeks:
Zitat:
Öhm, also eigentlich sollten die Indices der Surfaces immer gleich bleiben? Also diejenigen, die man an GetSurface übergibt. Ansonsten kann mensch manchmal auch mit FindSurface arbeiten.


Ich bin zu 95% sicher dass sies nicht tun. Aber ich probiers heute Abend nochmal.

zu Findbrush:
Könnte ich festlegen dass alle Oberflächen mit einer bestimmten Textur (z.B Metall) ne Cubemap kriegen, indem ich nen Brush mit dieser Textur mache und per Findsurface mit den Surfaces vergleiche?


@Silver_Knee: Ok das kann ich machen. Kommt aber aufs selbe raus wie wenn ich ein zweites Mesh lade (ok evtl. bisschen weniger mühsam, aber ich hab schon ein fast funktionsfähiges Child-System drin)[/code]
 

BIG BUG

BeitragMi, Feb 25, 2009 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Könnte ich festlegen dass alle Oberflächen mit einer bestimmten Textur (z.B Metall) ne Cubemap kriegen, indem ich nen Brush mit dieser Textur mache und per Findsurface mit den Surfaces vergleiche?

Nope. Du könntest aber alle Surfaces Deines Objekts durchgehen und über Texturename deine Oberflächen identifizieren. Z.B. könnten alle Texturen die mit "_" beginnen eine Cubemap zugewiesen bekommen...

Zitat:
Ich bin zu 95% sicher dass sies nicht tun. Aber ich probiers heute Abend nochmal.

Jepp. Die Reihenfolge der Surfaces ist nicht immer eindeutig, darauf sollte man sich nicht verlassen.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Der_Schläfer

BeitragMi, Feb 25, 2009 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessant. Texturename? Das währe im 3d-Editor oder? Werds mal probieren, ich meld mich wieder. Danke jedenfalls. Smile

Mr.Keks

BeitragMi, Feb 25, 2009 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
An dieser Stelle würde ich gerne mich selbst zitieren: Mr.Keks hat Folgendes geschrieben:
Wenn du die Nummer des Dachs nicht kennst, wird es etwas knifflig. Dann musst du unter Umständen alle Surfaces des Meshes durchgehen und mit GetSurfaceBrush, GetBrushTexture sowie TextureName herausfinden, ob es sich um das gesuchte Surface handelt.
TextureName ist für gewöhnlich der Dateiname des Texturbildes.
MrKeks.net

Der_Schläfer

BeitragDo, Feb 26, 2009 9:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Texturename? Das hatt ich überlesen, sorry.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group