ACTION POINTS - UI
Action Points are used to attach spawned objets inside the game to the rig. Modified the Action Points UI to use a more dynamic list style rather than the button based style that was previously being used. Any selection on the list updates the description panel to show the use of the action point. The script also searches for the default joint where the action point is attached in the scene. If the default joint is missing then a new joint must be selected to add the action point to. I also updated the action point creation process so that it throws an error if the user tries to create an action point on a referenced rig. It also checks to make sure that the selected joint has the correct naming convention and that the action point is not already present in the scene.
During my time at Arenanet I also had the chance to work on the exporter which we used inside Maya to take all our 3D assets like our models, effects and animations and convert it into a format which is used by the game engine. The exporter does this by going through the whole scene and sorting all the different assets into various export groups based on their type. It also performs certain checks to make sure that all the expected nodes/components are connected are present in the scene. I contributed to the exporter to process the various effects types that we use in the game. It goes through the scene and gets all the effects types and then checks their nodes for the right connections. It also checks the naming conventions and we added a flag by which we could turn the effect type off inside the game when the character is in stealth or thief mode.
MORPH TARGET CREATOR
The morph target creator is used to create all the required target meshes for the selected combination of race, gender and asset type. The tool takes the selected combination and looks it up in a dictionary to create the required target meshes. It also places them in the right position and assign the correct name to each of them. I added a validate button so that the user can check the scene at any time for missing morph targets or unexpected ones. It also alerts the user if morph targets which are expected but not connected to the blendshape node. It also allows the user to add extra target meshes to the blendshape node. I also modified the way that the target meshes are created so that it validates existing meshes before creating new ones.