Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.12.2005, 23:54
VoodooFan



Hi Leute,
ich habe euch mal ein schickes Tutorial geschrieben.
In diesem Tutorial werde ich euch ausfuehrlich zeigen wie
man eine ausgehoehlte Kugel in VHE mapped.

Dieses Tutorial setzt sehr gute Kenntnisse im Umgang
mit VHE vorraus, wer sich nicht als fortgeschrittener
und erfahrener Mapper bezeichnen kann, der koennte
eventuell Probleme beim Mappen bekommen, weil ihm
schlicht und ergreifend einfach die Grundlagen fehlen.
Zudem wird unbedingt eine Version von ZHLT empfohlen,
die den Umgang mit der NULL-Textur beherrscht!

Bevor ihr anfangt zu mappen, muesst ihr euch im klaren sein
wie groß eure Kugel sein soll, denn ein nachtraegliches
skalieren der Kugel ist sehr schwierig bis unmoeglich.
Außerdem setzt dieses Tutorial eine gewisse mindestgroeße
der Kugel vorraus. Der Durchmesser der Kugel muss
durch 1024 Units teilbar sein, dabei muss der Divisor
im Bereich der Natuerlichen Zahlen angesiedelt sein.

In diesem Tutorial werde ich ausgiebig mit "Schablonen" arbeiten,
was ich damit meine, werdet ihr gleich noch sehen.

So nun aber genug geschrieben, jetzt gehts los! :)

Am Anfang war der Cylinder...
Quatsch bei Seite, als allererstes baut ihr einen Cylinder
mit 16 Faces, dieser dient uns als Arbeitsunterlage und
auch als erste Schablone.

Schritt: 1

In unserem Beispiel hat der Cylinder einen Durchmesser
von 4096 Units und eine Hoehe von 512 Units.

Schritt: 2
Nun erstellen wir mit dem Archtool einen 90°Bogen mit folgenden Werten.

Die Hoehe des Bogens ist eigentlich unwichtig, er dient uns
auch nur als Schablone.

Schritt: 3
Das ganze sollte dann irgendwann wie folgt aussehen

Schritt: 4
Nun richten wir unsere Bogenschablone auf.

Schritt: 5
Das sollte nun etwa so ausschauen.

Schritt: 6
Nun kopieren wir unsere gerade erstellte Bogenschablone,
drehen sie auf der Top-Ansicht um 90° im Uhrzeigersinn,
und richten sie anschließend auf unsere Grundschablone aus.

Schritt: 7
Nun stehen erst einmal die Schablonen,
an denen wir uns demnaechst richten werden.
Jetzt kommt wieder einmal das Archtool zum Einsatz.
Markiert in der Top-Ansicht das gleiche Areal wie
es vorhin im 3.Schritt markiert wurde,
diesmal muss auch auf die Hoehe geachtet werden.
Die Hoehe des Bogen entspricht hierbei dem Abstand von
Punkt A zu Punkt B auf dem naechsten Bild,
oder in Worten gefasst, "Die Hoehe des Bogens entspricht
der Laenge der Ankathede, des gedachten Dreiecks,
dessen Hypotenuse einen kontakt zur Cylinder-Grundschablone hat,
dessen rechter Winkel sich zwischen dem Zentrum der
Cylinder-Grundschablone und der Hypotenuse des
gedachten rechtwinkligen Dreiecks befindet."
Naja keine Ahnung ob mein Geschwafel stimmt,
schaut es euch einfach auf dem Bild an! :)

Schritt: 8
Der Bogen hat die gleichen Werte wie unsere Bogenschablone,
hier noch einmal das Bild von vorhin, zur Erinnerung.

Schritt: 9
Das ganze sollte am Ende dann wie folgt ausschauen.

Schritt: 10
Nun messen wir mit dem Block-Tool die Strecke AB.

Die haelfte des gemessenen Werts, merken wir uns,
ihr koennt die Zahl auch irgendwo aufschreiben.

