Olá! Esperamos que este tutorial lhe dê uma compreensão mais profunda dos CFrames.
Observe que este tutorial se tornará muito técnico e exigirá um conhecimento básico de matemática.
Conteúdo
- 1 O que é um CFrame?
- 2 A Matriz CFrame
- 2.1 Os Aspectos Rotacionais
- 3 vetores
- 3.1 O que é um vetor?
- 3.2 Relacionamento com a Matriz
O que é um CFrame?
Um CFrame, ou quadro de coordenada, é um conjunto de 12 números que definem o posição e orientação de uma parte. Você notará que a propriedade CFrame de uma peça não está na janela Propriedades, mas foi substituída por Posição e Orientação para tornar mais fácil mover e girar uma peça.
A Matriz CFrame
Organizamos os 12 números em um CFrame em um matriz. O que é uma matriz? Em matemática, é basicamente uma maneira de organizar um monte de números em uma matriz organizada. Um bom exemplo de matriz é este:
Quadrado Mágico6 | 1 | 8 |
7 | 5 | 3 |
2 | 9 | 4 |
Normalmente, em uma matriz, cada linha / coluna deve ter algum tipo de relacionamento. O caso acima é um exemplo de "quadrado mágico", o que significa que cada linha horizontal, vertical e diagonal soma 15.
Um CFrame também tem uma matriz, só que é uma matriz 3x4, portanto perfazendo 12 valores. Os valores em negrito abaixo são apenas os títulos das linhas. Apenas uma observação: você não pode obter valores multiplicando dois números. Não tente encontrar xz multiplicando x e z.
Matriz CFramep | px | py | pz |
---|---|---|---|
x | xx | yx | zx |
y | xy | yy | zy |
z | xz | yz | zz |
Observe que cada valor tem nomes diferentes, como em vez de xx, outros o chamariam de r11 ou m01. Para este tutorial, estarei usando xx, yx e assim por diante.
Vamos começar com a linha p. A linha P representa a posição na forma de (x, y, z). É tão fácil quanto isso.
Os aspectos rotacionais
As linhas x, y e z representam a rotação do objeto. Aqui está uma amostra de três desses valores e como eles são calculados.
Você pode ver que essas equações são complicadas e requerem um conhecimento complexo de trigonometria. Você NÃO precisa calcular esses valores, este é apenas um tutorial para mostrar como a matriz funciona.
Vetores
Agora passamos para os vetores.
O que é um vetor?
Por definição, um vetor é um objeto com direção e magnitude. Para o propósito deste tutorial, assumiremos que um vetor é como um raio; uma linha que começa em um ponto (a parte) e vai infinitamente em uma direção. Claro, eles não são os mesmos, mas isso ajuda a entender o que é um vetor.
Agora, se você usar a ferramenta Mover em uma peça, verá seis setas aparecerem: duas vermelhas, duas verdes e duas azuis. Um desenvolvedor mais inexperiente pode pensar que cada cor de seta representa um eixo, mas isso não é verdade, como se você girasse a peça, as setas girariam com ela. Não. Cada seta representa um vetor.
Veja, cada parte tem seis faces, todas com um nome: frontal, traseira, esquerda, direita, superior ou inferior. Um vetor é como as setas na ferramenta Mover; é uma linha que começa no centro de um rosto e se estende infinitamente.
Cada parte tem três vetores nomeados:
Um LookVector é aquele que se estende desde a face frontal e é representado pela seta azul.
Um RightVector é o vetor que se estende da face direita e é representado pela seta vermelha.
Um UpVector se estende da face superior e é representado pela seta verde.
Relacionamento com a Matrix
Como tudo isso se relaciona com a matriz? Bem, um vetor é representado por três números na forma de . Portanto, os números da linha X são os números no RightVector da parte, linha Y para UpVector ez para LookVector.