gpt4 book ai didi

java - 加载对象文件时不会加载 Material 文件

转载 作者:行者123 更新时间:2023-11-30 11:40:38 25 4
gpt4 key购买 nike

所以我一直在尝试使用 Java 3D,最近,我一直在尝试将外部 3D 模型导入程序。此时,我可以将模型作为 OBJ 文件放入程序中,但是由于某种原因,程序不会加载相应的 Material 文件,我不知道是我编码的问题还是文件本身没有问题'正确导出。

这是我写的代码:

import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.*;
import com.sun.j3d.loaders.objectfile.*;
import com.sun.j3d.loaders.Scene;
import java.awt.Color;
import javax.vecmath.*;

public class ModelLoadingTest {

public static void main(String[] args) {
SimpleUniverse universe = new SimpleUniverse();
BranchGroup scene = new BranchGroup();

ObjectFile loader = new ObjectFile(ObjectFile.LOAD_ALL);
loader.setFlags(ObjectFile.RESIZE);

Scene modelScene = null;

try{
modelScene = loader.load("paintedcar.obj");

}
catch(Exception e){

}

DirectionalLight lighting = new DirectionalLight(new Color3f(Color.WHITE), new Vector3f(0f, 0f, -1f));
lighting.setInfluencingBounds(new BoundingSphere(new Point3d(0.0, 0.0, 1.0), 100));

scene.addChild(modelScene.getSceneGroup());
scene.addChild(lighting);
universe.addBranchGraph(scene);
universe.getViewingPlatform().setNominalViewingTransform();
}
}

如果有帮助的话,我正在测试的模型是在 Maya 中制作并导出为 Wavefront 文件。

最佳答案

...您没有在代码中加载纹理。 matirl 文件未在 obj 文件中编码,您需要将其作为纹理导入,您可以像处理球体一样执行此操作,除非您将纹理分配给网格。分配它时,您需要使用

"mesh name".setAppearance("your Appearance name");

例如

model.setAppearance(ap);

关于java - 加载对象文件时不会加载 Material 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631067/

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