Unity 3D作例: Bouncing Balls

Unity 3Dで作成したパーティクル(つぶつぶ)と物理エンジンのテストです。


[Unity版]
http://orange-suzuki.com/labs/unity/bounce/
※要 Unity Web Player

[Flash版]
http://orange-suzuki.com/labs/unity/bounce_flash/
※Flash版はロードに時間がかかるかもしれません。

十字キー操作で床が回転します。

しばらく眺めていただくと、こんな感じでつぶつぶの色が変わります。

ボールが進行方向に進む際、任意軸周りの回転が必要だったのですが、、Unity 3Dの協力なスクリプト機能のおかげで楽に実装ができました。

// 前回の位置と今回の位置の差分により、進行方向のベクトルを算出
var force:Vector3 = gameObject.transform.position - tempPosition;
// Y軸との外積を計算し、進行方向に垂直で、床に平行な軸を算出
eulerAngleVelocity = Vector3.Cross( force, Vector3 (0, 100, 0));
// 任意軸周りの回転
gameObject.transform.Rotate(-eulerAngleVelocity);
// 位置を保存しておく
tempPosition = gameObject.transform.position;

Flashでエクスポートすると、多少見た目に影響があるようです。影の部分やパーティクルの見た目など。

おすすめ書籍


Comments are Disabled