In UnrealEd the default viewport layout has 4 views... \ntop, front, side and Dynamic light\n\nIf your UnrealEd has chosen to show you something else (mine sometimes chooses to hide them all), goto the main menu bar select view -> viewports -> configure and youll be able to choose you view. From the viewports menu you can also make the viewports floating or add a new one.\n\nAn important thing to know about the viewports is that they do not default to showing a real-time preview. In other words if you make a change in one, I wont instantly show in the others, you need to click on the other viewports to see the change. You can fix this by clicking the joystick on each viewport but I dont recommend it (UnrealEd will get very slow in general).
UnrealEd is short for Unreal Editor. It comes with the game Unreal Tournament and is a 3D modelling/editing type package. \n\nIn this guide perhaps you should bear in mind that Im always referring to the UnrealEd that comes with [[UT2004|http://www.unrealtournament.com/]] .
There are some basic objects you can create in UnrealEd. \n[img[shapes.gif]]\n\nA square, cylinder, plane, sphere, stairs etc. (they are the green shapes to the left of the viewports).\nIf you left click them the shapes will show in the wireframe viewports in red. These are brushes. (note: they are not objects yet as they havent been subtracted)\nIf you right click them (the green shapes) you will get their options which you can change as you see fit. Most of the options are pretty self explanitory if theyre not... dont use them.\n\nIn order to make these brushes solid in the world/level you have to click the add or subtract button. \n[img[add.gif]]
[img[3d.gif]]\n\nThe default view is dynamic light, the one highlighted in green. The other important one (at this point) is textured (two to the left). \n\nClick around and see what happens to the view of the map.
Obviously you dont want to create everything on top of everything else.\n\nFirstly dont attempt to use the 3D viewport to move stuff, use one of the other viewports. (it just makes life easier)\n\nTo move a brush or object you have to highlight the object (click on it) then press and hold the control button while you left mouse drag the object. This will move it around on that viewports plane.\n\nBut I want to rotate it you cry! ctrl right mouse drag. (only dragging to the left or right will have an effect).\n
At the moment we are just going to add a nice simple run of the mill light.\n\nIn the 3D viewport right click the floor and select "add light here". (put your viewport on dynamic light view and you should see the change the light has made, if not [[Build]]).\n\nIf for some reason you dont have the "add light here" option (perhaps your using an old UnrealEd) then its a little more complicated.\nWithout getting into too much detail, you need to open the "actor class browser".\n\n[img[actor.gif]]\n\n[img[light.gif]]\n\nand highlight light. Then you can right click on the ground in the 3D viewport and select "add light here" from the menu.\n\n
Navigating around the viewports is all about mouse control.\n\nThe following applies to the three wireframe viewports (top, front and side).\nLeft mouse (button) and drag on the viewport and you will move the view around on that viewports plane. (right mouse drag does the same but faster)\nLeft mouse and right mouse together and dragging up and down zooms in and out.\n\nFor the 3D viewport (dynamic light).\nRight mouse drag keeps you in the same position but allows you to look in any direction.\nLeft mouse drag keeps you on the same horizontal plane but allows you to go forwards, backwards and anywhere on that plane.\nRight mouse and Left mouse together and dragging keeps you on the same vertical plane but allows you to go up, down and anywhere on that plane.\n\nSo combine them all together and you can go anywhere!\nI suggest you open a nice big map and have a go just moving around, it takes a while to get used to... but soon youll be attempting these moves everywhere. (stupid photoshop not understanding UnrealEd moves).\n
right click the ground in the 3D viewport where you want your player start to go and select "Add Player Start here". The arrow indicates what way the player will be facing when spawned, you can alter this by rotating the object ([[Moving and Rotating Objects]]).\n\nIf "add player start" isnt an option open the actor class browser.\n\n[img[actor.gif]]\n\ngoto Navigationpoint -> Smallnavigationpoint -> Playerstart \n\n[img[start.gif]]\n\nwith Playerstart highlighted right click the ground in the 3D viewport where you want your player start to go and select "Add Player Start here".
Building makes stuff work, thats all I know.\n\nIf your 3D viewport is misbehaving and isnt showing you what you know is there, you must build.\nIf you want to actually play your level, you must build.\nIf you want to see your pretty lights properly, you must build.\netc...etc...\n\n[img[build.gif]]\n\ngenerally click the one that says "build all" that has the picture of the cube and the light combined.\n\nits gone all dark!!!!! / my level disappeared!!!!! / OMG!!! / save me.\nfear not friend, you have neglected to add lights to the level. There are a few ways to fix the situation, but at this stage...\n\nchange the viewport to show textured only ([[Altering the 3D view]])\n
Making basic stuff is all about adding and subtracting.\n\nMost 3D packages use additive modelling... you start with nothing then build up your model by adding bits on.\nUnrealEd uses subtractive modelling... you start with a great big solid (imaging loads of earth) and then take things away from it (imaging little tunnels in the earth).\n\nObviously if you wanted you could subtract a great big square and then add everything inside, but lets try to save that for Onslaught levels shall we?\n\nJust so as you know the player height is about 100 units tall, and 65 when crouching.
Lighting is endlessly important.\n\nIn this bit we'll change the colour and strength of the lighting.\n\nRight click your light to open up the Light Properties. Then open up the Light Color tab, here you can alter the Light Brightness by typing in a number and the lights colour by changing the hue (after clicking on Hue select color). you can then change the saturation of that colour with the saturaition option... mess about and youll get the idea.\n\n[img[lightprop.gif]]\n\nIf your room is small you'll find you light is far too bright, this is probably because the light radius is too large. You can turn on Radii view on the wireframe viewports by right clicking the grey bar, actors -> Radii view.\n\n[img[radii.gif]]\n\nyou can change the size of the light radius in the lighting tab of the Light Properties window. \nYou can also change the Light Type. Try changing it to pulse or blink (and turn realtime preview on in the perspective viewport). Nice... though not necessarily useful.
Opening already existing maps and having a ganders is a good way of learning.\n\nIts as simple as file -> open. If for some bizarre reason you are not taken to the correct folder where UT2004 Maps are held (unbelievably) they are in the UT2004/maps folder.\n\nUT maps have the extension *.ut2
Unreal Tournament 2004. (just incase you forgot)
You level (or whatever it is your making) is going to look pretty crap without any textures (or rather with that bubble texture thing). Select the surface you want to texture in the 3D viewport (to select more than one surface ctrl click, to select all that objects surfaces press Shift B).\n\nNow open up the texture browser.\n\n[img[texture.gif]]\n\nGo to File -> Open , and select a texture package (*.utx). Textures packages are found in the UT2004/Textures folder. \n\nBut which one theres so many?! \nDont ask me... open up Abaddon Architecture or Albatross architecture.\n\nThe first thing to know is that textures are usually grouped, so you can select to see say all the ceiling textures, or all the floor textures.\n\n[img[texturegroup.gif]]\n\nOr you can click all and see, well, all of them.\nWith your surfaces still selected click on the texture you want in the texture browser, is should now be on your object, but it is most probably not in the right place... or is far too big... or is facing the wrong way... or needs to turn round a bit etc. etc.\n\nRight click you selected surfaces in the 3D veiwport. and select Surface Properties. select the Pan/Rot/Scale tab.\n\nPan U pans the texture to the left or right,\nPan V pans the texture up and down. by 1, 4, 16, or 64 units.\n\nRotation rotates the texture 45 or 90 degrees. \nFlip U flips the texture upsidedown, Flip V flips the texture to face the other way.\n\nSimple scaling gives you some standard options, anything above 1 will make the texture bigger, anything below 1 makes it smaller.\nOr you can place your own numbers in the U and V box and scale to your own specific size.\n\nDont forget to click the apply button when using those.\n\nWe'll talk about the light map option later.
http://alison.organised.info/unrealart/guide.html
If your making a level then your probably going to want guns and ammo.\n\nOpen the actor class browser.\n\n[img[actor.gif]]\n\nGo to xPickUpBase -> xWeaponBase. \nRight click the ground in the 3D viewport and select add xWeaponBase here. (Note: its probably going to put the base below or slightly below the floor, move it up in the side viewport)\n\nYou now need to select the type of weapon you want it to spawn. Open up the base's properties (double click or right click -> open properties), go to xWeaponBase -> weaponType, select your weapon from the list.\n\n[img[weapontype.gif]]\n\nAdding ammo is almost exactly the same. In the actor class browser go to Pickup -> Ammo -> uTAmmoPickup -> pick your pickup.\n\n[img[ammo.gif]]\n\nright click add it to the map.
Most other pickups act in the same way as the weapon and ammo pickups (see [[Add weapons and Ammo]]). \n\n[img[health.gif]]\n\nxPickupBase -> healthCharger. This is one of those blue crosses... I think its default is 25 health\nxPickupBase -> shieldCharger. Shield pickup, I think it gives you 25 shield in game\nxPickupBase -> superHealthCharger. Big keg o health, 100 health.\nxPickupBase -> superShieldCharger. 100 shield pickup.\nxPickupBase -> uDamageCharger. Double damage pickup.\nxPickupBase -> WildCardBase. random spawn of items in its list.\n\nThere are two other important pickups adrenaline and health vials, these are found in the actor class browser under...\n\npickup -> tournamentPickup -> adrenalinePickup\npickup -> tournamentPickup -> tournamentHealth -> miniHealthPack\n\n[img[adren.gif]]
[img[wild.gif]]\n\nif bsequential is true the wildcard base will cycle through its list in numbered order, if false it will pick at random.\nThe dropdown menus allow you to select what items the wildcard base will contain.
Simple bot pathing... my favorite.\n\nRemember Playerstarts and pickups act as pathnodes.\nIn the 3D viewport right click the ground and select Add Path Node here (if for some reason you dont have this option pathnodes are found in the actor class browser under navigationPoint -> pathNode). Place a few of these in the direction you want then click build paths.\n\n[img[bp.gif]]\n\nYou probably wont notice anything if your build was successful. (If it wasnt then more than likely your nodes are too far away from each other). In order to see the paths you have to turn them on in the viewport. \nright click the grey bar and select view -> show paths.\n\n[img[showpaths.gif]]\n\n[img[path.gif]]\n\nThere are other kinds of paths that can be created, flyingpaths and roadpaths being the most common (found in Onslaught games). \n\nFor your own amusement...\nOrange paths are flying paths.\nWhite paths are wide paths (can be used by vehicles)\nRed paths are "proscribed paths" meaning you have disallowed two path nodes from creating a path between themselves.\nYellow paths show that you have forced two nodes to connect when they otherwise wouldnt have dome.\nGreen paths are quite wide.\nBlue paths are narrow.\nPurple paths show a lift teleporter or jumppad.\nLight purple paths show a ladder.\n\n[img[many.gif]]\n[[ONS-Eire|http://www.mapraider.com/member/?memberid=1438]]
I have never been good at making my own skyboxes. It requires a certain knack with textures that I just cant get to grips with, but I'll tell you the basics and maby you'll have better luck than me.\n\nIf you want to see a good skybox take a look at [[ONS-Tropica|http://download.beyondunreal.com/browse.php?cat=3]] (in Community Bonus Pack 2 vol 1).\n\n[img[sky.jpg]]\n\nBasically make a box which is unattached to your main level. This will be your skybox. Texture it and make it look nice preferably like the sky and earth (use skyrenders.Aborea texture package if you want a try) . \n\nNow open up the actor class browser and go to Info -> zoneInfo -> skyZoneInfo , right click the floor and select 'add skyzoneinfo here' move this into the centre of you box (horizontally and vertically).\n\nNow go to you main level select the surfaces you want your skybox to show on, right click, goto surface properties and turn on Fake Backdrop in the Flags tab.\nYou wont be able to see your backdrop untill you have built the level, if you still cant see your sky right click the grey bar and go to view -> show backdrop.\n\n[img[back.gif]]\n\np.s. make sure theres some lighting in you skybox or your backdrops will be black.
[[Viewports]]\n[[Opening maps]]\n[[Navigating viewports]]\n[[Altering the 3D view]]\n[[Adding and Subtracting]]\n[[Creating objects]]\n[[Moving and Rotating Objects]]\n[[Moving a vertex]]\n[[Build]]\n[[Add a light]]\n[[Add a player start]]\n[[Play]]\n
So you want you own textures.\n\nIn some other program photoshop for example create your texture, make it 512 by 512 and save it as a bitmap.\nopen the texture browser in UnrealEd go to file -> import.\nfind your piccy click open\n\nnow you have a wierd little box\n\n[img[import.gif]]\n\nthe package is very important. you can either enter any name you want for package (but remember it) or type in myLevel.\nmyLevel will mean that the texture you create will be a part of the level as opposed to being part of a proper texture package. (a *.utx)\n\nI suggest you use this opportunity to create your own texture package name it something meaningful. Name the group something sensible... If its a wall texture you have call it walls etc (remember it)\nthe name can be whatever you want again. then click okay.\n\nYou can use your texture as normal now however I suggest you now save your texture package! go to file -> save and save it as the package name.\n\nthat it for importing your own textures, just keep doing that into the same package.\nJust remember that there are now 2 files your computer needs to play your level, the map file (*.ut2) and the texture package (*.utx). Meaning if you want to give the map to someone else theyll need both files too.\n
Bored with the same old square? Is something missing? Complete the look with a vertex move.\n\nHighlight the object,\nequip the vertex editing tool \n\n[img[vertex.gif]]\n\nleft click the vertex of your choice, ctrl left mouse drag.\nto select more than one vertex hold ctrl and alt and draw a box around the vertices you want selected.\n
The intersect tool... \ncreates a brush based around the solid areas.\n\n[img[inter2.gif]]\n\nHere a square brush overlaps a subtracted cube, when we intersect the brush will be left with only what was solid.\n\n[img[inter1.gif]]\n\nThe deintersect tool...\ncreates a brush based around the subtracted areas.\n\n[img[deinter.gif]]\n\n
Select the brush clipping tool\n\n[img[clipping.gif]]\n\nCtrl right click where you want your clipping markers to go, a line will be drawn between them.\n\n[img[clip.gif]]\n\nthere are a few options as to what you can do now.\nYou can delete these markers and start again (perhaps they're in the wrong place).\n\n[img[del.gif]]\n\nYou can remove one side of what youve cut (the little red line indicates what side will be removed).\n\n[img[rem.gif]]\n\n[img[cut.gif]]\n\nYou can flip the normal (the little red line)\n\n[img[flp.gif]]\n\n[img[flip.gif]]\n\nAnd you can split the brush.\n\n[img[split.gif]]\n\n[img[splitted.gif]]
make your shape to one side of the centre line\n[img[rot1.gif]]\n\nclick the rotate button and this window will pop up, you can change the number of sides in a full rotation and also tell it to only go say... 3 sides into the rotate\n[img[rot2.gif]]\n\nclick okay\n[img[rot3.gif]]
The 2D shape editor isnt that complicated.\n\nOpen it with the 2D editor button\n\n[img[2d.gif]]\n\n\nleft click drag moves the vertices around, some of the important tools are these\n\n[img[2dbutt.gif]]\n\nThe first adds a vertex to your selected area (it will add it half way through the bold black line)\nThe second deletes a selected vertex\nThe third straightens a selected area (it will default straight anyway, but its there to straighten a bezier curve)\nThe third allows you to create a curve on the selected area (just move the blue handles). If you want a smoother curve you can rightclick the vertex and goto segment -> detail level, and change it... but dont go too high.\n\nWhen youve got you shape you need to make it workable in 3D.\n\n[img[2d23d.gif]]\n\nThe first creates a sheet from your shape. \nThe second revolves/lathes your shape ([[revolving]])\nThe third will extrude your shape\nThe fourth extrudes to a point\nThe final extrudes to a bevel.\n\nThe best way to understand is to have a go.\n\n
Most levels when viewed in the game have a preview image that fades between pictures of the map, thats what this is about.\n\nAgain its one of those things that seems really difficult untill someone tells you how to do it.\nFirst make you pictures you want to fade through each 512 by 256, and save them as Bitmaps.\n\nImport your textures with the texture browser, myLevel should be the package name, something sensible for the group and name.\n\n[img[preview1.gif]]\n\nimport however many youve got then go to File -> new. \n\n[img[preview2.gif]]\n\nkeep your sequence in the same group as your bitmaps but change the material class to materialSequence.\nclick new.\nIn sequenceItems press add twice.\n\n[img[seq.gif]]\n\nIn the newly created [0], change action to fade to material, and change the time to something like 1 or 2 seconds.\n\n[img[seq2.gif]]\n\nOpen the material browser find your first image and highlight it. Now go to Material in the [0] tree click it and press use. This should now have the name of your material in there, and popped up lots of other stuff in the tree. Just ignore all that, close the [0] and go to [1].\n\nIn [1] leave the action as showMaterial but change the time to 2 or 3. For the material use the same texture you used for [0].\n\nYou should now see your picture in the preview, but theres only 1. To add the next texture go to Sequence items and click add twice and do to [2] and [3] what you did to [0] and [1] but use a different image.\nWhen completed you should see a nice fade going on in the preview area.\n\nNow you need to tell the level to use it. Right click nothing in the top viewport and select Level Properties (or go to view -> level properties).\nExpand the level Summary tab.\n\n[img[summ.gif]]\n\nAt this point you should probably change the Author to you and the description to a nice concise description of your level.\nHighlight your lovely fade sequence in the material browser, go to Screenshot in the level Properties and click use.\nAnd thats it build, save, and play and you'll see stuff happen in the games menu.
If youve played the game then Im sure you know what the different gametypes are. \n\ndeathmatch = everyone run around and try to kill the most people\nteam deathmatch = the same but your in teams so only kill members of the other team.\nCapture the Flag = capture the other teams flag and take it back to your flag in your base, kill the other team along the way.\nDouble Domination = capture and hold 2 points on the map, kill the other team\nBombing Run = get the ball into the other teams hoop\nOnslaught = destroy the other teams core by controling and holding nodes\nAssault = comlete tasks/stages, one team attacking one team defending, then swap\n
[[Build]] all and save your map! (note: make sure its saved on the same harddrive as UT! dont get me started about maps that dont play and trying to fix them for hours only to find its because there on a different bloody harddrive)\nIf its a deathmatch map put '~DM-' infront of its name, capture the flag put '~CTF-' etc.\n\nthen click play. (not the real time preview button!)\n\n[img[play.gif]]\n\neasy , or if you prefer save you map in the [[UT2004|http://www.unrealtournament.com/]]/maps folder and then start the game as normal, you map should be in the Deathmatch maps list. (provided of course youve created a DM map, see [[Gametypes]])
First make your level...\n\nThe defaultGameType (found in level properties) for capture the flag is xGame.xCTFGame\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~CTFBase -> xRealCTFBase ->\nthen pick either the red or blue flag base.\nright click add it to you map.\n\nTo set up the correct team player starts...\nadd a player start\nopen the ~PlayerStart properties window (double click)\nunder the tab ~PlayerStart set the correct team number.\n\n0 = red\n1 = blue
First make your level...\n\nThe defaultGameType (found in level properties) for Double Domination is xGame.xDoubleDOM\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~DominationPoint -> xDOMPoint ->\nthen pick either dom point A or Dom point B\nright click to add them to your map.\n\nTo set up the correct team player starts...\nadd a player start\nopen the ~PlayerStart properties window (double click)\nunder the tab ~PlayerStart set the correct team number.\n\n0 = red\n1 = blue
First make your level...\n\nThe defaultGameType (found in level properties) for Bombing Run is xGame.xBombingRun\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> xBombDelivery\nThis is the hoop, add it to the level then open up the properties and set the Team to 0 or 1\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> xBombSpawn\nThis is the ball, add it to the level\n\nTo set up the correct team player starts...\nadd a player start\nopen the ~PlayerStart properties window (double click)\nunder the tab ~PlayerStart set the correct team number.\n\n0 = red\n1 = blue
My favorite\n\nThe defaultGameType (found in level properties) for Onslaught is Onslaught.~ONSOnslaughtGame\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~DestroyableObjective -> ~ONSPowerCore ->\nPick red or blue and add it to your map\n\nopen the actor class browser go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~DestroyableObjective -> ~ONSPowerCore -> ~ONSPowerNode -> ~ONSPowerNodeNeutral\nadd this to you map how every many and where ever.\n\nadd player starts (dont worry about assigning team numbers)\n\nPlay the map from ~UnrealEd , and when it starts press esc, click the map tab then click link designer\nclick on a base then on a node to join them, when finished click export to ~UnrealEd\nexit the game.\n\nIn UnrealEd right click the level anywhere and select edit -> paste ->here\nThere should now be a little bird icon, this is called ~ONSPowerlinkOfficialSetup, just leave it anywhere.\nYou can create alternate link setups in the same way, but when you paste it into ~UnrealEd open the properties, open the ~LinkSetup tab and change the ~SetupName to something else.\n\nThe level essentially works now.\nBut you want vehicles and guns.\n\nVehicles are located here in the actor class browser \n~SVehicleFactory -> ~ONSVechicleFactory ->\nJust place the ones you want on your map near nodes and cores.\nIf you want the vehicles around a node to face the opposite direction depending on who controls the nodes, go to the vehicles properties, open the ~ONSVehicleFactory tab and set the bReverseBlueTeamDirection to true\n\nTurrets are here\nactor class browser -> Pawn -> Vehicle -> ~ONSWeaponPawn -> ~ONSStationaryWeaponPawn -> ~ONSManualGunPawn\n\nWeapon lockers are here\nactor class browser -> ~PickUp -> ~WeaponLocker\nGo to the weapons lockers properties, open the ~WeaponLocker tab and click add next to weapons, you can set the weapon in the ~WeaponClass and give the weapon extra ammo if you want.\nYou can obviously add more than one weapon here.\n\nEverything like vehicles, turrets and player starts are taken care of by the game you dont have to worry about linking them in anyway to a particular core or node. (the closest wins)\n\nAnd finally to set an image for the background to the link map, create an image 256 by 256 and import it as a texture into the myLevel package call it ~RadarMap, go to the level properties, open the ~RadarMap tab and with the texture highlighted in the texture browser click use next to ~RadarMapImage\n
[[More Lighting]]\n[[Texturing]]\n[[Static Meshes]]\n[[Add weapons and Ammo]]\n[[Other Pickups]]\n[[Basic bot pathing]]\n[[Sky box]]\n[[Terrain]]\n[[Movers]]
A static mesh is a model of something that you intend to use a number of times in your level (like trees). A static meshs information is stored on the graphics card (when playing), so rather than you card having to load trees left right and centre ("I need a tree... I need a tree... I need a tree") it can just say... "oh theres another tree".\n\nAdding already existing meshes is easy. Open up the static mesh browser.\n\n[img[staticmesh.gif]]\n\nFile -> Open , a static mesh package (*.usx, in the Ut2004/Static Meshes folder) .\n\nThis window work in the same way as the texture browser window (see [[Texturing]]). \nSelect the static mesh you want, then right click the ground in the 3D viewport and select -> Add Static Mesh: 'thenameofit ' here.\nI will definately be either too big or too small.\n\n[img[scale.gif]]\n\nYou can change the scale of the mesh by going to the bottom of the screen where it says drawscale 3D and entering some new numbers...\n0.5 will make it half its size 2 will make it twice its size etc.\n\n[img[scale2.gif]]\n\nTo make an already existing object you created into a static mesh, right click the object and select convert -> to static mesh.\nIt will pop up a window that wants a package, group and name. (If you use something other than myLevel for package remember to save that package from within the static mesh browser.)\nYour static mesh is now accessible from within the static mesh browser.
Like lifts and doors and things.\nWithout a Trigger you pretty much just have to walk up to them and bump them to make them move.\n\nOpen the static meash browser and find a door or lift, highlight it, then click on the add mover brush.\n\n[img[mover.gif]]\n\n(movers have to be made from [[Static Meshes]] be they your own or already existing)\nYou should now have a purple mesh in the viewports, this is the mover.\nMove it into its first position, eg. if its a door it should be closed, if its a lift it should be on the ground.\n\nThis initial position is called 'key 0'.\nRight click the mover and select mover -> key 1\nNow position your mover into its 'open' position.\nRight click the mover again and select mover -> key 0, and it should pop back to its initial position.\n\nOpen the movers properties (doubleclickit), open the Object tab and check the ~InitialState is ~BumpOpenTimed\nNow open the Mover tab.\n~NumKeys should be 2 (because you have 2 keys)\n~KeyNum should be 0 (so you start on 'key 0')\n~StayOpenTime is however long you want the thing to stay on 'key 1'\n~DelayTime is however long you want the person to wait for the thing to move after bumping it.\n~MoverEncroachType is what happend when the returning mover hits someone. they are pretty self explanitory.\n\n [img[mover2.gif]]
So youve got a terrain and youve messed about with it.\n\nThe tools in the Terrain editing box are pretty easy to understand, just know that you can mirror what you do with the 'mirror' menu.\n\n[img[mirror.gif]]\n\nIn order to use the Texture pan rotate and scale you need to select the base layer texture in the layers tab.\n\n[img[layer1.gif]]\n\nCtrl left mouse drag and ctrl right mouse drag, to see the effect of the tools.\n\nUp to now you probably have only 1 layer of texture on your terrain. \nTo add a new layer select the texture you want to apply in the texture browser then go to the layers tab in the terrain editing box and highlight the next 'undefined' layer then click new.\nIn the new layer window fill in the information (myLevel as the package) and set the ~AlphaFill to white. (opaque)\n\nNote: If the alpha fill is whte you have to paint the texture away if its black you have to paint the texture on.\n\nTo do this select the painting tool ctrl right drag will remove texture, ctrl left drag will add it.\n\nAdd however many layers you need to produce the effect you want (max is 32 layers).\n\nNow for deco layers...\nSelect the static mesh you want to use as your deco layer, then in the decorations tab of the terrain editing window click new.\n\n[img[deco1.gif]]\n\nright click this new decoration layer and select 'Set Static Mesh from current'.\n(We now need to create a texture layer that the static meshes can use as a kind of guide)\ngo to the layers tab and create a new layer, the package is myLevel, the group is ~DecoLayers, the name is whatever youd like... but meaningful would be good. Leave the ~AlphaFill black.\n\n[img[deco2.gif]]\n\nNow open the texture browser go to 'myLevel' and there will be a grey texture in there called whatever you just called it, highlight it.\nNow go to the Terrain editing window again and open the Decorations tab, right click your deco layer and select 'Set Density Texture from Current'\n\nWe are almost there now\n\nexit the terrain editing window by clicking the camera\n\n[img[cam.gif]]\n\nand open up the terrain info properties.\n\n[img[propp.gif]]\n\nexpand the ~TerrainInfo tab, now expand [0] -> FadeOutRadius and change the min and max to something like 1000 and 4000.\nThis means you will see the grass (or whatever the decoration was) for 1000 units but after that it will gradually fade away untill its not there at any point after 4000.\n\nYou can finally now paint it on, open the Terrain editing window, open the layers tab and select the deco layer texture, use the painting tool to paint the grass on.\n\n[img[grass.gif]]
Triggers are activated by an event and then tell something else to happen.\nThey are always listening for the event that is going to turn them on.\n\nThere are different types of trigger, the use trigger if common so we'll use that for now.\nactor class browser -> Trigger -> ~UseTrigger\n\nAll triggers need an event to set them off, in this case a player pressing the use key (enter) in close proximity to this trigger sets it off.\nPlace the trigger next to the 'control panel' (or whatever it is thats going to indicate to the player that they need to press enter here).\nOpen the triggers properties.\n\n[img[use.gif]]\n\nexpand the events tab, when the trigger is activated it sends out the event text to the level, here Ive called it liftabse but you can call it whatever you want so long as you remember it.\nIn this case Im going to use the trigger to activate a mover, having already positioned my mover and added my keys to it, I need to make a few adjustments so that it knows to wait for the trigger before moving.\n\n(with the use trigger you can also change the collisionradius, located in the collision tab, this dictates how close the player has to be in order to use the trigger , collide with it)\n\nopen the movers properties and open the object tab, its probably expecting to be bumped in order to move, we need to change the ~InitialState to TriggerToggle. (Trigger toggle will send the mover to its key 1, but the mover will not return unless the trigger is activated again, if you want the mover to return without another activation you should use ~TriggerOpenTimed).\n\nThe only other thing you need to do now is tell the mover what trigger its waiting for\nopen the events tab in the movers properties and set the tag to 'liftbase' (or whatever you into the triggers event)\n\n[img[mover1.gif]]\n\nnow build and test... most triggers act similarly to this, they just have different effects.\n\nI always thought that the whole event and tag thing should have been called send and recieve instead... it makes more sense if you think of it like that.
The most scary maps to create...\n\nThe best tutorial Ive ever seen for AS maps is in the [[Unreal Technology|http://www.amazon.co.uk/exec/obidos/ASIN/0672326922/qid=1127306722/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-2400973-4541248]] book and if youve gotton this far I suggest you buy it.\n\nThe main kinds of objectives that need to be completed in an Assault map are\nDestroyable Objectives (something must be destroyed for the objective to be completed)\nTriggered Objectives (when a player activates a trigger the objective is complete)\nProximity Objectives (when a player enters a specific radius)\nHold Objectives (A player has to hold a position for a certain amount of time for the objective to be complete)\n\nBefore you start you should have planned your level and know what your trying to do.\n\nThe first thing to do is type ~UT2K4Assault.~ASGameInfo into the ~DefaultGameType (loacted in Level Properties -> ~LevelInfo)\nWe are going to deal with the most common objective... a destroyable one.\n\nOpen the actor class browser, go to ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~DestroyableObjective -> ~DestroyableObjective_SM\nadd it to your level and it looks like a cube.\n\nGo to the ~DestroyableObjectives properties, open the display tab.\nNow open the static mesh browser and find the mesh that you want the destroyable objective to look like, highlight it, then back in the properties window click use next to the '~StaticMesh' property.\n\n[img[ass.gif]]\n\nIn the destroyable objectives properties window open the events tab.\nset the event to something like 'Completed1' or whatever you want \nNow when the objective is actually destroyed in game you'll probably want it to look different (ie. load a different static mesh)\nopen the ~DestroyableObjective_SM tab, find the mesh you want to use in the static mesh browser, then click use in the properties window next to the ~DestroyedStaticMesh property.\n\nNow then, destroying the objective is probably going to make something happen (for example make a mover move)\nTo do this simply set up the mover as usual, but in the events tab change tag to completed1 (or whatever), this way only when the objective is complete does the mover move.\nYou can also set up explosions based on the whole 'Completed1' tag too\n\nYou can add a player start to test the level now, and everything should be working.\n\nTriggered objetcives are found in\nActor class browser -> ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~TriggeredObjective\nIn the properties open the events tab and change the event and tag properties, Im going to have it listen for 'switchon' and I'll have it send 'complete2'\nCreate a use trigger that will send 'switchon' (or whatever) when its activated.\n\ntest it.\n\nhold objectives are found here\nActor class browser -> ~NavigationPoint -> ~JumpDest -> ~JumpSpot -> ~GameObjective -> ~ProximityObjective. -> ~HoldObjective\nsame idea as the others, except with this you can...\n\nSTILL WRITING THIS ONE\n
~UnrealEd is capable of modelling most shapes, but obviously doesn’t have as many options as say 3DSMax. If you decide to create your models in Max, the process of importing them into ~UnrealEd is reasonably simple (depending upon if you textured the model or not).\n\nSelect the object to be exported in Max, go to File > Export Selected. Choose to export the file as an ‘ASE’ file (ASCII Scene Export). The ASCII Export window opens\n\n[img[ascii.gif]]\n\nEnsure that the following areas are ticked “Mesh Definition”, “Materials”, “Geometric”, ”shapes” and “Mapping Coordinates”.\n\nYou can now import this model into ~UnrealEd as a static mesh. \nOpen up the static mesh browser.\n\n [img[staticmesh.gif]]\n\nIn the main menu of the static mesh browser go to File > Import, and select your ASE model.\nIn the import static mesh window type ‘myLevel’ next to ‘Package:’, the group can be whatever you like (for example if you importing a table you could set this to ‘furniture’), and the name can be whatever you like.\n\nYou should now see your model in the static mesh window with the default ‘bubble’ texture.\nYou can now add this to your map by right clicking the ground in the 3D viewport and selecting “Add Static Mesh: ‘myLevel.groupname.name’”.\n\nIf you had textured this model in max don’t worry, just because its lost the textures dosnt mean it can’t remember where to put them.\nIn the static mesh window expand the materials tree, in here will be a list of the number of materials this model is supposed to have, [0] [1] [2] etc.\n\n [img[texturestat.gif]]\n\nExpand the first number [0] and you will see the ‘Material’ option. Now open the texture browser and highlight the material you want to use, then click ‘use’ next to the Material option in the static mesh window.\n
Open the level that you want to use to create your sequence.\nDon’t open an AS (Assault) level as these all have movies already created in them.\nSelect the “matinee” tool.\n\n[img[mov.gif]]\n\nThe first thing to do is to create a new scene. In the Matinee window the scenes tab should be selected.\nClick on add new scene.\n\n[img[new-scene.gif]]\n\n[img[scene.gif]]\n\nThis adds a scene to the level, at the moment the total time for this scene is 0.0 seconds as we haven’t added any actions to the scene yet.\nSelect the “Actions” tab in the matinee window, click on “add new action” and select “Action Move Camera” from the dropdown menu.\n\n[img[move-cam.gif]]\n\nThis new action represents the position the camera will start from.\nNavigate your perspective viewport to where you would like your film to begin.\n\nOnce there in order to use this view as our start we have to add a camera position, an “interpolation point”, to our perspective viewports position.\n\nSelect the “Tools” tab in the Matinee window and click “add interpolation point”.\n\n[img[point.gif]]\n\nYour perspective viewport will have changed and will now be showing a red cross and white square, this shows the cameras position is correct to the viewport. (if it hasnt give the viewport a bit of a shake, and add the interpolation point again)\n\nNow go back to the “Actions” tab, expand “MatAction” highlight the “IntPoint” option and click use.\n\n[img[useint.gif]]\n\nThe reason we can just click “use” is because the interpolation point we just created is highlighted in the level, if you have mistakenly de-selected it simply zoom out of the perspective viewport slightly and highlight the camera icon again. \n\n\nWe have now set up the cameras starting position.\n\nCreate another “ActionMoveCamera” in the actions tab. \nThis action represents the position the camera will travel to and the first thing we will do is tell the camera how long it will take to get to this position.\n\nEnsure the new action is highlighted and expand the “time” option.\n\n[img[time.gif]]\n\nChange the duration to somewhere between 5 and 10 seconds, or whatever.\n\nNow move the perspective viewport to the position you want the camera to move to, add an interpolation point here, and assign this position to the action (just as before expand the “Mat Action” option and click use next to “IntPoint”).\n\nProvided everything went well you can now preview your film by clicking the preview window icon.\n\n[img[preview.gif]]\n\nOnce open click the arrow to begin playing your sequence.\n\nAt the moment the camera takes a direct path to your second point, which is not necessarily what you want.\nIn order to create a curved path highlight your second action in the actions tab, expand “Path” and change the “~PathStyle” from “~PATHSTYLE_Linear” to “~PATHSTYLE_Bezier”.\n\n[img[bezier.gif]]\n\nIf you look in your top viewport now you can see your cameras path in yellow, you can also see two white handles for the path. Just like any vector based path you can move these handles to create the curve you want the camera to perform. (To move the handles simply highlight them, then move them as you would any object in UnrealEd, left mouse drag while holding down the Ctrl button).\n\nYou can preview your changes to the cameras path at any time in the preview window.\n\n\n
Making the camera look towards a specific point or orientate itself in a specific way is pretty easy.\nHighlight the action (camera move) you want to make look at something. Go to the "Sub Actions" tab and select new > ~SubActionOrientation\n\n[img[sub1.gif]]\n\nThere are a number of orientation options which pretty much speak for themselves.\n\n[img[sub2.gif]]\n\nIt will default to "~FacePath", which will make the camera look in the direction the path goes.\nIf you change it to "Interpolate" the camera will match the orientation you set it to in the viewport and change its orientation as it moves between interpolation points (just try it to understand).\n"Dolly" makes my UnrealEd crash though the idea is that it keeps the orientation of the first action all the way to the second.\n\n"~LookAtActor" is extremely useful and not surprisingly makes the camera look at a specific point while it moves around.\n\nTo use ~LookAtActor simply select this option, then go to the Tools tab, move the perspective viewport to wherever you want the camera to look at and select "add Look Target". If you pull back a little in the perspective viewport you can see a red and white target.\n\nNow go back to the sub actions tab and with the target still selected click use next to the "~LookAt" option\n\n[img[lookat.gif]]
The shake sub action is pretty simple.\nHighlight the action/camera move you want to apply a shake to, go to the sub actions tab and select new > ~SubActionCameraShake\n\n[img[selshak.gif]]\n\nExpand the shake option and change the X,Y and Z min and max values to something noticable like 50 and 100.\nThe last thing to do is tell the shake when to begin and how long to last...\n\n[img[shake.gif]]\n\nMy action was 8 seconds long so I changed the delay to 2 seconds, and the duration to 2 seconds.\n\n[img[delayshak.gif]]
Field of veiw is set up in almost exactly the same way as the camera shake.\n\nHighlight the action/camera move you want to apply a FOV effect to, go to the subactions tab and select new > ~SubActionFOV\n\nGive the FOV a min and max value, like 90 and 150. (90 is normal... 150 is way too much)\nThen give it a delay time like 1 sec and a duration like 6 seconds.\n\nThe FOV will remain at your final value for all other camera moves unless you change it back to normal.
Highlight the action/camera move you want to apply a fade effect to, go to the Sub Actions tab and select new > SubActionFade\n\n[img[fade.gif]]\n\nif "~bFadeOut" is set to true it will fade out, if set to false it will fade in.\n\ndelay is how long to wait before the fade starts (if its a fade in then it should be set to 0)\nduration is how long the fade takes.
The most important sub actions for the cameras are...\n\n[[Orientation]] (change what the cameras facing)\n[[Camera Shake]]\n[[FOV]] (change field of view)\n[[Fade]]\nCamera Effect (overlay a texture or apply a motion blur)\n\n
Moving something will ordinarily be accompanied by filming that something.\nIts up to you whether you want to plan the object movement first or the camera movement.\n\nLets say we have already set up a scene with camera movements in and all we need to do now is to make stuff move.\n\nThe first thing to do is to rename the first scene to something that makes sense, like "~CameraMoves"\nIf you read the [[Triggers]] section you can see that what we are actually naming is the "Tag" of this scene.\n\n[img[rename.gif]]\n\nYou can enter essentially anything in the "Event" and "Tag" area. "Event" and "Tag" should really be called "Send" and "Recieve". (see "[[Make the movie play in game]]" and "[[Triggers]]" for more information about Events and Tags)\n\n\nDont worry if this doesnt make any sense yet... just continue on.\n\nSo moving something...\nCreate a new scene and call it something like "~ObjectMoves"\n\n[img[objmov.gif]]\n\nIn this scene set up Paths as though they were ordinary camera moves, just remember this is the path your object will follow.\n\n[img[actionsobj.gif]]\n\nNext open up the static mesh browser and find to object that you want to make follow your path, highlight it...\nWe are going to add this to our level as a "Mover" (see [[Movers]]).\nafter highlighting the object in the static mesh browser click on the "add mover brush" icon\n\n[img[mover.gif]]\n\nThis will add the object to your level (in the wireframe viewports its purple, showing that it is a mover)\nNow go back to the scenes tab in the Matinee window, select the second scene which is the ~ObjectMoves scene, expand the ~SceneManager option and change "Affect" from ~ViewportCamera to Actor.\n\n[img[actorchange.gif]]\n\nHighlight the Mover in your level, and in the ~AffectedActor property click use\n\n[img[affectactor.gif]]\n\n\nEverything is almost ready... all you need to do now is tell this second scene to play when the other one starts.\nHighlight the first action in the first scene (the Camera Moves scene). go to the Sub Actions tab and add a ~SubActionTrigger\n\n[img[trig.gif]]\n\nChange the ~EventName to that of your second scene (in this case ~ObjectMoves)\n\n[img[trigmov.gif]]\n\n\nIts now ready to play, the catch is you cant preview it in the editor, you can only see it work from within the game.
Go to view -> level Properties.\n\nThe important tabs are...\n\nLevel Info\nits in here you tell the level just what kind of gametype it is, the different kinds of games have to be typed into the defaultGameType.\n\ndeathmatch = xGame.xDeathMatch\nteam deathmatch = xGame.xTeamGame\nCapture the Flag = xGame.xCTFGame\nDouble Domination = xGame.xDoubleDOM\nBombing Run = xGame.xBombingRun\nOnslaught = Onslaught.~ONSOnslaughtGame\nAssault = ~UT2K4Assault.~ASGameInfo\nMatinee/Film only = unrealgame.cinematicgame\n\nLevel Summary\nIts in here you can give the level a description, give it your name as author and assign a screenshot to it (see [[Level preview image]])\n\nZone Info\nIn here you can turn on for for the level (though if you have terrain you have to turn on fog in the zone info where bTerrainZone is set to true)\n\nZone Light\nHere you can set the fog colour and where the fog starts and ends. In here you can also set the ambient brightness of the whole level.
Terrain can and will crash UnrealEd I suggest you save at various points, and remember if UnrealEd doesnt want to do something, it wont (I spent an hour yesterday trying to convince it that playerstarts exist) sometimes the best thing to do is start again.\n\nNow then terrain. You need a pretty big box to hold it, I suggest this big box is easily divisible by 64(if this is your first time try 8128 by 8128 by 8128).\nYou need to place a zoneinfo in the centre of the box. \nzoneInfo can be found in the actor class browser under info -> zoneInfo. \n\nEDIT: right click the ground in your perspective viewport and select "Add Zone info here" \n\nOpen up the zone info properties (double click on it) and expand the zoneInfo tab and set the bTerrainZone to true.\n\n[img[terrain.gif]]\n\nIf you have no lights, your not going to see anything when we build so expand the zoneLight tab and set the ambient brightness to something high.\nnow click the terrain tool\n\n[img[tt.gif]]\n\nand click new\n\n[img[new.gif]]\n\nThe new terrain box pops up, type myLevel next to package, terrain next to group and whatever next to name. (typing myLevel next to package means that it will be saved with the level and not as a seperate entity, see [[Textures]])\n\n[img[newt.gif]]\n\nIn order to know what you should type in in the xsize and ysize box you need to do a little calculation...\n(yourboxsize+64)/64=the answer\n\nso in the examples case... (8128+64)/64=128\n\n128 is our xsize and ysize. \nenter it click okay, if all was well you should see a terrain icon not too far away from your original zoneinfo icon, if the terrain icon is not in the centre if your box move it there now. (by clicking the camera moving it then clicking on the terrain tool again)\n\n[img[ico.gif]]\n\nYou need to pick a texture for your terrain to use, open up the texture browser and highlight a texture you like, then\nin the terrain editing window click the layers tab, highlight the first 'undefined' then click new.\n\n[img[ttt.gif]]\n\nnow you get the new layer window up. \npackage = myLevel\ngroup = whatever (but remember it)\nname = whatver\nalphaheight = 128 (our x and ysize)\nalphawidth = 128 (our x and ysize)\nalphafill = white for the first layer... (white is solid, black is transparent)\n\n[img[tttt.gif]]\n\nnow build all!!!\n\nmuah ha ha ha! a terrain.\n\nNow mess about with the terrain tools, I suggest you try the painting tool (ctrl left drag on the terrain to make mountains, ctrl right drag to make valleys) \nMore on terrains in [[Advanced Terrains]]
[[Textures]]\n[[Intersect and Deintersect]]\n[[Brush Clipping]]\n[[2D shape editing]]\n[[Advanced Terrains]]\n[[Triggers]]\n[[Understanding Gametypes]]\n[[Level preview image]]\n[[Level Information]]\n[[Level music]]
Adding/Changing the music/song a level plays is pretty easy.\n\nThe hardest part is choosing your music and turning it into a *.ogg file. I recommend you download some kind of mp3 to ogg convertor to do this.\n\nPut the ogg file into the music folder in your ~UT2004 directory. (probably C:\s~UT2004\sMusic)\n\nOpen your map in ~UnrealEd.\n\nOpen up the level properties (go to View > Level Properties)\nExpand the Audio tab, and under song type the name of you file. (eg. I copied the file Jaxx.ogg into the music folder, so under song I typed "Jaxx")\n\n[img[jaxx.gif]]\n\nNow play the level
[[CTF maps]]\n[[ONS maps]]\n[[AS maps]]\n[[BR maps]]\n[[DOM maps]]\n[[Import a static mesh]]
So far we have just been previewing the movie inside the editor, as it stands the movie will not play in the game itself as it needs to be triggered to start. Firstly we need to tell Unreal that this is a movie not a game! \nGo to the main menu and select View > Level Properties.\n\nIn here expand the ~LevelInfo option and next to "~DefaultGameType" type "unrealgame.cinematicgame"\n\nNow the level knows its a movie but dosnt yet know what to start playing or when. We now need a trigger to start the movie.\n\nTriggers in UT are not that difficult to understand, you can send an "Event" to the level at large (for example if someone walks over something), and if there is something in the level listening for this event (in its tag) then it will start doing stuff.\n\nEvent should be called send, and tag should be called recieve.\n\nGoto your scene tab in the matinee window, if you expand "Events" you can change both the tag and event for you movie. In this case we dont want our movie to send any information to the level we want it to listen for when to start playing. So change the "Tag" to something that makes sense like "~StartMovie" (In my case Ive changed it to "~CameraMoves".\n\n[img[rename.gif]]\n\nTo make the movie automatically play when the level is loaded in the game, we need to add a Trigger to our level. Ordinary Triggers rely on players bumping into things or walking over the trigger, in this case we want the trigger to turn on the moment the level is started.\n\n\nOpen the Actor Class Browser \n\n[img[actor.gif]]\n\nand navigate to Keypoint > ~AIScript > ~ScriptedSequence > ~ScriptedTrigger. Right click the ground in the perspective viewport and select "add Scripted Trigger here".\n\nOpen up the Scripted Trigger properties (by double clicking on it). \n\n[img[scritri.gif]]\n\nExpand ~AIScript and next to Actions click Add.\nIt will popup a new action, next to "New" select ~TriggerEvent from the drop down menu.\n\n[img[triggerevent.gif]]\n\nNow click the new button.\n\nand finally next to "Event" type the name of your scene... In my case I typed ~CameraMoves.\n\nNow you can play your level and you can see that the movie starts playing automatically. There is also no way to properly play this level as a game anymore, its a movie only.
The first thing to do is set up some bot paths, that will lead the bot in the right direction. ([[Basic bot pathing]])\n\nNext you need to add your little guy to the level. \nOpen the Actor class Browser, go to Pawn > ~UnrealPawn >xPawn\n\nright click the ground and select add xPawn here. Make sure the bot is facing the right way. (It will show you the default male pawn should you want another character... open the animation browser, then open the animation package ~HumanFemaleA or ~HumanMaleA, find the character you want to use. now open the xPawn properties expand "display" and click use next to "Mesh")\n\nOpen the Actor class Browser, go to Keypoint > ~AIScript > ~ScriptedSequence\nright click the ground near your pawn and select add ~ScriptedSequence here.\n\nWe now need to tell the bot the do whatever the AI script tells it.\nopen up the Scripted Sequence's properties (double click on it), expand ~AIScript and change ~ControllerClass to ~ScriptedController, expand the Events tab and change the tag to something like pawncontrol.\n\n[img[script.gif]]\n\nNow open the xPawns properties, expand AI and set the ~AIScriptTag to your tag name. In this case pawncontrol.\n\n[img[aitag.gif]]\n\nA line will now have appeared linking the ~AIScript to your bot.\nEverything is now ready for you to control your pawn. All it needs now are instructions.\n\nThe most common instructions you'll probably want to give it are making it run somewhere, and playing an animation.
You should already have a ~ScriptedSequence and pawn in place and ready. (if not go here [[Set up a pawn]])\n\nOpen the Scripted Sequence's properties and expand ~AIScript\nNext to actions click add.\nNow click on the "new" option and you should have a drop-down menu with lots of options.\n\n[img[playanim.gif]]\n\n~ACTION_PLAYANIM is the one we want select it then click new.\nAll we need do now is type in the animation we want the pawn to play into the ~BaseAnim option.\n\nIf you want to see the options, open the animation browser.\n\n[img[animbro.gif]]\n\nNow open the animation package of your character (probably ~HumanMaleA or ~HumanFemaleA).\nYou can now preview the available animations in the browser, when you find one you want type its name into the ~BaseAnim option.\n\nYou should now add a new action to your ~ScriptedSequence make it a ~ACTION_WAITFORANIMEND, this should come right afterthe play animation action and just makes sure everything goes smoothly.\n
You should already have a ~ScriptedSequence and pawn in place and ready. (if not go here [[Set up a pawn]])\nYou should also have already setup some bot paths, so the bot knows where to go and how to get there. (if not go here [[Basic bot pathing]])\n\nOpen the Scripted Sequence's properties and expand ~AIScript\nNext to actions click add.\nNow click on the "new" option and you should have a drop-down menu with lots of options.\n\n[img[playanim.gif]]\n\n~ACTION_MOVETOPOINT is the one we want select it then click new.\n\nThe only thing this action wants to know is the "~DestinationTag"\nDouble click the ~PathNode you want the bot to go to, expand Events and name the Tag something sensible like walkTarget.\nNow go back to your MOVETOPOINT action and enter walkTarget (or whatever you called it) into the ~DestinationTag.
Basics_of_UnrealEd\nMore_than_Basics\n[[Advancing]]\n[[Advanced]]\n[[Matinee]]\n\nIm a [[tiddlywiki|http://www.tiddlywiki.com/]]\n
Im assuming that youve created your character, bones and skinned the thing in max.\nThe first thing you need to do next is go here... [[UDN|http://udn.epicgames.com/Two/ActorX]]\nAlso here is the [[UDN tutorial|http://udn.epicgames.com/Two/ActorXMaxTutorial#How_to_export_animations_using_A]] for exporting animations from max (just incase you need something explained in more detail).\n\nDownload the ~ActorX plugin that is right for your version of max... Place the file in your stdplugs folder.\nThe plugin can now be used from within max.\n\nThis is my (very simple) setup, think of it like a cylindrical leg...\n[img[mybones.gif]]\n\nThe first thing to do is export the mesh... goto the utilities tab in max (the thing that looks like a hammer)\n[img[hammer.gif]]\n\nclick on more and select ~ActorX from the menu.\n\n[img[meshfish.gif]]\n\nHighlight your skin mesh in the viewport, select an output folder (where all your stuff will be saved), name the mesh (see picture), then click "save mesh/refpose".\nThis should work, and you should now have a *.psk file in your output folder.\n\nnow create your animation... I did a simple move a bone up a bit...\nonce created you can add this "sequence" to your animation file (you can add many seperate animations to the file)\n\n[img[animman.gif]]\n\nHere my animation file is called "fishanims", this particular sequence (where I move a bone up a bit) is called "move_up" and its "0-30" frames of animation.\nonce youve entered your information click "digest animation".\n\nThis should work, now repeat these steps to add more sequences (animations) to your file.\n\nYou can see what youve added by opening the "animation manager".\n\n[img[animmaner.gif]]\n\nwhen youve added all your animations move them across into the "Output package".\nthen click save.\n\nYou now have a *.psa file in you output folder. (in my case its called fish_anims.psa).\n\nNow its just a matter of importing everything into unreal... open the animation browser, import skeletal mesh, import skelatal animations, then link them together and use them as you would any pawn...\nsee [[Set up a pawn]], [[Move the pawn]], and [[Animate the pawn]] for info on how to make stuff happen.
[[Camera moves]]\n[[Make the movie play in game]]\n[[Advanced camera moves (sub actions)]]\n[[Moving an object along a path]]\n[[Set up a pawn]]\n[[Move the pawn]]\n[[Animate the pawn]]\n[[Bring in your own skeletal meshes and animations]]\n[[Anything else you need]]
There is loads of information out there... why not try these fine websites if you need any more help with anything.\n\nhttp://udn.epicgames.com/Two/WebHome\nhttp://wiki.beyondunreal.com/wiki/\nhttp://forums.beyondunreal.com/\nhttp://angelmapper.com/tutorials.htm\nhttp://www.planetunreal.com/architectonic/first_level.html
[[Hello]]
This is a load of tutorials/information about UnrealEd. Its not the best stuff out there but it aint too bad... \n(its being added to on a reasonably regular basis)\n\nIf your serious about learning ~UnrealEd you should buy the [[book|http://www.amazon.co.uk/exec/obidos/ASIN/0672326922/qid%3D1131016345/202-7120674-4747026]] and know the following sites: (in no particular order)\nhttp://udn.epicgames.com/Two/WebHome\nhttp://wiki.beyondunreal.com/wiki/\nhttp://forums.beyondunreal.com/\nhttp://angelmapper.com/tutorials.htm\nhttp://www.planetunreal.com/architectonic/first_level.html