java - 使用 Java3D/其他 3D API 创建 'laserlights'

标签 java api graphics java-3d light

昨天我决定用 Java 和 Java3D 开始我的新模拟器项目。因为我之前已经编写过Java,所以这是一个很大的优势,我可以直接从模拟器开始。现在我正在考虑如何解决这个问题,但我直接绊倒了我程序的最大部分:模拟器中的激光。

我想制造与这些类似的激光器(当然一开始我不会那么接近,但你明白我的想法)

alt text
(来源: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/

相关文章:

java - 在 Eclipse 中使用 Ant 的类路径

java - 水平放置圆形图像以显示用户个人资料图片

python - 删除 lxml 中的所有命名空间?

C# picturebox 绘制速度

java - Arquillian 运行模式

php - 获取数组中的 Youtube VideoID 详细信息

eclipse - Eclipse 中打开文件的监听器

opengl - 图形管道的哪些部分是使用 CPU 和 GPU 完成的?

Java 基本笔画 "Fuzzy"

java - "Unsupported major.minor version 52.0"Jboss MySql