Transparency breaks when updating meshes in Realitykit

Code Block
import RealityKit
let newModel = ModelEntity(
mesh: .generatePlane(width: 1, height: 1)
)
var mat = SimpleMaterial(
color: UIColor.blue.withAlphaComponent(0.5),
isMetallic: true
)
newModel.model?.materials = [mat]
/* next line breaks transluency */
newModel.model?.mesh = .generatePlane(width: 1, height: 1)
/* next line fixes it */
newModel.model = ModelComponent( mesh: .generatePlane(width: 1, height: 1), materials: [mat])



In my code I was doing this every time a plane anchor updated:

Code Block
  self.model?.mesh = MeshResource.generatePlane(
     width: planeAnchor.extent.x,
     depth: planeAnchor.extent.z + 10
    )


This resulted in a mesh updating its size, but the transparency completely breaking.

When switching to this, transparency worked correctly, but now I have to fully recreate the model whenever I want to update the size

Code Block
 var material = SimpleMaterial(color: MaterialColorParameter.texture(resource!), isMetallic: true)
   material.tintColor = .init(white: 1, alpha: 0.5)
   self.model = ModelComponent(
    mesh: .generatePlane(
     width: planeAnchor.extent.x,
     depth: planeAnchor.extent.z
    ),
    materials: [material]
   )
 



Can we get some bug fixes in realitykit this year? So that we don't have to set isMetallic: true, and tintColor just to use a color with opacity? Or have to fully recreate the model just to update the mesh size? Thanks :)


Replies

+1 for attention to finer but much needed detail like this please!

Or just being able to set blend modes if that's the issue.