Editor
Home Up Ut-Index Editor Cheats Pictures

Electric.gif (4802 bytes)

 

 

 

 

 

email@.gif (25129 bytes)

 

 Unreal Editor

 

Ik hoop dat ik mensen die de editor voor unreal tournemant hebben hiermee wat opweg kan helpen met editoren!

Een korte inhoud met wat er allemaal te vinden is.

  1. Een kamer maken met licht enz

  2. Water en ramen

  3. Licht & vuur & vlam

  4. knoppen en triggers

  5. eigen textures invoegen

  6. Skyzone maken

  7. Lift en deur maken

  8. Teleporters

  9. Bewegende dingen zoals een draaiplateau

 

1.0

Navigatie

2D vensters

Muis links of rechts + slepen - Beeld in venster verslepen
Muis links EN rechts + voor- en achteruit slepen - In- en uitzoomen

3D vensters

Muis links - Draai links + rechts en beweeg camera vooruit + achteruit
Muis rechts - Draai links + rechts en kijk omhoog + omlaag
Muis links + rechts indrukken - Camera links + rechts + omhoog + omlaag verplaatsen

 

 

2D vensters

Klik links op zijde stempel - Stempel selecteren
Ctrl + muis links - Stempel verplaatsen
Shift + muis links - Stempel verplaatsen (stempel blijft gecentreerd in beeld)
Ctrl + muis rechts - Stempel draaien (om met + gemarkeerd rotatiepunt)
Alt + muis links - Centrum (rotatiepunt) stempel verplaatsen
Klik links op hoekpunt - Hoekpunt selecteren (is nu rotatiepunt)
Ctrl + Alt + muis links + slepen - Slepen om meerdere voorwerpen te selecteren

3D vensters

Ctrl + muis links - Sleep stempel links + rechts (gedacht vanuit 2D topview)
Ctrl + muis rechts - Sleep stempel vooruit + achteruit (gedacht vanuit 2D topview)
Ctrl + Alt + muis links - Verplaats rotatiepunt vooruit + achteruit (gedacht vanuit 2D topview)

Brush vervormen

Muisklik links op zijde stempel - Selecteer stempel
Muisklik op hoekpunt stempel - Selecteer hoekpunt
Alt + muis links + slepen - Verplaatsen hoekpunt

Plaatsen licht

Klik met rechts in 3D venster op plek waar je licht wilt. Kies Add Light Here uit popup-menu. Klik (in het 3D venster) met rechts op de zojuist geplaatste licht (een fakkel) en kies Light Properties uit het popup-menu. Open LightColor en stel het licht naar smaak in.

Meer licht

Een egale belichting in heel de ruimte, zonder aanwijsbare lichtbron bereik je door ZoneLight.
Open de Actor Class Browser (het pion-vormige icoon op de menubalk, tussen de verrekijker en de G). Open de map Actor door op de + te klikken. Open Info en selecteer ZoneInfo. Sluit de browser. Klik met rechts (in het 3D-venster) ergens op de vloer van de ruimte die je wilt verlichten en kies Add ZoneInfo Here uit het popup-menu. Klik (in het 3D venster) met rechts op de zojuist geplaatste ZoneInfo en kies ZoneInfo Properties uit het popup-menu. Open LightColor en stel het licht naar smaak in.

Speelbaar maken

Om je level speelbaar te maken zul je aan moeten geven waar de speler begint als je level start. Open de Actor Class Browser (het pion-vormige icoon op de menubalk, tussen de verrekijker en de G). Open de map Actor door op de + te klikken. Open NavigationPoint en selecteer PlayerStart. Sluit de browser. Klik met rechts (in het 3D-venster) op de vloer, op de plek waar je de speler wilt laten beginnen. Er verschijnt een kleine joystick in beeld. In de 2D-vensters heeft deze ook een pijl die aangeeft welke kant de speler uitkijkt bij de start. Je kunt deze kijkrichting veranderen door de PlayerStart te draaien (Ctrl + muis rechts).

LevelInfo

Kies View > Level Properties (of F6) en open LevelInfo. Vul achter Author je naam in, achter LevelEnter Text een korte introductietekst en achter Title een passende titel. Al deze info is te zien als je level start.

 

2.0

 

Water

Maak een bak waar het water in moet komen.
Open de texturegroep Liquids.utx (want ook water is gewoon een texture, hoewel een animated).
Klik met rechts op het Sheet-icoon in de linker werkbalk en maak de sheet zo groot dat je bak daarmee helemaal af te dekken is (en liefst nog iets groter, zodat je sheet iets uitsteekt). Dit is het wateroppervlak.
Kies AX_XAxis onder Axis (om de sheet horizontaal neer te leggen).
Klik op het Add Special Brush-icoon in de linker werkbalk, kies Water uit de lijst met Prefabs en klik op OK.
Open de Actor Class Browser (het pion-vormige icoon op de menubalk, tussen de verrekijker en de G). Open de map Actor door op de + te klikken en kies Info > ZoneInfo > WaterZone.
Plaats de WaterZone in het bad, onder het wateroppervlak.
Klik (in 3D) met rechts op de WaterZone en open de WaterZone Properties. Open ZoneLight en geef het licht een blauwe kleur. Stel de LightSaturation in op 0.
Je kunt het water laten kabbelen door (in 3D) met rechts op het wateroppervlak te klikken en Surface Properties te kiezen. Zet een vinkje bij Small Wavy.

Bewegend water

Selecteer het wateroppervlak en open de Properties. Vink U-Pan of V-Pan aan om water in het horizontale of verticale vlak te laten stromen. Mocht je water de verkeerde kant op stromen, verander dan met Alignement > Rotation de richting (Flip U of Flip V). Open vervolgens de Properties van de WaterZone en open ZoneInfo. Klik op vervolgens op de + voor ZoneVelocity. Door achter X, Y of Z een waarde in te vullen bepaal je in welke richting de speler meegezogen wordt (die waarde kan ook negatief zijn). Vanuit het 2D bovenaanzicht gezien is de X Axis horizontaal (positieve waarde naar rechts, negatieve waarde naar links). De Y Axis is vertikaal (positieve waarde naar beneden, negatieve waarde naar boven). De Z Axis is op (positief) en neer (negatief).

Waterig licht

Je kunt de ruimte boven het water een waterig licht geven.