Schritt: 11
Nun erstellen wir wieder einmal einen Bogen,
aehnlich wie wir es im 7.Schritt getan haben.
Der neue Bogen liegt diesmal jedoch nicht auf
der Grundschablone, sondern auf dem zuvor
erstellten Bogen und seine Hoehe ist auch eine andere.
Nun kommt auch unsere vorher gemerkte oder aufge-
schriebene Zahl zum Einsatz (Die Zahl war die haelfte
des zuvor gemessenen Werts!), diese tragen wir im
Archtool im Eingabefeld "Wall width:" ein!

Schritt: 12
Danach sollte es bei euch in etwa so aussehen.
http://img305.imageshack.us/img305/8559/119vq.gif[/img]

Schritt: 13
Ihr muesst haargenau darauf achten,
dass die Ecken bei Punkt A uebereinander liegen und
ob die Ecken bei den Punkten B und C auf der
selben Hoehe liegen.

Schritt: 14
Dieses Arbeitsschema wendet ihr so lange an,
bis ihr an der 'Spitze' angekommen seit.

So soll es aussehen, und immer darauf achten
dass alles 100-prozentig genau ist!

Schritt: 15
Jetzt selektiert ihr die Haelfte von dem was
ihr bereits gebaut habt, exklusiv der Grundschablone.

Schritt: 16
Nun loescht ihr das Selektierte,
keine Angst beim Loeschen, das ist nur 'Verschnitt' :)
Anschließend solltet ihr, wie im folgenden Bild,
die Frontelemente der Boegen mit einer anderen
Textur bekleistern, das wird uns im naechsten Schritt helfen.

Schritt: 17
Jetzt werden wir das Vertex-Tool verwenden.
Eure Aufgabe besteht darin je 2 Ecken von 8 Hexaedern
auf die Ecken anderer Hexaeder zu verschieben,
die 3 folgenden Bilder werden euch das verdeutlichen.

Das ist eine der 8 Ausgangslagen.

Hier seht ihr eine der 8 Vertexmanipulationen.

Und so soll dann das Ergebnis aussehen.

Ich wette ihr koennt euch schon fast selber denken
wie es nun weiter geht, aber was waere das hier fuer
ein Tutorial, wenn nicht alles beschrieben werden wuerde. :)

Schritt: 18
Nun koennen wir auch die letzte Bogenschablone loeschen.
Im Anschluss daran markiert ihr alle Flaechen,
außer die 'Innenflaechen', und gebt ihnen die NULL-Textur.

Die NULL-Textur wird spaeter erheblich zu
den r_speed-Ersparungen beitragen!

Schritt: 19
Jetzt muesst ihr unser kleines 'ausgehoehltes Kugel-Stueck'
markieren, kopieren, gegen den Uhrzeigersinn um 90° drehen
und die Spitze dessen auf das Zentrum der Grundschablone ausrichten.

Ist einfacher als es sich anhoert, nicht wahr? :)

Schritt: 20
Nun muesst ihr das gerade verwendete 'ausgehoehlte Kugel-Stueck'
nur noch spiegeln und verschieben.

Hier wurde das Stueck gespiegelt.


Und hier haben wir es verschoben.

Schritt: 21
Langsam aber sicher kommen wir dem Ende endgegen.
Ihr muesst nun unser, nun groeßeres, 'ausgehoehltes Kugel-Stueck'
nur 3 mal kopieren und je um 90° in der Top-Ansicht drehen
und zu einer Halbkugel zusammen setzen.
Anschließend markiert ihr die Grundschablone und loescht diese.

Wir sind schon fast fertig.

Schritt: 22
Die Halbkugel muesst ihr nun nur noch einmal kopieren,
dann am besten spiegeln (Drehen sieht nicht so gut aus!),
und ausrichten.

Hier ist die Halbkugel kopiert und schon ausgerichtet.


Und nun wurde sie auch schoen gespiegelt.

Schritt: 23
Jetzt erstellen wir einen Hollow-Block um unsere Kugel,
der Block sollte auf jeden fall, und vollstaendig,
mit der NULL-Textur beklebt sein!

Schritt: 24
Nun markieren wir alle Teile unserer Kugel, auch die Teile
die nicht Sichtbar sind, wenn die komplette Kugel markiert ist,
wandeln wir sie in ein func_wall Entity um!

