Bitbybit Docs
    Preparing search index...

    Class BabylonNode

    Узлы преобразования: невидимые точки с позицией и ориентацией, к которым можно привязать меши и другие узлы как к родителю, чтобы вся группа двигалась как одно целое. Построение иерархии узлов - это то, как размещаются сложные композиции: поверните родителя, и каждый потомок повернется вместе с ним. Методы здесь создают узлы, читают их оси и позиции в мировом или локальном пространстве и перемещают, поворачивают и переназначают им родителя; углы в градусах.

    Index

    Constructors

    Methods

    • Рисует три оси узла как цветные линии заданной длины, привязанные к нему, чтобы были видны его позиция и ориентация; цвета по умолчанию - красный для X, зеленый для Y и синий для Z.

      Parameters

      • inputs: DrawNodeDto

        Узел, цвета осей и длина осей

      Returns void

      bitbybit.babylon.node.drawNode({ node, colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      
    • Рисует три оси нескольких узлов как цветные линии заданной длины, каждый набор привязан к своему узлу, как drawNode для одного.

      Parameters

      • inputs: DrawNodesDto

        Узлы, цвета осей и длина осей

      Returns void

      bitbybit.babylon.node.drawNodes({ nodes: [nodeA, nodeB], colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      
    • Создает узел в origin, повернутый на три угла rotation в градусах вокруг X, Y и Z, внутри системы координат parent, когда он задан.

      Parameters

      • inputs: CreateNodeFromRotationDto

        Необязательный родитель, начало координат и углы поворота в градусах

      Returns TransformNode

      Новый узел

      const node = bitbybit.babylon.node.createNodeFromRotation({ parent: null, origin: [0, 5, 0], rotation: [0, 45, 0] });
      
    • Создает узел, привязанный к корневому узлу сцены, свежую отправную точку для построения иерархии в начале мировых координат.

      Returns TransformNode

      Новый узел, родителем которого является корневой узел сцены

      const world = bitbybit.babylon.node.createWorldNode();
      const arm = bitbybit.babylon.node.createNodeFromRotation({ parent: world, origin: [0, 5, 0], rotation: [0, 0, 30] });
    • Читает направление, куда смотрит локальная ось Z узла в мировом пространстве, с примененным поворотом каждого родителя.

      Parameters

      Returns number[]

      Направление вперед как вектор

    • Читает направление, куда смотрит локальная ось X узла в мировом пространстве, с примененным поворотом каждого родителя.

      Parameters

      Returns number[]

      Направление вправо как вектор

    • Читает направление, куда смотрит локальная ось Y узла в мировом пространстве, с примененным поворотом каждого родителя.

      Parameters

      Returns number[]

      Направление вверх как вектор

    • Читает, где начало координат узла находится в мировом пространстве, с примененным преобразованием каждого родителя.

      Parameters

      Returns number[]

      Мировая позиция как точка

    • Читает поворот узла в мировом пространстве, с примененным поворотом каждого родителя, как матрицу 4x4 из 16 чисел.

      Parameters

      Returns number[]

      Поворот как матрица из 16 чисел

    • Читает поворот узла относительно его родителя как матрицу 4x4 из 16 чисел; узел должен нести кватернион поворота, который ему дают rotate и setDirection.

      Parameters

      Returns number[]

      Поворот как матрица из 16 чисел

    • Перечисляет узлы и меши, привязанные непосредственно под узлом, те, что перемещаются вместе с ним.

      Parameters

      Returns Node[]

      Прямые потомки

    • Читает узел, к которому привязан узел, тот, с которым он перемещается; у узла верхнего уровня его нет.

      Parameters

      Returns Node

      Родительский узел

    • Читает позицию узла, измеренную в его собственных локальных осях, а не осях родителя, что отличается, когда узел повернут.

      Parameters

      Returns number[]

      Позиция как точка в локальном пространстве узла

    • Дает корневой узел сцены, вершину иерархии, к которой привязывает createWorldNode.

      Returns TransformNode

      Корневой узел

    • Читает поворот узла относительно его родителя как три угла в градусах вокруг X, Y и Z.

      Parameters

      Returns number[]

      Углы поворота в градусах

    • Поворачивает узел на angle градусов вокруг оси, проходящей через position, так что узел обращается вокруг этой точки, а не вращается на месте; его дочерние следуют.

      Parameters

      Returns void

      bitbybit.babylon.node.rotateAroundAxisWithPosition({ node, position: [0, 0, 0], axis: [0, 1, 0], angle: 90 });
      
    • Поворачивает узел на angle градусов вокруг оси через его собственное начало координат, поверх его текущего поворота; его дочерние следуют.

      Parameters

      • inputs: RotateNodeDto

        Узел, направление оси и угол в градусах

      Returns void

      bitbybit.babylon.node.rotate({ node, axis: [0, 1, 0], angle: 45 });
      
    • Перемещает узел в точку мирового пространства, какими бы ни были его родители; его дочерние следуют.

      Parameters

      Returns void

      bitbybit.babylon.node.setAbsolutePosition({ node, position: [10, 0, 0] });
      
    • Поворачивает узел так, чтобы его локальная ось Z смотрела вдоль direction; его дочерние следуют.

      Parameters

      Returns void

      bitbybit.babylon.node.setDirection({ node, direction: [1, 0, 0] });
      
    • Привязывает узел к другому, так что с этого момента он перемещается вместе с ним, сохраняя свое текущее место в мире; родитель null отвязывает его.

      Parameters

      Returns void

      bitbybit.babylon.node.setParent({ node: wheel, parentNode: car });
      
    • Перемещает узел на distance единиц сцены вдоль direction, заданного в собственных локальных осях узла; его дочерние следуют.

      Parameters

      Returns void

      bitbybit.babylon.node.translate({ node, direction: [0, 1, 0], distance: 5 });