Vertex Koordinaten in animierten Meshs (B3d)
Übersicht

![]() |
skatanistBetreff: Vertex Koordinaten in animierten Meshs (B3d) |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke das du das mal ausprobiert hast! ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@antome: er will aber die vertexkoordinaten während der animation, denke ich. so werden nur die korrdinaten des unanimierten meshs ausgegeben... | ||
MrKeks.net |
![]() |
skatanist |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, danke, das ist es.. ![]() 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! ![]() Jetzt steht meinen Schatten nichts mehr im weg^^ |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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 !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group