Skip to main content
LeandroAmano
Participant
May 14, 2013
Answered

Papervision 3D - Materials

  • May 14, 2013
  • 1 reply
  • 559 views

How can i change materials (any side) in MaterialsList at runtime? For example left side on a click event.

Thanks in advanced. My sample code:

import org.papervision3d.view.Viewport3D;

import org.papervision3d.scenes.Scene3D;

import org.papervision3d.cameras.Camera3D;

import org.papervision3d.render.BasicRenderEngine;

import org.papervision3d.objects.primitives.Plane;

import org.papervision3d.materials.ColorMaterial;

import org.papervision3d.materials.utils.MaterialsList;

import org.papervision3d.objects.primitives.Cube;

import flash.events.Event;

var viewport:Viewport3D = new Viewport3D();

var cena:Scene3D = new Scene3D();

var camera:Camera3D = new Camera3D();

var renderer:BasicRenderEngine = new BasicRenderEngine();

var ml:MaterialsList = new MaterialsList();

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'front');

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'back');

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'right');

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'left');

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'top');

ml.addMaterial(new ColorMaterial(Math.random()*0xFFFFFF), 'bottom');

var cubo:Cube = new Cube(ml);

addChild(viewport);

cena.addChild(cubo);

renderer.renderScene(cena, camera, viewport);

addEventListener(Event.ENTER_FRAME, anima);

function anima(e:Event):void {

          cubo.rotationY += 10;

          cubo.rotationX += 10;

          renderer.renderScene(cena, camera, viewport);

}

This topic has been closed for replies.
Correct answer moccamaximum

For Bitmapmaterial it works like this

1 reply

moccamaximumCorrect answer
Inspiring
May 15, 2013

For Bitmapmaterial it works like this