Avatar Studio - Técnicas simples para incluir avatares na decoração de um mundo Usando o Vivaty Studio Embora tenham uma programação sofisticada, os avatares são antes de mais, ficheiros 3D como quaisquer outros (em vrml ou x3d) e podem ser usados como os outros objetos no design dos mundos virtuais. Para além de se usarem avatares como representantes das pessoas que visitam os mundos, podem usar-se igualmente como objetos do próprio mundo, criando-se assim cenários que para além das habituais construções e paisagem incluem também "pessoas virtuais" que dão (mais) "vida" e animação ao mundo e isso pode ser feito com um simples 'inline'. de avatares objecto que se deslocam na zona do arco do triunfo, 2ème Monde Casal Neste tutorial verá como se podem fazer 3 coisas: 1- Como inserir avatares decorativos no cenário do mundo. 2-Como usar/mudar a animação de reação ao toque no avatar decorativo 3-Como fazer os avatares decorativos passear no mundo. 1. Usar Avatares como objetos de um mundo com a técnica inline O habitual comando merge do Vivaty Studio não é uma boa opção para inserir avatares. Com um editor de vrml/x3d podemos incluir objetos na cena/mundo. Normalmente usa-se o comando merge para fundir o objecto com o mundo. Os avatares também se podem inserir assim, no entanto isso não é aconselhável no vivaty studio porque ao exportar a cena final para vrml os parâmetros dos avatares ficam alterados e o visualizador bs contact vai mostrar avatares muito deformados. A melhor solução é usar um inline. O inline não funde o objeto no código do mundo apenas o mostra/insere no momento da visualização no navegador 3D (bs contact) e os ficheiros mantêm-se
sempre separados (à semelhança do que acontece com as imagens no HTML, por exemplo, são visualizadas em conjunto no browser mas permanecem objetos diferentes). Neste caso a técnica é adequada porque quando feito desta forma o Vivaty Studio não mexe no código do avatar que permanece incólume num ficheiro próprio e assim não apresentará problemas na visualização. Desta forma podemos facilmente contratar para os nossos mundos avatares rececionistas, barman, disk jockey, porteiros, etc. Cuidado a ter: deve fazer-se um inline "simples" só colocando o URL. Sobretudo não deve clicar no botão "Add" que está um pouco mais abaixo (a interface do VS pode induzir neste erro) senão o avatar é "importado" para o Vivaty e mexido (e eventualmente deformado), ao contrário do que se pretende. Depois de introduzir o endereço clique simplesmente em outro qualquer objeto da cena. 2- Animações do avatar objeto. Um avatar inserido num mundo (mesmo com inline) mantém as suas animações e naturalmente a que se obtém quando clicamos nele com o mouse. Essa é a animação do clique (Touch) que no avatar studio é o ZEN, por defeito. Se o avatar for usado na decoração de uma cena sobre yoga essa animação é conveniente. Noutros casos outras serão mais convenientes. Para o porteiro de um edifício, por exemplo, faria mais sentido outro gesto como o Hello. Se pretendermos que o avatar tenha outra animação temos de fazer uma pequena modificação ao ficheiro.wrl do avatar.
Como definir outra animação para o clique (touch)? A forma mais simples é reeditar o avatar, no Avatar Studio, e colocar o gesto que pretendemos na posição 10 (substituindo o gesto ZEN) Outra forma é editar o código vrml do avatar e mudar uma linha como veremos a seguir e aconselhamos a fazer pois com isso abre-se um novo conjunto de possibilidades até porque é um procedimento trivial para quem já editou um ficheiro HTML ou Javascript. 2.1 Modificar o gesto de touch no ficheiro vrml (.wrl) do avatar Um ficheiro vrml/x3d é um ficheiro de texto, tal como o html ou o Javascript, e pode abrir-se com um editor, por exemplo o Notepad ou o SharePoint designer. No entanto, os sistemas VRML/x3d podem usar os ficheiros compactados (em formato gzip), o que é frequente e neste caso terá de se descompactar primeiro (com um compressor/descompressor como o 7-Zip, gratuito) para ser editado. Podemos então abrir o ficheiro wrl do avatar e próximo da linha 1770 (varia muito consoante o avatar, o melhor é mesmo fazer um search) encontra-se a instrução: function Touch(t){G9(t);} Esta é uma função Javascript (o VRML usa uma versão simplificda do JavaScript, que se chama VRMLScript) que define o gesto a realizar quando se clica (TOUCH) no avatar. Neste caso ele faz o gesto 10 ( G9 corresponde ao gesto 10) que é habitualmente o ZEN nos avatares concebidos com o Avatar Studio (se não alterarmos a ordem de gestos que vem predefinida). Podemos querer mudar G9 para outro gesto. Por exemplo GO, que corresponde ao gesto 1 (HELLO) ficando assim o código: function Touch(t){G0(t);} >>>e agora, após gravarmos, ao clicar no avatar ele executará o gesto Hello em vez do standard. Boa prática: em vez de se modificar a instrução original é aconselhável comentá-la colocando um # no início da linha, o que desativa a instrução, e na linha de baixo criamos a nova instrução a ser executada. Assim, se no futuro quisermos reverter a mudança é mais fácil. #function Touch(t){G9(t);} function Touch(t){G0(t);} 3- Avatar/objecto (inlined) que "anda" no mundo Alguns criadores gostam de ter avatares/objecto a passear no mundo. Naturalmente podemos inserir o avatar com um inline e depois animar esse inline deslocando-o pelo mundo. Assim veremos a figura do avatar a deslocar-se. No entanto isto não funciona logo como queremos. O problema é que um avatar inserido com inline reage ao toque mas não sabe que está a passear e não mexe as perninhas, sendo pouco realista. A solução é fazer outra modificação muito simples no código do avatar para lhe por as pernas a mexer. Edita-se o ficheiro wrl do avatar e próximo da linha 1395, onde está uma instrução relativa ao gesto 12 (WALK):
DEF TS11 TimeSensor{cycleInterval 1.5267} e acrescentamos loop TRUE ao que está dentro da chaveta a linha deve ficar assim DEF TS11 TimeSensor{cycleInterval 1.5267 loop TRUE} Agora, se o abrirmos no bscontact, veremos o avatar a mexer as pernas. É agora esse o seu gesto por defeito (em vez da habitual "pose" de parado) e ao deslocar-se no mundo isso parecerá natural. É uma ideia simples mas funciona bem, sobretudo se ajustarmos a velocidade de deslocação ao movimento das pernas. 4-Avatares com objetos e sensores de proximidade Com alguma manipulação do código, semelhante ao que vimos antes, é possível adicionar objetos e sensores aos avatares. Na figura abaixo do mundo Grand Prix (está na da ABNet), vemos um(a) (juíza de pista) a controlar o tráfego (várias instancias do mesmo av estão ao longo da pista). Quando passa à frente um veículo (ou outro avatar) o sensor de proximidade é ativado e agita a bandeira verde mandando seguir. Neste caso acrescentar uma bandeira, o sensor e ligá-lo ao movimento implicou a modificação/adição de 5 pequenos blocos de código em diferentes partes do avatar. Desloquem-se ao mundo para o ver em funcionamento (e à sósia juíza de partida). Quem quiser espreitar o avatar (com código comentado), encontra-o aqui: http://www.univ-ab.pt/~vcardoso/vrml/grandprixtesteonline2/avatars/girl_juizlinha.wrl Boas experiências!
------------------------- Referência Para saber mais deve-se consultar sempre a ajuda oficial e Referência do Programa Avatar Studio: http://www.odisseia.univ-ab.pt/abnet2/avatars/aide_avstudio/aide.htm