:: Home » Papervision » Blog article: Cube Papervision, começando…

Cube Papervision, começando…

03
fev

Bom, dando continuidade ao post anterior, neste mostrarei como criar e mostrar um cubo rodando na cena em papervision. Utilizando a classe base mostrada no artigo anterior. Ela por si apenas “prepara o terreno”, agora precisamos inserir os objetos e então reproduzir a cena.

cubo

Neste para ficar mais simples de entender, escreverei na própria classe. Mais pra frente mostrarei como utilizar classe estendida ( caso mais indicado ).

As diferenças neste caso são: os imports, as variáveis, os objetos e a animação.
Antes de mais nada, criamos um .FLA na mesma pasta que nosso arquivo pv3d_base.as. E então no temos que fazer o import, no primeiro frame escreva:

var asBase:pv3d_base = new pv3d_base()
addChild(asBase)
asBase.init(600, 400)

Na nossa classe vamos inserir algumas coisas, inicialmente importamos o que será utilizado:

import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Cube;

Depois declaramos nossa nova variável:

var cubo:Cube

Dentro da função init3d, criamos e inserimos nosso novo objeto na scena, neste caso utilizarei o WireframeMaterial. e criarei um DisplayObject3D para comportar nosso objeto 3d.

var wf:WireframeMaterial = new WireframeMaterial(0x000000, 1, 0)
// material 'grade', com cor preta
 
var materialsList:MaterialsList = new MaterialsList();
materialsList.addMaterial( wf, "front" )
materialsList.addMaterial( wf, "back" )
materialsList.addMaterial( wf, "left" )
materialsList.addMaterial( wf, "right" )
materialsList.addMaterial( wf, "top" )
materialsList.addMaterial( wf, "bottom" )
// cria uma lista de materia, para o cubo
 
cubo = new Cube(materialsList, 200, 200, 200, 3, 3, 3, 0, 0)
var holder:DisplayObject3D = new DisplayObject3D()
 
holder.pitch(-30)
holder.addChild(cubo)
default_scene.addChild(holder)
// adiciona na cena

E por fim, adicionamos uma animação a esse cubo:

cubo.rotationY += 5
// faz girar 5 pixels por frame no eixo Y
cubo.rotationX += 2
// faz girar 2 pixels por frame no eixo X

É isso, compilando este fla, deve aparecer um cubo em wireframe rodando em eixo X e Y, isto é apenas um exemplo mostrando que nossa classe pv3d_base funciona.

Segue aqui um zip com os fontes.

Nos proximos posts estarei mostrando outros objetos e matérias do papervision, o que é possível fazer com ele. e enfim, como o papervision é importante na realidade aumentada.

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
Veja outros Artigos:

Comente