0
我使用JMonkeyEngine Eclipse和我无法加载模型。JMonkeyEngine不加载模型
@Override
public void simpleInitApp() {
Spatial monkey = assetManager.loadModel("Monkey.obj"); //<---line 34
Material mat_default = new Material(
assetManager, "Common/MatDefs/Misc/ShowNormals.j3md");
monkey.setMaterial(mat_default);
rootNode.attachChild(monkey);
}
我本来在“资产”文件夹中的文件,但是经过一番研究,我发现,assetManager访问的主要项目目录,我想,也许它不能访问的资产文件夹,从而代替我暂时搬到Monkey.obj到主目录。
的错误我得到这个样子的:
Jan 09, 2015 1:10:14 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.0.0 RC2
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Lwjgl 2.9.0 context running on thread LWJGL Renderer Thread
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Adapter: nvd3dumx,nvwgf2umx,nvwgf2umx
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Driver Version: 9.18.13.4709
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Vendor: NVIDIA Corporation
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: OpenGL Version: 4.5.0 NVIDIA 347.09
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Renderer: GeForce GTX 770/PCIe/SSE2
Jan 09, 2015 1:10:14 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: GLSL Ver: 4.50 NVIDIA
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Device: OpenAL Soft
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Vendor: OpenAL Community
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Renderer: OpenAL Soft
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Version: 1.1 ALSOFT 1.15.1
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: AudioRenderer supports 64 channels
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio effect extension version: 1.0
Jan 09, 2015 1:10:14 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio max auxilary sends: 4
Jan 09, 2015 1:10:14 PM com.jme3.app.Application handleError
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
com.jme3.asset.AssetNotFoundException: Monkey.obj
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:283)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:374)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:378)
at MainGame.Main.simpleInitApp(Main.java:34)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:226)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
at java.lang.Thread.run(Unknown Source)
我是否正确使用assetManager?
因此,我创建了资产的文件夹内的文件夹模式和移动.OBJ到该文件夹,但想你的方法,它仍然没有奏效。我甚至尝试过用不同的obj(因为我实际上发现我使用的obj被破坏了)。出于好奇,您是在JMonkeyEngine SDK还是在其他IDE中工作?此外,我看到你加载的文件.blend,可以JME负荷.blend文件,就像.obj文件,因为这将是非常有益的! – MagnusCaligo 2015-01-10 13:15:35
@MagnusCaligo不,我没有使用JME SDK。我想使用Java 8与我当前不支持的项目。我使用NetBeans 8.0。是的,JME可以加载搅拌器文件(有一些限制 - 检查doco)。不幸的是,很难知道你的问题是什么。我想你已经遵循http://hub.jmonkeyengine.org/wiki/doku.php/jme3:advanced:asset_manager的建议?你能否确认你已经完成了'无法找到资源?'的步骤? – sprinter 2015-01-10 22:49:19
我跟着你的链接,它让我把.obj转换成.j3o,但是这仍然不起作用。接下来我要尝试的是测试SDK中的程序,看它是否在那里工作。 – MagnusCaligo 2015-01-11 05:17:59