Character Customization: Difference between revisions

From wowdev
Jump to navigation Jump to search
Line 20: Line 20:
= Important DB2 links =
= Important DB2 links =
== ChrCustomizationElement => Various other DBs ==  
== ChrCustomizationElement => Various other DBs ==  
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).
Many of the DBs are referenced from ChrCustomizationElement. In most cases, this DB links up a certain ChrCustomizationChoiceID 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 17:04, 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 => Various other DBs

Many of the DBs are referenced from ChrCustomizationElement. In most cases, this DB links up a certain ChrCustomizationChoiceID 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.

Rendering