android - 可在 Sceneform 和 ARCore 中渲染的 ShapeFactory 的不可见/透明材质
问题描述
我正在尝试为使用ShapeFactory创建的可渲染立方体创建完全透明的材质。我使用这个可渲染的立方体作为一个大的矩形表面来制作无限的地板,并且需要它是完全透明的。
我尝试使用 alpha 为 0.0 的 MaterialFactory 的makeTransparentWithColor()来实现这一点。然而,立方体并没有变得不可见,即使它有点透明。下面是我使用的代码:
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 立方体制作不可见的材料吗?我看到了这个Github 问题,这可能表明我可以以某种方式创建一个包含自定义材质的虚拟可渲染对象,该材质具有不亮的着色模型,然后将该可渲染材质应用于 makeCube()?肯定有更好的方法,类似于 ARKit/SceneKit 的SCNNode opacity。拜托,如果您对此有所了解,我将不胜感激。
解决方案
仅仅因为这里使用的照明和材料,它不能完全透明。
如果您需要使某些东西不可见,请不要设置任何可渲染。如果您只是想拦截触摸,请改用碰撞:
floorAnchorNode.collisionShape = Box(size, center)
推荐阅读
- javascript - 如何将其他选项中的相同值发布到服务器
- flutter - 如何隐藏 pdf 查看器插件颤动中存在的导航栏
- c# - ASP.NET Core IOptions - 是否可以从生产环境中的环境变量填充配置 POCO 敏感字段?
- typescript - Rollup.js 不会在包中包含节点模块 discord-rpc。有没有办法做到这一点?
- automation - 我想测试提交表单,但单击提交按钮会调用来自赛普拉斯不同域的 api
- asp.net-core - 通用存储库模式中的当前用户(ASP.NET 身份)信息
- sql - 从仅包含一个 VALUE 列和两个计数器 (X,Y) 的表中选择具有条件的多个列
- android - 我想创建一个网络和移动应用程序。最好的技术是什么?
- javascript - 加载前如何清除列表-Bootstarp 4
- azure - 将 cloninginfo 属性添加到 arm 模板部署槽资源会中断在部署槽上设置用户定义的托管标识