Comunidad de diseño web y desarrollo en internet online

Cambiar material a un objeto collada

Citar            
MensajeEscrito el 07 Ago 2008 10:29 pm
Hola:
Soy nuevo en esto, el foro y actionscript. Tengo un objeto collada que se carga con su textura o modificando el material mediante MaterialsList, hasta aqui todo correcto, ahora quisiera cargar otra textura en ese mismo objeto al presionar un boton.Los materiales o texturas a cambiar son movieclips que estan en la biblioteca, o algun shader aunque supongo que sera igual.
Con un plano lo he conseguido mediante el siguiente codigo

Código :

//material a asignar
var mat:MovieAssetMaterial=new MovieAssetMaterial("m01",false);
mat.animated=1;
mat.doubleSided=1;
var primitive:Plane=new Plane(mat,200,200,3,3);
scene.addChild(primitive);
--------------------------------------------------------------------------------
addEventListener(Event.ENTER_FRAME,onEnterFrame);
function onEnterFrame(e:Event):void {
primitive.rotationY+=2;
renderer.renderScene(scene,camera,viewport);
}
//boton para presionar
Button1.addEventListener(MouseEvent.CLICK,onClick1);
function onClick1(event:MouseEvent):void {
var mat:MovieAssetMaterial=new MovieAssetMaterial("m01",false);
mat.animated=1;
mat.doubleSided=1;
primitive.material = mat;
}

Muchas gracias a todos[/code]

Por rhx2060

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Ago 2008 12:13 am
En el otro post te di una solución (que no había probado) con un sprite que hayas creado, no se si funciona o no:

Código :

var myMaterial:MovieMaterial = new MovieMaterial(mySprite, true, true);
myCollada.materials = new MaterialsList({matName:myMaterial});


Pero esta misma solución con un movie en la biblioteca debería ser aplicando MovieAssetMaterial:

Código :

var myMaterial:MovieAssetMaterial = new MovieAssetMaterial("myID");
myCollada.materials = new MaterialsList({matName:myMaterial});


Lo instuyo porque al crear un objeto collada este tiene una propiedad que es "materials" la cual es un objeto MaterialsList:

Código :

Collada(COLLADA:*, materials:MaterialsList = null, scale:Number = 1, doubleSided:Boolean = false)


Así que debe ser lo mismo acceder a esta propiedad después de ser creado el objeto.

Pero no es algo que tenga seguro.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 08 Ago 2008 01:54 am
Lo he probado y no me sale, si creo un obeto collada nuevo le puedo mapear un movie de la biblioteca, pero después de creado no puedo cambiarle el material. Si encuentras solución posteala que me interesa saberlo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.