Away 3Dを使ってみる(5)


宇宙空間・・・やはり暗くなきゃ雰囲気が出ない。
闇に浮かぶ青い星・・・地球!・・・的なものにしてみた。

【今回の目的】
・宇宙っぽくする

【今回のサンプル】
・サンプル1 PointLight3D+WhiteShadingBitmapMaterial
http://system.logosware.com/blogimag/0522/sample1/)。
・サンプル2 DirectionalLight3D+PhongBitmapMaterial
http://system.logosware.com/blogimag/0522/sample2/)。


【今回の結果】
PointLight3D+WhiteShadingBitmapMaterial
の方が幻想的。

【次回の課題】
・天球に星を貼り付ける
・地球から月を見る
・太陽の周りを回る
のいずれか。もしくは上記以外。

以下、今回の遊び。
【光源を3種類比べてみた】

	import away3d.lights.DirectionalLight3D;
	import away3d.lights.AmbientLight3D;
	import away3d.lights.PointLight3D;
	・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
	// Away3D Light
	internal var lightD:DirectionalLight3D = null;
	internal var lightA:AmbientLight3D = null;
	internal var lightP:PointLight3D = null;
	・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
	// 光源の定義
	lightD = new DirectionalLight3D( {x:-1000, y:0, z:-1000, ambient:1,diffuse:500 } );
	lightA = new AmbientLight3D( { x: -200, y:0, z:0, ambient:1 } );
	lightP = new PointLight3D({x:-1000, y:0, z:-1000, brightness:10, ambient:30, diffuse:500, specular:180 });
			
	// 光源の選択
	//view.scene.addChild(lightD);
	//view.scene.addChild(lightA);
	view.scene.addChild(lightP);

【materialを変えてみた】
どうやら光と影の効果が出る出ないの組み合わせがあるらしい。

// 地球
	globe = new Sphere( { material:"blue#white", x:0,y:0,z:0,radius:120, segmentsH:18, segmentsW:26 } );
	//globe.material = new PhongBitmapMaterial(Cast.bitmap(new EarthMap()));	// lightD,lightA
	globe.material = new WhiteShadingBitmapMaterial(Cast.bitmap(new EarthMap()));	// lightP
	globe.rotationZ = 23.4;	// 地軸の傾き
// 月
	moon = new Sphere( { material:"glay#white", x:0,y:0,z:-600,radius:30, segmentsH:18, segmentsW:26 } );
	//moon.material = new PhongBitmapMaterial(Cast.bitmap(new MoonMap()));	// lightD,lightA
	moon.material = new WhiteShadingBitmapMaterial(Cast.bitmap(new MoonMap()));	// lightP

コードの全容は、あちこち修正が入るので、もう少ししたら公開します。

The following two tabs change content below.

ロゴスウェア

ロゴスウェア株式会社は、インターネットや情報技術を使って学習に革新的進化をもたらす製品を開発することを目標に、2001年7月に設立されたテクノロジー系ベンチャー企業です。

最新記事 by ロゴスウェア (全て見る)

Comments are closed.