placeables.2da stores information about Placeable appearances and bodybag default reference and sound when hit. The rest of placeable information is stored in an individual blueprint/instance.
In the GFF the appearance is stored as a line ID thus changing lines in placeables.2da changes all things referencing that line.
See also the file format specification for placeables.
Minimum Columns
The bare minimum amount of columns recommended for placeables to load in the toolset and in game are:
- Label - Toolset only, not used by the game but highly recommended in any case
- ModelName - Needed to, well, load the model - the whole point of the 2da file in the first place.
- SoundAppType - Required for the game to know what sounds to load when attacking etc. and should be used for even static placeables (which are real placeables, just a bit weirder, see Placeable)
Everything else is optional, as per below.
Placeable Transparency, Reflections
A special note about the column Reflection - when a placeable is made static it will seem to default to having transparency, regardless of the column usage here. Probably because static placeables act more like tiles then placeables!
In NWN:EE it is recommended to use **** regardless since you can safely make MTR files which have proper specular maps (shiny/reflective surfaces) and the alpha being the transparency is much more useful on PBR textures.
Portraits
Note that the toolset won't auto select the correct portrait when selecting an appearance, for whatever reason, probably because Bioware didn't really stick to having "po_NAME_m" as the standard and there is no column to reference the right portrait (sadly).
You still should add the placeable portrait and tag it into the right category in portraits.2da however to be usable in the game.
2da Columns
Column | Example Contents | Valid Values | Description and Notes |
---|---|---|---|
Label | "new:Gem, Diamond" | Text | Human readable label. The label must be a continuous line of text - e.g. BrokenTable - unless bracketed by quotation marks - e.g. "Table, Broken". |
StrRef | 111344 | dialog.tlk string reference ID | Shown in toolset as the appearance name. If this is "****", then the Label will be the name that appears in the toolset. |
ModelName | it_midmisc_151 | Resref of model | Model that is shown in toolset and in game for this appearance. |
LightColor | 6 | Index into lightcolor.2da | If ****, then do not spawn in a light. Otherwise, spawn in "fx_placeable01.mdl" as a light source, and set its colors as specified in lightcolor.2da. Note the default fx_placeable01.mdl file has an annoying (or very 2000's style) "camera flare"; see discussion here. You can remove it yourself from the model to clear it out or blank the "flare" texture (which is fxpa_flare). Note that there is also fx_flame01.mdl commonly referenced in other models that also has fxpa_flare. It is not recommended to remove fxpa_flare texture itself - several creatures reference it for their visual effects, such as Fire Elementals having fiery sparks coming off them. The list of models using the texture is available here. |
LightOffsetX | 0.003989 | X vector | Offset in meters by which the light model's "root" node should be moved after it has been spawned. Spawn in the light at the same location as the placeable. |
LightOffsetY | 0.010825 | Y vector | |
LightOffsetZ | 0.874821 | Z vector | |
SoundAppType | 21 | Index into placeableobjsnds.2da | Sounds when hit, opening, destroyed etc. |
ShadowSize | 1 | **** (no shadow cast) 0 - Small shadow 1 - Medium shadow 2 - Large shadow | When the Shadows setting is set to "Fast" it uses this to determine the basic shadow size to cast. Most objects just set it to 1, and **** if there is no shadow (eg; underwater objects, or see through objects). For reference these VFX are used at the base of the model in case you wanted to alter them:
If you set 3 or some other number it'll default the value to 1. Oddly 2 isn't used as an option by Bioware but testing confirms that VFX loads (you can replace the model and see for yourself) although nowadays in NWN:EE most people will enable Best shadows which displays none of them. |
BodyBag | 0 | 0 or **** - Normal placeable 1 - Bodybag | Checking in the game setting it to something different doesn't do anything, and it is noticeable only bodybags have it set to 1 although they still appear in the toolset as normal (and some of the "BB_" ones are not even used by the game as bodybags oddly). It likely reflects a toolset-only thing, although bodybag.2da defines what bodybags are and a blueprint defaults to the "Default" dropdown option (which can then be changed to one of the bodybag.2da options if desired) making this option either unused or possibly pointless. Possibly it's also a bug since the Official Bioware PDFs say it is a link to bodybag.2da, but to be honest since the game doesn't use anything other than 0 or 1 and it can be overriden on the blueprint it really probably doesn't matter much! Of course if you make new bodybag.2da entries setting this column to 1 for the appearance of them would be recommended just in case it does do something. |
LowGore | PLC_P04 | Resref of model | ResRef of alternate MDL to use if the one listed under ModelName is too violent for the current violence settings in the game. |
Reflection | default PLC_G_ENV | **** default Or an environment map resref | **** = alpha channel is transparency default = alpha channel is reflectiveness - uses the value in the SET file for the area you're currently in The column can otherwise accept any other reflection map resref. There are a few, like the Gygax stuff, which use DLA's custom reflection map (dlag__ref01). Golden/shiny objects seem to use PLC_G_ENV as well. See notes above: Static placeables seem to ignore this column and act as if it is **** |
Static | 1 | 1 Allow Static option 0 Disable Static option | If set to 0 will disable the Static tickbox in the toolset for this appearance. This was to fix the fact certain skinmesh based placeables will crash the game if loaded in as a static one (eg: plc_fish01.mdl or pwc_sieg_001.mdl). You can still have a placeable set to plot and unusable to get a similar effect (just they'll fade out at 45M). |