如何通过Sceneform中的对象ID在同一.obj中添加不同的纹理?

时间:2019-02-07 05:33:50

标签: java android arcore sceneform

我在服务器中有一个.obj模型,可以使用Uri.parse(“”)将其加载到ModelRenderable中。我所能做的就是通过uv映射在整个模型中加载单个纹理。 但是我想从id加载具有多个纹理的模型o Mesh01和o Mesh02是模型内的对象名称。 我的模型渲染代码是:

ModelRenderable.builder()
          .setSource(this, RenderableSource.builder().setSource(
                  this,Uri.parse(url2),RenderableSource.SourceType.GLB)
                  .setScale(0.1f)  // Scale the original model to 50%.
                  .setRecenterMode(RenderableSource.RecenterMode.CENTER)
                  .build())
           //.setSource(this, R.raw.model)
          //.setRegistryId(GLTF_ASSET)
          .build()
           .thenAcceptBoth(futureTexture, (renderable, texture) -> {
               andyRenderable = renderable;
               Log.d("rikesh", "onCreate: "+andyRenderable.getSubmeshCount());
               andyRenderable.getMaterial().setTexture("baseColor", texture);
           })
          .exceptionally(
                  throwable -> {
                      Toast toast =
                              Toast.makeText(this, "Unable to load renderable " +
                                      url, Toast.LENGTH_LONG);
                      toast.setGravity(Gravity.CENTER, 0, 0);
                      toast.show();
                      return null;
                  });

和.obj模型的代码是 o Mesh01 and o Mesh02 are the objects of the .obj model 我想在其中放置纹理的地方。

0 个答案:

没有答案