Unreal Engine 3

Unreal Engine 3
Overview
Unreal Engine 3 is a complete game development framework for next-generation consoles and DirectX9-equipped PC's, providing the vast array of core technologies, content creation tools, and support infrastructure required by top game developers.
 
 
Every aspect of the Unreal Engine has been designed with ease of content creation and programming in mind, with the goal of putting as much power as possible in the hands of artists to develop assets in a visual environment with minimal programmer assistance; and to give programmers a highly modular and extensible framework for building, testing, and shipping games in a wide range of genres.
Visual Features
  • 64-bit color High Dynamic Range rendering pipeline. The gamma-correct, linear color space renderer provides for immaculate color precision while supporting a wide range of post processing effects such as light blooms, lenticular halos, and depth-of-field.
  • Support for all modern per-pixel lighting and rendering techniques including normal mapped, parameterized Phong lighting; custom artist controlled per material lighting models including anisotropic effects; virtual displacement mapping; light attenuation functions; pre-computed shadow masks; directional light maps; and pre-computed bump-granularity self-shadowing using spherical harmonic maps.
  • Advanced Dynamic Shadowing. Unreal Engine 3 provides full support for four shadowing techniques:
    • Dynamic stencil buffered shadow volumes supporting fully dynamic, moving light sources casting accurate shadows on all objects in the scene.
    • Dynamic characters casting dynamic soft, fuzzy shadows on the scene using 16X-oversampled shadow buffers.
    • Ultra high quality and high performance pre-computed shadow masks allow offline processing of static light interactions, while retaining fully dynamic specular lighting and reflections.
    • Directional Light Mapping enables the static shadowing and diffuse normal-mapped lighting of an unlimited number of lights to be precomputed and stored into a single set of texture maps, enabling very large light counts in high-performance scenes.
  • All of the supported shadow techniques are visually compatible and may be mixed freely at the artist's discretion, and may be combined with colored attenuation functions enabling properly shadowed directional, spotlight, and projector lighting effects.
  • Powerful material system, enabling artists to create arbitrarily complex realtime shaders on-the-fly in a visual interface that is comparable in power to the non-realtime functionality provided by Maya.
  • The material framework is modular, so programmers can add not just new shader programs, but shader components which artists can connect with other components on-the-fly, resulting in dynamic composition and compilation of shader code.
  • Full support for seamlessly interconnected indoor and outdoor environments with dynamic per-pixel lighting and shadowing supported everywhere.
  • Artists can build terrain using a dynamically-deformable base height map extended by multiple layers of smoothly-blended materials including displacement maps, normal maps and arbitrarily complex materials, dynamic LOD-based tessellation, and vegetation layers with procedurally-placed meshes. Further, the terrain system supports artist-controlled layers of procedural weathering, for example, grass and vegetation on the flat areas of terrain, rock on high slopes, and snow at the peaks.
  • Volumetric environmental effects including height fog.
  • Extensible particle system with visual editor, supporting particle physics and environmental effects.
Characters in Unreal Engine 3 produce dynamic soft shadows with self-shadowing.
Shadows with fuzzy attenuation sweep around the scene as the torch moves.
 
Artist-authored panning and iridescent materials all seamlessly combine with per-pixel lighting and shadowing.
Normal-mapped translucent object distorts and attenuates the frame buffer, simulating ray-traced reflections.
 
The fuzzy shadows of clouds smoothly roll across the hills, while the windmill's rotating blades cast shadows on the ground beneath.
Soft-shadowed character standing in a bank of volumetric fog.
 
Light blooms using 64-bit color High Dynamic Range color.
The subtle interplay of normal mapped diffuse and specular lighting with fuzzy shadows.
 
Realtime particles in “UnrealCascade”, the modular, visual particle system editor.
Physics
  • Rigid body physics system supporting player interaction with physical game object, ragdoll character animation, complex vehicles, and dismemberable objects.
  • All renderable materials have physical properties such as friction.
  • Physics-driven sound.
  • Fully integrated support for physics-based vehicles, including player control, AI, and networking.
  • UnrealPhAT, the Visual physics modeling tool built into UnrealEd that supports creation of optimized collision primitives for models and skeletal animated meshes; constraint editing; and interactive physics simulation and tweaking in-editor.
Ragdoll rigid body dynamics drive all objects in this scene, including these skeletal-animated objects.
Unreal Engine 3 improves on the vehicle physics features and provides an intuitive and interactive physics setup tool.
  •  
