segunda-feira, 13 de dezembro de 2010

Gerando CRC cards

Procurei muito online e não encontrei nada gratuito que gerasse os cartões. Então criei um pequeno script PHP que provavelemente é inútil, mas não custa nada disponibilizar.

O script gera o HTML e mostra no browser, eu tiro screenshot do browser e edito no gimp para recortar apenas o CRC.

Para rodar o script você precisa de PHP 5 e algum servidor web, como o Apache 2.

Fica o link.

sábado, 6 de novembro de 2010

Por que depois de 3 meses no eclipse voltamos para o gedit

Por que o AXDT não tem suporte ao uso da classe Vector do ActionScript 3. O syntax highlight não o reconhece.
Por que o AXDT trava o visualizador de documentos do Eclipse Helios a cada 5 minutos.
Por que o AXDT não é capaz de detectar o FlexSDK para compilar projetos.
Enfim, por que o AXDT deixa desejar. Provavelmente não foi feito para o Flex SDK 4.

O gedit não tem suporte nativo ao syntax highlight de AS3, mas neste blog você encontra um arquivo  que disponibiliza os highlights básicos da linguagem.
As instruções do blog estão um pouco desatualizadas. Então, deixo aqui como foi feito para o Ubuntu 10.04. No terminal faça:

cd /usr/share/gtksourceview-2.0/
sudo wget http://www.williambrownstreet.net/Files/actionscript3.lang

Reinicie o gedit e a opção de sintaxe em ActionScript 3 já deve estar disponível.

segunda-feira, 1 de novembro de 2010

A solução para modelos com muitos vértices

Eu descobri da pior forma que o formato md2 por definição não tem mais que 2048 vértices e que para carregar um modelo de 2048 vértices no flash demora cerca de 30s.

Para solucionar isto nosso querido blender tem o modifier decimate. Usá-lo é bastante simples, difícil foi descobrir sua existência.

Mas vamos lá, modo de usar:

No "Object Mode", selecione seu objeto. Na aba "Modifiers", clique em "Add Modifier" e selecione "Decimate". Agora basta ir diminuiindo o valor do campo "Ratio" gradativamente até chegar num número de vértices que lhe agrade e prestando atenção ao preview para seu modelo não ficar muito deformado.
Quando chegar num ratio que agrade, basta clicar em "Apply".

E isso é tudo pessoal!

sexta-feira, 22 de outubro de 2010

A arte de gerar marcadores para o FLARManager

Se assim como nos, voce precisa de mais marcadores (ou tags) do que os que ja vem por padrao com o FLARManager, voce ja deve ter notado que e um tato quanto problematico. Entao, aqui esta um passo-a-passo de como conseguimos.

A primeira coisa necessaria e fazer seu marcador. Tenha em mente quando fize-lo que nao pode ser muito detalhado para ser identificado a distancia e de forma alguma podem existir simetrias tanto horizontais quanto verticais.
Aqui fica disponível um modelo generico de marcador (em svg, para ser editado no inkscape) para você criar seu marcador personalizado.

Com o seu marcador em maos, vamos gerar o .pat correspondente a ele (este e o arquivo que o FLARToolkit usa para identificar os marcadores).
Acesse esta paginae clique em "ARToolKit Marker Generator Online". Com o gerador aberto selecione a opcao "Load marker image" da combobox "Mode select" e selecione a imagem do seu marcador. Agora e preciso configurar o gerador.
A opcao "Marker segments" define a resolucao da imagem capturada , "16x16" e uma boa configuracao. Quanto menor a resolucao, melhor vai ser a identificacao dos marcadores a distancia, mas voce perde em detalhes e em variedade de marcadores possiveis (os marcadores do FLARManager estao em 8x8). Tambem, resolucoes muito altas, como 64x64, tornam o processamento extremamente pesado.
A opcao "Marker size" define o quanto da imagem sera usada para a identificacao do marcador. Voce deve saber que apenas as areas que podem variar entre preto e branco devem aparecer na previa, ou seja, nao devem aparece a borda preta e muito menos a borda branca. Para gerar os nossos marcadores utilizamos esta opcao em 45%.
Feito isso, clique em "Get pattern" e deve aparecer uma previa do padrao do marcador. Se estiver de acordo com o descrito acima, otimo clique em "save" e salve o .pat do seu marcador. Mas, nao se esqueca das configuracoes que voce utilizou, pois elas serao necessarias no proximo passo.

