|
 |
[Tutorial] Models im Radianten *      |
yoda
Böser Admin
Dabei seit: 21.01.2004
Beiträge: 12.269

|
|
[Tutorial] Models im Radianten * |
 |
Übersetzung des IW-Wiki-Artikels
Models in Radiant
Models im Radianten
Models im Radianten zu platzieren ist nun etwas anders als in den vorherigen Call of Duty-Versionen. Statt das man ein misc_model im Radianten platzieren und eine zugehörige Collmap für das Model hinzufügen muss, werden jetzt Prefabs eingesetzt, die das Model und die Collmap-Geometrie enthalten.
Um ein Model in der Map zu platzieren, muss man mit der rechten Maustaste in der 2D-Ansicht (auch Grid genannt) klicken. Im erscheinenden Menü wählt man dann -> misc -> prefab und klickt auf prefab.

Im sich öffnenden Fenster wählt man dann den Ordner /prefabs/misc_models. Hier sollte für jedes Model im Spiel ein Prefab zu finden sein. Wenn man ein neues Model erstellt, sollte man ein Prefab bauen, welches ein misc_model mit dem Model und alle gewünschten Kollisions-Brushes enthält. Bei der Erstellung eines neuen Prefabs für ein eigenes Model sollte man darauf achten, das Model auf den Koordinaten 0, 0, 0 (x, y, z) zu platzieren.
Bitte daran denken: wenn man die alte Methode zur Platzierung eines misc_models direkt in der Map wählt, wird es OHNE Kollision compiliert, also immer Prefabs benutzen!
---
Dynamische Models und dynamische Brushmodels
Ein dynamisches Model ist ein Model, welches physische Eigenschaften besitzt. Die Physik der Models wird in der .gdt-Datei des Models hinterlegt.
Um ein dynamisches Model in der Map zu platzieren kann man zwei Wege wählen.
Der erste wäre, es als Prefab aus dem /prefab/misc_model-Verzeichnis zu laden (empfohlen), oder einfach mit einem Klick mit der rechten Maustaste in der 2D-Ansicht über -> dyn -> model und der Auswahl des entsprechenden Models aus der Liste einzufügen.

Man sollte aber wissen, dass nicht alle Models physische Eigenschaften besitzen. Grundsätzlich kann man sagen: ist ein World Model kleiner als die Größe einer kleinen oder mittleren Box/Kiste, dann hat es physische Eigenschaften in der .gdt-Datei. Das Model wäre dann als dynamisches Model in seinem eigenen Prefab im /prefabs/misc_model-Verzeichnis liegen. Wenn man also z. B. eine reagierende Plastikflasche im Spiel einbauen möchte, werden alle eingebauten Flaschen reaktionsfähig sein. Vorausgesetzt natürlich, man benutzt dazu das gleiche Prefab in der gesamten Map.
Dynamische Models haben keinerlei Kollisions-Art (also einen Clip innerhalb des Prefabs selbst). Wenn es einen Clip hätte, würde es dazu führen, dass, wenn das Model die Position ändert, der Clip an der ursprünglichen Stelle verbleiben würde. Das wäre eine schlechte Sache.
Dynamische Models werden nur mit der World-Geometrie in Kontakt kommen. Sie reagieren nicht auf andere dynamische Models, auf Spieler oder auf NPCs (Non Playable Characters, als vom Computer gesteuerte Charaktere).
Platziert man ein dynamisches Model, so wird es auf nichts reagieren, bevor es mit irgendetwas in Kontakt kommt (z. B. durch eine Explosion, den Einschlag einer Kugel, etc.). Wenn die Map nun also lädt, wird die Gravitation also keinen automatischen Einfluss auf das Model haben. Das Model bleibt an seiner vorgegebenen Position.
Das beste Beispiel hierfür ist ein Model eines Bildes, das an der Wand hängt. Platziere das Prefab eines an der Wand hängenden Bildes etwas höher an einer Wand. Im Spiel wird es nicht automatisch auf den Boden fallen. Schiesst man allerdings auf das Bild an der Wand, übernimmt die Gravitation und das Bild wird auf den Boden fallen.
Ein dynamisches Brushmodel ist ein physisches Objekt, das aus einem/mehreren Bush/es gebaut wurde.
Markiere den/die Brush/es und klicke mit der rechten Maustaste in die 2D-Ansicht und wähle dann -> dyn -> brushmodel. Der/die Brush/es werden dann in der 2D-Ansicht rotgefärbt angezeigt.
Allerdings sind jetzt noch keine physischen Eigenschaften vergeben, diese muss man noch festlegen. Öffne das DynEntity-Fenster (UMSCHALT-Taste + Y). Setze im DynEntity-Fenster den "Type" auf "clutter" und klicke anschließend auf "SET". Das gleiche gilt sowohl für ein Brushmodel als auch für die dynamischen Objekte. Allerdings sollte die Größe nicht die Größe eines Betonblocks (=? -> cinder block) übersteigen. Sollte das doch der Fall sein, so wird man sicherlich nicht das gewünschte Ergebnis erzielen.

