Real information about Unreal Engine 3

Tuesday, April 30, 2013

Resource Localization

The Basic Rule


Unreal Engine 3 supports text localization with respective ini files for each language in the "Localization" folders. For binary data, localization is based on providing different versions of the same packages for each supported languages. Each language has its three letter code, and a package file for a certain language has to postfix its filename with the code. When the engine loads a package, it first looks for a path extended with the current language code. If not found, it falls back to the one with _INT postfix and then the intact path. For example, if the engine wants to load A.upk and are running Japanese, it will try A_JPN.upk , A_INT.upk, and A.upk in turn. You can use this rule for most of resources, but when it comes to cooking, things get more complicated.

Notes you should make the resources in localized packages corresponding to others. If you have a resource in a package for a certain language, you should have corresponding resources in other language's. This is because only one version for a given package name is loaded by the engine at the same time. So separating localized and non-localized resources into different packages is a good practice. Otherwise, you have to make sure the consistence of the same non-localized resources in different localized packages.
Read More

Sunday, March 31, 2013

Input Event Flow

If you ever tried to make a mod based on UTGame, you might have found in some situations you could not recieve user input in PlayerController. For example, when the pause menu pops up. This is because there are many layers of input handlers in UE. When an input handler receives an input event, the handler can capture it and prevent it from being processed by other handlers.

Input Handler


In UE, a class called Interaction represents the input handler. It has three delegate functions for scriptors to get input events:
  • OnReceivedNativeInputKey
  • OnReceivedNativeInputAxis
  • OnReceivedNativeInputChar
If these delegates return true, the input event will be considered as handled and will not be processed further.
Read More

Saturday, February 23, 2013

Name vs. String

If you are new to UnrealScript, you may wonder what the difference between Names and Strings is and when you should use Names instead of Strings. This article will give you some information about that.

Limitation

 

Names are unmodifiable. You can't cut down the string values of Names like Strings, but you can assign a Name variable to a new value.

Names are restricted to up to 1024 characters, and Name constants allow only alphanumeric characters or underscores. However, you can make a Name variable containing non-alphanumeric characters by converting a string to it like the following.
ANameVar = name(":>");
Read More

Sunday, January 27, 2013

Mouse Picking


This information is about how to get the objects a user pick in a scene.There are two ways provided by UE3 to get the picked objects: Hit Proxy and ray tracing. Hit Proxy works like OpenGL's selection mode. It is accurate but more expensive. Ray tracing is not that accurate because the collision shapes of objects may be not identical to their graphical shapes. However, you need a source code license to use Hit Proxy, so I would like to just talk about the ray tracing method here.

To cast a ray in a scene and see what is hit, you can use the function Actor:Trace(). It returns the first hit Actor and other hit information like hit location and hit normal. Notes it only hit Actors whose bCollideActors is enabled and ignore the Actor which the invocation is on.
Read More

Sunday, December 30, 2012

Sub-Archetype

Currectly there's no much information about sub-archetype on UDN, so I'd like to share some I know.

An archetype is an instance of a centain class, its properties inherit the class default values but you can change them as you wish. If its property values do not change but the class default values do, the property values will change accordingly. If its property values change, then they will stick to the modified values as the class default values change. You can create an archetype in the Actor Classes Browser.

Read More

Saturday, July 7, 2012

Split Screen

Unreal Engine 3 inherently supports split screen up to 4 viewports for 4 local players. In GameViewportClient.uc, there is an enum named ESplitScreenType, which lists different layouts for different numbers of players.
eSST_NONE
eSST_2P_HORIZONTAL
eSST_2P_VERTICAL
Read More

Friday, June 15, 2012

Setting up a UnrealScript project in Visual Studio

nFringe is a plug-in for Visual Studio to support UnrealScript. It allows you to create UnrealScript projects, and it supports IntelliSense and the debugger in Visual Studio. It has a commercial license and a non-commercial one. You can register a non-commercial license without charge, and it allows you to use all functions with UDK. For a UnrealScript scripter using UDK, it is definitely worthy to give it a shot.

Installation


  • Install Visual Studio 2008.
  • Download nFringe, and install it.
  • Register a non-commercial license of nFringe. You MUST have a license to use it.

Creating a UnrealScript project


Start Visual Studio, and then in the menu bar, click File > New > Project..., and then a dialog window shows up:
Read More

Followers

AD (728x90)

Powered by Blogger.