Sniper's Paradise!
Exec Commands
Before we get started, thanks to c0mp1le, Ob1-Kenobi & Mr.Mitchell for their invaluable advice during the creation of this tutorial.
#exec commands are used to import resources (e.g. models, textures, sounds, etc.) into a .u file, the resource can be in the relevant Unreal format (e.g. utx, uax) or in one of a number of other formats that UCC and UnrealEd support.#exec commands can either be placed in the body of a UnrealScript class or typed directly into the UnrealEd console.
Miscellaneous Resources
#exec OBJ LOAD
This #exec command will import a pre-existing Unreal resource, commonly a .utx file.
| Parameter | Description | Possible values | Optional? |
| FILE | specifies the path of the resource to import | ||
| PACKAGE | specifies the name of the package to import resource into |
Example:
| #exec OBJ LOAD FILE=..\Textures\JWSKy.utx PACKAGE=SE |
#exec TEXTURE IMPORT
Imports a texture from a .pcx file.
| Parameter | Description | Possible values | Optional? |
| NAME | specifies the name of the texture in Unreal | ||
| FILE | specifies the path of the texture to import | ||
| GROUP | which group in the current package to place the texture | Yes | |
| MIPS | whether or not mip-maps should be generated for this texture, should be OFF for textures that'll be used by UWindows (e.g. new HUD icons) | ON/OFF | Yes |
| FLAGS | 2 = masked texture | Yes |
Example:
| #exec TEXTURE IMPORT NAME=Light FILE=Textures\Light.PCX GROUP="Icons" MIPS=OFF FLAGS=2 |
#exec FONT IMPORT
Import a font texture for use as a font in Unreal.
| Parameter | Description | Possible values | Optional? |
| FILE | specifies the path of the font texture to import | ||
| NAME | specifies the name of the font in Unreal |
Example:
| #exec FONT IMPORT FILE=Textures\MedFont.pcx NAME=MedFont |
#exec NEW TRUETYPEFONTFACTORY
Import a true type font for use as a font in Unreal. For a thorough explanation of the nuances of importing true type fonts read this.
| Parameter | Description | Possible values | Optional? |
| PACKAGE | specifies the name of the UTX package to import the font into (but only if importing from within UnrealEd) | Yes | |
| NAME | specifies the name of the font in Unreal | ||
| FONTNAME | specifies the Windows name of the font to be imported, e.g. "Arial" | ||
| HEIGHT | height of the font in pixels, which is passed to the Windows' CreateFont() API call | ||
| ANTIALIAS | whether or not to anti-alias the font when importing it (1 = anti-aliased) | 0/1 | |
| CHARACTERSPERPAGE | specifies the number of characters per 256x256 pixel font texture. The default is 64 | Yes | |
| XPAD | adds horizontal space between characters | Yes | |
| YPAD | adds vertical space between characters | Yes |
Example:
| #exec NEW TRUETYPEFONTFACTORY NAME=Tahoma30 FONTNAME="Tahoma" Height=30 ANTIALIAS=1 CHARACTERSPERPAGE=32 |
#exec AUDIO IMPORT
Import a sound from a .wav file.
| Parameter | Description | Possible values | Optional? |
| FILE | specifies the path of the sound to import | ||
| NAME | specifies the name of the sound in Unreal | ||
| GROUP | which group in the current package to place the sound | Yes |
Example:
| #exec AUDIO IMPORT FILE="Sounds\ChainSaw\ChainIdle.WAV" NAME="ChainIdle" GROUP="ChainSaw" |
Vertex Animation
Importing models into Unreal requires an understanding of the LOD system, read up on it here.
#exec MESH LODPARAMS
Configure various LOD options for a mesh (vertex or skeletal).
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh to configure LODing for | ||
| STRENGTH | per-mesh linear LOD scaler, default = 1.0, higher values result in more aggressive LOD-culling | ||
| MINVERTS | the minimum number of vertices you want your mesh to always retain at the farthest distances | Yes | |
| MORPH | the proportion of vertices that are allowed to contribute to the smooth morphing, 0.0 for no morphing | 0 - 1 | Yes |
| ZDISP | specifies in UUs the distance at which the LOD culling kicks in | Yes |
Example:
| #exec MESH LODPARAMS MESH=LodMesh STRENGTH=1.0 MINVERTS=14 MORPH=0.25 ZDISP=90.0 |
#exec MESH IMPORT
Imports a vertex mesh (_d.3d).
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the name of the mesh in Unreal | ||
| ANIVFILE | specifies the path of the animation file | ||
| DATAFILE | specifies the path of the vertex mesh | ||
| X, Y, Z | set the origin of the mesh | Yes | |
| MLOD | whether or not this mesh should be LODed | 0/1 | Yes |
| LODSTYLE | bit field with switches to change the style of building the pre-collapse sequence | 1, 2, 4, 8, 16 | Yes |
| LODFRAME | specify which animation frame rather than the default 0th frame to be sampled for generating the collapse sequence | Yes | |
| LODNOTEX | causes texture coordinates to be ignored when importing | Yes | |
| LODOLD | maintain the original order of animation vertices as they are imported | Yes |
Example:
| #exec MESH IMPORT MESH=Duke ANIVFILE=MODELS\Duke_a.3d DATAFILE=MODELS\Duke_d.3d X=0 Y=0 Z=0 LODSTYLE=1 |
#exec MESH ORIGIN
Sets the origin of a mesh.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh to set the origin of | ||
| X, Y, Z | set the origin of the mesh | Yes | |
| YAW, ROLL, PITCH | set the rotation of the mesh | Yes |
Example:
| #exec MESH ORIGIN MESH=Duke X=0 Y=0 Z=0 |
#exec MESH SEQUENCE
Define an animation sequence.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh to create an animation sequence for | ||
| SEQ | specifies the name of the animation sequence | ||
| STARTFRAME | specifies the frame at which the animation sequence starts | ||
| NUMFRAMES | specifies the number of frames in the animation | ||
| RATE | frames per second (though the duration of the anim is set in PlayAnim() calls) | Yes | |
| GROUP | which group to place the anim in | Yes |
Example:
| #exec MESH SEQUENCE MESH=Duke SEQ=All STARTFRAME=0 NUMFRAMES=265 |
#exec MESH NOTIFY
Create a notification callback.
| Parameter | Description | Possible values | Optional? |
| MESH | the mesh to link the notification to | ||
| SEQ | specifies the name of the animation sequence | ||
| TIME | call the notify function after this fraction of the animation has played (e.g. 0.1 = 1/10th) | 0 - 1 | |
| FUNCTION | specifies the name of the function to call |
Example:
| #exec MESH NOTIFY MESH=Duke SEQ=All TIME=0.1 FUNCTION=LandThump |
#exec MESHMAP NEW
Define a meshmap to apply textures to a mesh.
| Parameter | Description | Possible values | Optional? |
| MESHMAP | specifies the name of the meshmap | ||
| MESH | specifies the mesh which the meshmap applies to |
Example:
| #exec MESHMAP NEW MESHMAP=Duke MESH=Duke |
#exce MESHMAP SCALE
Change the scale of a meshmap.
| Parameter | Description | Possible values | Optional? |
| MESHMAP | specifies the meshmap to scale | ||
| X, Y, Z | how much to scale the meshmap on each axes |
Example:
| #exec MESHMAP SCALE MESHMAP=Duke X=0.1 Y=0.1 Z=0.2 |
#exce MESHMAP SETTEXTURE
Assign a texture to part of a meshmap.
| Parameter | Description | Possible values | Optional? |
| MESHMAP | specifies the meshmap to assign textures to | ||
| NUM | where to place this texture in the MultiSkins array | ||
| TEXTURE | specifies the name of the texture to apply, this texture should already have been imported |
Example:
| #exec MESHMAP SETTEXTURE MESHMAP=Duke NUM=0 TEXTURE=Duke0 |
Skeletal Animation
Essential reading for the skeletal animation system can be found here.
#exec MESH MODELIMPORT
Imports a skeletal mesh (.psk).
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the name of the mesh in Unreal | ||
| MODELFILE | specifies the path of the model to import | ||
| X, Y, Z | set the origin of the mesh | Yes | |
| MLOD | whether or not this mesh should be LODed | 0/1 | Yes |
| LODSTYLE | bit field with switches to change the style of building the pre-collapse sequence | 1, 2, 4, 8, 16 | Yes |
| LODFRAME | specify which animation frame rather than the default 0th frame to be sampled for generating the collapse sequence | Yes | |
| LODNOTEX | causes texture coordinates to be ignored when importing | Yes | |
| LODOLD | maintain the original order of animation vertices as they are imported | Yes |
Example:
| #exec MESH MODELIMPORT MESH=Tosc MODELFILE=MODELS\Tosc.psK LODSTYLE=8 X=0 Y=0 Z=0 |
#exec ANIM IMPORT
Import an animation file (.psa).
| Parameter | Description | Possible values | Optional? |
| ANIM | specifies the name of the UAnimation object | ||
| ANIMFILE | specifies the path of the animation file to import | ||
| IMPORTSEQS | 1 signifies that the animation sequence info embedded into the binary .PSA file by the Max exporter is to be used | ||
| MAXKEYS | sets an adjustable squeeze on the number of keys in the animation as a whole | Yes | |
| COMPRESS | does the same as MAXKEYS, does the same but with a simple factor ranging from 0 to 1 | 0 - 1 | Yes |
Example:
| #exec ANIM IMPORT ANIM=SkAnimTest ANIMFILE=models\10.psa IMPORTSEQS=1 COMPRESS=0.9 MAXKEYS=9999999 |
#exec ANIM SEQUENCE
Import an animation sequence.
Yes
| Parameter | Description | Possible values | Optional? |
| ANIM | specifies the name of the animation | ||
| SEQ | specifies the name of the animation sequence | ||
| STARTFRAME | specifies the frame at which the animation starts | ||
| NUMFRAMES | specifies the number of frames in the animation | ||
| RATE | frames per second (though the duration of the anim is set in PlayAnim() calls) | ||
| GROUP | which group to place the anim in | Yes |
Example:
| #exec ANIM SEQUENCE ANIM=TozcAnim1 SEQ=All STARTFRAME=0 NUMFRAMES=25 RATE=0.2 GROUP=Default |
#exec ANIM DIGEST
Once you've imported animations, a DIGEST command needs to be issued, at which point all sequences are compressed into the internal key track format.
| Parameter | Description | Possible values | Optional? |
| ANIM | specifies the UAnimation object to "digest" the animations into | ||
| VERBOSE | specify 'VERBOSE' to see more information in UCC.log after the rebuild | Yes |
Example:
| #exec ANIM DIGEST ANIM=SkAnimTest VERBOSE |
#exec ANIM NOTIFY
Create a notifcation callback, must be placed after the ANIM DIGEST.
| Parameter | Description | Possible values | Optional? |
| ANIM | specifies the animation to link the notification to | ||
| SEQ | specifies the name of the animation sequence | ||
| TIME | call the notify function after this fraction of the animation has played (e.g. 0.1 = 1/10th) | 0 - 1 | |
| FUNCTION | specifies the name of the function to call |
Example:
| #exec ANIM NOTIFY ANIM=TozcAnim1 SEQ=All TIME=0.1 FUNCTION=LandThump |
#exec MESH DEFAULTANIM
Link a UAnimation object to a skeletal mesh at compile time.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the skeletal mesh to link the animations to | ||
| ANIM | specifies the UAnimation object to link |
Example:
| #exec MESH DEFAULTANIM MESH=MeshSk ANIM=SkAnimTest |
#exec MESH BOUNDINGBOX
Override the engine's default bounding box with one that better fits the model.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh to define the bounding box for | ||
| XMIN, YMIN, ZMIN | define the lower bounds of the box | ||
| XMAX, YMAX, ZMAX | define the upper bounds of the box |
Example:
| #exec MESH BOUNDINGBOX MESH=MeshSk XMIN=-64.0 YMIN=-64.0 ZMIN=-64.0 XMAX=64.0 YMAX=64.0 ZMAX=64.0 |
#exec MESH WEAPONATTACH
Define which bone is the weapon carrier.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh we're defining the weapon bone for | ||
| BONE | the name of the bone to assign as weapon carrier |
Example:
| #exec MESH WEAPONATTACH MESH=MeshSk BONE="Right hand" |
#exec MESH WEAPONPOSITION
Define the location of the attachment point, relative to the weapon carrier bone.
| Parameter | Description | Possible values | Optional? |
| MESH | specifies the mesh we're dealing with | ||
| YAW, PITCH, ROLL | specifies the rotation of the weapon attachment point | ||
| X, Y, Z | specifies the location of the weapon attachment point |
Example:
| #exec MESH WEAPONPOSITION MESH=MeshSk YAW=50 PITCH=0 ROLL=10 X=0.0 Y=0.0 Z=0.0 |
All logos and trademarks are properties of their respective owners.
Unreal™ is a registered trademark of Epic Games Inc.
Privacy Policy
Website by Softly
Powered by RUSH