Character Customization: Difference between revisions
Jump to navigation
Jump to search
(Add WoW.tools links, terminology and add more table descriptions) |
|||
Line 2: | Line 2: | ||
== Reasoning == | == 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. | 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 = | |||
{| border="1" cellpadding="2" style="background:#FCFCFC; color:black" | |||
|- | |||
! width="90" | Table | |||
! Description | |||
|- | |||
| DB2 || Database table, technical docs [[DB2|here]]. | |||
|- | |||
| FileDataID || Reference to a specific file. Used in various DBs formats. Comes from [[TACT]]'s root file. | |||
|- | |||
| M2 || Model file, technical docs [[M2|here]]. | |||
|- | |||
| Geoset || Set of 3D geometry, also referred to as submesh. For a list of known character geosets, check [[M2/.skin#Mesh_part_ID|here]]. | |||
|} | |||
= Relevant DB2s = | = Relevant DB2s = | ||
This system introduced many new DB2s. Table below is for summary explanations only, for actual structures you | This system introduced many new DB2s. Table below is for summary explanations only, for actual structures you check [https://github.com/wowdev/WoWDBDefs/tree/master/definitions WoWDBDefs] or read the designated page (if available). | ||
{| border="1" cellpadding="2" style="background:#FCFCFC; color:black" | {| border="1" cellpadding="2" style="background:#FCFCFC; color:black" | ||
|- | |- | ||
! width="90" | Table | ! width="90" | Table | ||
! WoW.tools link | |||
! Description | ! Description | ||
|- | |- | ||
| [[DB/ChrCustomization|ChrCustomization]] || Not new in Shadowlands, introduced back in 7.3.5 but ChrCustomizationOption still refers to it. | | [[DB/ChrCustomization|ChrCustomization]] || [https://wow.tools/dbc/?dbc=ChrCustomization Browse] || Not new in Shadowlands, introduced back in 7.3.5 but ChrCustomizationOption still refers to it. Bro | ||
|- | |||
| [[DB/ChrCustomizationBoneSet|ChrCustomizationBoneSet]] || [https://wow.tools/dbc/?dbc=ChrCustomizationBoneSet Browse] || Links .bone FileDataIDs with .m2 FileDataIDs. | |||
|- | |- | ||
| [[DB/ | | [[DB/ChrCustomizationCategory|ChrCustomizationCategory]] || [https://wow.tools/dbc/?dbc=ChrCustomizationCategory Browse] || Lists categories (e.g. Body, Face, Accessoires, Hair, Markings) shown in character creation. | ||
|- | |- | ||
| [[DB/ | | [[DB/ChrCustomizationChoice|ChrCustomizationChoice]] || [https://wow.tools/dbc/?dbc=ChrCustomizationChoice Browse] || Lists all the combinations and if available, their names. Links to [[DB/ChrCustomizationOption|ChrCustomizationOption]] and [[DB/ChrCustomizationReq|ChrCustomizationReq]]. | ||
|- | |- | ||
| [[DB/ | | [[DB/ChrCustomizationCondModel|ChrCustomizationCondModel]] || [https://wow.tools/dbc/?dbc=ChrCustomizationCondModel Browse] || Creature related | ||
|- | |- | ||
| [[DB/ | | [[DB/ChrCustomizationConversion|ChrCustomizationConversion]] || [https://wow.tools/dbc/?dbc=ChrCustomizationConversion Browse] || Creature related | ||
|- | |- | ||
| [[DB/ChrCustomizationConversion| | | [[DB/ChrCustomizationConversion|ChrCustomizationDisplayInfo]] || [https://wow.tools/dbc/?dbc=ChrCustomizationDisplayInfo Browse] || Shapeshift form related | ||
|- | |- | ||
| [[DB/ChrCustomizationElement|ChrCustomizationElement]] || Links up | | [[DB/ChrCustomizationElement|ChrCustomizationElement]] || [https://wow.tools/dbc/?dbc=ChrCustomizationElement Browse] || Links up Choice, Geoset, SkinnedModel, Material, BoneSet and CondModel and DisplayID tables. | ||
|- | |- | ||
| [[DB/ChrCustomizationGeoset|ChrCustomizationGeoset]] || | | [[DB/ChrCustomizationGeoset|ChrCustomizationGeoset]] || [https://wow.tools/dbc/?dbc=ChrCustomizationGeoset Browse] || List of geosets. Matches with [[M2/.skin#Mesh_part_ID|these]] IDs (Type being the first 2 numbers, IDs the last 2) | ||
|- | |- | ||
| [[DB/ChrCustomizationMaterial|ChrCustomizationMaterial]] || Links MaterialID to [[DB/ChrModelTextureTarget|ChrModelTextureTargetID]] and [[DB/TextureFileData|TextureFileData]].MaterialResourcesID | | [[DB/ChrCustomizationMaterial|ChrCustomizationMaterial]] || [https://wow.tools/dbc/?dbc=ChrCustomizationMaterial Browse] || Links MaterialID to [[DB/ChrModelTextureTarget|ChrModelTextureTargetID]] and [[DB/TextureFileData|TextureFileData]].MaterialResourcesID | ||
|- | |- | ||
| [[DB/ChrCustomizationOption|ChrCustomizationOption]] || | | [[DB/ChrCustomizationOption|ChrCustomizationOption]] || [https://wow.tools/dbc/?dbc=ChrCustomizationOption Browse] || The different options, mostly important for UI | ||
|- | |- | ||
| [[DB/ChrCustomizationReq|ChrCustomizationReq]] || Various requirements for certain choices, most common one is a class requirement (e.g. demon hunter only, death knight only choices). | | [[DB/ChrCustomizationReq|ChrCustomizationReq]] || [https://wow.tools/dbc/?dbc=ChrCustomizationReq Browse] || Various requirements for certain choices, most common one is a class requirement (e.g. demon hunter only, death knight only choices). | ||
|- | |- | ||
| [[DB/ChrCustomizationReqChoice|ChrCustomizationReqChoice]] || Links choices to requirements. | | [[DB/ChrCustomizationReqChoice|ChrCustomizationReqChoice]] || [https://wow.tools/dbc/?dbc=ChrCustomizationReqChoice Browse] || Links choices to requirements. | ||
|- | |- | ||
| [[DB/ChrCustomizationSkinnedModel|ChrCustomizationSkinnedModel]] || Lists various collection models ((ab)used for additional geosets like DH blindfolds, mechagnome parts) | | [[DB/ChrCustomizationSkinnedModel|ChrCustomizationSkinnedModel]] || [https://wow.tools/dbc/?dbc=ChrCustomizationSkinnedModel Browse] || Lists various collection models ((ab)used for additional geosets like DH blindfolds, mechagnome parts) | ||
|- | |- | ||
| [[DB/ChrCustClientChoiceConversion|ChrCustClientChoiceConversion]] || | | [[DB/ChrCustClientChoiceConversion|ChrCustClientChoiceConversion]] || [https://wow.tools/dbc/?dbc=ChrCustClientChoiceConversion Browse] || | ||
|- | |- | ||
| [[DB/ChrModel|ChrModel]] || DisplayIDs/Death skeletons. Look up by race can be found in [[DB/ChrRaceXChrModel|ChrRaceXChrModel]]. | | [[DB/ChrModel|ChrModel]] || [https://wow.tools/dbc/?dbc=ChrModel Browse] || DisplayIDs/Death skeletons. Look up by race can be found in [[DB/ChrRaceXChrModel|ChrRaceXChrModel]]. | ||
|- | |- | ||
| [[DB/ChrModelMaterial|ChrModelMaterial]] || | | [[DB/ChrModelMaterial|ChrModelMaterial]] || [https://wow.tools/dbc/?dbc=ChrModelMaterial Browse] || Primarily used to link up a TextureLayout to a TextureType | ||
|- | |- | ||
| [[DB/ChrModelTextureLayer|ChrModelTextureLayer]] || | | [[DB/ChrModelTextureLayer|ChrModelTextureLayer]] || [https://wow.tools/dbc/?dbc=ChrModelTextureLayer Browse] || Contains information required to correctly combine the different layers of character textures. | ||
|- | |- | ||
| [[DB/ChrModelTextureTarget|ChrModelTextureTarget]] || Appears to be just a list of valid texture targets. | | [[DB/ChrModelTextureTarget|ChrModelTextureTarget]] || [https://wow.tools/dbc/?dbc=ChrModelTextureTarget Browse] || Appears to be just a list of valid texture targets. | ||
|- | |- | ||
| [[DB/ChrRaceXChrModel|ChrRaceXChrModel]] || | | [[DB/ChrRaceXChrModel|ChrRaceXChrModel]] || [https://wow.tools/dbc/?dbc=ChrRaceXChrModel Browse] || Links up Race IDs from [[DB/ChrRaces|ChrRaces]] to ChrModel IDs. | ||
|} | |} | ||
= Rendering = | = Rendering = |
Revision as of 16:21, 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. |
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. Bro |
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. |