Character Customization: Difference between revisions

From wowdev
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 should read the page for the DB itself.
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/ChrCustomizationBoneSet|ChrCustomizationBoneSet]] || Links .bone FileDataIDs with .m2 FileDataIDs.
| [[DB/ChrCustomizationCategory|ChrCustomizationCategory]] || [https://wow.tools/dbc/?dbc=ChrCustomizationCategory Browse] || Lists categories (e.g. Body, Face, Accessoires, Hair, Markings) shown in character creation.
|-
|-
| [[DB/ChrCustomizationCategory|ChrCustomizationCategory]] || Lists categories (e.g. Body, Face, Accessoires, Hair, Markings) shown in character creation.
| [[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/ChrCustomizationChoice|ChrCustomizationChoice]] || Lists all the combinations and if available, their names. Links to [[DB/ChrCustomizationOption|ChrCustomizationOption]] and [[DB/ChrCustomizationReq|ChrCustomizationReq]].
| [[DB/ChrCustomizationCondModel|ChrCustomizationCondModel]] || [https://wow.tools/dbc/?dbc=ChrCustomizationCondModel Browse] || Creature related
|-
|-
| [[DB/ChrCustomizationCondModel|ChrCustomizationCondModel]] ||  
| [[DB/ChrCustomizationConversion|ChrCustomizationConversion]] || [https://wow.tools/dbc/?dbc=ChrCustomizationConversion Browse] || Creature related
|-
|-
| [[DB/ChrCustomizationConversion|ChrCustomizationConversion]] ||  
| [[DB/ChrCustomizationConversion|ChrCustomizationDisplayInfo]] || [https://wow.tools/dbc/?dbc=ChrCustomizationDisplayInfo Browse] || Shapeshift form related
|-
|-
| [[DB/ChrCustomizationElement|ChrCustomizationElement]] || Links up several tables.
| [[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.

Rendering