Hello! I have a problem with a clipping in my project. With away3d it's well, but not in away3dlite. There are screenshots: http://savepic.ru/1563734.jpg (away3d) and http://savepic.ru/1555542.jpg (away3dlite). Please, explain me where is my mistace?
There is Away3D: <?xml version="1.0" encoding="utf-8"?> <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:Script> <![CDATA[ import away3d.containers.Scene3D; import away3d.containers.View3D; import away3d.core.clip.RectangleClipping; import away3d.core.render.*; import away3d.materials.ColorMaterial; public var view:View3D; public var scene:Scene3D; override protected function createChildren():void { super.createChildren(); scene = new Scene3D(); view = new View3D(); view.scene = scene; view.renderer = new BasicRenderer(); view.clipping = new RectangleClipping({minX:-unscaledWidth/2,minY:- unscaledHeight/2,maxX:unscaledWidth/2,maxY:unscaledHeight/2}); view.clipping.objectCulling = true; addChild(view); view.addEventListener(Event.ADDED_TO_STAGE, update); // Make sure the first frame is rendered } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); update(); } private function update(e:* = null):void { if(view.stage) { view.clipping.minX = -unscaledWidth/2; view.clipping.minY = -unscaledHeight/2; view.clipping.maxX = unscaledWidth/2; view.clipping.maxY = unscaledHeight/2; view.x = unscaledWidth/2; view.y = unscaledHeight/2; view.render(); } } ]]> </mx:Script> </mx:UIComponent> There is Away3dLite: <?xml version="1.0" encoding="utf-8"?> <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:Script> <![CDATA[ import away3dlite.containers.Scene3D; import away3dlite.containers.View3D; import away3dlite.core.clip.RectangleClipping; import away3dlite.core.render.*; import away3dlite.materials.ColorMaterial; import away3dlite.templates.BasicTemplate; public var view:View3D; public var scene:Scene3D; override protected function createChildren():void { super.createChildren(); scene = new Scene3D(); view = new View3D(); view.scene = scene; view.renderer = new BasicRenderer(); view.clipping = new RectangleClipping(); addChild(view); view.addEventListener(Event.ADDED_TO_STAGE, update); // Make sure the first frame is rendered } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); update(); } private function update(e:* = null):void { if(view.stage) { view.clipping.minX = -unscaledWidth/2; view.clipping.minY = -unscaledHeight/2; view.clipping.maxX = unscaledWidth/2; view.clipping.maxY = unscaledHeight/2; view.x = unscaledWidth/2; view.y = unscaledHeight/2; view.setSize(unscaledWidth, unscaledHeight); view.render(); } } ]]> </mx:Script> </mx:UIComponent> Thank you!
