Hi my name is Aduen and I am using Away3d because of the Prebaking
class, something that kicks the Flash performance sky-high.

I want to keep my project as low profile as possible, I am using
simple Plane primitives with least amount of segments (1), and bitmap
material with a transparency. This results in simple cut-out sprites.
I've put a simple demo online to get an idea what I am doing
http://van-gogh.aduen.nl

Now, the questions and errors I am running into.

1) Using Prebaking with raytrace set to false results in this error:

ReferenceError: Error #1069: Property getAngle not found on
flash.geom.Vector3D and there is no default value.
        at MethodInfo-741()
        at away3d.materials.utils::LightPrebaker/generate()
        at away3d.materials.utils::LightPrebaker/draw()
        at away3d.materials.utils::LightPrebaker/apply()

which I narrowed down to the following line in
away3d.materials.utils.Prebaker:

                        function setVertexColor(d:Vector3D, n:Vector3D, 
colr:int, colg:int,
colb:int):Array
                        {
                                var dl:Number;
                                var factl:Number;
                                for(j = 0;j<_aLights.length;++j){
                                        dl = 
d.subtract(_aLights[j].lightposition).length;
                                        percentFalloff =   
(_aLights[j].lightfalloff- dl)/
_aLights[j].lightfalloff;
                                        //lightFactor = 
_aLights[j].lightposition.getAngle(n); <<-- this
line results in the error
                                        lightFactor =
Vector3DUtils.getAngle(_aLights[j].lightposition, n); <-- changed it
to this
                                        if(percentFalloff > 0 && dl 
<_aLights[j].lightfalloff){
                                                factl = 
lightFactor*percentFalloff;
                                                colr += _aLights[j].lightR 
*factl;
                                                colg += _aLights[j].lightG 
*factl;
                                                colb += _aLights[j].lightB 
*factl;
                                        }
                                }
                                return [colr, colg, colb];

                        }

2) when using transparent png's as Material the raytrace prebaking
does not "shine through" the alpha, it covers it. This also results in
rectangular shadows (planes with transparent png's). I am doing
something wrong or is this not implemented?

3) I also run into situations when using more than two light points
when raytracing, the whole scene lights up. I am not able to narrow
this one down yet but, if this sounds familiar to someone please let
me know. It's most likely my own buggy code at this point ;)

For all that matters, I am most interested in question number 2.

TIA
Aduén

Reply via email to