我试图让一个自定义Shape3D
受到DirectedLight
java 3D 的影响,但我所做的似乎没有任何效果。
Shape 的几何形状为IndexedQuadArray
,设置并应用了 NORMAL 标志,确保将法线向量应用于正确的顶点 - 使用索引向量
我为外观赋予了材质(具有指定的颜色和光泽度,以及没有)
我也将灯光置于与BranchGroup
形状相同的位置,但它仍然不起作用。
事实上,当我在形状中添加法线时,对象似乎消失了——没有它们,它是平面阴影,因此所有面都是相同的阴影。
我只能认为我忘记了包含一些简单得可笑的东西,或者做错了什么。
实际上,为了测试灯光,我在Sphere
形状旁边放了一个,球体受到影响并正确点亮,但形状仍然没有。两者都在同一个BranchGroup
[也有点奇怪 - 如果我平移球体,如果我将它向任何方向移动大于 31,它就会消失...... [我的视图设置为大约 700,因为我正在处理尺寸最大为 600 宽度的对象]
编辑:在可能相关的官方教程中找到了这个
在实时场景图中为着色正确指定的视觉对象(即具有材质对象的对象)但在所有光源对象的影响范围之外会呈现黑色。