Objektebereich bestimmen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

fringo

Betreff: Objektebereich bestimmen

BeitragMo, Mai 10, 2004 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo forum,
ich lade ein mesh (b3d) und möchte gerne die koordinaten von einem bestimmten bereich (zB ein fuss) des objekts auslesen - wenn das objekt per "animate" bewegt wird sollen die koordinaten natürlich auch noch stimmen. weiss jemand wie das geht?
danke!
 

Ava

Gast

BeitragMo, Mai 10, 2004 20:33
Antworten mit Zitat
Ich glaube, dass geht nur, wenn Du den Fuss - oder was auch immer - als eigenständiges ChildObjekt definierst. Dann kannst Du zb. mit n = findChild(hauptMesh, "rechter fuss") das Entity finden und die Koordinaren auslesen. Hm, andere Möglichkeit wäre vielleicht noch, vorher manuell die Vertices im Fuss herauszufinden und diese dann abzufragen, aber sonst wüsste ich leider keine andere Möglichkeit.
 

fringo

Betreff: ..

BeitragDi, Mai 11, 2004 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die antwort, ava. an so was wie die zweite möglichkeit habe ich auch gedacht - nur: wie finde ich "manuell" die vertices raus (werden die durchnummeriert?)?
 

Ava

Gast

BeitragMi, Mai 12, 2004 12:30
Antworten mit Zitat
Die Vertices werden durchnummeriert, ja. Dafür könnte man sich ja einen kleinen Editor basteln, um diese zu makieren und dann abzuspeichern. Würde wahrscheinlich sogar ausreichen, wenn man dafür nur die Tris statt der Vertices ermittetn, hm. Die werden die auch durchnummeriert.

Ich habe nun allerdings herausgefunden, dass man im .b3D-Format mehrere Objekte speichern kann! Du könntest also auch irgendwie einen Pivot an die entsprechende Stelle plazieren und mitanimieren lassen! So werde ich es jedenfalls mal ausprobieren! Smile
 

fringo

Betreff: ::

BeitragDo, Mai 13, 2004 1:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, bin mir nicht sicher ob ich versteh was du da vorhast.. aber könnte man nicht einfach die triangle-nummer hochzählen lassen und jeweils den entsprechen bereich einfärbeln o,ä.? wenn du was ausgetüftelt hast lass es mich auf jeden fall wissen - könnte mir echt weiterhelfen.
bis dann

Markus2

BeitragDo, Mai 13, 2004 2:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du in deinem Objekt eine Hirachie benutzt dann haste doch beides .
Also nen einzelnes Objekt und damit auch z.B. deine Fuß Vertices ...
 

fringo

Betreff: ::

BeitragDo, Mai 13, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
kapier ich nicht *wink* :]. wie meinst du?

Markus2

BeitragFr, Mai 14, 2004 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat Avo oben schon geschrieben .
Also ein Objekt kann ja Unterobjekte haben und diese hängen dann immer
wo dran , also an einem Übergeordneten Objekt .

z.B.
Rumpf-Bein-Fuss-Zehen

Also wenn du das Bein rotierst bewegt sich der Fuß und auch die Zehen mit . Rotierst du nur den Fuß bewegen sich nur die Zehen mit .

Suchste mit FindChild("Fuss") bekomste den Fuß als Entity also als Mesh
und darum haste auch alle Vertices davon .
 

fringo

BeitragSo, Mai 16, 2004 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, markus. jedenfalls: ich habe jetzt ein bestimmtes vertex identifiziert, wenn ich aber das objekt drehe oder animiere (animate) ändern sich die koordinaten nicht mit sondern bleiben in der ausgangsposition :\
 

furbolg

BeitragSo, Mai 16, 2004 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
mach dir ne datei mit hotspots die bei der basisposition da sind wo du sie haben willst und lies sie dann im game ein und plazier an deren Stelle Pivots, häng sie dann aber noch ans entsprechende (Sub)Mesh.

Markus2

BeitragMo, Mai 17, 2004 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Vertices stehen immer im bezug zu den Achsen des Entitys .
Also dort wo die Achse ist ist auch der Null Punkt bzw. Mittelpunkt .
Die Vertices sind also unrotiert .

Um die echte Position heraus zu bekommen gibt es
die Transform Befehle

TFormVector <---
TFormNormal
TFormPoint

und zurück bekommste
TFormedX()
TFormedY()
TFormedZ()

Am besten erzeugste mal zum testen an den Weltkoordinaten
der Vertices einen Cube oder Sphere an der Pos. die du also
von TFormed zurück bekommen hast .

Wenn ein Entity nicht rotiert wurde kann man auch einfach
die Welt Vertexpos. heraus bekommen in dem man die Globale Pos. des
Entitys hinzu addiert zu den Vertices .
 

fringo

Betreff: ::

BeitragFr, Mai 21, 2004 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
danke nochmal, ich werd mir das in ruhe anschauen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group