Vertex Koordinaten in animierten Meshs (B3d)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

skatanist

Betreff: Vertex Koordinaten in animierten Meshs (B3d)

BeitragDi, Dez 20, 2005 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Hab da ein Problem bei der Berechnung von Schatten.
Und zwar versuche ich mit den einzelnen Vertexen ein Schattenmesh erstellen.

Mit statischen klappt das auch theoretisch ganz gut, aber bei animierten hat man anscheinend keinen Zugriff auf die Vertex Daten.

Aber wie hat das dieser feine Herr geschafft?

Oder gibt es schon andere nützliche (kostenlose) Schatten-Libs?

Für Antworten wär ich dankbar (auch wenns "mal wieder" eine Frage zu Blitz3d Schatten ist...).
 

antome

!!! gesperrt !!!

BeitragMi, Dez 21, 2005 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir funktioniert es, ich habe den Ninja ausprobiert
von Psionic's Seite.

Code: [AUSKLAPPEN]
GRAPHICS3D 1024,768,0,2
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
POSITIONENTITY camera,0,5,-10
light=CREATELIGHT()
ROTATEENTITY light,90,0,0


themesh = LOADANIMMESH(filename$)
POSITIONENTITY themesh,0,0,0

While Not Keyhit(1)
   RENDERWORLD
   FLIP

Wend

FOR i=1 TO COUNTSURFACES(themesh)
      Print "Surfaces-Triangles-Vertexes "+i+"-"+COUNTTRIANGLES(GETSURFACE(themesh,i))+"-"+COUNTVERTICES(GETSURFACE(themesh,i))
NEXT
flushkeys
Surface=GETSURFACE (themesh, 1)

Print VERTEXX# (Surface, 10)
waitkey()
end

skatanist

BeitragMi, Dez 21, 2005 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke das du das mal ausprobiert hast! Smile

hm...was für ein Format hatte das Modell denn (die site von Psionic scheint nicht onlien zu sein)?

Hab es mit einem .3ds und einem .b3d Objekt ausprobiert (beide exportiert aus 3dsmax, b3d mit der pipeline).

Hatte da was in Erinnerung, das es nur mit einem bestimmten Format klappt...weiss da jemand genaueres?

Mr.Keks

BeitragMi, Dez 21, 2005 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@antome: er will aber die vertexkoordinaten während der animation, denke ich. so werden nur die korrdinaten des unanimierten meshs ausgegeben...
MrKeks.net

skatanist

BeitragMi, Dez 21, 2005 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, nur selbst das klappt nicht! Hab jetzt .b3d, .3ds und .x ausprobiert...und grad auch zusätzlich mein Blitz3d geupdated (wäre auch eine Fehlerquelle).

Egal was ich für ein Mesh reinlade(mit LoadAnimMesh), CountSurfaces() ist immer 0!
 

BIG BUG

BeitragMi, Dez 21, 2005 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, nur Meshs haben Surfaces. Wenn das Wurzelobjekt jetzt aber nur ein Pivot ist, findest Du folglich keins. Mit CountChildren & GetChild kannst Du die weiteren Objekte durchsuchen. Irgendwo muss dann der Mesh sein(CountSurfaces > 0)
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

skatanist

BeitragDo, Dez 22, 2005 0:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, danke, das ist es.. Very Happy

War wohl ziemlich dumm von mir, ich musste einfach alle childs aus dem Mesh auslesen, denn unter den einzelnen Childs funktionieren dann natürlich auch wieder alle Befehle!

Dickes Danke an Big Bug! Smile

Jetzt steht meinen Schatten nichts mehr im weg^^
 

Dreamora

BeitragDo, Dez 22, 2005 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch. Bone animierte Objekte werden nämlich auch dann nicht funktionieren, weil diese garkeine auslesbaren animierten Vertexdaten haben.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

antome

!!! gesperrt !!!

BeitragDo, Dez 22, 2005 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Freut mich das es nun klappt.

@skatanist
Ich arbeite gerade an einem Animationsprogramm darum ist es
für mich gerade auch von interesse.
Ich konnte mir einfach nicht vorstellen keinen zugriff auf die Vertexpunkte zu haben.


@Inarie
wenn ich den Ninja mit LoadMesh lade, dann steht er.
Wenn ich ihn aber mit LoadAnimMesh lade, dann erschein er mit seinem ersten Schritt.
Also schon in der Animation.
Ich denke bei allen Animationen wird der erste Animationsschritt
angezeigt, nur ist er oft mit dem Grundmesh identisch.

Wenn ich es mit dem ersten Vertexpunkt teste erscheint auch 0 drum hab ich einfach den 10. hier genommen.

PS: das Animationsproggie welches sehr einfach gehalten wird ohne große GUI und schnickschnack werde ich mit Quellcode frei veröffentlichen.
Allerdings ist es nicht optimal geproggt.
Da es mein erstes Animationsprogramm ist Wink
Und das proggen von den Lade- und Speicherroutinen nun schon 3 Tage verschlungen hat, so wird der Code Stück für Stück zusammen gebastelt.
Ich hoffe es wird noch vor Neujahr fertig.
 

antome

!!! gesperrt !!!

BeitragDo, Dez 22, 2005 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe das nun weiter getestet Inarie und Dreamora haben recht, es zeigt zwar den ersten Animationsschritt an, aber die Vertexpunkte werden immer vom Grundmesh angezeigt.
Da hilft es wohl nur einen Pivot für je einen Bone zu erstellen denen die zugeorneten Vertexe als Child-Pivots zuordnen.
Und dann die Move, Rotate und Scale Befehle gespeichert in den Keys
auf den BonePivot zu übertragen.
Allerdings weiß ich nicht genau wo der Bone sitzt.
Ich werde ihn jetzt einmal als Durchschnittswert aller zugeordneten Vertexpositionen einsetzen und von dort die Bewegungen einzeln durchspielen.

Da fällt mir ein ich brauche die Vertexe ja garnicht Smile
Ich kann mit Handle=Findchild(AnimMesh, "Node/BoneName")
jeden Bone manipulieren , ich brauche ja nur die Bewegung.
Aber theoretisch müsste oben genannte Idee für dein Schattenprojekt
machbar sein.

Oder erstelle für jeden Bone ein extra Mesh aus den zugehörigen Vertexdaten. Und bewege diese Meshes nach den in den KEYS gespeicherten Move/Rotation und Scale Werten.

skatanist

BeitragDo, Dez 22, 2005 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hm...So eine Berechnung für die Vertex Position hatte ich auch schon ähnlich im Kopf...Wird nur wahrscheinlich viel zu langsam sein, um es sinnvoll in Echtzeit einsetzten zu können.

Ich glaub ich bleib bei gerenderten Shadow Maps, alles andere scheint mir mit Blitz zu kompliziert.

Fals jemand doch ne andere Möglichkeit kennt, die Vertex Positionen bei animierten Meshs zu bekommen, lasst es mich bitte wissen.

btw.: Die Weihnachtssmilies sehn ja mal lustig aus Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group