Depois de detalhar os requisitos funcionais, segue-se a pesquisa das tecnologias que solucionam a satisfação desses requisitos, selecção e sua justificação da solução tecnológica.
Módulo Engine 3D
Para cumprir com os objectivos pretendidos para o projecto, de construção de uma aplicação que permita navegar e interagir com o campus e seus objectos, é necessária uma ferramenta autor que permita esse tipo de interacção. A ferramenta autor terá de ter um motor que permita a renderização em tempo real dos objectos a mostrar, para que o utilizador tenha liberdade na escolha do caminho a seguir, e não fique limitado a um percurso pré-definido logo à partida.
Dessa forma, fica desde logo rejeitada a escolha da ferramenta autor Adobe Flash, pois não permite esse tipo de renderização em tempo real.
Existe outro filtro importante a ter em consideração. O focus do projecto é utilização de um sistema em 3D, pelo que há uma restrição nas ferramentas que permitem apenas a utilização de navegação em 2 Dimensões. Tendo isto em consideração, foram analisadas todas as ferramentas que existem no mercado, e após uma forte seriação, foram analisados, com mais rigor, as seguintes ferramentas:
· Unity3D
· ShiVa3D
· Torque 3D
· Unreal Engine (UDK)
Conclusão e escolha de software Game Engine
Através de uma pequena análise efectuada às características de todas as ferramentas, a escolha não se apresenta fácil. Isto apesar do grupo ter maior inclinação para o Unity3D verifica-se que a hipótese Torque 3D é bastante forte, sendo mesmo um adversário de peso. As duas ferramentas são muito similares nos diversos pontos analisados, que foram considerados mais relevantes para o projecto. Entre eles destacamos a imensa comunidade de developers e curiosos q ambas têm, assim como uma curva de aprendizagem muito pequena. Outro dos pontos-chave presente nas duas aplicações é o facto de permitirem a exportação para as mais variadas plataformas, inclusive - e mais relevante para o projecto, a exportação para web, o que aumenta consideravelmente o número de potenciais utilizadores da aplicação a criar. Estas duas aplicações também se destacam das demais pela quantidade enorme de tutoriais existentes na internet e ter uma interface de importação de conteúdos drag-and-drop, extremamente simples e eficaz.
A ferramenta ShiVa3D foi completamente posta de parte, enquanto a Unreal engine exige muitos conhecimentos (e muita prática) em programação orientada a objectos, e também está idealizada para criação de jogos.
A escolha recai então entre o Unity3D e o Torque 3D, contudo existem alguns motivos que fazem o grupo escolher a primeira em detrimento da segunda. Dois desses motivos são extremamente relevantes. Em primeiro lugar o unity3D é gratuito (embora com algumas pequenas limitações a níveis de funcionalidades muito avançadas, que provavelmente não serão implementadas). Em segundo lugar, o unity3D usa o JavaScript como linguagem de programação, linguagem já estudada durante o curso, e que todos os elementos do grupo se sentem relativamente à vontade. Além disso, existem bastantes componentes de script pré-fabricadas pela comunidade, sejam em Javascript, C# ou Boo, que podem facilmente ser integradas no projecto. Mesmo que os scripts sejam de linguagens diferentes, o programa permite o seu uso em simultâneo, algo que o grupo consideram uma poderosa mais-valia.
Módulo CMS
A criação de uma plataforma web não é um objectivo definido nos parâmetros do projecto UARhere. Existe unicamente a necessidade de expor a aplicação como objecto de utilização por parte dos utilizadores. Assim sendo, e de forma a atingir o maior número de utilizadores e diferentes perfis, é necessário colocar a aplicação (produzida em Unity 3D) num website.
Todavia, por limitação temporal, o grupo de trabalho optou por não criar uma plataforma “de raíz”, e utilizar um CMS. Um CMS (Content Management Systems) consiste numa plataforma de gestão de conteúdo de websites, portais, servindo inclusive de intranet, integrando frameworks e/ou plugins necessários para criar, editar e inserir conteúdos, anulando a necessidade de programar exaustivamente, pois o seu objectivo passa por facilitar a criação, administração, distribuição, publicação e disponibilidade da informação. Os tipos de CMS em análise são:
· Drupal
· Joomla
· Wordpress
Conclusão e escolha de CMS
O CMS escolhido para implementar o website foi o wordpress. Com o intuito de economizar tempo de construção do site, teve-se em elevada consideração o facto de todos os elementos do grupo possuírem conhecimentos de gestão e funcionamento do wordpress. No fundo, é a via mais eficaz, traduzindo-se assim numa curva de aprendizagem bastante inferior, comparativamente a outros CMS.
Outro facto importante é a existência de um plugin do game engine escolhido, Unity 3D, existir unicamente para Wordpress. Este plugin destaca-se por possuir características que possibilitam uma melhor performance do “player” do unity num website. Sendo este facto exclusivo do wordpress, tornou-se ainda mais óbvia a escolhida feita pelo grupo de trabalho.
Módulo Modelação de objectos 3D
Sendo um dos objectivos gerais do projecto a construção dos edifícios e dos espaços envolventes, traduzindo-se no ambiente virtual em 3D do Campus de Santiago, é primordial a necessidade de recorrer a uma ferramenta de modelação de objectos 3D. As ferramentas de modelação de objectos 3D que foram analisadas são:
· 3D Studio Max
· Cinema 4D
· Blender
Conclusão e escolha de modelação de objectos 3D
A ferramenta de modelação de objectos 3D escolhida foi o Autodesk 3D Studio Max. A maior razão para este software ter sido o escolhido foi o facto do grupo de trabalho ter experiência com a ferramenta. Todos os elementos do grupo já efectuaram projectos com o 3D Studio Max, até porque este foi leccionado na unidade curricular de Imagem Digital Dinâmica, no ano lectivo em que os elementos do grupo frequentaram a disciplina. Assim, concretizaram-se alguns trabalhos e formações específicas da ferramenta. Este factos são preponderantes para a escolha da equipa projectual e vão ao encontro da prática que se pretende adoptar: “Tempo é dinheiro!”. Ora, se todos os elementos do grupo dominam a ferramenta, necessitarão então de um tempo de aprendizagem claramente menor, em relação a outro software de modelação 3D. Desta forma, a curva de aprendizagem será muito baixa, o que será menos um obstáculo que o grupo terá que enfrentar. Outro facto importante de ressalvar é a fácil integração que o 3D Studio Max tem com game engine escolhido, o Unity 3D. Não será necessário efectuar qualquer tipo de renderização na ferramenta de modelação. O Unity 3D possibilita a importação de ficheiros de extensão “.max” (ficheiro do 3D Studio Max), poupando-se assim tempo que se gastaria a renderizar.