Plaats licht (gewoon Add Light Here) boven het wateroppervlak.
Geef je licht (Light Properties > LightColor) dezelfde kleur en saturation als je aan de WaterZone gegeven hebt.
Open ook Lighting en selecteer LE_WateryShimmer uit de lijst achter LightEffect.

 

Ramen

Maak een raamopening en eventueel een kozijn.
Open de texturegroep GenIn.utx en selecteer alvast één van de glastextures.
Klik met rechts op het Sheet-icoon in de linker werkbalk en maak de sheet zo groot als nodig om de raamopening te vullen. Draai de sheet in de juiste stand (Axis).
Klik op het Add Special Brush-icoon in de linker werkbalk, kies Transparent Window uit de lijst met Prefabs en klik op OK.

Je raam is nu klaar, maar heeft de merkwaardige eigenschap dat iedereen er dwars doorheen kan lopen en dat is meestal niet de bedoeling.

Geef de stempel dezelfde maten als het glas, maar met een dikte van 8 (gebruik dus niet de sheet, maar de rechthoekige stempel) en plaats hem om de glasplaat (het glas moet er in verdwijnen).
Klik op het Add Special Brush-icoon in de linker werkbalk, kies Invisible Collision Hull uit de lijst met Prefabs en klik op OK.

 

3.0

 

Lensflare

Het is je vast wel eens opgevallen dat de verlichting in Unreal zo mooi is. Nu kun je in UnrealEd heel eenvoudig allerlei mooie lichteffecten maken, zo mooi als in Unreal is moeilijk voor elkaar te krijgen. Tenzij je de trucjes weet natuurlijk. Eén van de mooiste lichteffecten is het lenseffect. In Unreal kom je regelmatig lampen tegen die eruit zien alsof je tegen een felle spot inkijkt; lensflare. Je maakt het als volgt.

Stap 1: voorbereiding

Maak een kamer en verlicht hem naar eigen inzicht. Bepaal ook alvast waar je de lamp met lenseffect hebben wilt en hou daar met de overige verlichting rekening mee. Het lenseffect werkt het best bij lampen op opvallende plaatsen. Bovenop een toren of in een ondiepe nis. Iets dergelijks. Voor in dit voorbeeld is de plaats minder belangrijk.

Stap 2: een lamp

Plaats nu de lamp waar je het lenseffect op gaat aanbrengen in je kamer. (Klik met rechts ergens in één van de 2D-vensters of het 3D-venster en kies Add Light Here. Sleep de lamp op zijn plaats door Ctrl ingedrukt te houden terwijl je met muis de lamp versleept.)

Stap 3: het juiste behang

Het lenseffect bereik je door de lamp te behangen met een speciaal texture. Laad alvast het juiste texture-bestand. Klik op Load, onderaan de texture-browser en selecteer het bestand GenFX.utx. In de texture-browser verschijnen 5 verschillende lenzen. Kies een mooie uit en selecteer hem door er (één keer) op te klikken. Selecteer nu de lamp die je wilt behangen door er met rechts op te klikken. Kies Light Properties om een groot menu tevoorschijn te halen. Kies Display en klik vervolgens op Skin. Rechts van Skin verschijnt een leeg vakje en de keuzes Clear, Use en … Als het goed is, is de lenstexture nog steeds geselecteerd. In dat geval hoef je alleen op Use te drukken. De naam van de texture verschijnt in het lege vakje en de texture is op de lamp geplakt. Je lens is bijna klaar. Selecteer Lightning > bCorona. Verander False in True en klaar is Kees. Compile je level (F8) en start Unreal (Ctrl+P). Je zult zien dat je lens het doet, alleen iets te goed. De lamp is zo groot dat het wel lijkt een vuurtoren lijkt.

Stap 4: op maat brengen

Ga terug naar de editor en selecteer Light Properties > Display > DrawScale. Standaard is DrawScale ingesteld op 1.0. De lens is daarmee echter veel te groot. Kies een waarde tussen 0.25 en 0.5 (per situatie zul je proefondervindelijk de juiste waarde moeten vinden). Je lamp is nu echt klaar.

Vuur en vlam

In Unreal (Tournament) kom je regelmatig vuren tegen. Een mooi effect, zeker in de kasteelachtige omgevingen waar het in Unreal (Tournament) van wemelt.

Stap 1: voorbereiding

Maak een kamer met een player_start entity en breng wat licht aan (niet teveel). Maak ook een verhoging waar je later het vuur op kun plaatsen. Het vuur is namelijk niet zo realistisch dat het mooi is om het van dichtbij te bekijken. Als je het echter wat hoger plaatst, geeft het wel degelijk een mooi effect.

Stap 2: behangen

Laad het texture-bestand GreatFire.utx. Je ziet nu een aantal vuur-textures waar je uit kunt kiezen. Van hele natuurlijke tot spookachtige paarse vlammen. Selecteer de vlammen die je het mooiste vindt en selecteer vervolgens de Volumetric-builder (onder de trap-builder).

Stap 3: het vuur samenstellen

Als je de stempel in een sheet veranderd hebt, kun je via Properties de maten van de sheet opgeven. Kies een hoogte van 128 en een radius van 64. Sleep de sheet nu naar de verhoging waar je het vuur wilde hebben en plaats de sheet in het midden. Klik nu op Add Special Brush. Kies Masked Wall uit het drop-down menu en vink 2-Sided en Transparent aan. Klik nu op Add om de sheet aan je level toe te voegen.

Stap 4: texture rechttrekken

Waarschijnlijk zie je meerdere kleine vlammen op de sheets, in plaats van één grote. Klik dus (met rechts) op één van de sheets en selecteer de Surface properties. Onder de tab Scale kun je de vuur-texture vergroten (waarschijnlijk is vergroten met een factor 2 precies goed) of verkleinen om de vlam passend te maken. Maak zo ook de vlam op de tweede sheet passend. Je vuur is nu klaar.

Stap 5: afmaken

 

Rebuild je level en bekijk het in Unreal. Je kunt het effect van het vuur vergroten door extra lichten dicht in de buurt van het vuur te plaatsen. Je zult moeten experimenteren met de juiste waarden voor kleur en lichtsterkte.

 

4.0

 

Een drukknop

Een drukknop is een mover, net als een deur of een lift.

