2010-02-11 17 views
1

我试图得到一个定制Shape3D通过在Java 3D的一个DirectedLight的影响会受到影响,但没有我似乎工作。JAVA 3D:无法获取一个Shape3D通过灯光

形状具有的几何形状是一个IndexedQuadArray,与正常标志设置和应用,从而确保正常矢量被施加到正确的顶点 - 使用索引向量

我所提供的外观的材料(包括具有指定的颜色和光泽,并且没有)
我也把光在同一BranchGroup的形状,但它仍然无法正常工作。

事实上,当我在法线添加图形,对象似乎消失了 - 没有他们,它是扁的阴影,让所有的面孔都是一样的阴影。

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

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

[小奇怪 - 如果我翻译的球体,它会消失,如果我把它向任何方向移动超过31 ... [我的观点设置约​​700回,因为我正在处理大小的对象,宽达600]


编辑:发现这是可能与

官方教程阴影正确指定的视觉对象(即一个具有材质的对象)在现场情景图中,但在所有光源对象的影响范围之外呈现b缺乏。

回答

1

灯的setInfluencingBounds()未正确设置,因此场景中的形状未包含在边界内。

这可以通过将BoundingBox设置为包含整个区域并将其分配到影响范围中来进行更正