Agora, com o .pat em maos vamos configurar o marcador paraser identificado pelo FLARManager.
Dentro da pasta "resources" utilizada pelo seu projeto ha uma pasta "flar" e dentro dela um arquivo "flarConfig.xml". Abra-o. Dentro dele ha a tag <patterns>, com quatro opcoes.
Na primeira, "resolution", voce deve colocar o equivalente ao que voce colocou na "Marker segments" do gerador. Eu quero dizer que, se "Marker segments" foi "16x16", "resolution" deve ser "16".
Nas proximas duas, voce deve colocar o que pos em "Marker size" mas sem o %. Ou seja, se voce usou "Marker size" de "45%" as opcoes "patternToBorderRatioX"  e "patternToBorderRatioY" devem ser "45".
A ultima, "confidence", define o quao sensivel o FLARManager deve ser a deteccao de marcadores. Ou seja, se ele identifica qualquer coisa como marcador, talvez seja bom mudar o valor desta opcao para um valor mais alto. Se a deteccao e muito instavel, talvez seja bom baixar o valor desta opcao. Mas, 0.5 e um bom valor.
A tag <patterns> tem uma subtag <pattern> que e o lugar onde voce deve colocar o caminho para o o .pat que voce gerou na opcao "path". aqui esta um exemplo:

<patterns resolution="16" patternToBorderRatioX="45" patternToBorderRatioY="45" minConfidence="0.3" >
    <pattern path="../markers/pat/marker3a.pat" />
</patterns>

Se voce seguiu todos os passos, ao abrir seu executavel swf novamente, ele deve estar reconhecendo seu marcador.
Aqui ficam disponíveis os 20 marcadores que estao sendo usados em nosso projeto e seus .pat. As configuracoes para estes marcadores são as que foram sugeridas antes.

Fontes:
http://flash.tarotaro.org/blog/2008/12/14/artoolkit-marker-generator-online-released
http://www.squidder.com/2009/03/05/for-nerds-only-custom-flar-markers-explained

terça-feira, 12 de outubro de 2010

Video prova de conceito




Demonstracao da identificacao de 12 tags ao mesmo tempo. As tags sao quadrados de 3cm de lado.

sexta-feira, 8 de outubro de 2010

Debug com Flex SDK

Antes de tudo voce deve ter o Flash Palyer Debbuger (para instalar em Ubuntu fica a dica). Com o flash player para debug, nao se esqueca de compilar com a flag -debug do mxmlc.

Entao, entre na pasta bin do seu Flex SDK (no meu caso ~/.flex/bin). E execute o fdb (./fdb). De o comendo "run" e o fdb (debbuger do Flex) vai ficar esperando o player se conectar. Abra o swf, que voce compilou com -debug, num browser e ele automaticamente vai se conectar ao fdb.

Com o player conectado ao fdb de o comando "continue" e o player vai executar seu programa.

Fontes e mais informacoes (tipo, como setar um breakpoint) em:
http://greencollective.nl/blog/?p=18
http://www.docsultant.com/site2/articles/flex_cmd.html#mxmlc_3_opt

domingo, 3 de outubro de 2010

0 de modelagem 3D




E é com esta bela scrrenshot da renderização do blender que abro este post.

Conversando com um colega da Fatec São Caetano, descobri que este está fazendo um projeto de TCC que é exatamente o que nosso projeto se propõe a fazer, mas em C++. Também o projeto dele está bem mais adiantado, mas por estar adiantado, meu amigo Daniel Vargas da Silva gentilmente cedeu o modelos 3D que ele fez no Blender e que você pode ver na imagem acima.

De agora em diante, no nosso projeto 0 de modelagem 3D.