Sorry for the late response, weekend showed up and all that lovin. I've uploaded the model file and texture file into the database. Its box_test.dae and wood.png. Just put them both in the same file and they should run respectively. Weird thing is, I did get a model to make it through the collada loader, however, the other models didn't show up. There was suppose to be 5 models, but I only ever got one, if that, and away3D was running as I could to move objects around.
The target version should be 2.3.3 on FP9. Thanks for the help in advance. On Feb 19, 9:18 pm, katopz <[email protected]> wrote: > Hey guy > > could you send that dae to me? i'll take a look > btw, what you target version? away3d fp9, fp10? > > cheers > > On 20 February 2010 03:14, Joshua Granick <[email protected]> wrote: > > > > > Anyone else? Is this a bug in the Collada class? > > > On Fri, 19 Feb 2010 10:01:32 -0800, Reinorvak <[email protected]> > > wrote: > > > For most of the materials loaded in, they get turned into a > >> ColorMaterial, however, when I specified a texture it actually made it > >> through as a texture Material according to the MaterialLibrary from > >> away3D. > > >> I understand the method of looking through the materialLibrary and > >> changing the materials there however, the Collada loader actually gets > >> stuck when loading the models through with a texture applied to them. > >> I went into the Collada load functionality and checked the material > >> and it was correct on file path, material type, etc. But, since it > >> gets stuck it never reaches my OnSuccess function for when the Collada > >> is done parsing the .dae. > > >> I'm using the same kind of method except the object is an Away3D > >> extended object. > > >> Just to reiterate, the texture's properties from maya are loaded with > >> the Collada loader with the correct file path. They're relative paths > >> according to where the model is located. The Collada parse just gets > >> stuck on the load when trying to load the model with a texture. > > >> On Feb 19, 12:22 pm, "Joshua Granick" <[email protected]> > >> wrote: > > >>> If you load and parse a Collada which has several textures specified, > >>> will it leave out the materials, or will it load the materials, but as a > >>> Wireframe Color or something instead? > > >>> Whenever I need to swap out a texture at runtime, I run a for each loop > >>> over the materialLibrary property. It's possible that if you load an > >>> object > >>> and don't pass a material, the for each loop (or for in loop) might still > >>> have an entry for each referenced material in the model. Then it's just a > >>> matter of linking up the correct file path to that material. > > >>> At that point, since you might know the name of the material you need, > >>> there might be a way to get that URL off of the object, or you might have > >>> a > >>> library you can reference which will define the file path for that > >>> material > >>> name. That would make it possible to share textures across different > >>> objects. On the other hand, I guess that still is hard-coding URL paths. > > >>> I am using a unique class with Flash embed code for each model I'm using > >>> in my current project, because each one needs to have additional code > >>> information for how it interacts inside the environment I've created. If > >>> you > >>> just needed to load a lot of objects, I can see how this would be > >>> difficult. > > >>> So if you use the standard Collada.load method, it doesn't load the > >>> textures, you said? Are you sure that it is finding the textures? Are the > >>> paths to the material images correct inside the Collada? Are they > >>> relative? > > >>> On Fri, 19 Feb 2010 06:16:05 -0800, Reinorvak <[email protected]> > >>> wrote: > >>> > Yeah, that is what I was doing previously, but this ended up being a > >>> > hard-coded kind of method since each model would have a specific > >>> > texture. I was looking for a more dynamic way of going about this as > >>> > we're going to have tons of individual models and textures. > > >>> > Alright let me explain a bit more on how this is working. Currently I > >>> > have two classes running about being the Item class, which contains > >>> > all the model data. Then there is my own MatLibrary. I use the > >>> > MatLibrary to load texture's at run time and place them on the model. > >>> > However, this requires that I know which texture goes where on the > >>> > model, as there can be multiple texture's per single model. As is > >>> > such, I'd like to further separate the need to externally load > >>> > texture's when loading a model, as want to load it with the Collada > >>> > loader, not using the bitmap parameter. > > >>> > Currently, this is whats happening in code: > > >>> > On the load call: > >>> > public function loadModel(url:String):void > >>> > { > >>> > m_url = url; > >>> > var loader:Object3DLoader = Collada.load("Models/test/chair/ > >>> > box_test.dae"); > >>> > loader.addOnSuccess(onSuccess); > >>> > loader.addOnError(onError); > >>> > } > > >>> > Pretty much just making a basic load call with Collada and setting up > >>> > event handlers. > > >>> > On the load Success: > > >>> > override protected function onSuccess(e:LoaderEvent) > >>> > { > >>> > m_model = (e.loader.handle as ObjectContainer3D); > >>> > m_model.ownCanvas =true; > >>> > m_model.renderer = renderer; > >>> > addChild(m_model); > > >>> > for(var i = 0; i < m_textureNames.length; ++i) > >>> > { > >>> > fcsMaterialLibrary.getInstance().addEventListener( > >>> "LoadComplete" + > >>> > m_textureNames[i], initMaterial); > >>> > } > >>> > fcsMaterialLibrary.getInstance().CreateMultiMaterial(m_model, > >>> > m_textureNames); > >>> > } > > >>> > Turn the model that has been loaded into an object of the class, and > >>> > then continue on to load the Array of textures. The textures are hard- > >>> > coded for the time being, and I can get them to show up on the model > >>> > with some tricks. But what I'd like to do is remove the need for the > >>> > MaterialLibrary, and just have all texture's loaded on the collada > >>> > load without having the load the texture beforehand. > > >>> > Thanks again in advance. > > >>> > On Feb 18, 4:58 pm, "Joshua Granick" <[email protected]> wrote: > >>> >> FYI, you can parse on your own like this: > > >>> >> Collada.parse (MeshClass, { material: MaterialClass } ); > > >>> >> or > > >>> >> var material:BitmapMaterial = new BitmapMaterial (Cast.bitmap > >>> (MaterialClass), { smoothing: true } ); > >>> >> Collada.parse (MeshClass, { material: material } ); > > >>> >> That works great if you're embedding. I don't use the built-in load > >>> method, but if you need the Collada and UV to be outside Flash at runtime, > >>> you can load them using a URLLoader for the mesh and Loader for the UV, > >>> then > >>> parse it like this. You wouldn't need to cast the material as a bitmap > >>> since > >>> that's how it comes from the Loader, and I think you could just pass the > >>> text value into the first parameter of the parse method > > >>> >> Hope this helps you get up and running > > >>> >> On Thu, 18 Feb 2010 13:28:38 -0800, Reinorvak < > >>> [email protected]> wrote: > >>> >> > Greetings again everyone, > > >>> >> > Recently, I've come across the problem of trying to load a pre- > >>> >> > textured model into away3d using the Collada format. I believe I've > >>> >> > read on something like this before, but couldn't find the post so > >>> just > >>> >> > point me in the direction if its already been resolved. > > >>> >> > Here's the thing. When I load the model into away3d, the parse > >>> >> > constantly gets stuck on the notifyProgress function. The parser > >>> will > >>> >> > first fire a notifySuccess, but then continues to call the > >>> >> > notifyProgess and continues parsing the collada file, after getting > >>> >> > out of its notifyProgress loop. This process will continue forever, > >>> >> > and I'll never get my models on screen. > > >>> >> > However, should I not set the texture material onto the model, it > >>> >> > loads just fine and goes on its way. So, I'm not sure if this is a > >>> >> > problem with the .dae file, which it seems to be, or with something > >>> in > >>> >> > away3d. Either way, I need models to be able to load textures from > >>> >> > Maya using this collada format. Any help will be appreciated and > >>> >> > thanks in advance. > > >>> >> > P.S. I'll keep looking on my own for the solution in the mean time. > > >>> >> > Rein > > -- > katopzhttp://www.sleepydesign.com
