Tag: 3d

免费java 3d引擎

什么是最适合java的3D游戏引擎? 我正在寻找具有良好的可视化开发工具的东西。 我查看了维基百科上的可用列表: http://en.wikipedia.org/wiki/List_of_game_engines 但我无法弄清楚每个引擎提供的工具集以及哪个免费的java 3d引擎拥有最好的工具集。 谢谢

修复3D相机朝其面向的方向移动?

短版(TL; DR) 我有一个连接到SceneNode的Camera ,只要SceneNode的旋转/轴与世界对齐,运动就可以正常工作。 然而,当一个物体旋转到另一个方向“看”并被告知“向前”移动时,它不会沿着新的“向前”方向移动。 相反,它继续沿着应用旋转之前面向的方向移动。 细节和例子 我有一个场景图来管理3D场景。 该图是SceneNode对象的树,它们知道它们相对于父级和世界的变换。 根据TL; DR; 片段,假设您有一个零旋转的cameraNode (例如朝北),然后将cameraNode向左旋转+ Y“向上”轴向左旋转90度,即向西看。 到目前为止事情还可以。 如果您现在尝试将cameraNode “向前”移动(现在向西),则cameraNode会移动,就像“向前”仍然朝向北方一样。 简而言之,它就像从未在第一时间旋转一样移动。 下面的代码显示了我最近尝试过的内容以及我(当前)最佳猜测,即缩小最可能与问题相关的区域。 相关的SceneNode成员 SceneNode实现具有以下字段(仅显示与此问题相关的字段): class GenericSceneNode implements SceneNode { // this node’s parent; always null for the root scene node in the graph private SceneNode parentNode; // transforms are relative to a parent scene node, if any private […]

JavaFX 2D文本与3D场景中的背景

对于我的项目,我需要3D场景中的2D文本(而不是叠加!)。 所以我尝试将带有Label / Text节点的BorderPane添加到我的场景中: 然而问题是,当我用相机放大,缩小或飞行时,面板的白色背景有时与标签重叠(它们显然具有相同的深度)。 有没有办法从其面板“提升”标签? 我试过设置setDepthTest(true); 没有效果。 这是一个显示问题的简单示例。 Xform类来自Oracle的分子样本( http://docs.oracle.com/javase/8/javafx/graphics-tutorial/sampleapp3d-code.htm#CJAGGIFG ): package mypackage; import mypackage.Xform; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.Scene; import javafx.scene.SceneAntialiasing; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; import javafx.scene.text.Text; import javafx.stage.Stage; public class Example extends Application { private Stage primaryStage; private final Group root = new Group(); @Override public void start(Stage primaryStage) […]

在JavaFX中正确旋转3轴上的3D对象

所以到目前为止我用来在JavaFX中旋转对象的方法是我将它分成3组,每组都附加一个Rotate并锁定到单个轴,如下所示: Rotate heading, roll, pitch; Group normalrotate, rollrotate, verticalrotate; heading.setAxis(new Point3D(0,1,0)); normalrotate.getTransforms().add(heading); roll.setAxis(new Point3D(0,0,1)); rollrotate.getTransforms().add(roll); pitch.setAxis(new Point3D(1,0,0)); verticalrotate.getTransforms().add(pitch); 并且每次我需要旋转对象时都会执行setAngle()。 这对于前进和滚动非常有效,直到我决定我也需要投球。 现在很多OpenGL等教程都说旋转的matix或四元数最适合这种类型的旋转,但javadoc缺乏任何有用的数据。 示例:当我在y轴上旋转对象180度时会发生什么(实际上应该以透明蓝色旋转) 我错过了什么吗? 所有帮助将不胜感激。

Java 3D绘图库?

好的,我正在做一个关于java中一些财务内容可视化的项目,主要目标是从股票市场获取一些信息,通过几个方程运行它,然后将结果绘制成3D图。 我几乎所有事情都完成但可视化(我猜这是最重要的)。 起初我在考虑使用java3d,但是我的时间不够用,而且我没有时间去学习它。 是否有任何非常简单的库可视化java中的3D东西(我需要像缩放,旋转等东西)。 我找到了jmathtools(看起来很完美),但由于某种原因,它想要编译。

使用相机将基本渲染3D透视投影到2D屏幕上(无opengl)

假设我有一个如下所示的数据结构: Camera { double x, y, z /** ideally the camera angle is positioned to aim at the 0,0,0 point */ double angleX, angleY, angleZ; } SomePointIn3DSpace { double x, y, z } ScreenData { /** Convert from some point 3d space to 2d space, end up with x, y */ int x_screenPositionOfPt, y_screenPositionOfPt double […]