Meshes verändern - wer kann das?

  • Hallo!


    Es gibt dieses nette Programm »SinglesMeshConverter« zum Download auf www.modthesingles.com. Wie aus ganz alten Sims 1 Tagen noch in guter Erinnerung taucht damit das {Wavefront-} .obj-Format wieder auf. (Der »SinglesMeshConverter« erzeugt aus .wms oder .ams-Dateien ein Dateienpaar in den Formaten .mtl und .obj)
    .obj-Daten können in das altvertraute MilkShape 3D Sharewaretool importiert werden. Schiebt man die Vertices nur herum und erzeugt keinen neuen und löscht auch keinen Vertex, dann müßte vom »SinglesMeshConverter« aus dem neuen .obj und dem .mtl ein neues .ams konstruiert werden können - das scheint auch zu klappen.


    Allein - o Graus - die Verwendung eines modifizierten Teils führt zu promptem Absturz nach dem Laden eines Spielstands. Nun gibt es diese mysteriösen Teilschritte des Imports von Informationen bei der .obj zu .ams -Zurückverwandlung. Technisch akzeptiert der »SinglesMeshConverter« die "Bones" des alten .ams, woher die Radiosity-Daten kommen sollen, weiß ich leider nicht.


    Somit meine bange Frage: Was mache ich falsch? Gibt es jemanden, der sich damit auskennt?


    Guterzogen grüßend


    Wolf, böse

  • Du modifizierst eine vorhandene Geometrie, die du dann überschreibst, richtig?


    Versuch mal ein neues Spiel zu starten, ob es dann geht.


    Weil wenn er kein .rdd hat, ist das Objekt schwarz, wenn er ein falsches hat, ist es halt nur falsch schattiert. Aber abstürzen dürfte es nicht.


    grüße, mari


    Sag mal bescheid, ob es dann geht.

  • Mit einem neuen Spiel kommt man etwas weiter: Es stürzt dann ab, wenn man die "neuen" Sachen anziehen lassen will.



    Übrigens, wenn sich schon jemand um mich kümmert, dann frage ich ganz unverschämt:


    Gibt es irgendwo eine Auflistung, was die Parameter in den .ams-formatigen Datensätzen bedeuten? Nicht alles ist selbsterklärend.


    Detailfragen:


    boneName: Stellt in meinen Augen eine Hilfsliste da, die den Körperteil mit einer Referenznummer verknüpft - richtig?
    boneWeight: Ist schon verwirrend - unterschiedlich viele Einträge mit jeweils zwei Parametern, wobei der erste nach Referenz und der zweite nach Wertzuweisung aussieht - müßte zumindest mir Dummkopf erläutert werden ...


    material: Sieht wie eine Liste von Parametern aus, welche allgemeine Grundinformationen darstellen, um dann eine Textur über die Struktur spannen zu können. Richtig?


    normalVertex und positionVertex: Anscheinend zweimal eine Angabe von Raumkoordinaten. Liege ich richtig, wenn ich aus der Gleichheit der Anzahl der Einträge bei boneWeight, normalVertex und positionVertex darauf schließe, daß Einträge einer Referenznummer zusammengehören? Liefert positionVertex den Punkt im Raum, an welchem der zugehörige Körperteil angeheftet ist? Zeigt normalVertex (oder der von positionVertex zu normalVertex führende Vektor) eine Richtung an? Wenn ja, welche?


    textureTriangel: Verknüpfen diese Angaben jeweils drei Vertices zu einem "Facet"? Aber was macht dann "triangle? Irgendetwas durchschaue ich da nicht!


    textureVertex: Wieder die gleiche Anzahl Einträge wie oben, aber nur zwei Koordinaten - was bedeutet das, bitte?


    triangle: Gleiche Anzahl Einträge wie bei textureTriangle, aber jeweils mit Datensätzen über materialNr, normalVertexNr (3 x),positionVertexNr (3x) undsmoothingGroup. Noch mehr verwirrend!



    Rückkehr zu Fragen, welche behandeln, ob man aus den vorgegebenen Elementen neue generieren kann:


    Wenn ich beispielsweise ein TShirt-mesh nehme, den unteren Teil, der so ziemlich die Gestalt eines zum Oval gepreßten Zylinders hat, dergestalt bearbeite, daß das TShirt zum bauchfreien Oberteil wird (das geht in MilkShape 3D nämlich ganz einfach), dann müßte das neue Teil zwar Fehler in den Animationen und der Texturdarstellung haben, aber das erklärt nicht, warum das Programm dabei abschmiert.


    Tut es aber doch! Ohne weitere Informationen kann zumindest ich dummer Mensch hier nicht weiter machen.


    Guterzogen grüßend,


    Wolf, böser, gemeiner, fieser ...

  • Habe ich etwas vergessen?


    Hmmm, ... JA!


    "Bescheid!"


    {Ich alter Sack gehöre noch zu einer Generation, die von ihren Deutschlehrern genußvoll gequält werden durfte. Jedes »Bescheid sagen« wurde angestrichen und zu »Bescheid geben« verbessert. Das ist zwar keine Entschuldigung für Besserwisserei, aber es ist die mühselige Pflicht der Alten, die Jugend zu tadeln, zu schelten, zu benörgeln und unentwegt zu verbessern. :lecka }

  • Nein es gibt nirgendwo eine Liste :) Aber ich trag mal eine zusammen:


    boneName: Das sind alle Bones, aus denen unser Character besteht. Jeder Bone hat einen Namen, der auch beschreibt wo er sitzt.


    boneWeight: Jedes Vertex hat eine bestimmte Gewichtung an einen Bone. Das heißt von welchem Bone wird es beeinflusst und in welchem Maße?


    material: Das Material hat nichts mit bespannen zu tun. Das sind Einstellungen die aus dem Shader in Maya ausgelesen werden, wenn das Objekt exportiert wird. Wie verhält sich Licht auf der Oberfläche, welche Textur liegt drauf, hat der Ambientwert ne Farbe usw.


    normalVertex: Beschreibt wo die Normale des Vertexes hinzeigt.


    positionVertex: Beschreibt wo das Vertice im Raum liegt.


    triangle: Gibt jedes Triangle an mit seiner Begrenzung durch die Vertexe, und mit den Vertexnormalen. Außerdem welches Material zugewiesen ist. SmoothingGroup hat was mit Hard und Softedges zu tun.


    textureTriangles sind die gemappten Triangles. Die Nummerierung ist nicht zwangsläufig so wie bei der Geometrie, deswegen ein Extra Eintrag. Jedes TextureTriangle wird von den drei Texturevertices begrenzt.


    Mit dem TShirt Beispiel: Das kann nicht gehen. So wie du es schreibst, änderst du die Geometrie so, das das mit den Bones nicht mehr hinhaut. Das heißt technisch müßtest du die Geometrie neu Binden und dann weights zuweisen, wofür du erstens unsere Skelette bräuchtest und zweitens die Gewichtungen der Bones für sie. Wenn man die Weightinformation löscht (die Geometrie also quasi nicht animiert ist und kein Skelett hat) dann müßte die Geometrie am Character auftauchen. Das schwebt dann nur so an ihm, aber das geht. Das kannst du ja mal ausprobieren.


    So, ich hoffe ich konnt dir helfen.


    viele Grüße aus Berlin,
    mari


    P.S.: "Das ist zwar keine Entschuldigung für Besserwisserei, aber es ist die mühselige Pflicht der Alten, die Jugend zu tadeln, zu schelten, zu benörgeln und unentwegt zu verbessern." Wenn es dich in deiner Jugend schon genervt hat und es nicht richtig war, warum führst du die Tradition fort? Aber das nur am Rande...

  • Ich werde es ausprobieren und ich bedanke mich für die Mühe, mir neugierigem Menschen, etwas zu erklären.
    Bezüglich der Tradition fehlte mir der passende smiley, deshalb versuche ich es jetzt mit diesem:


    :rosen


    Artige Grüße nach Berlin


    Wolf, böse



    Nachgeordnete Fragen:


    "Normale" ist doch mathematisch gemeint (eine Senkrechte zu einer Fläche)?
    Die Daten Eurer Skelette sind da versteckt, wo ich sie nicht finde - und so codiert, daß ich nichts mit anzufangen weiß - richtig?
    Skelette sind zusammengefaßte bones?
    Wie funktioniert das Zuweisen von weights? Könnte man das auch für minimale Änderungen mit Papier, Bleistift und Taschenrechner bestimmen, oder ist das ein komplexer simultaner Rechenvorgang, für den professionelle Software benötigt wird?


    Hintergrund dieser nervigen Fragerei ist folgendes: Bei EA/Maxis Megaseller Sims 1 war es bald viel spannender, den bei diesem Produkt recht einfachen Aufbau der Spielbausteine verstehen zu lernen - der lang anhaltende kommerzielle Erfolg dieses Produkts basiert nach meiner unmaßgeblichen Meinung vorrangig darauf, daß von mir durchaus hochgeschätzte findige Köpfe es ermöglichten, daß kreative fleißige Leute von Korea bis Brasilien die schlichte Grundausstattung völlig umkrempeln konnten. Singles hat aber eine weitaus größere Qualität in der bildlichen Darstellung der Charaktere (daß das eigentliche Spiel wie mit der heißen Nadel gestrickt ohne diesen Qualitätsanspruch daherkommt, ist in diesem Forum zu Recht schon oft bedauert worden - aber das kann sich ja bei einem Singles 2 ändern), es schlägt auch die bis jetzt unerträglichen Figuren von Sims 2 - und zwar deutlich (ich selbst werde diesen Kauf so lange verweigern, bis der Stand der Nachbesserung erreicht ist, der den Charme von Sims 1 ausmacht). Die Mimik der Singles ist phantastisch, die Gestik ist wohl nicht ganz schlecht - und das bedeutet, da ruht ein gewaltiges Potential - aber dieses Potential kann niemals von einem auch noch so engagiertem Team der entwickelnden Firmen abgerufen werden - es wäre auch eine blödsinnige Verschwendung von Ressourcen, so etwas zu versuchen. Wenn jedoch ein mögliches Singles 2 die Offenheit der Peripherie aufweisen sollte, die die schöpferische Kreativität von Außenstehenden einbinden kann, dann kann daraus etwas Großes werden. Ich hielte das für durchaus erfreulich!


    Jeder Person, die das gelesen hat, gebührt mein aufrichtiger Dank.

  • Richtig, normale ist mathematisch gemeint.


    Ein Skelett besteht aus mehreren Bones.


    Mit Papier und Taschenrechner kommst du bei den Bones nicht weiter. Da bräuchtest du schon ein 3D Programm für, aber:


    Die Charactere in unserm Spiel sind ja an das Skelett gebunden. Die Gewichtungen stehen ja komplett in diesen .ams Files drin. Wenn du also ein binäres Character ams umgewandelt kriegst, hast du alle Gewichtungen, die Standardmäßig auf die Kleidung übertragen wird.


    Wenn du die auf ein neues Kleidungstück überträgst, dann funktioniert das. Kleinere Tweaks (Durchdringungen bei bestimmten Animationen) kannst du dann über die Geometrie lösen.


    Damit würde es funktionieren.


    Viele Grüße,
    mari