UnrealPhAT enables the creation and adjustment of skeletal setup, constraints, and breaking forces in realtime.
Animation
  • Skeletal animation system supporting up to 4 bone influences per vertex and very complex skeletons.
  • Full mesh and bone LOD support.
  • “AnimSet Viewer” tool for browsing and organizing animations and meshes:
    • Ability to add game-specific notifications at specific points in the animation.
    • Tool for graphically placing ‘Sockets’ on bones to be used for attaching objects to the skeleton in the game, complete with preview.
    • Ability to preview ‘overlay’ meshes based on the same skeleton (e.g. armor).
“AnimSet Viewer” example with Socket Manager.
  • Animation is driven by an “AnimTree” - a tree of animation nodes including:
    • Blend controllers, performing an n-way blend between nested animation objects.
    • Data-driven controllers, encapsulating motion capture or hand animation data.
    • Physics controllers, tying into the rigid body dynamics engine for ragdoll player and NPC animation and physical response to impulses.
    • Procedural skeletal controllers, for game features such as having an NPC's head and eyes track a player walking through the level.
    • Inverse Kinematics solver for calculating limb pose based on a goal location (e.g. for foot placement).
  • “AnimTree Editor” allows programmers or animators to create complex blends and controller setups and preview them in realtime in the editor.
“AnimTree Editor” example.
  • New node and controller types can be easily added for game specific control.
  • Export tools for 3D Studio Max, Maya and XSI for bringing weighted meshes, skeletons, and animation sequences into the engine.
Game Framework & Artificial Intelligence
  • An object-oriented gameplay framework is provided supporting common game objects such as players, NPC's, inventory, weapons, and triggers.
  • Rich multi-level AI system supporting path-finding, complex level navigation, individual decision making, and team-based AI.
    • Pathfinding framework with full awareness of common game objects such as triggers, doors and elevators, allowing for complex navigation scenarios where an NPC will press switches, open doors, and navigate around temporary obstructions in order to reach its destination.
    • Navigation framework with support for short-term tactical combat, cover, and navigation off the path network.
    • Team-based AI framework suitable for first-person shooters, third-person shooters, and tactical combat games. The team-based AI framework provides support for team coordination, objective management, and long-term goals.
  • AI paths are viewable and editable by level designers in UnrealEd, allowing customization and hinting.
  • “UnrealKismet”, our visual scripting system:
    • Gives artists and level designers virtually limitless control over how a level will play without touching a single line of code.
    • By connecting together simple events and actions created by programmers, everything from simple behaviours to complete gameplay prototypes can be assembled quickly.
    • UnrealKismet supports hierarchies of scripts for organizing very complex sequences into manageable units.
“UnrealKismet” visual scripting system example 1.
“UnrealKismet” visual scripting system example 2.
  • “UnrealMatinee”, for keyframing properties over time and creating in-game cinematics:
    • Track based system, with support for controlling movement, modifying properties, playing animation and sound, making camera-cuts, changing FOV, fading etc.
    • Preview and scrubbing of sequence completely in-editor for instant feedback.
    • Curve editor, for getting fine control of movements or properties over time.
    • Ability to connect multiple actors to an UnrealMatinee group (e.g. for dimming 10 lights at once).
    • UnrealMatinee data can be shared across multiple instances (e.g. using the same animation for every door in a level).
    • Any property can trivially be exposed for UnrealMatinee to control. New track types can also be easily added.
  • UnrealMatinee and UnrealKismet are tightly integrated. Arbitrary gameplay events can be triggered at specific points in a sequence, and level designers have complete control over playing, stopping and reversing sequence playback.
UnrealEd's "Matinee" timeline-based sequencing tool.
Sound
  • Support for all major output formats of each platform, including 5.1 surround sound and certification-quality Dolby Digital.
  • 3D sound positioning, spatialization, Doppler shift.
  • Visual Sound Tool in UnrealEd gives sound designers complete control over sounds, sound levels, sequencing, looping, filtering, modulation, pitch shift, and randomization. Sounds parameters are separated from code to an extent that sound designers can control all sounds associated with gameplay, cinematics and animation sequences.
