gpt4 book ai didi

java - 如何将纹理分配给 java3d 中加载的 OBJ 文件

转载 作者:行者123 更新时间:2023-12-01 15:44:23 26 4
gpt4 key购买 nike

我有一个 java 3d 应用程序,该应用程序将 OBJ 文件加载到我的场景中。如何为该模型分配纹理(jpg 文件)?更准确地说,当我想将纹理分配给原始 java 对象(例如球体)时,我使用以下内容:

Sphere sphere = new Sphere(Radius, Primflags, Appearance);

但是,当加载和添加 obj 文件时,我会这样做:

Scene scene = getSceneFromFile("OBJ file");
myBranchGroup = scene.getSceneGroup();

在第二种情况下,我找不到分配纹理的方法。我该怎么做?

最佳答案

您必须使用制作 obj 文件的程序或者可以加载该文件。绘制它,然后导出该文件。然后将此代码添加到任何方法之外

static TextureLoader loader = new TextureLoader("C:\\Users\\Sawyera\\Desktop\\Paint Layer 1.jpg",
"RGP", new Container());
static Texture texture = loader.getTexture();

然后

texture.setBoundaryModeS(Texture.WRAP);
texture.setBoundaryModeT(Texture.WRAP);
texture.setBoundaryColor(new Color4f(0.0f, 1.0f, 0.0f, 0.0f));
TextureAttributes texAttr = new TextureAttributes();
texAttr.setTextureMode(TextureAttributes.MODULATE);
Appearance ap = new Appearance();
ap.setTexture(texture);
ap.setTextureAttributes(texAttr);
int primflags = Primitive.GENERATE_NORMALS
+ Primitive.GENERATE_TEXTURE_COORDS;
ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);

然后在将模型分配给场景之前添加此内容。假设3D模型变量称为model

model.setAppearance(ap);

关于java - 如何将纹理分配给 java3d 中加载的 OBJ 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com