Character Customization: Difference between revisions
No edit summary |
|||
Line 20: | Line 20: | ||
= Important DB2 links = | = Important DB2 links = | ||
== ChrCustomizationElement == | == ChrCustomizationElement == | ||
Many of the DBs are referenced from ChrCustomizationElement. In most cases, this DB links up a | Many of the DBs are referenced from ChrCustomizationElement. In most cases, this DB links up a certain ChrCustomizationChoiceIDs with one other DB at a time, with all other columns being 0 (with the exception of RelatedChrCustomizationChoiceID which sometimes has values if the other column having values is ChrCustomizationGeosetID or ChrCustomizationMaterialID). | ||
= Relevant DB2s = | = Relevant DB2s = |
Revision as of 18:03, 25 July 2020
Shadowlands/9.0 made some big changes to the character customization system!
Reasoning
Blizzard wanted to move to a more "data-driven" customization system in Shadowlands that allows them to build up character models from multiple source textures instead of baking textures for each model/race/variation.
Terminology
Table | Description |
---|---|
DB2 | Database table, technical docs here. |
FileDataID | Reference to a specific file. Used in various DBs formats. Comes from TACT's root file. |
M2 | Model file, technical docs here. |
Geoset | Set of 3D geometry, also referred to as submesh. For a list of known character geosets, check here. |
Important DB2 links
ChrCustomizationElement
Many of the DBs are referenced from ChrCustomizationElement. In most cases, this DB links up a certain ChrCustomizationChoiceIDs with one other DB at a time, with all other columns being 0 (with the exception of RelatedChrCustomizationChoiceID which sometimes has values if the other column having values is ChrCustomizationGeosetID or ChrCustomizationMaterialID).
Relevant DB2s
This system introduced many new DB2s. Table below is for summary explanations only, for actual structures you check WoWDBDefs or read the designated page (if available).
Table | WoW.tools link | Description |
---|---|---|
ChrCustomization | Browse | Not new in Shadowlands, introduced back in 7.3.5 but ChrCustomizationOption still refers to it. |
ChrCustomizationBoneSet | Browse | Links .bone FileDataIDs with .m2 FileDataIDs. |
ChrCustomizationCategory | Browse | Lists categories (e.g. Body, Face, Accessoires, Hair, Markings) shown in character creation. |
ChrCustomizationChoice | Browse | Lists all the combinations and if available, their names. Links to ChrCustomizationOption and ChrCustomizationReq. |
ChrCustomizationCondModel | Browse | Creature related |
ChrCustomizationConversion | Browse | Creature related |
ChrCustomizationDisplayInfo | Browse | Shapeshift form related |
ChrCustomizationElement | Browse | Links up Choice, Geoset, SkinnedModel, Material, BoneSet and CondModel and DisplayID tables. |
ChrCustomizationGeoset | Browse | List of geosets. Matches with these IDs (Type being the first 2 numbers, IDs the last 2) |
ChrCustomizationMaterial | Browse | Links MaterialID to ChrModelTextureTargetID and TextureFileData.MaterialResourcesID |
ChrCustomizationOption | Browse | The different options, mostly important for UI |
ChrCustomizationReq | Browse | Various requirements for certain choices, most common one is a class requirement (e.g. demon hunter only, death knight only choices). |
ChrCustomizationReqChoice | Browse | Links choices to requirements. |
ChrCustomizationSkinnedModel | Browse | Lists various collection models ((ab)used for additional geosets like DH blindfolds, mechagnome parts) |
ChrCustClientChoiceConversion | Browse | |
ChrModel | Browse | DisplayIDs/Death skeletons. Look up by race can be found in ChrRaceXChrModel. |
ChrModelMaterial | Browse | Primarily used to link up a TextureLayout to a TextureType |
ChrModelTextureLayer | Browse | Contains information required to correctly combine the different layers of character textures. |
ChrModelTextureTarget | Browse | Appears to be just a list of valid texture targets. |
ChrRaceXChrModel | Browse | Links up Race IDs from ChrRaces to ChrModel IDs. |
TextureFileData | Browse | Links up MaterialResourcesID (from ChrCustomizationMaterial but also other DBs of other systems) to FileDataIDs. |