.FBX中的多个3D对象-如何对每个对象应用不同的纹理

时间:2019-09-24 11:18:50

标签: android arcore sceneform

我正在开发一个AR应用程序,并且正在导入一个内部具有两个3d对象的FBX文件(我不能拥有两个分离的fbx文件,因为这些对象与动画相互影响)。

我们想将texture1应用于object1并将texture2应用于object2。

问题是,根据我的经验,.sfb被视为一个唯一的模型,当我应用纹理时,在运行时它将同时应用于object1和object2。 有什么解决办法吗?

预先感谢

val builder = ModelRenderable.builder()
builder.setSource(activity, Uri.parse(arModelli.uri))
renderableFutureAmo = builder.build()
renderableFutureAmo.thenAcceptBoth(materialFuture) { renderableResult, materialResult ->
    renderableModelAmo = renderableResult
    customMaterial = materialResult

    renderableModelAmo!!.setMaterial(1, customMaterial.value) // in this way I can apply the texture only to one 3d object, but the other one?
    customMaterial.switchBaseColor()
}

1 个答案:

答案 0 :(得分:1)

您应该实现ontap列表器

  1. transferable.setontaplistner(listner);

  2. 从hittestresult获取节点

  3. 然后在该节点上设置纹理