diff --git a/korman/exporter/material.py b/korman/exporter/material.py index a29f9d8..c9b1774 100644 --- a/korman/exporter/material.py +++ b/korman/exporter/material.py @@ -509,7 +509,10 @@ class MaterialConverter: else: layer_props = texture.plasma_layer layer.opacity = layer_props.opacity / 100 - self._handle_layer_opacity(layer, layer_props.opacity) + if layer_props.opacity < 100 and not state.blendFlags & hsGMatState.kBlendMask: + state.blendFlags |= hsGMatState.kBlendAlpha + if layer_props.use_alpha_vcol: + state.blendFlags |= hsGMatState.kBlendAlpha if layer_props.alpha_halo: state.blendFlags |= hsGMatState.kBlendAlphaTestHigh if layer_props.z_bias: diff --git a/korman/properties/prop_texture.py b/korman/properties/prop_texture.py index 78d83ad..297018f 100644 --- a/korman/properties/prop_texture.py +++ b/korman/properties/prop_texture.py @@ -38,6 +38,9 @@ class PlasmaLayer(bpy.types.PropertyGroup): description="Opacity of the texture", default=100.0, min=0.0, max=100.0, precision=0, subtype="PERCENTAGE") + use_alpha_vcol = BoolProperty(name="Use Alpha VCol", + description="Texture uses the Alpha vertex color values", + default=False) alpha_halo = BoolProperty(name="High Alpha Test", description="Fixes halos seen around semitransparent objects resulting from sorting errors", default=False)