UDK Notes

 

Topics:

UDK Hotkeys

UDK Lighting
UDK Cameras

UDK Characters
UDK Models (Importing Models From 3D software like Maya, 3dsmax, or Blender)
UDK Kismet and Matinee
UDK Programming

 

 

Resources:

Maya Camera Clipping Planes Adjuster Script

About UDK

UDK is a game development platform and a game engine. It is based on the Unreal Engine.

Many people ask what the different is between UDK and the Unreal Engine.  The answer is that UDK is nearly identical to the full Unreal Engine used on a great many commercial titles.  The only differences are access to documentation and source code.  Neither of these differences are important unless you are a programmer.

UDK is close to or at the top of the "high end" in terms of available game engines. At the time of writing, Crytek and  ID Tech 5 are the only real competition in terms of available high end game engines.

Fortunately, learning one engine will help you learn the others as well.  They are all fairly similar.  Using and learning Unity3D, and the Blender Game Engine, can also be valuable experiences.

 

UDK has a powerful post production system.  In fact, it pretty much has a fully functional node based compositor inside of it. You can create custom composites and post processes right inside the engine.  UDK essentially contains a "Mini-Nuke".

Post production is more commonly used for:

Color Correction Motion Blur, Depth Of Field, Glows, Light Shafts, and Camera effects (such as blood splatter on lens)

UDK is fully HDR enabled, so compositing takes advantage of high dynamic range, which the materials, code, and effects are capable of outputting.  In case you want to do HDR work with Maya and Mental Ray, Open Exr is an HDR (High Dynamic Range) 128bit image format, which I recommend using.  You can render to Open Exr and composite using Open Exr.

 

UDK uses a zbuffer for rendering.

UDK can use deffered shading. Deffered shading is a performance booster that is used in many game engines. It works by not applying advanced shading to triangles that will not be seen. (Many games engines apply all effects whether or not the triangles will be seen by the audience.)

Per pixel lighting (this allows for normal mapping, spec mapping etc.  It's common these days, but prior to Doom 3 by ID software, most games did not use per pixel lighting.)

Can handle fairly high poly models.  Can use tessalation (real time displacement mapping) to achieve incredibly high polygon counts in real time.

Rain can be done as a particle system of alpha cards

Hair is usually done as alpha cards, especially for

Alpha cards often use "opacity mask" mode, which is simple on/off transparancy, and doesn't allow semi-transparent pixels.  This renders far far faster than semi-transparency (alpha blending).

 

Animated UV are often used to achieve effects.  Often only one of the UV channels/sets will be animated, so that the effects appear to change, but the base texture does not change.  This works for things like water running over a textured surface.  It can all be done right in the material.

 

Aside from lightmass, which is precomputed, polys cannot emit light in real time.  Instead you create light objects in the editor, similar to creating point, spot, and directional lights in Maya.

UDK offers a powerful shadow system that can work with the lights created in UDK.

Light shafts are also available, though caution should be used since they are only a post process. There are ways of creating additional light shafts using geometry and materials as well.

 

Simplygon is used for automatic generation of lower polygon models.   (It is also available as a plugin for other 3d software such as 3dsmax and Maya.)

A landscape tool exists for creating complex outdoor terrain.

Vertex color painting can be used for models. This is extremely useful for texture blending.

Matiness is UDK's animation/keyframing system and Kismet is its graph based visual programming tool.

APEX physics can be used for clothing etc

DX11 can be used with MSAA for hair.  (http://www.nvidia.com/content/PDF/GDC2011/Epic.pdf)

 

MSAA is now used usually used for antialiasing although FSAA (full screen antialiasing) has also been possible.  Many techniques have been possible in the past, but currently MSAA is generally the best choice.