Het uitgangspunt voor nu is een standaardlift waar een drukknop naast komt te hangen die hem bedient. Geen fantasievolle toepassing, zonder drukknop werkt de lift immers ook prima. Er zijn echter heel wat interessante toepassingen te verzinnen als je bedenkt dat je drukknop en lift zover uit elkaar te plaatsen zijn als je maar wilt.

Plaats naast je lift, ter decoratie, een plaat tegen de wand waar de drukknop in komt. Maak nu een knop en voeg hem aan je level toe. Maak nu een bouwzaal en bouw de knop verder af op de wijze waarop je ook deuren en liften maakt. Je kunt naast beweging aan de knop ook geluiden toewijzen. Geschikte geluiden vind je in Activates.uax, bijvoorbeeld start15. Drukknop en lift zijn nu beide klaar, maar hebben nog niets met elkaar te maken. Selecteer daarom (in 2D) de drukknop en kies Mover Properties > Events. Je ziet hier twee vakjes; Event en Tag. Kies Event en vul een willekeurige (maar unieke) term in, bijvoorbeeld lift1. Selecteer nu de lift en kies Mover Properties > Events. Kies nu Tag en vul daar dezelfde term in. In het scherm verschijnt een rood lijntje tussen de lift en de knop om aan te geven dat de twee aan elkaar gekoppeld zijn. Je bent bijna klaar. Selecteer opnieuw de lift en kies Mover Properties > Object > InitialState. Daar is ingevuld BumpOpenTimed om aan te geven dat de actie (van de lift) plaats moet vinden als je er tegenaan loopt. Klik op BumpOpenTimed om een lijst met andere mogelijkheden tevoorschijn te halen. Kies hieruit TriggerOpenTimed om aan te geven dat je de lift met een trigger (de drukknop) in beweging wilt zetten. Rebuild en probeer het resultaat.

Variatie

Net als bij alle movers is er meer in te stellen. Open Properties > Mover. MoverTime is de snelheid waarmee de knop beweegt. Als je bTriggerOnceOnly op True zet, is de knop maar één keer te gebruiken (en blijft dus ingeschakeld). Met DelayTime kun je een vertraging instellen (tijd die verstrijkt tussen het indrukken van de knop en het bewegen van de lift).

Triggers

Vooraf: een trigger doet hetzelfde als een drukknop (iets in werking stellen), maar is onzichtbaar.

Uitgangspunt is een lamp die aangaat zodra je een ruimte binnenloopt.

