可以翻译为:透明材料在ShapeFactory中渲染Sceneform和ARCore时不可见。

3
我正在尝试为使用ShapeFactory创建的立方体渲染器创建完全透明的材质。我将此立方体渲染器用作大型矩形表面以制作无限地板,并需要使其完全透明。
我尝试使用MaterialFactory的makeTransparentWithColor(),并将alpha设置为0.0以实现这一目标。然而,即使它有点透明,立方体也没有变得不可见。以下是我使用的代码:
    MaterialFactory.makeTransparentWithColor(context, Color(0f, 0f, 255f, 0f)).thenAccept { material ->

        val size = Vector3(100f,0.001f,100f)
        val center = Vector3(0f,0f,0f)
        val floorRenderable = ShapeFactory.makeCube(size,center,material)
        floorRenderable.isShadowCaster = false
        floorRenderable.isShadowReceiver = false

        floorAnchorNode.renderable = floorRenderable
    }

你有没有想过如何为ShapeFactory的立方体制作一种隐形材料?我看到了this Github问题,这可能意味着我可以创建一个包含自定义材料和未照明着色模型的虚拟渲染对象,然后获取该渲染对象的材料以应用于makeCube()函数中。肯定有更好的方法,类似于ARKit/SceneKit的SCNNode opacity。如果你知道任何相关信息,我将不胜感激。

1个回答

2

由于光线和材料的使用,它无法完全透明。

如果您需要使某些东西不可见,请勿设置任何可渲染项。如果您只想拦截触摸,请使用碰撞检测:

floorAnchorNode.collisionShape = Box(size, center)

这是个好主意!最终我使用了一个自定义的.mat文件和一个占位符可渲染对象,但这种方法似乎更容易实现。 - A. Claesson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接