如何解决如何在 Android Studio 中在运行时更改 3d 模型的颜色
@RequiresApi(api = Build.VERSION_CODES.O)
private void setUpModel2() {
CompletableFuture<Material> materialCompletableFuture =
MaterialFactory.makeOpaqueWithColor(this,new Color(0,255,244));
materialCompletableFuture.thenAccept(material -> {
Renderable r2 = node.getRenderable().makeCopy();
r2.setMaterial(material);
node.setRenderable(r2);
});
}
这是我用于更改 3d 模型颜色的代码。变量节点被全局采用。当我运行应用程序时,AR 活动不会打开,应用程序会转到上一页并且不会运行 AR 活动。该模型位于另一个称为 modelRenderable 的变量上,该变量是另一个函数 setupmodel。
private void setUpModel() {
ModelRenderable.builder().setSource(this,R.raw.house1)
.build()
.thenAccept(renderable -> modelRenderable = renderable)
.exceptionally(throwable -> {
Toast.makeText(Viewmodel2.this,"Model can't be loaded",Toast.LENGTH_SHORT).show();
return null;
});
}
setupplane() 和创建模型函数是:
private void setUpPlane(){
arFragment.setOnTapArPlaneListener(new BaseArFragment.OnTapArPlaneListener() {
@Override
public void onTapPlane(HitResult hitResult,Plane plane,MotionEvent motionEvent) {
Anchor anchor=hitResult.createAnchor();
AnchorNode anchorNode= new AnchorNode(anchor);
anchorNode.setWorldScale(new Vector3(5.0f,5.0f,5.0f));
plane.createAnchor(plane.getCenterPose());
anchorNode.setParent(arFragment.getArSceneView().getScene());
createModel(anchorNode);
}
});
}
private void createModel(AnchorNode anchorNode) {
node.setWorldScale(new Vector3(5.0f,5.0f));
node.getScaleController().setMinScale(0.01f);
node.setParent(anchorNode);
node.setRenderable(modelRenderable);
node.select();
}
请帮助了解如何更改 3d 模型颜色。此外,当我将节点放入创建模型函数时,活动会运行,但是当我单击按钮更改颜色时,什么也没有发生
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。