Dies dient der r_speed-Verringerung und sorgt dafuer das
auch wirklich alle Ecken und Kanten ingame dort sind,
wo sie auch sein sollen!
Wenn man die Kugel naemlich nicht zu einem Entity
umwandeln wuerde, dann koennte es herbe Probleme
mit den Compilern geben.

Schritt: 25
Nun sollte man noch die Texturen ein wenig skalieren,
um r_speeds zu sparen, ich habe in meinen Fall eine
Skalierung von 4 verwendet.
Jetzt sollte man mindestens ein paar Lichter
und einen Spawnpoint einbauen, außerdem sollte man zum
Ende noch einmal eine Fehlerueberpruefung per
Tastenkombo [ALT+P] anwenden, wenn dann alles OK ist,
kann man einen ersten Compile versuchen.
Auf meinem 1400er Athlon mit 256 MB DDR-Speicher,
dauert der Compile circa 9 Sekunden.
Relativ sehr viel laengere Zeiten,
deuten meist auf einen Mappingfehler hin.

Die Meldung zum Erfolg. :)


Mein Compile-Log.

Und so aehnlich sollte das ganze dann am Ende ingame ausschauen.

Die r_speeds von 157 wpoly sind meiner Meinung nach auch voll OK!

Verwendung:
Man koennte die 'ausgehoehlte Kugel' zum Beispiel in einer 'Film-Sequenz'
fuer eine SCI-FI- Mod oder Map als eine Dyson Sphere verwenden.
Wer nicht weiß was eine Dyson Sphere ist, hier ein Paar Bilder und einen Link.

Im inneren einer Dyson Sphere.


Eine Skizze einer Dyson Sphere.

Und hier ein Link mit ein paar Informationen ueber die Dyson Sphere.
http://www.perelin.de/kiwi/sf/dyson.html
Zudem findet man auch ein paar Informationen in Google.

Man kann die 'ausgehoehlte Kugel' auch nur zu Teilen verwenden,
zum Beispiel als Halbkugel fuer eine Kuppel
in einer Kirche oder dergleichen.

Abschluss:
Ich hoffe, dass euch mein Tutorial gefallen hat,
wenn jemand Fehler finden sollte oder etwas in diesem Tutorial
nur unzureichend beschrieben wird, dann soll er mir bitte
eine PN schicken.

MfG VoodooFan

--

da voo

zum Seitenanfang zum Seitenende Profil || Suche
001
14.12.2005, 00:08
VoodooFan



