Показать сообщение отдельно
Старый 07.03.2012, 20:25
redefy вне форума Посмотреть профиль Отправить личное сообщение для redefy Посетить домашнюю страницу redefy Найти все сообщения от redefy
  № 6  
Ответить с цитированием
redefy
 
Аватар для redefy

Регистрация: Mar 2011
Сообщений: 58
Вот так:
Код AS3:
package test {
	import away3d.cameras.*;
	import away3d.containers.*;
	import away3d.entities.*;
	import away3d.lights.*;
	import away3d.materials.*;
	import away3d.materials.lightpickers.*;
	import away3d.materials.methods.*;
	import away3d.primitives.*;
	import away3d.textures.*;
 
	import flash.display.*;
	import flash.events.*;
 
	/**
	 * HelloAlternativa3DtoAway3d "Hello world!" application.
	 * Создание простейшего трёхмерного приложения.
	 */
	public class HelloAlternativa3DtoAway3d extends Sprite {
		private var container:ObjectContainer3D;
		private var box:Mesh;
		private var plane:Mesh;
		private var view:View3D;
		private var controller:SimpleObjectController;
 
		public function HelloAlternativa3DtoAway3d() {
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			init();
		}
 
		private function init():void {
			view = new View3D();
			view.camera.lens.far = 10000;
			view.camera.moveTo( -170, 1361, -1221);
			view.camera.rotateTo(45, 2, 0);
			addChild(view);
 
			container = new ObjectContainer3D();
			view.scene.addChild(container);
 
			var sunLight:DirectionalLight = new DirectionalLight(-1, -0.4, 1);
			sunLight.color = 0xFFFFFF;
			sunLight.castsShadows = true;
			sunLight.ambient = 1;
			sunLight.diffuse = 1;
			sunLight.specular = 1;
			container.addChild(sunLight);
 
			var lightPicker:StaticLightPicker = new StaticLightPicker([sunLight]); 
			var filteredShadowMapMethod:SoftShadowMapMethod = new SoftShadowMapMethod(sunLight);
			filteredShadowMapMethod.epsilon = 0.005;
 
			var material:TextureMaterial = new TextureMaterial(new BitmapTexture(new BitmapData(2, 2, false, 0xFF0000)), true, true);
			material.lightPicker = lightPicker;
			material.shadowMethod = filteredShadowMapMethod;
			material.ambient = 0.5;
			container.addChild(box = new Mesh(new CubeGeometry(250, 250, 250, 1, 1, 1), material));
 
			material = new TextureMaterial(new BitmapTexture(new BitmapData(2, 2, false, 0x00FF00)), true, true);
			material.lightPicker = lightPicker;
			material.shadowMethod = filteredShadowMapMethod;
			material.ambient = 0.5;
			container.addChild(plane = new Mesh(new PlaneGeometry(3000, 3000), material)).y = -125;
 
			stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		private function onEnterFrame(e:Event):void {
			box.rotationY -= 1; //в градусах
			view.render();
		}
	}
}