Brushmodels als physische Objekte zu verwenden ist weder wünschenswert noch wird es empfohlen. Es ist immer die bessere Wahl, ein Model einzusetzen.
---
Platzierung von Models im Radianten
In der kleinen Map, die für das Tutorial zur Editierung des Terrains genutzt wurde, wird nun gezeigt, wie man einige Models und Prefabs in der Map platziert.
Wenn man Models platziert, ist in den eigenen Einstellungen (= Preferences) eine Vorgabe für die Höhe der Platzierung von Entities. Der Standardwert hierfür beträgt 28 Units.

Die Platzierungshöhe festzulegen ist sehr hilfreich, wenn man Nodes einfügt. Setzt man diese Höhe auf 28 ist sichergestellt, dass die Node nicht direkt den Boden berührt. Bei einem statischen Model ist das allerdings anders, man möchte ja, daß es auf dem Boden platziert wird.
Wir setzen die Platzierungshöhe auf 0, indem wir auf die auf der oberen rechten Seite der Toolbar klicken.
Um nun ein Model in die Map einzufügen, einfach mal in der 2D-Ansicht mit der rechten Maustaste klicken und -> misc -> model auswählen:

Fügen wir also etwas Gras in die Map ein, z. B. foliage_grass_squareclump und klicken dann auf OPEN. Sollte der Dateibrowser nicht automatisch auf das xmodel-Verzeichnis zugreifen, findet man es unter [root]/raw/xmodel.

Nun sollte das Gras-Model in der Map markiert sein.
Da wir hier nun gerade Gras platzieren, ist es eine gute Idee, es jedes mal, wenn man es platziert hat, ein wenig zu drehen und anzupassen.
Klicke auf diesen Button 
Das sorgt dafür, dass dem Model bei jeder Platzierung eine zufällige Skalierung und Rotation gegeben wird.
Als nächstes möchten wir, dass das Model flach zum Winkel der Oberfläche platziert wird.
Um das zu erreichen klickt man auf diesen Button 
Nun haben wir zwar unser Gras-Model, aber es ist noch nicht auf dem Boden abgesetzt.
Um es nun also abzulegen klickt man auf den "Drop entity"-Button 
In diesem Bild kann man sehen, daß ein ganzer Haufen von Models platziert wurde auf dem mit Gras texturierten Bereich.

Wenn man möchte, kann man die ganzen Pfeile und die großen, blauen Origin-Boxen um das Model herum ausblenden.
Um die Pfeile verschwinden zu lassen muss man einfach das Filter-Menü mit der Taste „F“ aufrufen und den Haken bei „Angles“ entfernen.

Die Größe der blauen Origin-Boxen um die Models herum zu verringern kann man in den eigenen Einstellungen (= Preferences).
Reduziere die Größe einfach unter "Model Origin Size" – man kann es auch auf 0 setzen.

Um nun zum nächsten Schritt kommen zu können, wurde über den ganzen Bereich Gras verteilt und es wurden noch weitere Gras-Arten eingefügt um zu verhindern, dass sich zu vieles auf engem Raum wiederholt.

