GUIA UNITY 3D E SKETCHUP - MOM. Morar de Outras Maneiras.

Transcrição

GUIA UNITY 3D E SKETCHUP - MOM. Morar de Outras Maneiras.
GUIA
UNITY 3D E SKETCHUP
Existe uma demanda pela utilização de modelos tridimensionais estereoscópicos para simular relações
presenciais. Os projetos relacionados à esses modelos são conhecidos como CAVES. No entanto, as CAVES
são estruturas grandes e caras, que extrapolam as condições de um projeto de pesquisa acadêmico.
Diante disso, a Escola de Arquitetura da UFMG desenvolveu um ambiente de imersão virtual de tecnologia
simplificada, o AIVTS. A diferença do AIVTS para as CAVES tradicionais é a utilização da tecnologia simplificada,
que permite que o projeto tenha seu custo diminuido, dando condições necessárias para que ele se torne
viável como projeto de pesquisa acadêmica.
O modelamento tridimensional associado à estereoscopia é capaz de simular situações presenciais de
produção e análise de espaços, possibilitando pensar e antecipar problemas operacionais, perceptivos e
técnicos e questões ligadas ao espaço habitado.
Devido à utilização de tecnologia simplificada, foi necessário uma pesquisa para determinar o software que
possibilitaria a interatividade proposta. Diante disso, se destacaram as game engines (programas normalmente
usados para criação de jogos), pois possuem a capacidade necessária para a manipulação de ambientes
interativos. Como consequência disso, seu uso está cada vez mais frequente na arquitetura.
Porém, era necessário a escolha de uma interface compatível com modeladores mais utilizados no âmbito
da arquitetura, como o Google SketchUp, programa de modelagem de maquetes eletrônicas em 3D. Assim,
foi realizada uma pesquisa de engines que fossem capazes de gerar estereoscopia e que dialogassem com
o SketchUp. Entre os programas pesquisados, o Unity 3D se apresentou como uma opção viável, pois além
dessa compatibilidade de importação (do formato SKB para os formatos 3DS e DAE) também apresentou
recursos de grande potencial em termos de navegação.
Esse guia indicará o passo-a-passo para a importação de modelos 3D produzidos no SketchUp para o
programa Unity.
DOWNLOAD
Site para download do Unity: http://portuguese.unity3d.com/
Site para download do SketchUp: http://www.sketchup.com/
CONHECIMENTOS BÁSICOS
Para adquirir conhecimentos básicos das ferramentas do Unity, sugerimos o canal do
Youtube GamesIndie, que possui tutoriais em português.
Canal GamesIndie: http://www.youtube.com/user/GamesIndie
Assistir aos videos da série: Videos Tutorial Unity 3D.
Não é necessário assistir todos os videos, pois são mais de 50, sendo eles focados na
criação de jogos. Para adquirir conhecimentos básicos, recomendamos assistir até o video
#8.
É importante aprender programação básica em scripts para a criação da interatividade,
como movimentações no modelo, interações com objetos, entre outros. O canal GamesIndies
também possui tutoriais sobre scripts básicos na série sugerida.
Além disso, o próprio site do Unity possui tutoriais na aba Aprenda, porém estes estão em
inglês: http://unity3d.com/learn
Também estão separados por temas, como o uso da interface, câmeras, luzes, scripts,
materiais, áudio, exportação de cenas, dentre outros dos mais importantes. No site do
software também se encontram fóruns de dúvidas e discussões que podem auxiliar em seu
aprendizado.
MODELAGEM NO SKETCHUP
O modelo base para ser exportado não possui limitações quanto a sua forma, e permite a exportação de
superfícies planas, lisas, opacas ou translúcidas, atribuídas de quaisquer textura. Essas texturas, no entato,
devem estar incluídas na pasta Assets (ver: Importação do SketchUp para o Unity, item 1).
Primeiramente, observa-se que a unidade utilizada na construção não interfere na escala do objeto
exportado. A partir de um modelo qualquer de Sketchup exportado na extensão DAE, observa-se as
seguintes particularidades na transição:
Grupos, Outliner, Layers e Componentes
O SketchUp dispõe de um sistema de agrupamento de linhas e faces para facilitar a construção e
organização do modelo tridimensional. Além disso, o programa automáticamente atribui um nome
para esse grupo, definido por default como group, exibido e passivo de renomeação na janela Outliner
(Window>Outliner>Clique com o botão direito sobre o nome do grupo> Rename).
Ao inserir o modelo 3D no Unity é interessante notar que os nomes atribuídos aos grupos pelo Outliner
serão transferidos para o programe e exibidos na aba Hierarchy (Hierarquia).
Outro atributo disponibilizado pelo Sketchup é o sistema de Layers, o qual permite organização de objetos
por camadas nomeadas conforme o usuário definir. Porém, nota-se que a organização em layers não é
transferida para o Unity, revelando-se desnecessária quando se pretende trabalhar com os dois softwares.
Os componentes funcionam de forma semelhante aos grupos na exportação, tendo seus nomes importados
da definição na janela Outliner. No entanto, ao serem importados no Unity, eles são subdivididos em vários
grupos, e cada um possue seu próprio eixo.
Caso algum modelo com vários grupos, componentes e conteúdos não agrupados seja importado, teremos
a seguinte situação: os grupos e componentes serão colocados como Game Objects individuais, cada
um com o seu eixo, mas agrupados dentro de um grande grupo denominado pelo arquivo importado.
O conteúdo não agrupado ficará preso ao grupo principal, sendo impossível de ser movimentado
individualmente.
Material ou cor
Atribuir faces desagrupadas de cores cria situações específicas. Um mesmo
cubo com metade das faces em uma cor, e as faces restantes em outra, será
automaticamente separado em um grupo para cada cor. Em alguns casos, isso
pode acarretar em complicações, portanto, recomenda-se que o conteúdo a ser
exportado seja composto por vários grupos e componentes.
Faces internas transparentes
No Sketchup, toda face possui um lado interno e externo, sendo esses, por default,
exibidos em branco e cinza respectivamente. Ao exportar o modelo, nota-se que
somente são exibidos os lados externos, enquanto os internos são omitidos.
Exportação
Para exportar um arquivo feito no SketchUp para ser utilizado no Unity deve-se seguir os seguintes passos:
1- Salve o arquivo do SketchUp em formato DAE, conforme mostra as imagens a seguir.
File > Export > 3D Model > Export Type: DAE
(Provavelmente é possível importar do SketchUp para o Unity salvando o arquivo do SketchUp em outro formato,
porém fizemos os testes utilizando o formato DAE e o 3DS, sendo que o 3DS fica muito pesado no Unity).
Exportação
Para exportar um arquivo feito no SketchUp para ser utilizado no Unity deve-se seguir os seguintes passos:
1- Salve o arquivo do SketchUp em formato DAE, conforme mostra as imagens a seguir.
File > Export > 3D Model > Export Type: DAE
(Provavelmente é possível importar do SketchUp para o Unity salvando o arquivo do SketchUp em outro formato,
porém fizemos os testes utilizando o formato DAE e o 3DS, sendo que o 3DS fica muito pesado no Unity).
IMPORTAÇÃO DO SKETCHUP PARA O UNITY
1- Abra o Unity e importe o arquivo do SketchUp na pasta Assets conforme mostra a imagem abaixo.
Pode-se também arrastar o arquivo do SketchUp diretamente para a pasta Assets, no Unity.
Ao salvar o arquivo do SketchUp no formato DAE, uma pasta é criada com os materiais usados no modelo. Para
que esses materiais sejam aplicados no Unity, deve-se copiar essa pasta e cola-la na pasta Assets do Unity (ou
arrastá-la diretamente para a pasta).
2- Deve-se alterar o fator de escala do arquivo importado, pois de acordo
com nossas pesquisas, percebemos que as medidas do SketchUp não são
compatíveis com as medidas do Unity. Deve-se também definir algumas
configurações dos materiais.
Definimos o fator de escala como sendo 0.03, pois segundo nossos testes
esse fator foi o mais próximo da compatibilidade entre os dois programas.
Para alterar o fator de escala e as configurações dos materiais, clique no ícone
do arquivo importado na pasta Assets para exibir a aba Inspector. Nessa aba,
mude o Scale Factor para 0.03;
Selecione o box Generate Colliders (para que os objetos não se atravessem);
Mude as opções Material Naming e Material Search, de acordo com a
figura abaixo. Essas opções facilitarão o encontro da pasta de materiais
geradas pelo arquivo DAE, que foi colada na pasta Assets.
Clique no botão Apply.
3- Arraste o ícone do arquivo para a janela #Scene. Isso exibirá o modelo 3D
do SketchUp no cenário criado no Unity.
4- Para conferir a escala do modelo, arraste o 3rd Person Controller já incluido
no diretório do Unity para a janela #Scene, conforme mostra a imagem a
seguir.
Assets > Standard Assets > Character Controllers > 3rd Person Controller
Ou faça o mesmo com o First Person Controller.
ATIVADOR DE ANIMAÇÕES
A animação é uma das formas de criar interação com os objetos do modelo. Essa interação
também pode ser realizada por meio da programação, porém recomendamos a animação por
ser a maneira mais simples.
O script na pasta em anexo ativa as animações atribuidas aos objetos do modelo por meio do
botão do mouse. Dessa forma, é necessário criar essas animações dentro do próprio Unity. Para
isso, sugerimos o tutorial abaixo (em ingles), do qual foi extraído e modificado o script.
Tutorial para abertura e fachamento de portas: http://www.youtube.com/watch?v=0B9dBMW6yjM
Copie e cole o arquivo do script na pasta Assets e atribua esse script ao objeto que você deseja
animar.
Preencha os campos Open Animation Strin e Close Animation Strin com o nome exato da animação,
conforme mostra a figura abaixo. É opcional colocar sons no script.
ESTEREOSCOPIA NO UNITY
A proposta do AIVITS é a integração desses ambientes produzidos no Unity com
a estereoscopia e uma estrutura de tecnologia simplificada. A estereoscopia, a
visão em 3D, se dá, basicamente, de duas formas, passiva e ativa.
Passiva
Esse tipo de visualização é mais simples, e consiste, resumidamente, na separação
de duas imagens através de filtros. Essas imagens vão ser vistas por diferentes
filtros nos óculos, um para cada olho, e o cérebro faz a junção das imagens,
proporcionando a estereoscopia.
A estereoscopia passiva pode ser desenvolvida no Unity através de scripts
encontrados na internet, principalmente em fóruns, como no link a seguir (http://
forum.unity3d.com/threads/63874-stereo-3D-in-Unity-3D). As formas mais comuns
de estereoscopia passiva são as Red/Blue e através de filtros polarizados. Para a
estereoscopia polarizada alguns outros tutoriais podem ser importantes, como os
seguintes (http://paulbourke.net/stereographics/Unitystereo/),
(http://www.pixelstudio.nl/?p=204)
Ativa
Na estereoscopia ativa existem também as duas imagens, as duas câmeras, assim,
o software alterna entre esses dois vídeos, enviando um frame de cada vez. Os
óculos são sincronizados com o software, alternando a visão em cada lente, assim
como na tela. A alternância ocorre numa frequência bem alta, possibilitando o
cérebro juntar as imagens e produzir a estereoscopia.
Existe um plugin capaz de desenvolver essa tecnologia junto ao Unity, disponível
para venda no seguinte link (https://dembeta.repositoryhosting.com/trac/dembeta_
active-stereoscopic-3d/), juntamente com um tutorial e uma demo disponíveis
gratuitamente. É importante lembrar que para o uso dessa tecnologia também são
necessários alguns softwares e hardwares, que também se encontram descritos no
link.
Outras alternativas mais complexas também podem ser utilizadas, como o plugin
MiddleVR (http://www.imin-vr.com/middlevr-for-unity/).
Esse guia serve como base para a introdução ao Unity junto ao SketchUp. Para seu
melhor desempenho, assista aos videos de tutorial, pois é necessário conhecer
as funções básicas dos programas para explorar melhor suas potencialidades.