Maak een level met twee kamers verbonden door een smalle gang. Plaats in kamer 1 een PlayerStart en verlicht hem als gebruikelijk. Hang in kamer 2 een TriggerLight op (open de Actor Class Browser en kies Actor > Light > TriggerLight) en geef de lamp op de gebruikelijke manier de lichtsterkte en kleur die je wilt. Plaats nu in de smalle gang een Trigger (open de Actor Class Browser en kies Actor > Triggers > Trigger). Selecteer nu (in 2D) de trigger en kies Trigger Properties > Events. Je ziet hier twee vakjes; Event en Tag. Kies Event en vul een willekeurige (maar unieke) term in, bijvoorbeeld lamp1. Selecteer nu de TriggerLight en kies TriggerLight Properties > Events. Kies nu Tag en vul daar dezelfde term in. In het scherm verschijnt een rood lijntje tussen de trigger en de lamp om aan te geven dat de twee aan elkaar gekoppeld zijn. Selecteer opnieuw de lamp en kies TriggerLight Properties > Object > InitialState. Kies voor TriggerToggle, wat betekent dat de lamp door de trigger aan en uitgezet kan worden (TriggerTurnsOff en TriggerTurnsOn spreken voor zich). Open ook TriggerLight Properties > TriggerLight en zet bInitiallyOn op False (zodat de lamp uit is als je de kamer binnenkomt. Andersom kan natuurlijk ook, als je bInitiallyOn op True zet, is de lamp aan en schakelt de trigger hem uit zodra je de kamer binnenkomt.

Variatie

Je kunt natuurlijk ook een (drukknop of een) trigger maken die verschillende zaken tegelijk aanstuurt. Een trigger die het licht in een ruimte aandoet, maar tegelijkertijd een deur aan het einde van die ruimte langzaam dicht laat gaan. Dat bereik je door zowel lamp als deur dezelfde Tag te geven.

Meer eigenschappen van triggers

Open Trigger Properties > Trigger. Hier zijn nog wat zaken in te stellen die de moeite van het bekijken waard zijn.
* bInitiallyActive bepaalt of de trigger aan of uitgeschakeld staat als je level opstart. (Bij een TriggerLight is de vergelijkbare optie bInitiallyOn te gebruiken die hetzelfde regelt.)
* bTriggerOnlyOnce bepaalt dat de trigger maar één maal getriggerd kan worden en de daaruit volgende actie dus ook maar één maal plaats zal vinden (licht dat aangaat, maar niet meer uitkan). (Bij movers ook in te stellen met het vergelijkbare Mover > bTriggerOnlyOnce.)
*
Achter Message kun je een boodschap invullen die in beeld verschijnt zodra de speler door de trigger loopt.
* ReTriggerDelay bepaalt na hoeveel seconden de trigger weer geactiveerd kan worden. Stel deze standaard in op ongeveer 2 seconden om te voorkomen dat lampen aan en uit blijven schakelen omdat een speler vlak bij je trigger stilstaat.
* Onder TriggerType is te kiezen hoe en door wie de trigger geactiveerd wordt. Kies je TT_PlayerProximity, dan kan alleen een menselijke speler de trigger activeren (bots gelden als menselijk). Kies je TT_PawnProximity, dan kunnen ook monsters uit het spel (helaas niet in Unreal Tournament aanwezig) de trigger activeren. Bij TT_AnyProximity kunnen beiden de trigger activeren. Kies je TT_Shoot, dan kan de trigger alleen door projectielen uit een wapen geactiveerd worden. Onder DamageTreshold is de hoeveelheid schade in te stellen die de trigger moet oplopen om geactiveerd te worden. Onder Collision > CollisionHeight en CollisionRadius is het gebied in te stellen waarbinnen de trigger gevoelig is.

Meer te triggeren eigenschappen van movers

Over movers die door triggers aangestuurd worden, valt nog wat meer te vertellen. Als je de Mover Properties opent, zie je onder Object > InitialState een aantal keuzemogelijkheden.
* StandOpenTimed is handig voor liften en bepaalt dat de mover pas actief wordt als de speler helemaal op de mover staat.
* BumpButton doet ongeveer hetzelfde als
* BumpOpenTimed is handig voor deuren, want de mover wordt geactiveerd zodra een speler er tegenaan loopt.
* TriggerPound regelt dat de mover razendsnel heen en weer beweegt tussen twee keys (posities; zie deuren en liften). Handig als er iets geplet moet worden.
* TriggerControl laat de mover van key (positie) wisselen en in positie blijven zolang de speler in het bereik van de trigger is.
* TriggerToggle zorgt dat de trigger werkt als aan en uit schakelaar.
* TriggerOpenTimed zorgt dat de mover voor bepaalde tijd openblijft. De tijd is in te stellen onder Mover > StayOpenTime.

Andere triggers

Nog een korte opsomming van andere triggers (allemaal te vinden in de Actor Class Browser > Actors > Triggers). Zonder verdere uitleg.
* Counter - Moet een in te stellen aantal maal getriggerd worden voor hij wat doet.
* MusicEvent - Bepaalt welke achtergrondmuziek te horen is.
* TriggeredDeath - Wie deze trigger activeert die...
* Dispatcher - De meest interessant. Je kunt een serie van maximaal 7 Events opgeven, met elk een DelayTime, zodat je een hele serie gebeurtenissen kunt laten plaatsvinden.

 

5.0

 

Maak je eigen textures

Je bent niet gebonden aan de textures die door anderen gemaakt zijn. Die zijn vaak best mooi, maar vaak niet erg origineel. Om je levels een persoonlijk tintje te geven, kun je gebruik maken van zelfgemaakte textures.

Stap 1: zoek een plaatje

De belangrijkste en moeilijkste stap is het vinden van een plaatje dat mooi genoeg is om te gebruiken. Op zich maakt het niet uit waar je de plaatjes vandaan haalt. Als je een goed grafisch programma hebt (Paint Shop Pro, Adobe PhotoShop o.i.d) en er mee overweg kunt, zijn de mogelijkheden haast onbeperkt. Je kunt textures maken voor allerlei doeleinden, zoals vloeren, deuren, muren, rotsen, plafonds, boekenkisten, tegels, uithangborden; verzin het maar. Je kunt als bron ook vanalles gebruiken; foto's of tekeningen in allerlei beeldformaten. Je kunt ze zelf maken voor deze gelegenheid of op zoek gaan naar een bestaande tekening of foto.

Stap 2: het plaatje bewerken

Laad je plaatje in je grafische programma. Maak het plaatje nu op maat voor gebruik in Unreal. Op zich kan Unreal goed overweg met textures van vreemde afmetingen, maar het spel loopt beslist sneller als je textures van bepaalde standaard afmetingen gebruikt. De meest gangbare afmeting voor een texture is 256 x 256 pixels. Een groote van 128 x 128 kan ook en zelfs 128 x 256 werkt prima. Kleinere afmetingen als 64 x 64 of 32 x 32 werken ook prima, maar leveren (uiteraard) een mindere beeldkwaliteit op. Als je hebt bepaald welke afmetingen je texture gaat krijgen, kun je hem op de gewenste maat uitsnijden. Nu komt een belangrijke stap; het omzetten van je plaatje in een pallet met 256 kleuren (en 8 bits!). Het geeft niet als het plaatje een eigen kleurenpallet gebruikt. In de 8 bits informatie wordt hier rekening mee gehouden. Dit betekent ook dat je plaatjes van geheel verschillende kleurstelling kunt gebruiken, wat het uiteindelijke resultaat in Unreal er alleen maar mooier op maakt. Als je meerdere eigen textures maakt, is het voor de speelsnelheid beter als je de plaatjes van hetzelfde pallet gebruik laat maken. Als je het plaatje in 256 kleuren, 8 bits hebt omgezet kun je het opslaan. Unreal kan overweg met twee beeldformaten; pcx (ZSoft Paintbrush v.5) en bmp (Windows bitmap). De meeste grafische programma's kunnen je plaatje in één van deze bestandsformaten opslaan. Het maakt niet uit welk formaat je gebruikt (ik heb zelf goede ervaringen met bmp). Sla je plaatje op in de directory met textures van Unreal (X:\Unreal\textures).

Stap 3: je plaatje in UnrealEd laden

Start UnrealEd en zorg dat de texturebrowser geopend is. Kies File > Import. Zoek de map Textures in je UT-directory. Selecteer je plaatje en klik op Openen. Het menu Import Texture verschijnt. Klik op OK om je plaatje te importeren. Je plaatje is nu als texture aan Unreal toegevoegd en het verschijnt in de texture browser.

 Stap 4: Je eigen textures bundelen

Handiger is echter om een eigen texturebestand met verschillende (thematisch gerangschikte) eigen textures te maken. In UnrealEd 2.0 gaat dat wel, maar wat onhandig. Open de texturebrowser en kies File > New... Het menu New Texture verschijnt. Vul achter Package een naam voor je texture-verzameling in. Iets waaruit blijkt wat voor thema je verzameling heeft is handig, dus kies iets als MyWood. Vul achter Group je thema in (Wood bijvoorbeeld). Nu het meest onlogische; vul achter Name een naam in van het textures dat we nu gaan maken. Maar je had toch al textures gemaakt? Inderdaad, vul dus (tijdelijk) een onzinterm in. Kies tenslotte Textures uit de lijst achter Class en klik op OK. Het scherm Texture Properties verschijnt. Klik het weg middels het kruisje rechtsboven. Je hebt nu een nieuwe texture-verzameling met slechts één ongewenst en egaal blauw texture. Importeer nu je eigengemaakte textures. Kies File > Import en zoek de map met textures. Selecteer al je eigen textures en kies Openen. Het menu Import Texture verschijnt. Klik op OK All. Wis vervolgens het blauwe texture (rechtsklik op het texture en kies Delete). Kies tot slot File > Save om je texture-verzameling op te slaan (in de map met andere UT-texture-verzamelingen).

Stap 4: levels spelen met eigen textures

Als je een level maakt en opslaat, wordt ook opgeslagen welke textures uit welk utx-bestand in het level gebruikt zijn. Als je vervolgens Unreal start en het level probeert te laden, gaat Unreal op zoek naar de juiste utx-bestanden. Je zelfgemaakte utx-bestand moet dus met de overige utx-bestanden in de map textures van Unreal staan wil je het level kunnen spelen. Als je je level dus aan iemand anders wilt geven, moet je er dus ook je zelfgemaakte utx-bestand bijgeven. Degene die het wil spelen moet dan het level zelf naar de directory maps kopiëren en het texturebestand naar de directory textures.

 

6.0

 

Een simpele sterrenhemel

Maak een kamer, plaats een PlayerStart en verlicht hem naar eigen inzicht (maar niet te fel). Open nu texturepack GenFluid.utx en selecteer alvast één van de skytextures. Maak vervolgens een rechthoekige ruimte die je volledig los van de kamer in de klei uithakt. Zorg dat de skytexture op alle wanden van de skybox aangebracht is. Houdt alle wanden van je skybox geselecteerd, open de Properties van het texture en vink Unlit aan.

Rebuild nog niet, maar open de Actor Class Browser en selecteer Actor > Info > ZoneInfo > SkyZoneInfo. Klik nu (in 3D) met rechts ergens in je skybox en plaats de SkyZoneInfo. Versleep de SkyZoneInfo tot hij middenin je skybox hangt.

Klik met rechts op de SkyZoneInfo en open de Properties. Kies ZoneLight en stel AmbientBrightness in op 100. Hiermee stel je de hoeveelheid licht in die je hemel afgeeft.

Ga naar je oorspronkelijke kamer en selecteer het plafond. Open de Surface Properties en vink Fake Backdrop aan.

Rebuild nu pas je level en probeer het uit.

Meer theorie

De SkyZoneInfo fungeert als camera. Het beeld van deze camera wordt geprojecteerd op de delen van je level die je als Fake Backdrop aangemerkt hebt. De plaats van de SkyZoneInfo in je skybox is daarbij belangrijk, net als wat er verder in je skybox te beleven valt.

De hemel versieren

Maan

Je kunt de hemel aankleden door een maan op te hangen. Dat doe je door een Sheet van het juiste texture te voorzien en in je skybox op te hangen.

Open ShaneChurch.utx en selecteer het SMoon texture. Klik met rechts op de Sheet, geef hem de maten 256 x 256 en hang de stempel in de buurt van de SkyZoneInfo in je skybox. Klik op Add Special Brush, kies Masked Decoration uit de lijst met Prefabs en vink 2-Sided en Non-Solid aan. Klik nu met rechts (in 3D) op het maan-texture, open de Properties en vink Unlit aan.

De plaats van de sheet ten opzichte van de SkyZoneInfo bepaalt hoe de maan precies te zien zal zijn (dichtbij, veraf, hoog of laag aan de hemel).

Sterren

Op vergelijkbare wijze kun je ook heldere sterren simuleren door gebruik te maken van lensflare.

Open het texturepack GenFX.utx en kies één van de lensflare-textures. Klik met rechts op de Sheet, geef hem de maten 256 x 256 en hang de stempel in de buurt van de SkyZoneInfo in je skybox. Klik op Add Special Brush, kies Regular Brush en vink Transparent, 2-Sided en Non-Solid aan. Klik nu met rechts (in 3D) op het lensflare-texture, open de Properties en vink Unlit aan. Misschien moet je het texture vergroten om op de sheet te passen.

Zwevende rommel

Het kan nog mooier; je kunt rotsblokken aan de hemel laten zweven. Open de Actor Class Browser en selecteer Actor > Decoration > ut_Decoration > Boulder1 (of Boulder2). Klik nu (in 3D) met rechts ergens in je skybox en plaats de Boulder. Versleep de hem tot ergens in de buurt van de SkyZoneInfo.

Klik met rechts op het rotsblik en open de Properties. Open Display en voer achter AmbientGlow een waarde in (iets tussen 50 en 100 werkt goed) en verhoog de ScaleGlow tot 3. Hiermee breng je het rotsblok wat helderder in beeld. Je brengt hem groter in beeld door de DrawScale te verhogen tot een waarde tot 0,5 (experimenteer met alle waardes).

Je rotsblok kan echter ook nog draaien. Open (nog steeds van de Properties van het rotsblok) Movement zet bFixedRotationDir op True en Physics op PHYS_Rotating. Open nu RotationRate en voer een waarde in voor Pitch, Yaw en Roll. Deze bepalen de draaisnelheid en richting van het rotsblok (experimenteren geboden, maar start met waarden in de honderdtallen).

Open nu (nog steeds van de Properties van het rotsblok) Advanced en zorg dat alles op False staat, behalve bStatis en bMovable. Let op; zorg vooral dat bStatic (let op verschil met bStatis) op False staat.

De hemel draait

Je kunt zelfs heel het firmament laten draaien. Geeft een mooi effeect, maar kan spelers ook duizelig maken, dus hou de draaisnelheid laag.

Open de Properties van de SkyZoneInfo en open Advanced. Alle waarden moeten op False staan, behalve bAlwaysRelevant, bHidden, bMovable en bNoDelete. Let op; zorg vooral dat bStatic (let op verschil met bStatis) op False staat.

Open (nog steeds van de Properties van het rotsblok) Movement zet bFixedRotationDir op True en Physics op PHYS_Rotating. Open nu RotationRate en voer een waarde in voor Pitch, Yaw en Roll. Deze bepalen de draaisnelheid en richting van de hemel (experimenteren geboden, maar start met waarden in de honderdtallen).

 

7.0

 

Theorie

Een deur of een lift, want die maak je op vrijwel dezelfde manier, dien je zwevend in een lege ruimte te maken en daarna te verplaatsen naar je werkelijke level.

Een deur

Geef je stempel dus eerst flink ruime afmetingen, bijvoorbeeld H 800, W 800, B 800, sleep hem ergens waar hij de rest van je level niet raakt en hak hem uit. Het behang van deze bouwzaal is niet belangrijk, na afloop kun je de hele zaal verwijderen. Maak nu echter eerst een proefdeur. Ga naar je level en geef de stempel de maten die de deur straks moet krijgen. Kies nu behang voor je deur en druk op Add. Onthoud goed hoe je de deur wilt hebben. Selecteer (in een 2D venster) nu de deur door er met links op te klikken. Klik vervolgens met rechts en kies uit het menu Polygons > To brush.

De stempel heeft nu de maten van je deur aangenomen. Versleep de stempel nu naar ergens midden in je bouwzaal. Vergis je niet in de kleuren; de stempel is rood, de deur is blauw. De deur, die je net zo mooi behangen hebt, kun je nu deleten. Klik nu op Add. Een nieuwe deur, met dezelfde maten als de eerste komt zwevend in je bouwzaal te hangen. Behang je deur opnieuw. Doe het netjes, want deze keer is het definitief. Selecteer nu (in 2D) je bouwzaal en kies opnieuw Polygons > To brush. Klik nu op de knop Intersect (onder Add). Weer heeft de stempel de maten van je deur aangenomen. Je kunt hem nu gaan gebruiken om de definitieve deur aan je level toe te voegen. Sleep de (rode) stempel naar het halletje en druk op Add mover Brush (naast Add Special Brush). Sleep (in 2D) de rode stempel even opzij, zodat je de lila deur kunt zien. Je deur is nu klaar. Hij beweegt echter nog niet.

Let op; zodra je rebuild blijft er van je deur niets meer over dan een paar lila lijntjes. In het spel is je deur uiteraard wel te zien.

Zet hem in beweging

Selecteer (in 2D) de deur door er met rechts op te klikken en kies Movers > Key 1. Sleep de deur nu naar de plek waar je hem wilt hebben als de deur geopend is. Klik nu naast de deur om de selectie ongedaan te maken. Selecteer de deur daarna direct opnieuw. Kies nu Movers > Key 0. Als het goed is, springt je deur automatisch terug naar de plek waar hij stond. Zoniet sleep hem dan naar de plek waar hij moet staan als hij dicht is. Je deur is nu klaar.

Eigenschappen

Er is meer in te stellen. Open Properties > Mover. MoverTime is de snelheid waarmee de deur beweegt. Als je bTriggerOnceOnly op True zet, gaat de deur open en blijft open.

Meer beweging; een lift

Een deur, een lift, een trein, een lopende band; het maakt eigenlijk niet uit. Je maakt ze allemaal op dezelfde manier. Waarom dan toch een lift? Om uit te leggen hoe je er geluid aan toevoegt en om uit te leggen hoe je een drukknop kunt maken om hem te bedienen.

Delete de resten van de deur; de bouwzaal en de proefversie die daar nog in rond zweeft. Maak nu ter voorbereiding in je level ergens een een verhoging waar de lift straks aan kan komen. Maak nu naast de verhoging een lift. Een proefexemplaar, net als de (proef)deur. Zoek behang uit en Add de lift aan je level. Maak nu een nieuwe bouwzaal (inderdaad; je zult voor elk bewegend onderdeel een nieuwe bouwzaal moeten maken) van ruime afmetingen. Je kunt je lift nu afmaken op dezelfde manier als de deur. Kies voor Key 1 de hoogste plek die je lift moet bereiken en plaats Key 0 recht daaronder op de vloer van de ruimtel. De lift is daarmee klaar, hoewel het handig is nog een laatste instelling te wijzigen. Open de Mover Properties en kies Object > InitialState. Verander deze in StandOpenTimed. Standaard is de waarde BumpOpenTimed ingevuld, wat betekent dat de mover gaat bewegen zodra je er tegenaan loopt. Handig voor een deur, maar voor een lift kan dat te vroeg zijn, omdat je speler misschien nog niet helemaal op de lift staat. StandOpenTimed regelt dat je lift pas gaat bewegen als de speler er helemaal op staat.

Groter en meer beweging

Met een deur en een lift zijn de mogelijkheden van de mover nog lang niet uitgeput. Je kunt hele trajecten maken die je deur, lift of voertuig af moet leggen. Als je Movers selecteert, zie je dat je meer Keys kunt toewijzen dan Key 1 en Key 0. De werking is heel simpel. Het voorwerp dat in beweging komt begint bij Key 0, gaat via Key 1 het hele rijtje af en gaat in omgekeerde volgorde weer terug. De enige toevoeging die je nog moet doen, is aangeven hoeveel Keys je toegewezen hebt. Selecteer de mover en kies Mover Properties > Mover > NumKeys. Stel daar het aantal Keys in dat je gebruikt hebt (inclusief Key 0).

Verder is het ook mogelijk om meer complexe constructies te laten bewegen dan alleen een vlakke plaat. Het wordt dan echter handig om je constructie pas in de bouwzaal samen te stellen. De werkwijze is dan als volgt. Neem je stempel en kijk door passen en meten hoe groot je constructie mag zijn (hoogte, lengte, breedte). Maak nu een bouwzaal die groot genoeg om je constructie in te laten zweven. Bouw nu in de bouwzaal de constructie die je in gedachten had. Maak ook de afwerking van de textures in orde. Selecteer (in 2D) nu de bouwzaal en kies Polygons > To brush. Klik daarna op Intersect. Het gehele bouwwerk is nu in je stempel gevangen. Versleep de stempel naar de plek waar je de constructie wilt hebben en klik op Add mover. Vergeet na dit soort bewerkingen niet om de stempel te resetten.

Eindelijk geluid

Selecteer (in 2D) de lift en kies Mover Properties. Er verschijnt nu een groot menu waarin van alles in te stellen is. Voorlopig houden we het bij MoverSounds. Je kunt aan je lift vijf verschillende geluiden toekennen. Een apart geluid voor start omhoog, aankomen boven, start omlaag, aankomen beneden en onderweg. Kies eerst ClosedSound (aankomst beneden). Zodra je hierop klikt verschijnen er drie vakjes achteraan de regel; Clear, Use en … Kies … In de browser rechts verschijnt nu een lijst met SoundFX, oftewel geluidseffcten. Klik op Load en laad het bestand Doorsmod.uax. Hierin vind je alle geluidseffecten voor deuren en liften. Selecteer (bijvoorbeeld) mlift7end. Klik nu op Use en het geluid is toegekend. Wijs zo ook de overige vier geluiden toe. Je kunt op deze manier ook de deur laten piepen of kraken. Rebuild het geheel en zet je volumeknop maar open!

Een draaiende deur

Maak een deur zoals je gewend bent. Als de mover geplaatst is, selecteer je deze (in 2D). Vervolgens selecteer je het hoekpunt waar de deur om moet gaan draaien door er op te klikken. Klik nu met rechts (in 2D) op de mover en kies Mover > Key 1. Draai de deur nu om het geselecteerde hoekpunt tot hij open staat (draaien is Ctrl + rechtermuisknop). Klik nu naast de mover en selecteer hem opnieuw. Klik er met links op (in 2D) en kies Mover > Key 0 (Base). Als het goed is springt je deur nu terug naar zijn uitgangspositie (en dus dicht). Je draaideur is klaar. Andere instellingen werken net als bij een normale deur. Draaideuren liefst met een trigger of drukknop openen en niet door er tegenaan te laten lopen. Dit omdat de speler die de deur nadert vanaf de kant waar de deur naartoe draait anders de deur in zijn gezicht krijgt.

Denk aan het licht

Als je niets aan het licht doet, gebeurt er iets vreemds. De lift of deur wordt verlicht in de startpositie, maar eenmaal in het spel past de belichting zich niet aan als de deur of licht beweegt. Vooral bij liften (die beneden beginnen) ziet dat er erg onnatuurlijk uit, want er blijft een zwarte plek over als de lift omhoog is gegaan. Dit is simpel te verhelpen. Open de Mover Properties en zet bDynamicLightMover op True.

Schade

Tussen de deur komen of, nog erger, onder een lift komen, doet zeer. Ook in Unreal en Unreal Tournament kan dat ingesteld worden (standaard is dat niet zo). Open de Mover Properties en stel achter Mover > EncroachDamage de schade in die de deur of lift toe moet brengen (werkt met dezelfde waardes als gezondheid in het spel, dus met een waarde van 100 is de speler in één keer dood). Dit is natuurlijk ook goed te gebruiken voor valdeuren of andere levensgevaarlijke bewegende valstrikken.

 

 

 

8.0

 

Teleporters

Teleporters zijn er in twee smaken; zichtbaar en onzichtbaar. De zichtbare zijn zichtbaar omdat er een verlicht kringeltje op de plek van de teleporter zweeft. De onzichtbare geeft je de mogelijkheid zelf het uiterlijk van je teleporter te kiezen. Het uiterlijk is daarbij volledig overbodig, maar lijkt, als je een beetje je best doet, net echt. Zo kun je wel teleporters maken die er uitzien zoals jij dat wil.

Vooraf

Teleporters bestaan altijd uit minimaal twee delen; een vetrek- en een aankomstpunt. Je kunt een simpele teleporter maken die van A naar B gaat en niet terug. Je kunt hem ook zo maken dat je vanaf het aankomstpunt weer terug naar het vertrekpunt kan. Je kunt hem ook zo maken dat je vanaf het aankomstpunt naar een ander aankomstpunt gaat. Elke teleporter heeft een duidelijk aanlooprichting, de richting waaruit de spelers op de teleporter aangelopen komen. Hou daar met het ontwerp van je level rekening mee. Hij werkt overigens wel als je vanuit een andere richting komt.

Zichtbare teleporter

Eerst een simpele, zichtbare teleporter die van A naar B gaat en terug. Maak een level en bedenk waar je de twee teleporters hebben wilt. Maak eventueel een kleine verhoging om aan te geven waar de speler moet gaan staan om geteleporteerd te worden. Open nu de Actor Class Browser en selecteer Actor > NavigationPoint > Teleporter > Visible Teleporter. Plaats er twee in je level, één op het vertrekpunt en één op het aankomstpunt. Open de Teleporter Properties van de vertrek-teleporter en selecteer Events > Tag. Voer hier een naam in (tele1 o.i.d., het maakt niet uit wat als het maar niet elders in je level als tag gebruikt is). Selecteer nu Teleporter > URL en voer hier de naam van de bestemming in (tele2 o.i.d.). Open nu de eigenschappen van de aankomst-teleporter en open de Teleporter Properties. Voer (als je dit voorbeeld aanhoudt) tele2 in als Tag, en tele1 als URL. Als je hier geen URL invult, werkt de teleporter alleen heen en niet terug. Als je hier de tag van een derde teleporter invult gaat de teleporter niet terug naar de plaats van herkomst, maar naar de derde teleporter.

Tot slot; selecteer in het 2D topview-venster de vertrek-teleporter. Je zult zien dat het teleporter-icoon een extra rode pijl krijgt. Draai deze pijl (Ctrl + rechter muisknop) zo dat hij met de aanlooprichting van de speler meewijst. Doe hetzelfde bij de aankomst-teleporter.

Je kunt de "gevoeligheid" van je teleporter instellen (de straal waarbinnen de teleporter werkt, ofwel de afstand die je moet hebben tot het exacte punt waar de teleporter zich bevindt om geteleporteerd te worden). Open de Teleporter Properties en selecteer Collision > CollisionRadius. De standaardwaarde van 18 voldoet prima, maar is een vrij kleine cirkel. CillisionHeigt is niet zo belangrijk, want teleporters zijn meestal niet om in te springen.

Onzichtbare teleporter

Werkt precies hetzelfde als de onzichtbare. Je plaatst hem door de Actor Class Browser te openen en Actor > NavigationPoint > Teleporter te kiezen. Instellingen en eigenschappen zijn hetzelfde.

Je kunt je onzichtbare teleporter eventueel verfraaien met een nepbehuizing.

Portal

Portals zijn uitermate cool, maar lastig te maken. Tenminste; het maken is niet zo moeilijk, alleen UnrealEd heeft wat moeite om het uit te voeren (denk aan problemen met Vertex-editing). Portals zijn speciale teleporters die, als een spiegel, laten zien waar je naartoe gaat. Voor je de portal instapt, zie je dus de livebeelden van je bestemming, inclusief alle actie die daar plaatsvindt. Mooi effect, vooral als vertrek- en aankomstplaats veel van elkaar verschillen.

Uitvoering

Maak twee volledig van elkaar gescheiden kamers (die strikte scheiding is overigens geen voorwaarde, de portals kunnen zich desnoods in dezelfde kamer bevinden) en geef elke kamer een afwijkend uiterlijk, zodat het verschil goed te zien is. Hak nu in de wand van elke kamer een klein hokje uit, net groot genoeg voor een speler om makkelijk in te passen (bijvoorbeeld H 128 x B 96 x W 96, hoewel ook hier geldt dat de maat er niet toe doet, als beide hokken maar exact even groot zijn). Selecteer nu de Sheet Brush en geef hem dusdanige maten dat hij het hok in de wand precies afsluit. Plaats het sheet een beetje naar binnen.

Kies nu Add Special Brush en kies Zone Portal uit de lijst Prefabs. Verander niets aan de instelling en klik op OK. Versleep de stempel naar het aankomsthok en plaats de sheet op dezelfde plek, dus even diep het hok in. Voeg ook hier een Zone Portal toe.

Open nu de Actor Class Browser en selecteer Actor > Info > ZoneInfo > WarpZoneInfo. Plaats er één in elk hok, achter het Zone Portal sheet. Open nu de WarpZoneInfo Properties van het vertrekpunt en open WarpZoneInfo. Je hoeft alleen OtherSideURL en ThisTag in te vullen. Vul bij OtherSideURL iets in als warp2 (als de naam maar niet elders je level als tag gebruikt is) en bij ThisTag iets als warp1 (ook deze tag mag nergens anders in je level gebruikt zijn). Sluit de properties van het vertrekpunt en open die van het aankomstpunt. Draai daar de rollen om, dus vul warp1 in als OtherSideURL en warp2 als ThisTag. Klaar.

Ook hier geldt dat een portal eenrichtingsverkeer kan zijn (laat de OtherSideURL van portal 2 leeg), net als het aankomstpunt van portal 2 niet het vertrekpunt van portal 1 hoeft te zijn (vul bij OtherSideURL e tag van een derde portal in).

Problemen

Vroeg of laat zul je een portal maken die geheel volgens het boekje is (hok even groot, sheet even groot en geheel afsluitend en op dezelfde plek in het hok geplaatst, in beide hokken (achter de sheet) een WarpZoneInfo) die toch niet werkt. Waarschijnlijk zie je het zogenaamde Hall Of Mirrors-effect. Daar is en simpele en radicale remedie op; wissen en overnieuw bouwen. Wis de WarpZoneInfo, de sheet, het hok en zelfs de ruimte waar je het hok in had uitgehakt. Wis ook het aankomstdeel en begin opnieuw nadat je de stempel goed gereset hebt.

Jumppads

Bekend uit spellen als Half-Life en Quake III Arena, maar ook uit Unreal Tournament. Erg leuk effect, vooral voor multiplay-levels. In UT heten ze kickers. Een kicker kan zowel omhoog als in de verte lanceren en zelfs een combinatie van die twee. Een kicker heeft alleen een vertrekpunt. Waar je neerkomt wordt bepaald door de afstand die je weggeworpen wordt (uiteraard in te stellen).

Uitvoering

Maak een level met daarin een vertrekpunt en een aankomstpunt (die moeten uiteraard in elkaar blikveld liggen). Open de Actor Class Browser en selecteer Actors > Triggers > Kicker. Plaats de kicker op je vertrekpunt, open de Kicker Properties > Kicker. Zet bKillVelocity op True (dit regelt dat je aanvangssnelheid niet of nauwelijks meetelt, wat prettig is als je niet recht op de kicker af komt lopen). Onder KickedClasses kun je eventueel aangeven wie van de kicker gebruik kan maken, spelers en/of bots. Pawns laat iedere speler, mens of bot, springen en voldoet prima.

Belangrijker is de KickVelocity. Open deze om X, Y en Z en te kunnen stellen. Deze waarden bepalen waar de speler naartoe gegooid wordt. Gezien vanuit 2D Topview is dit;

* X - positieve waarde naar rechts, negatief naar links
* Y - positieve waarde naar voren, negatief naar achteren
* Z - positieve waarde naar boven, negatief naar beneden (kan!)

Waardes lopen snel in de honderdtallen. Begin bij 750 en experimenteer. Je kunt bij alledrie tegelijk een waarde invullen en zo heel nauwkeurig bepalen in welke richting iemand weggeworpen wordt.

Je kunt de "gevoeligheid" van je kicker instellen (de straal waarbinnen de kicker werkt, ofwel de afstand die je moet hebben tot het exacte punt waar de kicker zich bevindt om weggeworpen te worden). Open de Kicker Properties en selecteer Collision > CollisionRadius. De standaardwaarde van 40 voldoet prima. CillisionHeigt is belangrijker, vorral bij kickers waar je bovenop kan springen. Het bepaalt hoe hoog van de grond het kick-effect intreedt en de standaardwaarde is in dat geval wat groot. Verklein je de waarde, dan zul je de Yaw iets moeten vergroten. Je springt immers van een lager vertrekpunt.

 

9.0

 

Uitvoering

Maak een kamer waar het draaiplateau in moet komen. Maak het draaiplateau als elke mover, maar klik tijdens het uiteindelijke plaatsen van de mover met rechts op Add Mover Brush en kies RotatingMover uit de lijst. Open de RotatingMover Properties en kies RotatingMover > RotatingRate. Je kunt hier een waarde voor Pitch, Roll of Yaw invullen en daarmee de draairichting en snelheid van je plateau aangeven.

* Pitch is draaien om de X-as (in het 2D Front venster draait de mover om z'n as)
* Roll is draaien om de Y-as (in het 2D Side venster draait de mover om z'n as)
* Yaw is draaien om de Z-as (in het 2D Top venster draait de mover om z'n as)

De waarde die je voor de snelheid op moet geven zijn groot. Waardes van 2000 tot 5000 zijn gebruikelijk.

Kies nu Object en zet InitialState op None. Open ook Mover en zet Numkeys op 0 zodat de engine weet dat de mover niet van plek wisselt.

Variatie

Door de RotatingMover om z'n X-as of Y-as te laten draaien kun je tandwielachtige constructies maken. Je kunt er daarbij ook voor zorgen dat de speler die de tandwielen raakt gezondheid verliest. Om dat te bereiken open je de RotatingMover Properties en stel je onder Mover het MoverEncroachType in op ME_CrushWhenEncroach. De hoeveelheid schade is in te stellen onder EncroachDamage.

 

Als je nog meer informatie wil over het editoren kan je naar de pagina links gaan of je kan me even een mailtje sturen.