问题标签 [java-3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
659 浏览

java - 如何使用 java3D API 在纹理上写入文本?

我想知道如何在给定的纹理上写一些文本(在执行期间)?

我正在使用 java3d API。

谢谢 !

0 投票
1 回答
1028 浏览

java-3d - Java 3d:无法让 Shape3D 受灯光影响

我试图让一个自定义Shape3D受到DirectedLightjava 3D 的影响,但我所做的似乎没有任何效果。

Shape 的几何形状为IndexedQuadArray,设置并应用了 NORMAL 标志,确保将法线向量应用于正确的顶点 - 使用索引向量

我为外观赋予了材质(具有指定的颜色和光泽度,以及没有)
我也将灯光置于与BranchGroup形状相同的位置,但它仍然不起作用。

事实上,当我在形状中添加法线时,对象似乎消失了——没有它们,它是平面阴影,因此所有面都是相同的阴影。

我只能认为我忘记了包含一些简单得可笑的东西,或者做错了什么。

实际上,为了测试灯光,我在Sphere形状旁边放了一个,球体受到影响并正确点亮,但形状仍然没有。两者都在同一个BranchGroup

[也有点奇怪 - 如果我平移球体,如果我将它向任何方向移动大于 31,它就会消失...... [我的视图设置为大约 700,因为我正在处理尺寸最大为 600 宽度的对象]


编辑:在可能相关的官方教程中找到了这个

在实时场景图中为着色正确指定的视觉对象(即具有材质对象的对象)但在所有光源对象的影响范围之外会呈现黑色。

0 投票
1 回答
1022 浏览

jung - 使用 JUNG 显示 3D 图形

我是 JUNG 的新手,我可以显示 2D 图形,但谁能告诉我如何显示 3D 图形。

0 投票
2 回答
869 浏览

java - Java 3D 内存泄漏

我有一个 Java 3D 中的大型场景图,由一个包含大约 3500 个开关的组组成,每个开关包含一个 Shape3D 和一个组,后者包含另外两个 Shape3D。

这种设置的原因是 3500 交换机中的每一个都必须能够完全隐藏或使其两个子节点中的任何一个可见。

当我尝试在 Switch 中修改组中的两个 Shape3D 的几何图形时,就会出现问题。我尝试了以下方法:

  • 将组更改为 BranchGroup。当需要更改几何图形时,我会分离 BranchGroup 并创建一个新的,并使用更新的几何图形来替换它。泄漏大量内存。例如,初始内存使用量约为 100 MB。后来几何形状发生变化,大约为 400 MB。

  • 使几何图形可编辑。当需要更改几何图形时,我直接对其进行编辑。泄漏大量内存。与上面类似。

  • 使几何图形可编辑,但通过引用。当需要更改几何图形时,我使用适当的 GeometryUpdater 调用 updateData(...),然后它会执行它的操作。泄漏内存。

  • 重新创建整个场景图。当需要更改几何图形时,我会分离整个场景图,使用更新的几何图形从头开始重新创建它,然后附加新的场景图。泄漏内存。

我不禁觉得我缺少一些关于 Java 3D 内存管理的基本知识,而这对我的所有尝试都是常见的。

更改几何形状的速度不是问题,因为它很少发生。但是,内存问题很严重。

0 投票
1 回答
141 浏览

3d - 为什么启用透明度会导致剪裁问题?

我正在使用 Java 3D API 在 Java 中开发 3D 图形应用程序。我注意到每次我处理透明度时,我得到的只是一些剪裁问题。场景的某些部分未正确显示。这似乎很明显会以某种方式发生,但我正在寻找一个合乎逻辑的解释,为什么会发生这种情况?

谢谢

0 投票
2 回答
700 浏览

java - Java3D:具有透明 PNG 纹理的对象的顺序问题

今天我尝试用 Java 3D 编写一个小鱼缸。鱼缸旋转,鱼被放入其中。盒子里的鱼是带有 alpha 通道的 PNG 图片的 Java 3D 盒子。如果没有激活透明度,对象的顺序是正确的。但是当我启用它时,后面的一些鱼会出现在前面,这看起来真的很不对劲。我尝试了最好、最快和混合作为透明度选项,但我没有努力。

有人知道问题可能是什么吗?

![替代文字][1]

谢谢!

0 投票
3 回答
1531 浏览

java - 在 Java3D 中创建发光球体

我正在寻找一种使用 Java3D 重现这种雾球发光效果的方法。

http://bzflag.org/screenshots/bzfi0021.jpg http://bzflag.org/screenshots/bzfi0019.jpg http://bzflag.org/screenshots/bzfi0022.jpg

我正在创建一个带有点光源和发射材料球体的变换组,但我无法重现雾气。

想法?

谢谢!

============ 解决方案(感谢佝偻病)===========

0 投票
1 回答
2681 浏览

java - Java3D:在 Canvas3D 上绘制 2D HUD

我正在使用 Java3D 渲染一个三维场景。我想在 3d 图像上叠加一个二维“平视显示器”。如何有效地在 3d 画布上绘制 2d 内容?

谢谢!

0 投票
2 回答
223 浏览

java - 重复场景树 (Java3d / OpenGL)

我想制作一个围绕自身循环的 3d 场景。也就是说,如果你继续往任何方向走,你就会循环回到另一边。

我目前的实现是如此糟糕,承认它很尴尬。我重绘每个更改 27 次,以制作 3x3x3 场景立方体。当用户到达中间立方体的尽头时,我将他们跳到另一边。保持一致性(更不用说性能)是一场噩梦。总灾难。

这似乎不是一个不寻常的请求,所以我想知道是否有人知道更合法的解决方案。

谢谢!

编辑/注意:Java3d 中没有渲染到纹理的功能。

0 投票
2 回答
4058 浏览

java - 尝试将 2D 图像转换为 Java 中的 3D 对象

嘿,我正在尝试拍摄一个简单的图像,例如黑色背景,带有代表墙壁的彩色块。我试图弄清楚如何开始这样的事情。我是否需要解析图像并查看每个像素,或者有更简单的方法吗?我正在使用 Java3D,但它似乎没有任何内置支持...