Я пытаюсь получить пользовательский Shape3D
, на который будет влиять DirectedLight
в java 3D, но ничего, что я делаю, похоже, не работает.
Форма имеет геометрию IndexedQuadArray
с установленным и примененным флагом NORMAL, обеспечивающим применение нормальных векторов к правильным вершинам - с использованием индексированных векторов
Я дал Внешний вид материал (как с указанными цветами и блеском, так и без)
Я также поместил свет на тот же BranchGroup
, что и форма, но он все еще не работает.
На самом деле, когда я добавляю нормали к фигуре, объект, кажется, исчезает - без них он затенен, так что все грани имеют одинаковый оттенок.
Я могу только думать, что забыл включить что-то смехотворно простое, или сделал что-то не так.
Чтобы проверить, были ли на самом деле огни, я вставил Sphere
рядом с формой, и сфера была затронута и освещена правильно, но форма все еще не была. Оба были на одном и том же BranchGroup
[Небольшая странность тоже - если я перевожу сферу, она исчезает, если я перемещаю ее больше 31 в любом направлении ... [мое видение отодвигается на 700 градусов назад, когда я имею дело с объектами размером до 600 в ширина]
Редактировать: нашел в официальных уроках, которые, вероятно, связаны
Визуальный объект, правильно заданный для затенения (т. Е. Объект с объектом Material) в живом графе сцены, но за пределами границ влияния всех объектов-источников света, становится черным.