Oke got a view models in prefab and scaled, rotated and placed them. Loaded the model in away3d and everything looks fine. Maybe it's a stupid question but how can you merge 1 model? The model is built up from 3 houses i know the merge class is used like this merge.apply(mesh1,mesh2) but how does it work with one model?
On 11 dec, 10:26, Fabrice3D <[email protected]> wrote: > if you select a house, and have the editobject panel open, you can > change scale properties to the selected mesh... > one set, hit apply scale > > Fabrice > > On Dec 11, 2009, at 10:17 AM, wsvdmeer wrote: > > > > > Prefab rules and i totally understand that it's a work in progress > > it's amazing that you do all of this next to your day job. > > I could import all the models in prefab but the models themselves have > > different scales we didnt have accurate material to make the models so > > we made the models and adjusted the size while importing them in > > away3d. It's not the most efficient way but visually it looked rather > > good. > > Is it possible to scale each house and when all houses are scaled and > > positioned to scale the scene after that? > > Or can you only scale the whole scene. > > Hope i'm not a to big pain in the @ss haha. > > > On 11 dec, 10:04, Fabrice3D <[email protected]> wrote: > >> if you load them all in prefab, place them one by one where they > >> should be > >> use scenescale, you can then export to awd in one shot. after load of > >> awd data, just merge and you're done > > >> note that Prefab is atm ungoing major changes. In upcomming releases, > >> assembling should become way more friendly. > >> Started as good little utility, It has now entered the application > >> playground, but fails bigtime in this league on usability and > >> espected > >> behaviors. > >> I'm not going to let it this way! > > >> Fabrice > >> On Dec 11, 2009, at 9:31 AM, wsvdmeer wrote: > > >>> Hey Fabrice, > > >>> Sorry for my late response, it did have to do with the scale, > >>> rotation > >>> and position of my models. Problem is that it's a lot of work to > >>> rescale all the objects in milkshape import them to prefab and > >>> export > >>> them to AWD. So the merge class works as it should but i cannot > >>> use it > >>> on the models i'm using. Would you advise to rescale all the objects > >>> before importing them in away3d? I'm considering to split up the > >>> scene > >>> in 3 parts to enhance performance but it would be great to walk > >>> through the whole scene. By the way any advise is welcome :D. > > >>> On 8 dec, 22:38, Fabrice3D <[email protected]> wrote: > >>>> btw, you do not mention if the original problem is now solved... is > >>>> it? > > >>>> Fabrice > >>>> On Dec 8, 2009, at 10:28 PM, wsvdmeer wrote: > > >>>>> Hey Fabrice, > > >>>>> Is there a way to do the scaling in prefab so that the bounderies > >>>>> arren't that huge? > >>>>> And can i build parts of the scene up in prefab resulting in less > >>>>> "loose" models , and if so does this increase performance? > > >>>>> On 8 dec, 14:40, Fabrice3D <[email protected]> wrote: > >>>>>> Hey wsvdmeer, > >>>>>> I have updated the class & updated the svn. > >>>>>> The update resolves the geometrical artefact and code was in need > >>>>>> of > >>>>>> an update anyway. > >>>>>> I have just done a series of tests using this latest update and > >>>>>> everything seams working just fine. > > >>>>>> Now looking at your awd files and your xml definition, the first > >>>>>> thing that might clarify your problem, is the scale/position > > >>>>>> if I look in Prefab at eddydejong.awd, it's having bounderies of > >>>>>> width > >>>>>> 25000, height 16000, depth 11000 > >>>>>> now, the position of this one is at 120, 80, 1470. > > >>>>>> now you want to merge this model with lets say etos.awd > >>>>>> etos bounds are width 15590, height 12000 and 7672 for depth > >>>>>> its position is 100, 60, 1290 > > >>>>>> Looking at this data, it explains clearly your problem... they > >>>>>> simply > >>>>>> overlap each other, with or without Merge in the game. > >>>>>> if you have rescaled in Prefab prior to export, just multiply by > >>>>>> same > >>>>>> factor the xml position data and you should be ok. > > >>>>>> Fabrice > > >>>>>> On Dec 8, 2009, at 1:46 PM, wsvdmeer wrote: > > >>>>>>> Hey Fabrice, > > >>>>>>> Did you have time looking at my problem? > > >>>>>>> On 7 dec, 16:19, wsvdmeer <[email protected]> wrote: > >>>>>>>> Hey Fabrice, > > >>>>>>>> I added 3 models here > >>>>>>>> :http://labs.speak.nl/3d/away3d/models/models.rar > >>>>>>>> The positions can be found here: > > >>>>>>>> <model> > >>>>>>>> <file>../assets/models/eddydejong/ > >>>>>>>> eddydejong.awd</ > >>>>>>>> file> > >>>>>>>> <texture>../assets/models/eddydejong/</texture> > >>>>>>>> <name>Bakker Eddy de Jong</name> > >>>>>>>> <xposition>120</xposition> > >>>>>>>> <yposition>80</yposition> > >>>>>>>> <zposition>-1470</zposition> > >>>>>>>> <xrotation>0</xrotation> > >>>>>>>> <yrotation>90</yrotation> > >>>>>>>> <zrotation>0</zrotation> > >>>>>>>> <scale>0.01</scale> > >>>>>>>> </model> > >>>>>>>> <model> > >>>>>>>> <file>../assets/models/etos/etos.awd</file> > >>>>>>>> <texture>../assets/models/etos/</texture> > >>>>>>>> <name>Etos</name> > >>>>>>>> <xposition>100</xposition> > >>>>>>>> <yposition>60</yposition> > >>>>>>>> <zposition>-1290</zposition> > >>>>>>>> <xrotation>0</xrotation> > >>>>>>>> <yrotation>95</yrotation> > >>>>>>>> <zrotation>0</zrotation> > >>>>>>>> <scale>0.01</scale> > >>>>>>>> </model> > >>>>>>>> <model> > >>>>>>>> <file>../assets/models/pearle/pearle.awd</file> > >>>>>>>> <texture>../assets/models/pearle/</texture> > >>>>>>>> <name>Pearle</name> > >>>>>>>> <xposition>140</xposition> > >>>>>>>> <yposition>71</yposition> > >>>>>>>> <zposition>-1155</zposition> > >>>>>>>> <xrotation>0</xrotation> > >>>>>>>> <yrotation>102</yrotation> > >>>>>>>> <zrotation>0</zrotation> > >>>>>>>> <scale>0.01</scale> > >>>>>>>> </model> > > >>>>>>>> On 7 dec, 15:08, Fabrice3D <[email protected]> wrote: > > >>>>>>>>> Are you sure your models are perfectly centered? > >>>>>>>>> otherwijze send me offline max 3 of them + the position you > >>>>>>>>> give > >>>>>>>>> them > >>>>>>>>> in worldspace, > >>>>>>>>> I'll make a test here. > > >>>>>>>>> Fabrice > > >>>>>>>>> On Dec 7, 2009, at 2:21 PM, wsvdmeer wrote: > > >>>>>>>>>> I all ready place the objects first and call the mergeHouses > >>>>>>>>>> function > >>>>>>>>>> after all the objects are loaded and placed. > >>>>>>>>>> When setting the useobjectSpace parameter to false the > >>>>>>>>>> following > >>>>>>>>>> happens: > > >>>>>>>>>>http://labs.speak.nl/3d/away3d/example3.jpg > > >>>>>>>>>> On 7 dec, 14:17, wsvdmeer <[email protected]> wrote: > >>>>>>>>>>> Oke changed the loop to : > > >>>>>>>>>>> private function mergeHouses():void { > >>>>>>>>>>> var arr:Array = getHouses() > >>>>>>>>>>> var merge:Merge = new Merge(true,false, false); > >>>>>>>>>>> var length:int = arr.length > >>>>>>>>>>> for (var i:int = 1; i <length ;++i ) { > >>>>>>>>>>> merge.apply(arr[0], arr[i]) > >>>>>>>>>>> scene.removeChild(arr[i]) > >>>>>>>>>>> trace("merge house0 + house" + i); > >>>>>>>>>>> if (i == length - 1) { > >>>>>>>>>>> trace("merging complete") > >>>>>>>>>>> } > >>>>>>>>>>> } > > >>>>>>>>>>> } > > >>>>>>>>>>> And only loaded a few houses on the rightside of the scene. > > >>>>>>>>>>> The result was the same: > > >>>>>>>>>>>http://labs.speak.nl/3d/away3d/example2.jpg > > >>>>>>>>>>> On 7 dec, 13:55, Fabrice3D <[email protected]> wrote: > > >>>>>>>>>>>> The loop > >>>>>>>>>>>> No need to make new Merge instance each iteration > >>>>>>>>>>>> place this line above loop start > > >>>>>>>>>>>>> var merge:Merge = new Merge(true,false, false); > > >>>>>>>>>>>> start at loop at 1, since arr[0] is receiver > >>>>>>>>>>>> then no need for a check on 0 iterration > > >>>>>>>>>>>> The merge > >>>>>>>>>>>> the issue is a simple offset ScenePosition going wrong, may > >>>>>>>>>>>> be > >>>>>>>>>>>> simply > >>>>>>>>>>>> because there is no position set on the models > >>>>>>>>>>>> before the merge, and since you pass first param as use > >>>>>>>>>>>> ObjectSpace, > >>>>>>>>>>>> only own offsets in geometry are used > > >>>>>>>>>>>> Try set the positions before merge and then set > >>>>>>>>>>>> useobjectSpace to > >>>>>>>>>>>> false (first param), since you want world coordinates. > > >>>>>>>>>>>> Fabrice > > >>>>>>>>>>>> On Dec 7, 2009, at 1:24 PM, wsvdmeer wrote: > > >>>>>>>>>>>>> Hey Fabrice, > > >>>>>>>>>>>>> I've tested it like followed: > >>>>>>>>>>>>> I first load and place all the models in the scene. > >>>>>>>>>>>>> After all the models are loaded i use the following > >>>>>>>>>>>>> function(s) to > >>>>>>>>>>>>> weld stuff together: > > >>>>>>>>>>>>> private function getHouses():Array { > >>>>>>>>>>>>> var children:Array = scene.children > >>>>>>>>>>>>> var array:Array = [] > >>>>>>>>>>>>> var length:int = children.length > >>>>>>>>>>>>> for (var i:int = 0; i < length ; ++i) { > >>>>>>>>>>>>> var child:Object3D = children[i] > >>>>>>>>>>>>> var name:String = child.name > >>>>>>>>>>>>> if (name == "house" ) { > >>>>>>>>>>>>> array.push(child); > >>>>>>>>>>>>> } > >>>>>>>>>>>>> } > >>>>>>>>>>>>> return array > >>>>>>>>>>>>> } > > >>>>>>>>>>>>> private function mergeHouses():void { > >>>>>>>>>>>>> var arr:Array = getHouses() > >>>>>>>>>>>>> var length:int = arr.length > >>>>>>>>>>>>> for (var i:int = 0; i <length ;++i ) { > >>>>>>>>>>>>> var merge:Merge = new Merge(true,false, false); > >>>>>>>>>>>>> if (i == 0) { > >>>>>>>>>>>>> }else{ > >>>>>>>>>>>>> merge.apply(arr[0], arr[i]) > >>>>>>>>>>>>> scene.removeChild(arr[i]) > >>>>>>>>>>>>> trace("merge house0 + house" + i); > >>>>>>>>>>>>> } > >>>>>>>>>>>>> if (i == length - 1) { > > ... > > meer lezen »
