gpt4 book ai didi

android - 如何在 sceneform 中更改可渲染的颜色/纹理?

转载 作者:行者123 更新时间:2023-11-29 18:47:39 27 4
gpt4 key购买 nike

我正在构建一个使用 AR 的 Android 应用程序,我正在为此使用 sceneform 包。我显示一个 3D 模型,其 ModelRenderable 是通过从外部 URI 下载相应的 .sfb 获得的。我需要它能够在触摸某个按钮时更改模型的颜色。我已经尝试了一千种方法,但没有任何运气。有没有简单(或没有)的方法来做到这一点?非常感谢!

最佳答案

您是否尝试过在单击模型时设置新 Material (https://developers.google.com/ar/reference/java/com/google/ar/sceneform/rendering/Renderable#setMaterial(com.google.ar.sceneform.rendering.Material)

您还可以更改可渲染的 Material 。由于 Renderable 的所有实例都共享相同的模型实例,因此最好在更改 Material 之前创建一个副本。否则所有其他节点也会受到更改的影响。

val renderableCopy = originalRenderable.makeCopy()
val changedMaterial = renderableCopy.material.makeCopy()
changedMaterial.setFloat3("baseColorTint", Color(android.graphics.Color.rgb(0,255,0)))
renderableCopy.material = changedMaterial

是否必须更改 baseColor 或 baseColorTint 取决于您的 SFA 文件。是否使用 baseColor 或 baseColorTint 设置颜色。

关于android - 如何在 sceneform 中更改可渲染的颜色/纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51470507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com