Java 3D开发相关的准备:
第一:下载Java 3D库
参考网址一:https://java3d.java.net/
参考网址二:
第二:下载Java 3D实例
参考网址:https://java.net/projects/j3d-examples
第三:配置集成开发工具(例如eclipse、Myeclipse8.6等)的Java 3D开发环境
第四:运行下载好的Java 3D实例
注解:为了您的方便,本文还单独提供本文实验配置工具直接下载地址(包括Java 3D库和Java 3D实例)
Java _3D_1.5.2库直接下载地址:
http://download.****.net/detail/zhongwen7710/7429247
http://download.****.net/detail/zhongwen7710/7429231
Java _3D_1.5.2实例直接下载地址:
http://download.****.net/detail/zhongwen7710/7429255
下面对上面的步骤进行详细的阐述:
1、 下载Java3D的。
参考网址一:https://java3d.java.net/
参考网址二:
参考网址一截图(如下所示):
参考网址二截图(如下所示):
2、下载用于Windows包含一个安装程序。 我发现最简单的安装在我的Java文件夹,包含在我的情况同一个标准的Java,jdk1.7.0_01,下载Java3D的文件和目录。 在运行安装程序:
文件路径为:C:\ProgramFiles (x86)\Java\Java3D\1.5.2\lib\ext
3、 在启动Eclipse前,先对Java 3D实例先进行处理,之后拷贝到自己创建的工程中,先看一下怎么处理下载后的Java 3D实例。
A、 下载Java 3D实例后,放到一个文件夹中,进行解压缩,会出现如下文件目录:
B、 删除除src中的所有文件,src中有classes和resources两个文件,其中classes文件是Java实例源代码文件,resources是素材配置文件。
C、 之后打开classes文件夹,之后会出现org文件夹,剪切org文件夹,放到src文件夹下,之后删除classes文件下,再将src文件夹下的resources文件夹,剪切到\org\jdesktop\j3d\examples目录下。
4、 启动Eclipse。 你可以创建一个新的Java 工程,本文实例创建的工程为j3d-examples_2,之后将Java3D实例(上面一步操作后,打开src下文件下的org文件夹),将org文件夹拷贝到该工程下,效果图如下图所示:
注解:如上图所示,很多语法错误,因为它是指一些Java3D的非标准类。 我们需要告诉到哪里寻找这些类的项目。
5、 在Eclipse菜单,选择“ 项目” - >“属性”
6、 在弹出窗口中选择 Java Build Path,然后单击 Add Library ...“按钮。
7、 在下一个窗口中,选择用户库 ,点击“ 下一步 ”按钮。
8、 在下一个窗口中单击“ 用户库”...“按钮
9、 点击新建...“按钮。
10、 在窗口,弹出新的库名称。 使用名称Java3DLib。 然后单击“ 确定 ”按钮。
11、 选择您刚才创建的库,然后单击“ 添加JAR文件...”按钮。
12、 在弹出浏览文件夹,你在第2步安装Java3D的文件选择。 (Jav??a3D的jar文件的路径在我的机器是用Java3D - > 1.5.2- >库 - >分机 - >)选择所有三个jar文件(j3dcore.jar,j3dutils.jar,和vecmath.jar的)。 所有三个jar文件,选择后单击“ 打开 ”按钮
13、 单击OK按钮。
14、 在弹出的窗口中单击 Finish按钮。
15、 在构建路径“窗口中选择回到您刚才添加的Java3DLib,展开它,并选择本机库的位置属性。 然后单击“编辑”按钮。
16、 在窗口弹出单击外部文件夹“按钮。
17、 在弹出的窗口中,浏览到Java3D的文件夹中的bin文件夹。 (在我的机器,这是在JAVA3D - > 1.5.2- > bin)中选择的文件夹,然后点击确定。 (工程中就能导入j3d的jar包了,如下图所示)
18、 现在我们看看实例的效果,如,我们打开org.jdesktop.j3d.examples.appearance包下的ApperanceTest.java的Java文件,运行本文件,如下图所示:
这样所有的Java 3D开发前的相关开发环境已经部署好了,现在可以畅所欲言的进行痛快地设计自己的Java 3D实例了。
在eclipse进行上面部署时,出现如下问题(找不到依赖库):
Exception in thread"AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\ProgramFiles\Java\jre7\bin\j3dcore-ogl.dll: Can‘t find dependent libraries
atjava.lang.ClassLoader$NativeLibrary.load(Native Method)
atjava.lang.ClassLoader.loadLibrary1(Unknown Source)
atjava.lang.ClassLoader.loadLibrary0(Unknown Source)
atjava.lang.ClassLoader.loadLibrary(Unknown Source)
atjava.lang.Runtime.loadLibrary0(Unknown Source)
atjava.lang.System.loadLibrary(Unknown Source)
atjavax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
atjava.security.AccessController.doPrivileged(Native Method)
atjavax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
atjavax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
atjavax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
atjavax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
atorg.jdesktop.j3d.examples.appearance.AppearanceTest.createUniverse(AppearanceTest.java:308)
atorg.jdesktop.j3d.examples.appearance.AppearanceTest.<init>(AppearanceTest.java:353)
atorg.jdesktop.j3d.examples.appearance.AppearanceTest$1.run(AppearanceTest.java:388)
atjava.awt.event.InvocationEvent.dispatch(Unknown Source)
atjava.awt.EventQueue.dispatchEventImpl(Unknown Source)
atjava.awt.EventQueue.access$200(Unknown Source)
atjava.awt.EventQueue$3.run(Unknown Source)
atjava.awt.EventQueue$3.run(Unknown Source)
atjava.security.AccessController.doPrivileged(Native Method)
atjava.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
atjava.awt.EventQueue.dispatchEvent(Unknown Source)
atjava.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
atjava.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
atjava.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
atjava.awt.EventDispatchThread.pumpEvents(Unknown Source)
atjava.awt.EventDispatchThread.pumpEvents(Unknown Source)
atjava.awt.EventDispatchThread.run(Unknown Source)
上面的问题,在第一次用这个IDE时,没有出现这个情况,但是在第二次之后用时,就出现了如上错误,在网上早了很多资料,还是不行,但是我用同样的操作,在Myeclipse8.6上操作,一直没有错误,现在还没早上,上面的解决方案,如果你遇到了同样的错误,请留言解答交流,不胜感激。