我使用以下几行将圆环(obj 文件)的 3d 模型加载到我的程序中:
Shape3D torus=null;
Scene t1 = getSceneFromFile("Some local path\torus.obj");
然后我使用以下代码从场景中获取模型:
BranchGroup branchGroup = t1.getSceneGroup();
torus = (Shape3D) branchGroup.getChild(0);
以下代码将图像设置为纹理,然后将该纹理应用于 Appearance 对象。
TextureLoader textureLoader=new TextureLoader("Another local path\myImage.jpg",null);
ImageComponent2D image=textureLoader.getImage();
Texture2D texture=new Texture2D(Texture.BASE_LEVEL,Texture.RGBA,image.getWidth(),image.getHeight());
texture.setImage(0, image);
Appearance app = new Appearance();
app.setTexture(texture);
torus.setAppearance(app);
当我运行代码时,圆环模型已正确加载,但纹理未正确分配。更准确地说,整个 3d 模型具有单一颜色而不是图像作为纹理。提到的颜色,是图像左下角像素的颜色。
解决方案是什么?提前致谢。