Bitbybit Docs
    Preparing search index...

    Class BabylonNode

    Nós de transformação: pontos invisíveis com uma posição e uma orientação aos quais malhas e outros nós podem ser associados como filhos, para que um grupo inteiro se mova como um só. Construir uma hierarquia de nós é como se colocam arranjos complexos: rode o pai e cada filho roda com ele. Os métodos aqui criam nós, leem os seus eixos e posições no espaço do mundo ou local, e movem-nos, rodam-nos e mudam-lhes o pai; os ângulos estão em graus.

    Index

    Constructors

    Methods

    • Desenha os três eixos de um nó como linhas coloridas com o comprimento dado, associadas a ele como filhas, de modo que a sua posição e orientação possam ser vistas; as cores predefinidas são vermelho para X, verde para Y e azul para Z.

      Parameters

      • inputs: DrawNodeDto

        O nó, as cores dos eixos e o comprimento dos eixos

      Returns void

      bitbybit.babylon.node.drawNode({ node, colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      
    • Desenha os três eixos de vários nós como linhas coloridas com o comprimento dado, cada conjunto associado como filho ao seu nó, tal como drawNode faz para um.

      Parameters

      • inputs: DrawNodesDto

        Os nós, as cores dos eixos e o comprimento dos eixos

      Returns void

      bitbybit.babylon.node.drawNodes({ nodes: [nodeA, nodeB], colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      
    • Cria um nó em origin rodado pelos três ângulos rotation em graus em torno de X, Y e Z, dentro do sistema de coordenadas de parent quando um é dado.

      Parameters

      Returns TransformNode

      O novo nó

      const node = bitbybit.babylon.node.createNodeFromRotation({ parent: null, origin: [0, 5, 0], rotation: [0, 45, 0] });
      
    • Cria um nó associado como filho ao nó raiz da cena, um novo ponto de partida para construir uma hierarquia na origem do mundo.

      Returns TransformNode

      O novo nó, cujo pai é o nó raiz da cena

      const world = bitbybit.babylon.node.createWorldNode();
      const arm = bitbybit.babylon.node.createNodeFromRotation({ parent: world, origin: [0, 5, 0], rotation: [0, 0, 30] });
    • Lê a direção para que o eixo Z local de um nó aponta no espaço do mundo, com a rotação de todos os pais aplicada.

      Parameters

      Returns number[]

      A direção para a frente como um vetor

    • Lê a direção para que o eixo X local de um nó aponta no espaço do mundo, com a rotação de todos os pais aplicada.

      Parameters

      Returns number[]

      A direção para a direita como um vetor

    • Lê a direção para que o eixo Y local de um nó aponta no espaço do mundo, com a rotação de todos os pais aplicada.

      Parameters

      Returns number[]

      A direção para cima como um vetor

    • Lê onde está a origem de um nó no espaço do mundo, com a transformação de todos os pais aplicada.

      Parameters

      Returns number[]

      A posição no mundo como um ponto

    • Lê a rotação de um nó no espaço do mundo, com a rotação de todos os pais aplicada, como uma matriz 4x4 de 16 números.

      Parameters

      Returns number[]

      A rotação como uma matriz de 16 números

    • Lê a rotação de um nó em relação ao seu pai como uma matriz 4x4 de 16 números; o nó tem de transportar um quaternião de rotação, que rotate e setDirection lhe dão.

      Parameters

      Returns number[]

      A rotação como uma matriz de 16 números

    • Lista os nós e malhas associados diretamente como filhos de um nó, os que se movem com ele.

      Parameters

      Returns Node[]

      Os filhos diretos

    • Lê o nó a que um nó está associado como filho, aquele com que se move; um nó de nível superior não tem nenhum.

      Parameters

      Returns Node

      O nó pai

    • Lê a posição de um nó medida nos seus próprios eixos locais em vez dos do seu pai, o que difere assim que o nó é rodado.

      Parameters

      Returns number[]

      A posição como um ponto no espaço local do nó

    • Dá o nó raiz da cena, o topo da hierarquia a que createWorldNode se associa.

      Returns TransformNode

      O nó raiz

    • Lê a rotação de um nó em relação ao seu pai como três ângulos em graus em torno de X, Y e Z.

      Parameters

      Returns number[]

      Os ângulos de rotação em graus

    • Roda um nó angle graus em torno de um eixo que passa por position, de modo que o nó orbita esse ponto em vez de girar no lugar; os seus filhos seguem-no.

      Parameters

      Returns void

      bitbybit.babylon.node.rotateAroundAxisWithPosition({ node, position: [0, 0, 0], axis: [0, 1, 0], angle: 90 });
      
    • Roda um nó angle graus em torno de um eixo que passa pela sua própria origem, além da sua rotação atual; os seus filhos seguem-no.

      Parameters

      • inputs: RotateNodeDto

        O nó, a direção do eixo e o ângulo em graus

      Returns void

      bitbybit.babylon.node.rotate({ node, axis: [0, 1, 0], angle: 45 });
      
    • Move um nó para um ponto no espaço do mundo, sejam quais forem os seus pais; os seus filhos seguem-no.

      Parameters

      Returns void

      bitbybit.babylon.node.setAbsolutePosition({ node, position: [10, 0, 0] });
      
    • Roda um nó para que o seu eixo Z local aponte ao longo de direction; os seus filhos seguem-no.

      Parameters

      Returns void

      bitbybit.babylon.node.setDirection({ node, direction: [1, 0, 0] });
      
    • Associa um nó a outro como filho para que a partir daí se mova com ele, mantendo o seu lugar atual no mundo; um pai nulo desassocia-o.

      Parameters

      Returns void

      bitbybit.babylon.node.setParent({ node: wheel, parentNode: car });
      
    • Move um nó distance unidades de cena ao longo de direction, dada nos eixos locais próprios do nó; os seus filhos seguem-no.

      Parameters

      Returns void

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