😎

visionOS Tips: ModelEntityのテクスチャを透過させる

2023/12/03に公開

visionOSにて、RealityKitでEntityに貼ったテクスチャを透過する方法です。

実装

    var cubeEntity: ModelEntity? = nil
    
    var unlitMaterial: RealityKit.Material {
        let texture1 = try! TextureResource.load(named: "image1")
        var unlitMaterial = UnlitMaterial()
        unlitMaterial.color = .init(tint: .white, texture: .init(texture1))
        unlitMaterial.blending = .transparent(opacity: PhysicallyBasedMaterial.Opacity(floatLiteral: 1.0))
        return unlitMaterial
    }
    cubeEntity.model?.materials = [unlitMaterial]

解説

透過情報を持つpngをTextureResourceとして読み込み、ここではUnlitMaterialに設定しました。
colorにはそのtextureを設定します。

blendingへのPhysicallyBasedMaterial.Opacity設定が必要でした。

Discussion