插件显示来自VRML或X3D的3d对象

时间:2013-05-18 15:23:36

标签: java graphics 3d vrml x3d

我不确定这样的插件是否存在..但是我的程序会显示可以轻松转换为VRML或X3D文件的数据,所以如果我可以直接在这些文件中显示这些文件,那将非常方便。程序的窗口。任何人都可以建议任何Java插件或任何自动化的解决方案吗?

3 个答案:

答案 0 :(得分:3)

如果您的程序生成或读取3D网格数据(三角形)并且能够创建包含表示这些3D对象的定义良好的X3D文档的String对象,那么Java 3D(TM)API和XModelImporter API可能会为你。

XModelImporter为“可扩展3D(X3D)”文件提供Java 3D导入程序。在这种情况下,'com.interactivemesh.j3d.interchange.ext3d.XModelReader'似乎是合适的导入器,或者是'com.interactivemesh.j3d.interchange.ext3d.XModelLoader'。

XModelReader通过接受外部数据的“java.io.File”和“java.net.URL”等不同来源导入X3D文件,还应该适用于内部存储数据的“java.io.Reader”,太

以下未经测试的方案可能有效:

  • 将X3D文档写入StringBuilder对象
  • 创建相应的String对象(StringBuilder.toString)
  • 使用此X3D字符串
  • 创建一个java.io.StringReader实例
  • 创建一个XModelReader实例并通过调用XModelReader.read(java.io.Reader reader)导入X3D数据
  • 调用XModelReader.getImport()返回一个'javax.media.j3d.Node'数组,可以用Java 3D渲染

Java 3D https://java3d.java.net/binary-builds.html

XModelReader http://www.java.net/node/706300

我不知道任何“目前支持的”准备好用于Swing或JavaFX的VRML或X3D播放器。您可以考虑为Java平台选择其中一个3D API,并将数据直接转换为相关格式,而不是将网格转换为VRML或X3D。

八月

答案 1 :(得分:1)

Xj3D可能是最简单的解决方案。请参阅http://www.xj3d.org/tutorials/xj3d_application.html或更好的http://www.xj3d.org/tutorials/general_sai.html。 在第一次看来,Xj3D似乎很难使用,但事实并非如此。如果您需要更多帮助,我可以向您发送一个NetBeans项目。在这个论坛上寻求更多帮助,我会尽力帮助你。

答案 2 :(得分:0)

可以在以下位置找到修订和维护的Xj3D库版本: