quarta-feira, 27 de fevereiro de 2013

Aplicativo, r5



Comandos

  • Setas, rotacionar a câmera
  • WASD, movimentação (andar) com a câmera

Quinto release interno
Features e bugfixes
  • Criação de primitivas, por enquanto só a criativa Esfera.
  • Esferas transparentes para visualização física mais fiel
  • Reposicionamento do vetor normal
  • Movimentação da câmera

quarta-feira, 20 de fevereiro de 2013

Aplicativo, r4



Quarto release interno
Features e bugfixes
  • Inserção de alguns botões com funcionalidades básicas: Voltar ao menu, reiniciar simulação, entrar em modo edição (este ainda sem funcionalidade)
  • Correção da visualização do vetor, agora ele é visto como um objeto bidimensional sem ser afetado pela perspectiva.
Notas de implementação
  • O uso de duas câmeras ao mesmo tempo com culling, sendo uma das câmeras ortográfica, foi usada para criar a visualização do vetor

quinta-feira, 14 de fevereiro de 2013

Aplicativo, r3



Terceiro release interno
Features e bugfixes
  • Motions nos menus, foi implementada uma API orientada a objeto dos métodos de GUI da Unity para poder-se fazer uso de bibliotecas de Tweening como a HOTween (usada neste caso)
  • Novo conceito, MRUV
  • Fixação da rotação da esfera no conceito Peso
Notas interessantes
  • O uso de delegates e métodos anônimos em C# têm um poder realmente expressivo, não tão expressivo como em linguagens dinâmicas mas você tem checagem de tipo aqui. 

quarta-feira, 13 de fevereiro de 2013

Aplicativo, r2


Protótipo inicial do aplicativo.
Features deste release
  • Menu para escolha de conceitos
  • Carregamento dinâmico das fases
  • Conceito "Peso" parcialmente implementado, já mostra peso e normal
  • Objetos podem ser relocados ao arraste do mouse

quarta-feira, 6 de fevereiro de 2013

Novas escolhas tecnológicas

A fim de explorar simulações física na terceira dimensão será usada a ferramenta de desenvolvimento Unity. Esta ferramenta gera executáveis para um enorme número de plataformas, como Windows, Linux, Flash, Android e iOS.

As principais vantagens desta ferramenta, além do que já foi dito anteriormente, são a facilidade de deploy, a facilidade de desenvolvimento, a minha familiaridade com a ferramenta e grande comunidade bastante prestativa. Além de inúmeros livros sobre ela.

A facilidade de desenvolvimento vem da eficiente implementação de seus sistemas de simulação física de corpos rígidos e pipeline de rendering. Além desses, a ferramenta possui um editor gráfico de níveis para que se possa montar os ambientes de maneira amigável usando o mouse e comandos como arrastar e soltar. Com isto, poderemos nos focar mais na parte do aprendizado e menos nos detalhes altamente técnicos que envolvem uma simulação e visualização de ambientes virtuais tridimensionais.

As linguagens de programação de script que ela aceita são a C#, boo (uma variação de python), unityscript (uma variação de javascript) que rodam em um ambiente open source da plataforma .NET chamado Mono. Dito isto, será utilizada a linguagem C#, novamente, pela familiaridade do autor do projeto com ela, além de ser a linguagem mais utilizada pela comunidade, o que facilita enormemente a busca por soluções de problemas de implementação.

Entre suas principais limitações atuais temos o fato de que ela ainda não exporta para HTML5, isto é, aparelhos móveis como smartphones e tablets não podem executar os aplicativos desenvolvidos a partir de um navegador, vale lembrar que estas plataformas são atendidas através da geração de apps.

Outras ferramentas possuem característica semelhantes, como a CryEngine e a UnrealEngine. Porém estas ferramentas não oferecem o uso de linguagens de programação já conhecidas como javascript ou C# e acima de tudo possuem um valor elevado. A ferramenta escolhida possui versão gratuita com limitações (como o uso de sombras em tempo real) que não vão fazer diferença neste projeto.