Finding CBPC And SMP Physics Presets
1. Foreword
This is intended solely for locating physics preset files in both CBPC and SMP. This does not contain anything about how to configure these files.
2. Definitions
Wildcards:
Windows systems have supported wildcards in file names since the early DOS days.
- An asterisk (*) matches any number of characters: he*.txt will match the following: hello.txt, help.txt and he.txt
- A question mark (?) matches any single character: he?.txt will match the following: hey.txt and hen.txt
- More.
Optional syntax:
Square brackets are typcally enclosing an optional component. In the following example, the commandline for program.exe requires "file" and will accept "file2" if is specified: program.exe file [file2]
Armor:
The naked body is considered armor, just like your hat or shoes.
Virtual collision meshes:
Used by SMP to provide more customizable collision management. This is also armor, except that it's invisible.
NiNode:
A nif (mesh) data point; could for example be a bone or shader settings. This is a base type for (most likely) all other node types, but it can also be used as-is. Wherever this guide refers to an NiNode and you can't find it, don't assume you're literally looking for an NiNode. Your mesh might be using a BSFadeNode instead for instance.
(XML) Elements:
Always starts with a less than symbol, and ends with a greater than symbol: <element>
3. Finding Meshes
- Go get More Informative Console.
- Start the game, load a save.
- Open the console.
- prid 14 OR select an actor you want to inspect.
-
Locate the RACE's naked skin armor mesh:
- Race -> Skin -> Armor Addon -> * -> Model * -> Model Path
-
Locate worn armor meshes:
- Inventory -> * -> Armor Addon -> * -> Model * -> Model Path
- It should also be possible to use the Equipment list in MIC. This may be more convenient if your pockets are full of questionable vibrating items.
4. Finding Mesh Information
4.1 Mesh BSTriShape Names
Mainly used by SMP.
- Open your mesh in NifSkope.
- Go through each BSTriShape node that is a direct child of the root NiNode.
- The name of the shape can be found either in the Value column, or in the Name field below.
4.2 Bone (NiNode) Names
Mainly used by CBPC.
- Open your mesh in Outfit Studio, either from BodySlide if it's already a project or by importing it as a nif into a new project.
- Select the Bones -tab on the right.
- View the weightpainted areas to find the bone you're looking for.
4.3 SMP Hints
Used only by SMP.
- Open your mesh in NifSkope.
- Click on the root NiNode.
- Expand the Extra Data List field.
- Locate the list entry called "HDT Skinned Mesh Physics Object".
- Click on the blue arrow next to it.
- The String Data field contains the physics preset file name.
5. Finding Physics Presets
5.1 CBPC
All CBPC config files are in one location: SKSE\Plugins\*.txt
- Go through all CBPCMasterConfig*.txt files.
-
Under the Node Definitions section you'll find the bone to physics preset mapping: bone=preset[=conditions]
Note that the preset does not apply to your character if the conditions do not pass.
Once you've located your physics preset names:
- Go through all CBPConfig*.txt files.
-
Find the physics preset you're looking for in the prefix of the value names: preset.gravityBias value
Note that (usually) at the top there may be conditions defined for this file. The file does not apply to your character if the conditions do not pass.
5.2 SMP
- Find all meshes you're currently wearing in-game, make a list of these.
- Do the same with the RACE naked skin armor as well.
- Open each of these meshes in NifSkope and make a list of all SMP hints. Add all BSTriShape names to a 3rd list.
-
Open the current SKSE\Plugins\hdtSkinnedMeshConfigs\defaultBBPs.xml.
- Go through your BSTriShape list and see if it has an entry in this file. If it does, add its physics preset file name to your SMP hint list.
-
Go through each physics preset in your SMP hint list.
- Find the per-triangle-shape or per-vertex-shape element that's attached (by name) to your BSTriShape(s).
- Find the bone element that's attached (by name) to your bones.
- Find the generic-constraint that's attached (bodyA or bodyB) to your bones. Remember to check for generic-constraint-default elements defined above for inherited settings.
Edited by traison
0 Comments
Recommended Comments
There are no comments to display.