UnrealEd’s sound cue editor.
Networking
  • Internet and LAN play has been a hallmark of Epic's past competitive games such as Unreal Tournament 2004. The Unreal Engine has long provided a flexible and high-level network architecture suitable to many genres of games.
  • Internet and LAN play is fully supported on PC and all console platforms.
  • Unreal Engine gameplay network programming is high-level and data-driven, allowing UnrealScript game code to specify variables and functions to be replicated between client and server to maintain a consistent approximation of game state. The low-level game networking transport is UDP-based and combines reliable and unreliable transmission schemes to optimize gameplay, even in low-bandwidth and high-latency scenarios.
  • Client-server model supporting up to 64 players as provided. Also supports non-dedicated server (peer-to-peer mode) with up to 16 players.
  • Supports network play between different platforms (i.e. dedicated PC serving console clients; Windows, MacOS and Linux clients playing together.)
  • All gameplay features are supported in network play, enabling vehicle-based multiplayer games, competitive team games with NPC's or bots, cooperative play in a single player focused game, and so on. Support for auto-downloading and caching content, including cross-platform compatible UnrealScript code. This feature enables everything from user-create maps, to bonus packs, to complete game mods to be downloaded on the fly. In-game server browser GUI for finding and querying servers, keeping track of favorites, in-game chat, etc.
  • A “master server” component is provided for tracking worldwide servers, providing filtered server lists to players, etc. Worldwide game stats tracking system.
  • Please note that we don't provide a server or networking framework suitable for massive multiplayer games. Though such a task is a multi man-year engineering effort, several teams using the Unreal Engine have done so (including Sigil Games Online for Vanguard and NCSoft for Lineage II), demonstrating the feasibility of using the Unreal Engine as a MMORPG game client and tools pipeline, integrated with a proprietary server component.
Unreal Tournament 2004's in-game server browser
Framework for tracking worldwide player rankings in UT2004.
 
Networking framework suitable even for the world's most competitive action games.
UnrealEd Content Creation Tool
  • The Unreal Editor (UnrealEd) is a pure “What You See Is What You Get” content creation tool filling the void between 3D Studio Max and Maya, and shippable game content.
  • Visual placement and editing of gameplay objects such as players, NPC's, inventory items, AI path nodes, and light sources -- with a full realtime view of their appearance, including 100% dynamic shadowing. Includes a data-driven property editing framework, allowing level designers to easily customize any game object, and programmers to expose new customizable properties to designers via script.
  • Realtime terrain editing tools allowing artists to elevate terrain, paint alpha layers onto terrain to control layer blending and decoration layers, collision data, and displacement maps.
  • Visual Material Editor. By visually connecting the color, alpha and coordinate outputs of textures and programmer-defined material components, artists can create materials ranging from simple layered blends to extremely complex materials and dynamically interacting with scene lights.
  • A powerful browser framework for finding, viewing, and organizing game assets of all types.
  • Animation tool enables artists to import models, skeletons, and animations, and to tie them to in-game events such as sounds and script notifications.
  • In-editor “Play Here” button puts gameplay just one mouse click and a fraction of a second away. Here, you can test gameplay in-editor in one window while modifying objects and rearranging geometry in another.
  • Every Unreal Engine license includes the right to redistribute UnrealEd publicly, enabling teams to release the content creation tools along with their game to the mod community. Mod support has been a major factor behind the success of many prominent PC games today, and we anticipate that support for PC-based mod development may be a significant factor in future console games as well.
  • We provide plug-ins for 3D Studio Max and Maya to bring models into the Unreal engine with mesh topology, mapping coordinates, smoothing groups, material names, skeleton structure, and skeletal animation data.
  • Fully integrated source control, so that artists and level designers can check out content packages, modify, and check in from within the editor.
  • All the other niceties you'd expect from a modern content editing tool: Multi-level undo/redo, drag-and-drop, copy-and-paste, customizable key and color configuration, viewport management.
UnrealEd, the central hub that binds the various tools into a seamless package.
Visual interface for content browsing, searching, and management.
 
Visual terrain editor with realtime deformation, vegetation layers, and procedural layering.
Visual material editor enables artists to create elaborate shaders previously only accessible to programmers.
 
"Play In Editor" allows artists and designers to immediately see their changes in-game.
Distributed Computing Normal Map Generation Tool
Most of our characters are built from two meshes: a realtime mesh with thousands of triangles, and a detail mesh with millions of triangles. We provide a distributed-computing application which raytraces the detail mesh and, from its high-polygon geometry, generates a normal map that is applied to the realtime mesh when rendering.  The result is in-game objects with all of the lighting detail of the high poly mesh, but that are still easily rendered in real time.
5,287 triangle in-game mesh in 3D Studio Max.
Purely geometric 2,000,000 triangle detail mesh in 3D Studio Max.
 
Resulting normal-mapped mesh in game.
 
