The current build has implemented the majority of the material API stack, we are working on getting animations into the tool sometime in the next few weeks.
Away Builder is free and open source under the Apache 2 license.
yohann, Newbie Posted: 15 May 2013 01:31 PM Total Posts: 17
[ # 1 ]
I’ve been playing around with Away Builder for a few days now, and it seems really cool…so nice to be able to experiment with various settings and see results in real time!
I’m still hazy on the intended workflow, however. I’ve been able to import meshes, apply texture, shadows, lighting, even skyboxes (nice!), and save as needed to an AWD file. No problems there.
But how do I USE the resulting AWD file? Is the idea for me to suck in an AWD file into my Away3D project, and it brings with it all those lights, textures, shadows, skybox, etc automatically somehow? Or is Away Builder more a preview tool, and I still need reconstruct all that stuff in AS3 the old fashioned way?
Please clarify…I want to make sure I’m using this great new tool to its fullest.
80prozent, Sr. Member Posted: 15 May 2013 02:49 PM Total Posts: 430
[ # 2 ]
Hi
You load the awd files into your away project using either the assetlibrary or the loader3d. Just look at the examples on github to see how to use the assetlibrary or loader3d.
All stuff you can apply in awaybuilder is saved in the awd-files, and should load into your away project automaticcly.
Unfortunally, atm, no AnimationData is saved in the AWD-file. So if you import a skaletonAnimation into AwayBuilder, and export it again, the AnimationData will not be exported into the new awd-file. But animations will be supported in AwayBuilder soon….
Hope that helps
yohann, Newbie Posted: 15 May 2013 04:03 PM Total Posts: 17
[ # 3 ]
Thanks for the reply! I currently have my AWD loading into Away3D via the AssetLibrary class. I see my fully textured mesh and the lighting looks right, but I’m not getting any shadows or skybox that I see in Away Builder. Do I need to recreate the skybox and shadows by hand with AS3, or should these items have carried over from Away Builder via the AWD? Thanks so much for the help!
80prozent, Sr. Member Posted: 15 May 2013 04:31 PM Total Posts: 430
[ # 4 ]
Ah yes, thats right. When using the AssetLibrary the Assets will not be added to the Scene automaticcly. You have to addChild them to the Scene, like you do with the mesh.
First try to reopen the AWD-File into AwayBuilder. That should work.
If it doesnt, something is wrong with the AWD-File.
If it reopens in AwayBuilder ok:
To make the shadow work try adding this to your onAssetComplete-function:
if (event.asset.assetType == AssetType.LIGHT) { scene.addChild(event.asset as LightBase); }
For the SkyBox there is no dedicated AssetType yet, but it is the only Asset that is using the AssetType “Entity”
if (event.asset.assetType == AssetType.ENTITY) { scene.addChild(event.asset as SkyBox); }
[EDIT:]
The Skybox now has its own SKYBOX_COMPLETE Event (and AssetType.SKYBOX) and no longer fires the ENTITY_COMPLETE Event !
yohann, Newbie Posted: 15 May 2013 04:52 PM Total Posts: 17
[ # 5 ]
WOW! That worked. It’s like magic…all that stuff packed into a single AWD file. Thanks so, so, so much for the help.
yohann, Newbie Posted: 12 June 2013 01:22 AM Total Posts: 17
[ # 6 ]
Shadows don’t seem to be saving (using v0.9.5). I set them, they look good in Away Builder, I save it, but when I open it again shadow settings are gone. Any ideas?
80prozent, Sr. Member Posted: 12 June 2013 10:09 PM Total Posts: 430
[ # 7 ]
Hey yohann
I just tried with the latest download version of AwayBuilder, and the shadows are working fine for me on export and import.
I tried with a DirectionalLight and a SoftShadowMethod.
Can you try again, and give some more details of your setup, if you can reproduce the issue ?
yohann, Newbie Posted: 13 June 2013 02:36 AM Total Posts: 17
[ # 8 ]
Hi 80prozent, thanks for the response. I can’t explain why it’s working for me now, but the shadow settings are being saved. HOWEVER, while I see the shadows in Away Builder, I don’t see them in my compiled .swf. I get my lights and textures, but no shadows. Am I supposed to do something when the AWD loads to get the shadows to work? Thanks so much for your help!
80prozent, Sr. Member Posted: 13 June 2013 09:25 AM Total Posts: 430
[ # 9 ]
Hi yohann
Remember that this is still beta soft, and not a stable release, so weird shit can happen….
About the shadows: actualy awaybuilder is using the awd-parser of the away3d lib, so it should work in your compiled swf same as in awaybuilder. ....in away3d you can use the assetlibrary or he Loader3d to load the awd-Files. The loader3d takes care of adding the assets to the scene, while with the assetlibrary you need to ake care of hat yourself. Shadows will not work, if the light isnt added to the scene.
So i think thats the reason the shadows are not worki g for you.
Hope that helps
yohann, Newbie Posted: 14 June 2013 01:49 AM Total Posts: 17
[ # 10 ]
Hmm I thought I WAS adding the light, but my .swf scene looks the same either way. I am using an AssetLibrary thingy to load everything in:
private function onAssetComplete(event:AssetEvent):void { if (event.asset.assetType == AssetType.LIGHT) {
var light:DirectionalLight = event.asset as DirectionalLight; _view.scene.addChild(light);
//I can run a trace here and see that it's adding the light, but it doesn't seem to affect the scene either way
}else if (event.asset.assetType == AssetType.MESH) {
var mesh:Mesh = event.asset as Mesh;
switch(mesh.name){
case ("collision"):
//adding physics stuff hereā¦
break;
default: //adding meshes and materials here... _view.scene.addChild(mesh);
}
}
}
Again, everything is working except for the shadows…I see them in Away Builder but not my .swf. Thanks for all of your previous responses; let me know if you see anything wrong with my code above.
80prozent, Sr. Member Posted: 14 June 2013 04:20 PM Total Posts: 430
[ # 11 ]
Hi Yohann
I tested to export shadows (again a driectionalLight with SoftShadowMethod) with several Objects casting Shadows on a plane, and it worked when importing into a Away3d-project (flashdevelop).
Are you shure you are using the latest Away3d lib ?
In case you are not shure, try updateing it again (dev-branch on git).
For the Event-Listening:
You only need to add the topmost-parent of a chain of objects to the scene.
If you add a Object to the scene, that was child of another object, it is no longer a child of that object, and your sceneGraph is corrupted.
Be aware that you also should listenen for ObjectContainer3d the same way as you listen for the meshes.
Example:
private function onAssetComplete(event:AssetEvent):void { if (event.asset.assetType == AssetType.CONTAINER) { var objCon:ObjectContainer3D = event.asset as ObjectContainer3D; if(!objCon.parent) scene.addChild(objCon);
} else if (event.asset.assetType == AssetType.LIGHT) { var light:LightBase= event.asset as LightBase; if(!light.parent) scene.addChild(light); } else if (event.asset.assetType == AssetType.MESH) { var mesh:Mesh= event.asset as Mesh; if(!mesh.parent) scene.addChild(mesh); }
For each Asset, 2 Events are fired. The ASSET_COMPLETE, and a another “_COMPLETE” Event that depends on the AssetType.
yohann, Newbie Posted: 14 June 2013 05:24 PM Total Posts: 17
[ # 12 ]
Well don’t I feel dumb: I pulled the latest dev branch from git and..BAM…awesome shadows!
That aside, your explanation of how to sniff out stuff when loading in an AWD was incredibly helpful. I’m sure this stuff is all in an API doc somewhere, but is there somewhere Away3D is spelled out as plainly as you have described in this thread? Honestly, with the explanations and code samples, it’s like being told the secrets of the universe in plain language!
Thanks a ton for all of your time and help.
yohann, Newbie Posted: 14 June 2013 06:42 PM Total Posts: 17
[ # 13 ]
Is there an equivalent of this in Away Builder?
mesh.geometry.scaleUV(9,9);
I would have expected to see this under the Geometry tab, but I just see a textfield for a label.
80prozent, Sr. Member Posted: 14 June 2013 07:00 PM Total Posts: 430
[ # 14 ]
Hi again
glad its working for you now…
whenever you update AwayBuilder, you should do the same with Away3d.
Since Away3d is the core of AwayBuilder, a bugfix in AwayBuilder might also have needed a fix in the Away3d-engine too.
There are times, in wich away3d gets updated daily, so its a good habit to go to Git and check the latest Commits to the Engine, before strating working with it.
Regarding API/Docs:
I think there is no documentation other than the ones found in the Docs & Reference (see main-menu of page).
TBH, i am never using the API, since Away3d is a much better source, containing all infos that are in the API anyway.
The CodeCompletion/Suggestions and NavigationTools in FlashBuilder or FlashDevelop are helping a lot to get quick answers to questions.
Especially functions like “show all references of a class” are very usufull features of those apps, when working with many different packages like away3d.
There is a AWD2.1 Specification-Document available here:
https://github.com/awaytools/awd-sdk/tree/master/docs
but this is more usefull for work on the AWDTools, than for working with Away3d.
80prozent, Sr. Member Posted: 14 June 2013 07:34 PM Total Posts: 430
[ # 15 ]
No, sorry we cannot change UVScele in AwayBuilder yet.
I think it will be added at some point….but its not there yet…