我试图在metaio sdk中加载带有纹理的3D模型。但现在我有了新的挑战:
假设我有一个3D汽车模型,我想在Metaio sdk加载它并在用户点击屏幕时改变汽车的颜色。
怎么办?
一般来说,3d模型与其纹理之间的关系是什么?我们可以为它设置一个单个三维模型和多个纹理,并在运行时绑定它们吗?怎么样?
感谢。
答案 0 :(得分:2)
是的,您可以使用JTable
对象的setTexture
来拥有多个纹理。
根据您使用的模型类型,纹理可以存储在模型本身或具有相同名称的文件中。当我尝试将多个纹理存储在MDL文件中时,它没有工作,我不得不单独存储它们。
您的代码将是这样的:
IGeometry
如果您还没有处理触摸,则应该注册手势处理程序:
@Override
protected void onGeometryTouched(IGeometry geometry) {
MetaioDebug.log("Template.onGeometryTouched: " + geometry);
geometry.setTexture(AssetsManager.getAssetPathAsFile(getApplicationContext(), "mytexture.png"));
}