Creating a custom placeable from a model tutorial
This tutorial describes how to create a custom Placeable based on a Model that is already active in your toolset. This process should work with any model, whether custom or packaged with the game. It is assumed that the reader is familiar with the Toolset.
Set up your 2DA file
The columns you need to edit (or at least check) in the spreadsheet are ID, Label (something meaningful to you - does not have to be unique), ModelName (the name of your MMH file), OcclusionFactor (optional), StateController, and baseType (values are listed on the first tab in the excel file).
Check the 2DA ranges in use page to make sure you are not using row IDs in your 2da file that will conflict with the core game or other popular modules.
The StateController field is very important because it determines the type of action that can be used with your placeable in game. For example, "Informational" objects can be examined, but cannot be used to start a conversation when clicked on. Instead "Puzzle" objects are used to start a conversation when clicked on. Think about what you want your placeable to do and choose the StateController to match it.
Tip: Excel Processor will generate a GDA file for every worksheet within a workbook. You do not need all of these. Only keep the one that you edited (in this case it would be placeable_types) and place that one in the override folder.
Extract model files
Use DATool by Adinos to extract the DDS, MAO, PHY, MMH, and MSH files for the model you want to make into a placeable. To do this with the DATool click File > Save all. Put them some place easy to access so you can work on them.
Change the names of your MAO, MMH, and PHY files
Change the names of your MAO, MMH, and PHY files so that they start with plc_ instead of prp_. The new name must have the same number of characters as the old name.
Edit your MAO file
Open the MAO file using a text editor like Notepad.
- In <MaterialObject Name="filename"> change filename to the new name of the MAO file.
- In <Material Name="static.mat"> replace static.mat with Prop.mat.
- Delete the line that starts with <Texture Name="mml_tLightmap
- Delete the line that starts with <SoundType Name=
- Add a line that says <Texture Name="mml_tTintMask" ResName="Default_White.dds"></Texture>
- Save and close the MAO file.
Edit your MMH and PHY files
Launch the Toolset.
Open the new MMH file. Change MMH_NAME to match your new MMH file name. Towards the end of the MMF is a field for material object, which needs to be changed to the name of your new MAO file. Save and close the MMH file.
Open your new PHY file.
- Change MMH_NAME to the name of your new MMH file.
- Change MMH_NODE_COLLISION_OBJ_TYPE from 2 to 1.
- Change MMH_SHAPE_COLLISION_MASK_PLACEABLES from 0 to 1. (This is the field that tells the toolset and the game to use your object as a placeable, making it clickable.)
- Change MMH_SHAPE_COLLISION_MASK_STATIC_GEOMETRY from 1 to 0. (This field tells the toolset and the game that your object is a prop and is not clickable.)
- Save and close the PHY file.
Close your toolset.
Put files in override folder
Put your new MAO, MMH, and PHY files in Dragon Age/Packages/Core/Override.
Create your custom placeable
You can now create a new placeable in the toolset using your model. The process of creating a new placeable is described in the Placeable tutorial page.