Author Topic: ejemplos collada no funcionan.  (Read 177 times)

carlos villy   «   on: June 18, 2012, 03:10:55 AM »
Hola.. este es mi primer post aqui, llevo rato ya con flash 3d con away3d, pero estamos haciendo pruebas en este nuevo framework, bastante prometedor. todo funciona bien.. planos, texturas, skybox, incluso los f3b de max y los dae de mixamo, pero no soy usuario de max, ni lo seré, lo destesto y quisieramos cargar modelos desde maya, cinema o lightwave.. no importa, mientras no sea max.
Estuve tratando de echar a andar los collada loaders sin ningun exito.. podrian decirme las propiedades de exportacion adecuados de collada por favor??
exportar triangulos? bake transforms?  polygon mesh?? etc..

no logre echar a andar ninguno de los exemplos de la página. no da error, solamente no los carga.. ya probamos diferentes tamaños y distancias de camera..
mi codigo es el siguiente:
gracias por cualquier ayuda o consejo.

Atte: Charlito.

<strong>
</strong><div><strong>public class Main extends Sprite </strong><div><strong>    {</strong><div><strong>      [Embed(source = "../assets/texturaMercurio.jpg")]</strong><div><strong>      private var textura:Class;</strong><div><strong>      [Embed(source = "../assets/texto2.dae", mimeType = "application/octet-stream")]</strong><div><strong>      private var DAEFile:Class;</strong><div><strong>      </strong><div><strong>      [Embed(source = "../assets/maxText.f3d", mimeType = "application/octet-stream")]</strong><div><strong>      private var maxFile:Class;</strong><div><strong>      </strong><div><strong>      </strong><div><strong>      public var scene:Scene3D;</strong><div><strong>      public var model:Pivot3D;</strong><div><strong>      </strong><div><strong>      public function Main():void </strong><div><strong>      {</strong><div><strong>         if (stage) init();</strong><div><strong>         else addEventListener(Event.ADDED_TO_STAGE, init);</strong><div><strong>      }</strong><div><strong>
</strong><div><strong>      private function init(e:Event = null):void </strong><div><strong>      {</strong><div><strong>         removeEventListener(Event.ADDED_TO_STAGE, init);</strong><div><strong>         init_all();</strong><div><strong>      }</strong><div><strong>
</strong><div><strong>
« Last Edit: October 26, 2012, 11:06:21 AM by jose jose »

carlos villy   «   Reply #1 on: June 18, 2012, 03:13:27 AM »
corto el codigo.. asi que adjunto aqui lo que falta.
    public function init_all():void
      {
          scene = new Viewer3D(this);
         scene.camera.setPosition(0,0,-350 );
         scene.camera.lookAt( 0, 50, 0 );
          
          
         //metodo1 not working
         var collada:ColladaLoader = new ColladaLoader(XML (new DAEFile), null,null, "../assets/");
         collada.parent = scene;
         collada.load();
         scene.addChild(collada);
         
         
         //metodo 2 not working
         /*scene.library.addItem( "../assets/texturaMercurio.jpg", new Texture3D( new textura ) );
         var collada:ColladaLoader = new ColladaLoader( XML(new DAEFile));
         collada.parent = scene;
         collada.load();
         scene.addChild(collada);
         */
         
         //metodo 3 im sure it wont work either
         //var collada:ColladaLoader = new ColladaLoader( XML(new DAEFile), false, Context3DTriangleFace.BACK, "../assets/" );
         
         //model = scene.addChildFromFile( "../assets/texto2.dae", null, ColladaLoader );
//         scene.addChild(model);
      }
    }

Ivan Vodopiviz   «   Reply #2 on: June 18, 2012, 12:24:56 PM »
Hola Carlos,

Has probado algo como:
scene.addChildFromFile( "miModelo.dae" );

Así a secas? Y en cuanto a valores de exportación, depende de la aplicación usada, pero sea cual sea vas a necesitar "bake transforms" o equivalente, eso seguro.

Saludos!