AS3/PV3D
패이퍼비전 3D 기초 - 07
닥서클(권오남)
2010. 11. 19. 14:35
package { import flash.display.Sprite; import flash.events.Event; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.parsers.DAE; import org.papervision3d.view.BasicView; public class chapter07 extends Sprite { private var view:BasicView; private var dae:DAE; public function chapter07() { view = new BasicView( 550, 400 ); this.addChild( view ); // DAE 생성 dae = new DAE(); // Shader를 위한 Light 생성 var light: PointLight3D = new PointLight3D( false ); light.x = 0; light.y = 100; light.z = 0; // Shader가 적용된 material 생성 var material: FlatShadeMaterial = new FlatShadeMaterial( light, 0xFFFFFF, 0xFF0000 ); // DAE 파일은 여러 3D객체의 조합으로 이루어지므로 Material도 여러 개를 따로 지정가능 var materialsList:MaterialsList = new MaterialsList(); materialsList.addMaterial( material, "all" ); // DAE 파일 불러오기 dae.load( "./model.dae", materialsList ); dae.y = -50 view.camera.zoom = 150 view.scene.addChild( dae ); view.addEventListener( Event.ENTER_FRAME, onEnter ); } private function onEnter(event:Event):void { dae.rotationY += 2; view.singleRender(); } } }