
O controle de orientação para os olhos no 3ds Max é feito através da ferramenta LookAt constraint. Este é um controle bem simples. Basicamente consiste em fazer com que um dos eixos do objeto que será o olho esteja sempre voltado para um objeto alvo qualquer.
Esta técnica funciona muito bem quando o olho é uma esfera perfeita, porém, em alguns estilos de personagem o olho pode ser elíptico. Nesse tipo de situação não é possível aplicar o lookAt constraint sem fazer ajustes, pois se o olho girar, ele sairá da órbita ocular do personagem.

Para resolver este problema, utilizaremos o spacewarp FFD (Box) para deformar os olhos do personagem. O FFD (Box) consiste em um método para deformar objetos através de uma caixa que funciona como um campo de força. A forma desta caixa pode ser alterada por pontos de controle. Quando a forma da caixa é alterada, o objeto que está dentro da caixa também é influenciado pelo FFD(Box) e sofre as deformações.

Utilizando estes conhecimentos, faremos um olho normal esférico e aplicaremos o lookAt constraint normalmente. Após a aplicação do constraint aplicaremos o FFD (Box) para alterar a forma do olho. Desta maneira, mesmo que o olho gire, ele ficará deformado dentro do “campo de força” do FFD (Box) sem que saia da órbita ocular do personagem.
Para começar a criar o controle, crie os olhos do personagem com a forma esférica normal. Vá ao painel de criação, clique no botão helpers e crie um point helper em frente aos olhos.

Selecione um dos olhos, vá ao menu animation e, dentro da opção constraints, clique em LookAt constraint.

Aparecerá uma linha tracejada a partir do olho para que você escolha o objeto alvo do constraint. Clique no point helper que você criou.
Ainda com o olho selecionado, vá ao painel de animação para selecionar o LookAt axis correto. Escolha o eixo que fará com que a frente do olho fique voltada para o point helper. No grupo upnode control selecione a opção LookAt axis. Repita estes procedimentos com o outro olho.

Agora vamos criar o FFD (Box) para dar a forma elíptica do olho. Vá ao painel de criação e clique no botão space warps. Dentro da categoria space warps, escolha a subcategoria geometric deformable no menu flutuante. Clique na opção FFD(Box) e crie um FFD(Box) na viewport.

Alinhe o FFD(Box) com o olho e, no painel de modificações, altere as dimensões da caixa até que ela esteja quase do tamanho do olho. É bom deixar a caixa do FFD(Box) um pouco maior do que o olho. Ainda no painel de modificações, clique no parâmetro set number of points do FFD(Box) e deixe a caixa com apenas dois pontos em cada eixo. Após ajustar a caixa, clique no botão bind to space warp localizado na main toolbar. Agora clique no FFD(Box) e, mantendo o botão do mouse apertado, arraste o cursor e clique no olho. Isto fará com que o olho passe a ser influenciado pelo FFD(Box). Repita os procedimentos com o outro olho.

Agora vá ao painel de modificações e ative o sub-objeto control points. Com este sub-objeto ativo, você poderá selecionar os pontos do FFD(Box) e move-los livremente deformando o olho. Selecione todos os pontos da caixa e, utilizando a ferramenta scale, estique ele verticalmente até que o olho assuma a forma da cavidade ocular de seu personagem.

Está pronto. Desta forma você poderá mexer no point helper para alterar a orientação dos olhos do personagem e eles continuarão com a forma alongada vertical inalterada. Para fazer com que os olhos acompanhem a cabeça, faça o link dos olhos e dos FFD(Box) para o bone da cabeça.







