Open Dearliet opened 3 months ago
When a variant texture is mapped to transparent it should be mapped to null
in the exported JSON:
{
"variants": {
"c21b5e0a-f496-1893-b446-b3159808f5bb": {
"name": "New Variant",
"uuid": "c21b5e0a-f496-1893-b446-b3159808f5bb",
"excluded_bone_nodes": [],
"texture_map": {
"afba6232-5beb-cdd2-2c5f-00ccb09c6ca7": null
}
}
}
}
Actually, whether and how the transparent texture is represented is determined by #295
Proposed Changes:
Extract the default variant as
base_model
:is_default
, asbase_model
now clearly defines the default statebase_model
should not have aname
field since renaming it doesn’t provide value. For example, if the base model is a pirate and a variant has the pirate without a hat, the variant should be namedhatless
, while the base model remainsdefault
. The base model represents the default state, while variants represent deviations. This implies that in Blockbench the default variant name should be fixedRemove
models
andcustom_model_data
field from variants:texture_map
andexcluded_nodes
with reference to thebase_model
custom_model_data
themselvesExample of the Refactored JSON Structure:
Embedding
base_model
innodes
Since
base_model
essentially maps data to individual bone nodes, the structure can be further simplified by embedding amodel
field directly within each bone node: