|
|
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.0Navigatie2D vensters
3D vensters
2D vensters
3D vensters
Brush vervormen
Plaatsen lichtKlik 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 lichtEen egale belichting in heel de ruimte, zonder aanwijsbare lichtbron bereik je door
ZoneLight. Speelbaar makenOm 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). LevelInfoKies 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
Bewegend waterSelecteer 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 lichtJe kunt de ruimte boven het water een waterig licht geven.
Ramen
Je raam is nu klaar, maar heeft de merkwaardige eigenschap dat iedereen er dwars doorheen kan lopen en dat is meestal niet de bedoeling.
3.0
LensflareHet 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: voorbereidingMaak 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 lampPlaats 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 behangHet 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 brengenGa 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 vlamIn Unreal (Tournament) kom je regelmatig vuren tegen. Een mooi effect, zeker in de kasteelachtige omgevingen waar het in Unreal (Tournament) van wemelt. Stap 1: voorbereidingMaak 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: behangenLaad 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 samenstellenAls 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 rechttrekkenWaarschijnlijk 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 drukknopEen 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. VariatieNet 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). TriggersVooraf: 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. VariatieJe 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 triggersOpen Trigger Properties > Trigger. Hier zijn nog wat zaken in te stellen die
de moeite van het bekijken waard zijn. Meer te triggeren eigenschappen van moversOver 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. Andere triggersNog een korte opsomming van andere triggers (allemaal te vinden in de Actor Class
Browser > Actors > Triggers). Zonder verdere uitleg.
5.0
Maak je eigen texturesJe 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 plaatjeDe 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 bewerkenLaad 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 ladenStart 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 bundelenHandiger 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 texturesAls 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 sterrenhemelMaak 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 theorieDe 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 versierenMaanJe 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). SterrenOp 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 rommelHet 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 draaitJe 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
TheorieEen 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 deurGeef 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 bewegingSelecteer (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. EigenschappenEr 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 liftEen 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 bewegingMet 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 geluidSelecteer (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 deurMaak 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 lichtAls 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. SchadeTussen 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
TeleportersTeleporters 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. VoorafTeleporters 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 teleporterEerst 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 teleporterWerkt 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. PortalPortals 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. UitvoeringMaak 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). ProblemenVroeg 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. JumppadsBekend 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). UitvoeringMaak 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 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
UitvoeringMaak 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) 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. VariatieDoor 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. |