Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Meshtree erstellen
#3

Meshtree erstellen:

Das Grundprinzip ist doch gar nicht so kompliziert, oder? Nun ist noch die Frage, wie man den Meshtree erstellt. Dazu dienen die Checkboxen mit "Push" und "Pop". Um zu verstehen, wie diese funktionieren, deaktivieren wir doch mal bei allen Meshes die "Push"s und "Pop"s. Dabei fangen wir unten, also bei Mesh 14 an, weil es sonst zu Problemen kommen kann.
Ist alles deaktiviert sieht der Meshtree nun so aus:

Code:
Mesh 0
|-Mesh 1
  |-Mesh 2
    |-Mesh 3
      |-Mesh 4
        |-Mesh 5
          |-Mesh 6
            |-Mesh 7
              |-Mesh 8
                |-Mesh 9
                  |-Mesh 10
                    |-Mesh 11
                      |-Mesh 12
                        |-Mesh 13
                          |-Mesh 14

Das ist also die ursprünglich Einstellung des Meshtrees: Jedes Mesh ist jeweils Kind des vorherigen. Dieser Meshtree entspricht z.B. dem eines bewegliches Seiles, wobei jedes Seilstück natürlich am vorigen befestigt ist, und wo es keine Verzweigungen gibt. Ein solches Seil findet man auch im Coastal-Wad als Animating14.
Bei Lara bedeutet dieser Meshtree aber, dass der rechte Oberschenkel am linkebn Fuß befestigt ist. Wenn sie also ihr linkes Bein hebt, löst sich das rechte bein und bewegt sich mit nach vorne.
Wenn man ein neues Objekt von Grund auf neu erstellt, hat man auch zunächst einen solchen Meshtree.

Um das zu ändern braucht man nun "Push" und "Pop". Dabei muss man beachten: Ein "Push" und ein "Pop" bilden immer ein Paar. Jedes "Pop" ist genau einem "Push" zugeordnet und umgekehrt. Das bedeutet man kann nicht einfach beliebig ein paar "Push"s oder "Pop"s setzen, ohne ihre jeweils dazugehörigen "Pop"s bzw. "Push"s. Dann passieren solche Fehler, dass im Spiel Gegenstände durch den Raum wirbeln. Das kommt dann daher, weil sich diese ganzen Objekte plötzlich als Kinder des einen Objektes betrachten, bei dem man den Meshtree versaut hat.

"Push" und "Pop" legen immer ein Geschwisterpaar fest. Dabei muss das "Push" immer vor dem dazugehörigen "Pop" kommen. "Push" ist also immer da ältere Kind (niedrigere Meshnummer) und "Pop" das jüngere (höhere Meshnummer). Dabei sollte man auch immer das "Push" zuerst setzen und danach erst das "Pop". UN dumgekehrt zuerst das "Pop" entfernen und danch das dazugehörige "Push". Wenn man erst das "Pop" setzt gibt es gar kein Mesh, von dem dieses Mesh das Kind sind kann, was dann in einer Fehlermeldung im Wadmerger resultiert.

Nun überlegen wir: Der rechte Oberschenkel soll ja ein Kind der Hüfte (Mesh 0) sein, und damit ein Geschwister vom linken Oberschenkel, der ja auch an der Hüfte hängt. Das heißt sie bekommen ein "Push" und ein "Pop". Das Mesh mit der niedrigen Nummer bekommt immer da "Push". Also aktivieren wir bei Mesh 1 "Push". Das ist nun das ältere Kind. Bei Mesh 4 wird als jüngeres Kind "Pop" aktiviert. Und tatsächlich: Nun hängt der rechte Oberschenkel auch wieder an der Hüfte, statt am linken Fuß.

Nun sieht der Meshtree also so aus:

Code:
Mesh 0
|-Mesh 1 (Push)
| |-Mesh 2
|   |-Mesh 3
|-Mesh 4 (Pop)
  |-Mesh 5
    |-Mesh 6
      |-Mesh 7
        |-Mesh 8
          |-Mesh 9
            |-Mesh 10
              |-Mesh 11
                |-Mesh 12
                  |-Mesh 13
                    |-Mesh 14

Allerdings hängt der Oberkörper noch am rechten Fuß. Er soll aber auch an der Hüfte hängen. Also muss logischerweise Mesh 7 ein Kind von Mesh 0 sein. Das dritte Kind also.
Mesh 1 ist das älteste Kind, aber da ist Push ja schon aktiviert. Mesh 4 muss aber das nächst-ältere Geschwister von Mesh 7 werden, und das ist das Entscheidende: Also muss bei ihm das "Push" aktiviert werden. Zusätzlich zu dem bereits aktiverten "Pop". Bei Mesh 7 wird natürlich das zugehörige "Pop" aktivert.

