Добавить иерархию узлов и поделиться геометрическими данными сетки среди нескольких узлов сцены 3D
Добавить иерархию узлов в документе сцены 3D
Aspose.3D for Java поддерживает построение иерархии узлов. Node
является основным строительным блоком сцены 3D, и иерархия узлов определяет логическую структуру сцены 3D и обеспечивает видимый контент, прикрепляя геометрию, освещение и камеры к узлам.
Пример графов сцены
В Aspose.3D каждый экземпляр Node
может иметь несколько дочерних узлов, в этом примере мы создали узел с двумя узлами куба, если мы повернем корневой узел, все дочерние узлы также будут затронуты:
Поделитесь данными геометрии Mesh между несколькими узлами
Чтобы уменьшить потребности в памяти, один экземпляр класса Mesh
может быть привязан к различным экземплярам класса Node
. Представьте, что вам нужна система, в которой все кубики 3D казались неотличимыми, однако вам требовалось их большое количество. Вы можете сэкономить память, сделав один объект Mesh, когда система запускается. В этот момент каждый раз, когда вам требуется другая форма, вы делаете еще один объект Узла, а затем указываете этот узел на один Mesh
. Это называется instancing. Aspose.3D for Java API позволяют делать инстансинг.
Пример установки
В таких играх, как RTS (стратегия в реальном времени), мы всегда можем видеть несколько NPC (Non-Player Character) с одной и той же моделью 3D, возможно, в разных цветах, механизм рендеринга обычно имеет одинаковые данные геометрии сетки для разных NPC, этот метод называется Instancing.
Mesh
используется в коде. Мы можемСоздать объект класса Mesh, как там рассказано.
Демонстрация кода примера:
В этом примере мы создали 3 кубических узла, которые имеют одну и ту же сетку, каждый из них имеет разный материал с разными цветами.