Collada Loader
-
wieso ein eigenes format wenn es schon welche gibt??
-
Weil du dein Format ganz konkret an deine Anforderungen anpassen kannst.
Nachdem es nur ums Laden in deine Software geht und nicht um Datenaustausch zwischen verschiedenen Tools, ist es sinnlos den ganzen Ballast der üblichen Formate mitzuschleppen.
-
Ich hab aber leider null ahnung wie ich das machen sollte, weswegen ich lieber collada oder ein ähnliches format nehmen würde. collada käme gut da blender da einen exporter für hat
-
Das was Blender als "Collada" exportiert, kann kaum ein anderes 3D-Packages importieren ohne zu Crashen.
Darum wuerd ich die Collada-Spec eher als "Empfehlung" sehen und stattdessen einfach gucken, was tatsaechlich in der exportierten Datei steht.
Und das meiste davon wirst Du wahrscheinlich eh nicht brauchen.
-
ich hab mir so ne datei schon mal angeguckt und was ich jetzt nur nicht versteh ist wie die vertices gespeichert werden. da ist einfach ne liste mit den coordinaten also so:
<float_array id="Cube_011-mesh-positions-array" count="2460">0.08896857 -0.1336874 -0.102781 -0.1873949 -0.1336874 ... </float_array> und wie sind die da angeordnet ? so? x y z x y z x y z ... ?
-
Zu dem Float-Array gibt es eine zusaetzliche Beschreibung namens "Accessor".
Anhand dessen weisst Du wieviele aufeinanderfolgende Werte zusammen gehoeren:<accessor source="#Cube_011-mesh-positions-array" count="3" stride=”3”> <param name="X" type="float"/> <param name="Y" type="float"/> <param name="Z" type="float"/> </accessor>
-
Ich kann mich nur wiederholen: Vergiss Collada. Das Format ist unglaublich komplex und du brauchst so ca. 0.01% davon wirklich.
Damit wir dir eine Empfehlung geben können, müsstest du uns nur eben mal mitteilen, was genau du machen willst...
-
erst mal nur ein model laden und später dann noch material und animationen
also doch x y z x y z ... weil stride 3 oder ?
-
darman96 schrieb:
erst mal nur ein model laden und später dann noch material und animationen
Dann reicht erstmal obj?
-
wie gesagt hab ich schon gemacht
-
Und warum verwendest du's dann nicht einfach?
-
sag ich doch weil obj keine animationen unterstützt!
-
So wie ich das verstanden hab, brauchst du im Moment ja auch keine!?
-
doch nur wenn ich jetzt anfange einen loader für ein anderes format zu schreiben wollte ich mit dem model anfangen und wenn das funktioniert dann mit animationen und so weiter machen.
-
Du kannst aber doch noch nichtmal die Frage beantworten, was für eine Form von Animation du überhaupt verwenden willst...
Abgesehen davon rat ich immer noch sehr von Collada ab, weil es ziemlich sicher einfach nicht sinnvoll ist für das was du vorhast. Aber natürlich weiß ich nicht was genau du vorhast. Ich denk ich klink mich einfach mal aus. Die Collada Spezifikation hab ich ja schon verlinked, da steht alles drin was es zu wissen gilt.
-
gibts da mehrere?
-
darman96 schrieb:
@hellihjb:
also doch x y z x y z ... weil stride 3 oder ?So wird's wahrscheinlich meistens sein.
Die Komponenten der Vertexposition *duerfen* aber auch in einer anderer Reihenfolge oder mit mehr/weniger Attributen abgelegt werden.
Aber ob man das nun alles unterstuetzen muss sei mal dahin gestellt...
-
Ja. Ich vermute mal es geht dir um Charakteranimation (auch wenn ich deinen Anwendungsbereich natürlich immer noch nicht wirklich kenne, weil du uns offenbar nichts darüber verraten darfst). Ich vermute daher mal weiter, dass du keyframe-basierte, skeletale Animation haben willst. Ich vermute noch weiter dass es um ein Spiel geht.
Für den Anfang würde ich evtl. zum ms3d Format raten, weil es imo recht einfach ist. Die Frage ist ob du das exportieren kannst. Ansonsten könntest du dir auch das MD5 Format anschauen.
-
bei md5 funktioniert der exporter nicht zumindest bei meiner blender version. ich versuch jetzt noch mal ne ältere.
-
nope auch bei blender 2.60 nit