Over 100 million triangles of source content contribute to the normal maps which light this outdoor scene.
Wireframe reveals memory-efficient content comprising under 500,000 triangles.
Programming Features
  • Unreal Engine 3 includes example content and 100% of the source code for the engine, editor, Max/Maya exporters, and the game-specific code for our internally-developed games.
  • Extensible, object-oriented C++ engine with software framework for persistence, dynamic loading of code and content, portability, debugging.
  • UnrealScript gameplay scripting language provides automatic support for metadata; persistence with very flexible file format backwards-compatibility; support for exposing script properties to level designers in UnrealEd; a GUI-based script debugger; and native language support for many concepts important in gameplay programming, such as dynamically scoped state machines and time-based (latent) execution of code.
  • Modular material component interface for extending visual tool and adding new shader components usable by artists in the visual shader GUI.
  • Source control friendly software architecture, scalable to large teams and multi-platform projects.
  • Unreal Engine 3 is provided as one unified codebase that compiles on PC and all supported next-generation console platforms. All game content and data files are compatible across all supported platforms, for fast turnaround time between code and content development on PC, and playtesting on console or PC.
  • Seek-free DVD loading optimization pass for consoles, able to load levels at >80% of DVD's physical transfer rate.
  • Extensible content-streaming framework suitable for multithreaded background DVD streaming of resources and predefined groups of resources based on LOD or programmatic control.
  • Unreal Engine 3 content and code are localization-aware, with a simple framework for externalizing all game text, sounds, images, and videos.  Unreal Engine 3 is based on the Unicode character set, and has full support for 16-bit Unicode fonts and text input, including importing TrueType fonts into renderable bitmap fonts.  Our games have shipped in 9 languages including Japanese, Chinese, and Korean.
UnrealScript provides for safe, easy game event programming.
Unicode-based localization framework powering UT2004 Korean version
Typical Content Specifications
Here are the guidelines we're using in building content for our next Unreal Engine 3 based game. Different genres of games will have widely varying expectations of player counts, scene size, and performance, so these specifications should be regarded as one data point for one project rather than hard requirements for all.
Characters
For every major character and static mesh asset, we build two versions of the geometry: a renderable mesh with unique UV coordinates, and a detail mesh containing only geometry. We run the two meshes through the Unreal Engine 3 preprocessing tool and generate a high-res normal map for the renderable mesh, based on analyzing all of the geometry in the detail mesh.
  • Renderable Mesh: We build renderable meshes with 3,000-12,000 triangles, based on the expectation of 5-20 visible characters in a game scene.
  • Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
  • Bones: The highest LOD version of our characters typically have 100-200 bones, and include articulated faces, hands, and fingers.
Normal Maps & Texture maps
We are authoring most character and world normal maps and texture maps at 2048x2048 resolution. We feel this is a good target for games running on mid-range PC's in the 2006 timeframe.  Next-generation consoles may require reducing texture resolution by 2X, and low-end PC's up to 4X, depending on texture count and scene complexity.
Environments
Typical environments contain 1000-5000 total renderable objects, including static meshes and skeletal meshes. For reasonable performance on current 3D cards, we aim to keep the number of visible objects in any given scene to 300-1000 visible objects. Our larger scenes typically peak at 500,000 to 1,500,000 rendered triangles.
Lights
There are no hardcoded limits on light counts, but for performance we try to limit the number of large-radius lights affecting large scenes to 2-5, as each light/object interaction pair is costly due to the engine's high-precision per-pixel lighting and shadowing pipeline. Low-radius lights used for highlights and detail lighting on specific objects are significantly less costly than lights affecting the full scene.
 
虚幻3自学教程,图文虚幻3引擎(Unreal Engine 3)又称虚幻引擎3,是一套为DirectX 9/10 PC、Xbox 360、PlayStation 3平台准备的完整的游戏开发构架,提供大量的核心技术阵列,内容编辑工具,支持高端开发团队的基础项目建设。   虚幻3引擎的所有编写观念都是为了更加容易的内容制作和编程的开发,为了让所有的美术开发人员能够牵扯到最少程序开发内容的情况下使用抽象程序助手来自由创建虚拟环境,以及提供程序编写者高效率的模块和可扩展的开发构架用来创建,测试,和完成各种类型的游戏制作。  虚幻3引擎给人留下最深印象的就是其极端细腻的人物和物品模型。通常游戏的人物模型由几百至几千个多边形组成,并在模型上直接进行贴图和渲染等工作从而得到最终的画面。而虚幻3引擎的进步之处就在于在游戏的制作阶段,引擎可以支持制作人员创建一个数百万多边形组成的超精细模型(最上面的模型由200万多边形组成,而下面的模型仅有5287个多边形),并对模型进行细致的渲染,从而得到一张高品质的法线贴图,这张法线贴图中记录了高精度模型的所有光照信息和通道信息。在游戏最终运行的时候,游戏会自动将这张带有全部渲染信息的法线贴图应用到一个低多边形数量(通常在5000-15000多边形)的模型上。这样的效果就是游戏的模型虽然多边形数量比较少但是其渲染精度几乎和数百万多边形的模型一样,这样可以在保证效果的同时在最大程度上节省显卡的计算资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值