Nun sollen einige Bäume folgen.
Hierfür werden Prefabs eingesetzt, da ein Baum auch eine Kollision benötigt. Gras als Model zu setzen, ist in Ordnung, da Gras keine Spieler-Kollision benötigt (d. h. durch Gras soll ein Spieler hindurch laufen können, durch einen Baum aber verständlicherweise nicht).
Klicke also in der 2D-Ansicht mit der rechten Maustaste und wähle dann -> misc -> prefab

Nun in den Ordner /prefabs/misc_model wechseln und die Datei foliage_red_pine_xl.map suchen und mit einem Klick öffnen.

Man erkennt, dass das Baum-Model bereits über ein ordentliches Clipping verfügt.
Da das hier ein Baum ist und Bäume nach oben wachsen, soll die Funktion der Anpassung an den Winkel der Oberflächen abgeschaltet werden, also -> 
Ok, nun platziere den Baum irgendwo mit STRG + ALT + Mittlere Maus.
Man kann Duplikate auf dem gleichen Weg einfügen wie eben mit den Gras-Models.
Um die 3D-Kamera etwas übersichtlicher zu gestalten wurde in den Filter-Optionen (Taste “F”) die Anzeige der Clip-Brushes deaktiviert.

Nach der Platzierung einiger Bäume sieht die Map nun so aus:

Gar nicht mal schlecht für den Anfang.
Dann lass uns mal ein paar Felsen auf der Straße platzieren.
Zuerst aktivieren wir wieder die Winkelanpassung an die Oberfläche mit einem Klick auf und anschließden einen Klick mit der rechten Maustaste in der 2D-Ansicht und in die Model-Auswahl unter -> misc -> model.
Wieder darauf achten, dass man im Ordner /raw/xmodel sucht!
Suche nun nach einem Felsen (rock). Wenn man in der Leerzeile *rock* eingibt werden alle Models angezeigt, die "rock" im Namen enthalten.
Wähle nun prop_misc_rock_small_04. Platziere es in der Map wie bei den vorhergegangenen Beispielen.
Mach weiter und platziere selbst einige weitere.
Nun möchten wir einen anderes prop_misc_rock_small–Model platzieren, nehmen wir hierfür mal prop_misc_rock_small_03
Dieses Mal wird das Ganze aber über das Entity-Window geregelt.
Suche zuerst das Model prop_misc_rock_small_04 und drücke dann die Taste „N“ – das öffnet das Entity-Fenster.
Nun klicke in die Zeile model prop_misc_rock_small_04 (Step 1) und Du wirst sehen, dass die Informationen in den Zeilen Key/Value angezeigt werden (Step 2).

In der Zeile Value änderst Du nun den Wert prop_misc_rock_small_04 ab in prop_misc_rock_small_03 – drücke anschließend die ENTER-Taste.
Du solltest sehen, wie sich das Model, das Du markiert hattest, in Deiner Map in das Model prop_misc_rock_small_03 geändert hat.
Eine weitere Möglichkeit, ein Model oder ein Prefab auszuwählen wäre der gleiche Weg bis zum Entity-Fenster wie gerade und dann auf den Button "Mode" zu klicken. Dies öffnet das Verzeichnis des ausgewählten Objektes und man kann dann ein neues Model/Prefab aus der Liste auswählen.

---
Direkt verlinken:
https://www.opferlamm-clan.de/wbb2/thread.php?threadid=10417
***
__________________ "Fürs Internet sollte das Baumhaus-Prinzip gelten:
Wer zu alt ist, um ohne Hilfe reinzukommen, soll uns darin auch keine Vorschriften machen."
Diskutiere nie mit einem Idioten - zuerst zwingt er Dich auf sein Niveau herab und dann schlägt er Dich mit Erfahrung...
|
|
|
|
|
Verni@hter
*bM.Verni@hter~
Dabei seit: 24.01.2006
Beiträge: 1.461

|
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|