Code:
Mesh 0
|-Mesh 1 (Push)
| |-Mesh 2
|   |-Mesh 3
|-Mesh 4 (Pop + Push)
| |-Mesh 5
|   |-Mesh 6
|-Mesh 7 (Pop)
  |-Mesh 8
    |-Mesh 9
      |-Mesh 10
        |-Mesh 11
          |-Mesh 12
            |-Mesh 13
              |-Mesh 14

Wenn Mesh 0 noch ein Kind bekommen sollte, etwa weil man Lara einen Schwanz verpassen will, dann müsste man auch bei Mesh 7 noch "Push" aktivieren und beim neuen Mesh für den Schwanzansatz eben "Pop". Die anderen Schwanzteile sollten natürlich aneinander hängen, und brauchen keine weiteren Einstellungen.
Man kann sich für Mesh-Geschwister also merken: Das älteste Kind bekommt immer "Push", das jüngste "Pop", und alle dazwischen beides.

Code:
Mesh 0
|-Mesh 1 (Push)
| |-Mesh 2
|   |-Mesh 3
|-Mesh 4 (Pop + Push)
| |-Mesh 5
|   |-Mesh 6
|-Mesh 7 (Pop + Push)
| |-Mesh 8
|   |-Mesh 9
|     |-Mesh 10
|       |-Mesh 11
|         |-Mesh 12
|           |-Mesh 13
|             |-Mesh 14
|-Mesh 15 (Pop)
  |-Mesh 16
    |-Mesh 17
      |-Mesh 18

Aber Moment mal! Fehlt da nicht etwas? Ja richtig die Arme sind noch ganz falsch. Also lassen wir das Gedankenspiel mit dem Schwanz erstmal bei Seite.
Der linke Arm hängt ja schon richtigerweise am Oberkörper. Der rechte jedoch an der linken Hand. Hier ist es ähnlich wie mit den Beinen. Die Meshes der Oberarme müssen also Geschwister werden, und beide Kinder des Oberkörpers. Also aktiviert man bei Mesh 8 "Push" und bei Mesh 10 "Pop". Der Kopf muss natürlich auch an den Oberkörper, also kann man auch gleich "Push" aktiveren, und bei Mesh 14, also dem Kopf, "Pop".
Wenn man alles richtig gemacht hat sieht der Meshtree wieder so aus:

Code:
Mesh 0
|-Mesh 1 (Push)
| |-Mesh 2
|   |-Mesh 3
|-Mesh 4 (Pop + Push)
| |-Mesh 5
|   |-Mesh 6
|-Mesh 7 (Pop)
  |-Mesh 8 (Push)
  | |-Mesh 9
  |   |-Mesh 10
  |-Mesh 11 (Pop + Push)
  | |-Mesh 12
  |   |-Mesh 13
  |-Mesh 14 (Pop)


Mit dieser einfachen Regel: älteres Kind = "Push" - jüngeres Kind = "Pop" lässt sich im Prinzip jeder beliebiger Meshtreee erstellen. Die maximale Anzahl an Meshes für ein Objekt ist dabei 32. Also Mesh 0 bis Mesh 31. Alle darüber hinaus sind im Spiel unsichtbar.
Zitieren


Nachrichten in diesem Thema
Meshtree erstellen - von Uranos - 07.01.2011 21:34
[Kein Betreff] - von Uranos - 07.01.2011 21:35
[Kein Betreff] - von Uranos - 07.01.2011 21:36
[Kein Betreff] - von Uranos - 07.01.2011 21:38
[Kein Betreff] - von Uranos - 07.01.2011 21:39
[Kein Betreff] - von TifaNazah - 09.01.2011 13:01
[Kein Betreff] - von Codo - 10.01.2011 18:33
[Kein Betreff] - von Seilion - 10.01.2011 18:44
[Kein Betreff] - von Codo - 10.01.2011 18:52
[Kein Betreff] - von TifaNazah - 10.01.2011 19:31
[Kein Betreff] - von dh56962 - 13.01.2011 15:21
[Kein Betreff] - von Uranos - 18.01.2011 00:23
[Kein Betreff] - von l.m. - 08.03.2011 15:43

Möglicherweise verwandte Themen…
Thema / Verfasser Antworten Ansichten Letzter Beitrag
Letzter Beitrag von Luke
09.06.2008 18:25

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste