Em um jogo 3D, a câmera está inclinada e define um novo sistema de coordenadas. Um vetor de movimento está representado na base da câmera como . A matriz de mudança de base para o sistema global é:
Questão: Calcule o vetor v no sistema global e explique como isso afeta o deslocamento do jogador no mundo do jogo.
Passo 1
O enunciado nos dá um vetor de movimento na base da câmera, vec vB=(1,2,-1), e pede para encontrar o mesmo vetor no sistema de coordenadas global. Como a base da câmera está inclinada em relação ao sistema global, usamos a matriz de mudança de base P para transformar coordenadas de “camera” para “mundo”. A fórmula é
O resultado vec v=(0,2,-1) indica quantas unidades o jogador se move ao longo de cada eixo global:
– 0 no eixo x global, ou seja, nenhum desvio lateral no mundo;
– 2 no eixo y global, ou seja, uma elevação de 2 unidades;
– -1 no eixo z global, ou seja, um recuo de 1 unidade na profundidade.
Passo 4
Em termos de jogabilidade, isso significa que um comando de movimento para frente/para a direita na câmera (vetor (1,2,-1) na base inclinada) vai resultar, no mundo, em subir 2 unidades e recuar 1 unidade, sem deslocamento lateral global. A inclinação da câmera faz com que componentes de “frente” e “direita” da câmera se decomponham nesses deslocamentos globais.