@@ -148,7 +148,7 @@ export interface IRenderedNodes {
148148export type AnyRenderedNode = IRenderedNodes [ keyof IRenderedNodes ]
149149
150150export interface IRenderedVariantModel {
151- model : IRenderedModel
151+ model : IRenderedModel | null
152152 custom_model_data : number
153153 model_path : string
154154 resource_location : string
@@ -383,7 +383,7 @@ function renderGroup(
383383 break
384384 }
385385 case node instanceof Cube : {
386- renderCube ( node , rig , groupModel . model )
386+ renderCube ( node , rig , groupModel . model ! )
387387 rig . includes_custom_models = true
388388 break
389389 }
@@ -393,7 +393,7 @@ function renderGroup(
393393 }
394394
395395 // Export a struct instead of a bone if no elements are present
396- if ( ! groupModel . model . elements || groupModel . model . elements . length === 0 ) {
396+ if ( ! groupModel . model || ! groupModel . model . elements || groupModel . model . elements . length === 0 ) {
397397 delete defaultVariant . models [ group . uuid ]
398398 const struct : IRenderedNodes [ 'Struct' ] = {
399399 type : 'struct' ,
@@ -559,6 +559,9 @@ function renderVariantModels(variant: Variant, rig: IRenderedRig) {
559559 if ( variant . excludedNodes . find ( v => v . value === uuid ) ) continue
560560 const textures : IRenderedModel [ 'textures' ] = { }
561561
562+ // Is set false if any texture other than the internal transparency texture is found.
563+ let isTransparent = true
564+
562565 for ( const [ fromUUID , toUUID ] of variant . textureMap . map . entries ( ) ) {
563566 const fromTexture = Texture . all . find ( t => t . uuid === fromUUID )
564567 if ( ! fromTexture ) throw new Error ( `From texture not found: ${ fromUUID } ` )
@@ -573,11 +576,12 @@ function renderVariantModels(variant: Variant, rig: IRenderedRig) {
573576 rig
574577 ) . resourceLocation
575578 rig . textures [ toTexture . id ] = toTexture
579+ isTransparent = false
576580 }
577581 }
578582
579- // Don't export models without any texture changes
580- if ( Object . keys ( textures ) . length === 0 ) continue
583+ // Don't export models without any texture changes, or that are fully transparent.
584+ if ( isTransparent || Object . keys ( textures ) . length === 0 ) continue
581585
582586 const modelParent = PathModule . join (
583587 rig . model_export_folder ,
0 commit comments