Ich habe leider einen kleinen Fehler gefunden,
das Bild bei Schritt 12 wird nur als Link angezeigt,
weil ich das [img] am Anfang des Links vergessen habe,
kann das bitte ein Moderator nachtraeglich einfuegen?
Ich kann meinen Post nicht mehr Editieren,
weil der Edit angeblich zu lang ist. :(

--

da voo

zum Seitenanfang zum Seitenende Profil || Suche
002
14.12.2005, 00:17
HammerBlade



3 Sachen:

1. Gutes Tutorial.
2. Warum nicht ins Wiki?
3. Das sich die Innenfläche deiner Kugel aus Vierecken zusammensetzt ist mehr oder weniger problematisch. Da deine Beispielkugel einen Radius von 2048 Units hat treten bei dir dadurch keine Invalid-Solid-Structures auf. Wenn man aber kleinere Kugeln bauen will (< 512 Units Radius, ich weiss du hast das in der Einleitung ausgeschlossen) kommt man da in Bedrängniss, da man dort nicht mehr "beliebige" viele Gridpunkte zur Verfügug hat. Dadurch muss man in der Form leichte Kompromisse eingehen und die quaderförmigen Brushes, von denen eine Seite der Innenfläche der Kugel dient tendieren dazu invalid zu werden, aufgrund der Kompromisse beim Vertex-Editing. Daher ist es anzuraten die Quader noch frontal in 2 Dreiecke zu clippen, so dass ein Brush nicht mehr ein Viereck sondern nur noch ein Dreieck (Polygon) zu Kugelinnenfläche beiträgt. So sind Invalid-Solid-Structures auf jeden Fall ausgeschlossen.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
003
14.12.2005, 00:37
VoodooFan



Die Dreiecksmethode kann ich nur zum Teil empfehlen,
ich habe es schon mit Dreiecken versucht, außer mehr r_speeds
und merkwuerdige Clippingfehler bringt einem die Methode fast nichts.
Wenn man kleinere Kugeln baun moechte, dann muss man zwangsweise
die Faces reduzieren. Und wenn man sauber arbeitet, dann kommen
garantiert auch keine invalid Brushes.
Die Dreiecksmethode ist nur so gut, weil es mit ihr relativ schwer ist,
irgendwelche invalid Brushes hin zu bekommen, wenn man jedoch
sauber mit der Viereckmethode arbeitet, spart man erheblich r_speeds
und das ganze sieht am Ende auch besser aus.
Man muesste auch einmal mit diesem -smooth Parameter von RAD rummspielen.
Das bringt bestimmt auch ne Menge.

--

da voo


Dieser Beitrag wurde am 14.12.2005 um 00:46 von VoodooFan bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
14.12.2005, 09:28
Adrian_Broher
Admin


Hr, sehr schön, ein neues Tutorial.

Zitat:
HammerBlade postete
2. Warum nicht ins Wiki?
Das würde ich auch gerne mal wissen. Trag das doch bitte ins Wiki ein.

Zitat:
VoodooFan postete
Ich habe leider einen kleinen Fehler gefunden,
das Bild bei Schritt 12 wird nur als Link angezeigt,
weil ich das am Anfang des Links vergessen habe,
kann das bitte ein Moderator nachtraeglich einfuegen?
Ich kann meinen Post nicht mehr Editieren,
weil der Edit angeblich zu lang ist. :(
Das geht nicht, der Post ist sonst zu lang ( das ist eine technische Limitierung ).

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 14.12.2005 um 09:31 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
14.12.2005, 16:20
Richman
Moderator


Also r_speeds solltest du da nicht mehr bekommen, wenn du die Dreiecksmethode verwendest. Die Vierecke werden sowieso auch in Dreiecke (polygone) aufgespalten. Wenn es nun schon Dreiecke sind, werden die gleich so verwendet.

--

Richman's Hazardous Course - Status: 100% !!!
www.richmans-maps.ch.vu - wieder online!

zum Seitenanfang zum Seitenende Profil || Suche
006
14.12.2005, 16:43
HammerBlade



Zitat:
VoodooFan postete
ich habe es schon mit Dreiecken versucht, außer mehr r_speeds
und merkwuerdige Clippingfehler bringt einem die Methode fast nichts.
Was für Clippingfehler?

Zitat:
VoodooFan postete
Wenn man kleinere Kugeln baun moechte, dann muss man zwangsweise
die Faces reduzieren.
Nein.

(Ich weiss das es übertreiben ist das du mappen, man würde das in der Grösse eher modeln.)

Zitat:
VoodooFan postete
Die Dreiecksmethode ist nur so gut, weil es mit ihr relativ schwer ist,
irgendwelche invalid Brushes hin zu bekommen, [...]
Es ist unmöglich.

Zitat:
VoodooFan postete
Man muesste auch einmal mit diesem -smooth Parameter von RAD rummspielen.
Das bringt bestimmt auch ne Menge.
Mag sein, hab ich noch nicht versucht.

Naja. Den einzgen Nachteil den die Dreieckmethode imho hat, ist das sie doppelt soviele Planes verbraucht wie die Viereckmethode, aber wer sich schon eine Kuppel/Kugel in die Map baut verbraucht eh viele Planes.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
007
14.12.2005, 21:24
VoodooFan



@Adrian_Bohrer

Zitat:
Das geht nicht, der Post ist sonst zu lang ( das ist eine technische Limitierung ).
Das Problem ist nicht die Laenge des Posts, sondern das Problem liegt in der Editierfunktion.
Anscheinend unterbindet die Editierfunktion das Editieren des Posts, weil sie meint das der
Text zu stark Editiert wird! Wie du in meinem obigen Testpost siehst, kann man den Post auch mit
dem Bild aus Schritt 12 machen!

@HammerBlade

Zitat:
Was für Clippingfehler?
Man bleibt durch sehr oft an den neuen Diagonalen 'haengen', dort ist quasi so etwas wie
eine unsichtbare Wand, hervorgerufen durch die komplexe Geometrie.

Und ist dein Bild aus HL1?
Wenn ja, dann muss ich alles was mit der Groeße zu tun hat, zuruecknehmen, dann kann man
das ganze mit der Dreiecksmethode ja doch kleiner bauen. *sry un so :)*

Man kann auch mit der Dreiecksmethode invalid Brushes erzeugen, zwar nicht in der Front,
jedoch aber in der Tiefe der Brushes, da dort meist auch Vierecke sind.

Wie kann ich was in dieses Wikiboard schreiben? Wo finde ich das?
Hat es die gleiche Formatierung wie das Forum?

Zum schluss bitte ich einen Mod meinen TEST POST zu loeschen, da er nur zu Testzwecken erstellt wurde.

--

da voo


Dieser Beitrag wurde am 14.12.2005 um 21:25 von VoodooFan bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
14.12.2005, 21:34
Flow
Moderator


Nicht ins Wikiboard, sondern ins Wiki. Die Formatierung ist vergleichbar einfach mit dem Forum, aber es werden andere Zeichen benutzt, siehe auch Wiki-Syntax.

--

zum Seitenanfang zum Seitenende Profil || Suche
009
14.12.2005, 23:43
HammerBlade



Zitat:
VoodooFan postete
Und ist dein Bild aus HL1?
Nein, das speziell ist HL2. Das Bild ist aus einer Beispielmap für HL2 für einen Thread in dem es vor einer Weile auch mal um Kugelen/Kuppelen ging. Die Methode funktioniert aber genauso für HL1.

Die Kugelecke hat einen Radius von 64 Units.

Was die Clippingfehler angeht, die kann man die ja eingetlich ignorieren, denn ich denke mal, dass man meistens nicht über solche Kugeln/Kuppeln läuft.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
010
15.12.2005, 04:36
VoodooFan



sag das mal nem skulk aus nase ;D

--

da voo

zum Seitenanfang zum Seitenende Profil || Suche
011
15.12.2005, 05:38
Dopefish



o_O gab' es dafür nicht schon mal ein tutorial o_O [e] oh, das war für eine normale kugel ^^ [/e]

egal, auf jeden fall nice gemacht, aber ich bin jetzt zu müde, um es nachzubauen ;)

--

Resetting politics:
http://www.onlinepartei.eu


Dieser Beitrag wurde am 15.12.2005 um 05:40 von Dopefish bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
15.12.2005, 19:23
HammerBlade



Okay, VoodooFan, an NaturalSelection hatte ich nicht gedacht.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
013
27.12.2005, 18:52
Night Wolf



Ein sehr schönes Tut, aber könnte man nicht auch einfach nach Schritt 2-3 gleich bei Schritt 18 wieder einsteigen?

Man nimmt einfach den mit dem Arch-Tool erstellten Brush, zählt wieviele Teile er hat, und schaut wieviele Units jedes Teil Breit ist. Nun müssen von jedem Teil soviele Units an der oberen Seite abgezogen werden, dass beim letzten Brush 0 übrig sind. Somit ist eine Brushgruppe fertig, die dann einfach so oft kopiert wird, bis man eine Kugel hat. Je nachdem wie breit das unterste Teil war und je mehr Unterteilungen in der vertikalen Ebene sind, dest mehr Brushes sind am Ende vorhanden.

Wenn man den Anfangsbrush einmal um 90 Grad dreht, erkennt man schon wieviele Brushes es am Ende sein werden. (4*4)*4*2 = 128

Müsste dann denk ich aufs selbe hinauslaufen. Eventuell könnte es bei dieser Methode jedoch erforderlich sein, die gedrehten Brushes nachzubearbeiten, weil sie nicht direkt auf dem Grid liegen. Aber im Beispiel wäre dies ja auch nur bei maximal 8 Teilen der Fall.

--

Muh sag ich da!
----------------------
All das ist thewall: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

zum Seitenanfang zum Seitenende Profil || Suche