昨天我决定用 Java 和 Java3D 开始我的新模拟器项目。因为我之前已经编写过Java,所以这是一个很大的优势,我可以直接从模拟器开始。现在我正在考虑如何解决这个问题,但我直接绊倒了我程序的最大部分:模拟器中的激光。
我想制造与这些类似的激光器(当然一开始我不会那么接近,但你明白我的想法)
(来源:wrzuta.pl)
问题是,谁能给我一个粗略的解释,说明如何处理这个问题?我浏览了 Java3D 的完整文档,但找不到创建此类内容的功能。只是一些起点就已经很好了。
(如果有人为这种任务推荐不同的 3D API,它也适用于 Java,请告诉我)
提前致谢
威廉诉多恩案
最佳答案
让我先声明我在 Java3D 方面的经验非常有限。我玩过这些例子,但仅此而已。但是,许多规则适用于 3D 环境。
如果您谈论的是静态图像:使用非常窄的圆锥体,添加颜色和透明度,可能还有纹理以减少相对于距圆锥体中心轴的距离的 alpha 分量。
如果您谈论的是动画场景,那就有点难了。你需要合成雾。 Volumetrics 会给你令人难以置信的图像,但它在计算上很昂贵,而且我认为 Jave3D 不支持它。但是,我认为如果您有一个对象是所有激光束的父对象,那么您可以伪造它,并且 Java3D 会将纹理锚定到父对象并让子对象继承它。
更新 1: 我将从 Cone 开始具有非常小的半径作为单个光束。
关于java - 使用 Java3D/其他 3D API 创建 'laserlights',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3948209/