Getting a Maya Character into UT3:
Now for the hard part... exporting out of Maya and getting the character in UT3:
- Install the ActorX Plug-In: One can download actor x plugin: http://udn.epicgames.com/Two/ActorX.html
-Install the plug-in, download ActorX plug in for Maya and copy it to your plug-ins directory (C:\Programs\Maya2009\bin\plug-ins)
-Enable plug-in Settings > Plug-in Manager > Check loaded and auto load
-Export your character using the ActorX plug-in.
-Before exporting be sure to Triangulate in Maya
-type “axmain” in the MEL command window and the “Skeletal Exporter” window will open.
-In the Exporter fill out the following:
------------Output Folder: The name of the directory for the .PSK file
-When exporting from Maya:
------------One needs to Break their character into parts, select each mesh individually (arms, head,torso, legs, boots), and delete all other meshes. Use lowercase letters.
------------Then export each mesh part one at a time.
------------Undo until you’ve brought back the whole mesh, select the next mesh to export, delete the other meshes, and export again until all 5 mesh parts are done.
-Mesh File Name: Type in the name of your character Click the “Save mesh/refpose” button
------------It is important to keep all naming conventions uniform so there are minimal errors in the ini file. I recommend you use your initials_bodypart.psk.
------------Example ak_arms.psk
------------No character .psk names can be the same, so when players load and share files they won’t overwrite each other.
-Click OK for the windows that pop up on export
Open the Unreal Editor:
The important thing to remember is that the Unreal Editor is extremely buggy, and it may take several attempts before the character, textures, and animations are all working.
-Open Generic Browser
-File>Import
-select all meshes > Open
-In Import dialogue name the package CH_charactername (your initials)
-name the Group "Mesh"
-make sure objects have their correct name (eg. charactername_arms etc)
See the example here:
- Here you will see all of the meshes are now imported
-Save package after import to My Documents/My Games/Unreal Tournament 3/UTGame/Unpublished/CookedPC/CustomChar
- In Generic Browser double click one of the new meshes
- In the Skeletal Mesh window open Mesh tab (bottom left)
-----Open Origin dropdown
----------Set Z to -51
-----Open RotOrigin dropdown
----------Set Yaw to -90
-Close window
-Repeat for each new mesh. Ccheck your meshes now it should be facing left and the grid should be cutting through where the characters waist would be. This step is done to align the models correctly with the UT world interface.
Follow these steps for Arms, Torso and Boots
-go to Mesh>Socket Manager
![]()
----click New Socket
-in list of bones choose the correct bone click OK
-----name the socket EXACTLY as it appears belowMesh Bone Socket Name:
Arms: b_RightWeapon------------------WeaponPoint
Arms: b_LeftWeapon------------------- DualWeaponPoint
Torso: b_Neck---------------------------- HeadShotGore
Boots: b_LeftAnkle---------------------- L_JB
Boots: b_RightAnkle---------------------R_JB
-Go back to Generic Browser
-File>Import
-select all textures > Open
-In Import dialogue
----set the package to CH_charactername (example: CH_ak)
----name the Group "Materials"
----name the texture charactername_Diffuse_# (or Normal, Specular,etc) (Example: ak_diffuse_1)
------------WE WILL ONLY BE USING DIFFUSE MAPS HERE THOUGH----------------------------------------
-In Import>Options
-----Set LODGroup to: TEXTUREGROUP_Character
- Save package:
In Generic Browser right click > New MaterialInstanceConstant
![]()
-------Name it MIC_charactername_1
-Keep Material Instance window open
-------Go back to Generic Browser
-------Open Ch_All package
-------Highlight MI_CH_All_TwinSouls_Base
-Go back to the open Material Instance window
-Under parent click green arrow to add MI_CH_All_TwinSouls_Base as the parent
-Open Properties and texturesParameterValues tab
------Set the appropriate textures
-Make sure you check the box next to the textures you are using
-Back to Generic Browser open one of your meshes
-Open Mesh tab>Properties>Materials
--------If there is no material click the plus sign to add one
-Apply the appropriate MIC to the mesh with the green arrow
--------Repeat for all meshes
-Save the package to My Documents/My Games/Unreal Tournament 3/UTGame/Unpublished/CookedPC/CustomChars
-Save again to My Documents/My Games/Unreal Tournament 3/UTGame/Published/CookedPC/CustomChars
-----------------------------------------If the Published folder doesn’t exist create it and the CookedPC/CustomChars folders
- Editing the Intitialization file code:
-On your hard drive make a copy of My Documents/My Games/Unreal Tournament 3/UTGame/Config/UTCustomChar.ini in another area (this is a backup)
![]()
- Open My Documents/My Games/Unreal Tournament/ 3/UTGame/Config/UTCustomChar.ini with notepad
--------------Above the [IniVersion] line paste the following code:
BEGIN CODE
Parts=(Part=PART_Head,ObjectName="CH_intitials.Mesh.initials_head",PartID="initials_head",FamilyID="IRNM")
Parts=(Part=PART_Torso,ObjectName="CH_intitials.Mesh.initials_torso",PartID="initials_torso",FamilyID="IRNM")
Parts=(Part=PART_Arms,ObjectName="CH_intitials.Mesh.initials_arms",PartID="initials_arms",FamilyID="IRNM")
Parts=(Part=PART_Thighs,ObjectName="CH_intitials.Mesh.initials_legs",PartID="initials_legs",FamilyID="IRNM")
Parts=(Part=PART_Boots,ObjectName="CH_intitials.Mesh.initials_boots",PartID="initials_boots",FamilyID="IRNM")
Characters=(CharName="initials",Description="Custom Character",CharID="initials",Faction="IronGuard", PreviewImageMarkup="<Images:UI_Portrait.Character.UI_Portrait_Character_TwinSouls_Male_Head03>", CharData=(FamilyID="IRNM",HeadID="initials_head",TorsoID="initials_torso",bHasLeftShoPad=false, bHasRightShoPad=false, ArmsID="initials_arms", ThighsID="initials_legs", BootsID="initials_boots") , AIData=(Jumpiness=-0.4,StrafingAbility=-0.2,CombatStyle=0.5,FavoriteWeapon="UTGame.UTWeap_RocketLauncher"))
END CODE
EVERYWHERE IT SAYS "INITIALS" IN BOLD (above), FIND AND REPLACE THE CODE WITH YOUR INITIALS (as you see here):
Save the file!
Play UT3 to test the character
Go to Settings >CustomizePlayer choose your character and press accept. You should get a turntable look at your character:
Go to Instant Action> Death Match
In game press F10 and type behindview
TROUBLESHOOTING------If the character doesn’t show up in the selection screen make sure the .ini file has all the correct spelling and you did not use any symbols in your names
-------If the game crashes before showing the character make sure you have the package in the My Documents/My Games/Unreal Tournament 3/UTGame/Unpublished/CookedPC/CustomChars and it is named the same as you have in the .ini file
-------If the character is invisible make sure the .ini file has the meshes names correctly and you also have called the group (Mesh) correctly
-------If the character is all black your material was not set up properly. Recreate the material instance constant
-------If the character is in the Selection screen but not in game make sure the meshes have the material instance constant assigned to them in the editor
-------If the character is blown out (glowing all white) usually this means you have the wrong material as the parent in the material instance constant or the Specular or Emissive texture don’t have an alpha channel.
-------If the character is floating or facing the wrong way set the Meshes origin X to -51 and/or the Yaw to -90. If this is set then the model was not exported from Max or Maya from the origin, or the pivot point was not centered at the ground and between the feet.
-------If the character comes into the game but is not animated with the skeleton, make sure you did not have "underscores to spaces" checked in your ActorX options (axoptions from the script editor in Maya).TO SHARE CUSTOM CHARACTERS BETWEEN STUDENTS
---Make a folder on your computer called CustomChars, put your package in it
----Create a new folder in CustomChars called CH_charactername
In this folder create a new text file called UTCustomChar.ini (Copy this and rename the bold areas like you did in the original .ini file. It is important that THIS file has the + in front of the lines)
[UTGame.UTCustomChar_Data]
+Parts=(Part=PART_Head,ObjectName="CH_name.Mesh.name_head",PartID="name_head",FamilyID="IRNM")
+Parts=(Part=PART_Torso,ObjectName="CH_name.Mesh.name_torso",PartID="name_torso",FamilyID="IRNM")
+Parts=(Part=PART_Arms,ObjectName="CH_name.Mesh.name_arms",PartID="name_arms",FamilyID="IRNM")
+Parts=(Part=PART_Thighs,ObjectName="CH_name.Mesh.name_legs",PartID="name_legs",FamilyID="IRNM")
+Parts=(Part=PART_Boots,ObjectName="CH_name.Mesh.name_boots",PartID="name_boots",FamilyID="IRNM")
+Characters=(CharName="name",Description="Custom Character",CharID="name",Faction="IronGuard", PreviewImageMarkup="<Images:UI_Portrait.Character.UI_Portrait_Character_TwinSouls_Male_Head03>", CharData=(FamilyID="IRNM",HeadID="name_head",TorsoID="name_torso",bHasLeftShoPad=false, bHasRightShoPad=false, ArmsID="name_arms", ThighsID="name_legs", BootsID="name_boots") , AIData=(Jumpiness=-0.4,StrafingAbility=-0.2,CombatStyle=0.5,FavoriteWeapon="UTGame.UTWeap_RocketLauncher"))
The other gamers should place this new folder set into their My Documents/My Games/Unreal Tournament 3/UTGame/Unpublished/CookedPC/CustomChars.
You will now be able to see multiple custom characters in the game!