Koordinaten zum Auf-Texturen-Zeichnen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

faeX

Betreff: Koordinaten zum Auf-Texturen-Zeichnen

BeitragSo, Feb 08, 2009 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Folgendes Problem:

Man nahme einen Sphere / ein belieg anderes Entity und lässt einen Pivot mit Kollision drauf zu rasen. Der Pivot stoppt, er kollidiert mit dem Entity. wie kriege ich jetzt die Koordinaten auf der Textur um mit dem Texturbuffer auf diesem Entity eine Markierung zu machen?

Danke für antworten Smile

Holzchopf

Meisterpacker

BeitragSo, Feb 08, 2009 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab das zwar selber noch nie ausprobiert, würde aber so vorgehen:

Mit CollisionSurface und CollisionTriangle ermitteln, welcher Triangle die Kollision ausgelöst hat, dann mittels TriangleVertex dessen Eckpunkte abfragen und mit VertexU und VertexV deren Texturkoordinaten. Diese Texturkoordinaten kannst du dann zurückrechnen auf die Texturgrösse und dann weisst du, wo du auf der Textur des Teils rummalen musst. Ich weiss allerdings nicht, ob diese Texturmalerei überhaupt echtzeitfähig ist.
Natürlich wird diese Methode so noch ziemlich ungenau sein. Um es noch genauer zu machen, müsstest du mit CollisionX, CollisionY und CollisionZ die genaue Kollisionsposition erfragen und könntest dann mittels linearer Interpolation der Vertexkoordinaten auch die genaue U/V-Koordinate berechnen.

Angaben ohne Gewähr Wink

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Feb 08, 2009 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Dem Blitz3D wurde genau dazu ein Beispielcode beigelegt. Suche mal in deinem Ordner nach Texture Paint von David Bird.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group