【发布时间】:2020-12-05 12:56:02
【问题描述】:
我到处寻找,但没有找到答案。 这个想法是创建一个带有仅接收阴影的透明面板的节点。 我试过了
MaterialFactory.makeTransparentWithColor(context, new Color(255,255,255,0.2f))
.thenAccept(material -> {
Vector3 size = new Vector3(5f,0.0001f,5f);
Vector3 center = new Vector3(0f,-0.5f,0f);
ModelRenderable floorRenderable = ShapeFactory.makeCube(size,center,material);
floorNode.setRenderable(floorRenderable);
})
和
MaterialFactory.makeTransparentWithTexture(context, texture)
.thenAccept(material -> {
Vector3 size = new Vector3(5f,0.0001f,5f);
Vector3 center = new Vector3(0f,-0.5f,0f);
ModelRenderable floorRenderable = ShapeFactory.makeCube(size,center,material);
floorNode.setRenderable(floorRenderable);
})
但我得到了一个不完全透明的对象。
谢谢
【问题讨论】:
-
Sceneform 自动处理阴影,每个 Renderable 都有可以使用的 isShadowReceiver/Caster 属性,这是需要阴影的特殊情况吗?
-
@mulan,由于我使用的是 augmentedImageDatabase,因此我不需要启用 config.setPlaneFindingMode()。另一方面,我没有可以投射阴影的平面,所以唯一的方法是添加一个带有透明渲染的节点。一种方法是使用 .sfb 格式的 3d 模型,但我不知道如何创建它
-
你找到答案了吗?我遇到了同样的问题。
-
此文档似乎暗示有一种方法可以创建透明阴影接收器,但不确定如何在代码中完成此操作:developers.google.com/sceneform/develop/…
标签: java android arcore sceneform