読者です 読者をやめる 読者になる 読者になる

モノクロタイム

I'm from the future!

【Unity】ロード画面モドキを作る

Unity

Unityは特別なアセットを入れない限り2Dが苦手です。

 

そのためアニメーションのついたロードアイコンを用いても画質が荒く、キレイに表示されません。

しかしロード画面のようなものが欲しいということで、間に合わせでつくったものがあります。

 

参考はこちらのページ

http://yun.cup.com/unity007.html

 

中央にMiddleSphereという黒いテクスチャを貼り付けたSphereを用意し、その横に白いテクスチャを貼り付けたSphereを配置しています。

 

各インスペクタはこんな感じ

 

【MainCamera】

Rotationしか弄ってません。

カメラが真下を向くように調整してあります。

 

f:id:yomoyamareiji:20120812224244p:plain

 

【MiddleSphere】

中心の球です。

これとの距離を変化させながらLoadSphereを動かしています。

 

f:id:yomoyamareiji:20120812224403p:plain

 

【LoadSphere】

運動している球になります。

MiddleSphereもそうですが、球部分が目立たないようにサイズを0.005にして小さくしてあります。

スクリプトは運動する球の方につけますので、こちらに。

 

f:id:yomoyamareiji:20120812224517p:plain

f:id:yomoyamareiji:20120812224527p:plain

 

スクリプトは以下の通り。

 

【Loading.js】

 

#pragma strict

 

var rotate : float = 0;

 

function Start () {

 

}

 

function Update () {

var r : float = Vector3.Distance(this.transform.position, GameObject.Find("MiddleSphere").transform.position);

var rad : float = rotate * Mathf.Deg2Rad;

this.transform.position.x = GameObject.Find("MiddleSphere").transform.position.z + r * Mathf.Sin(rad);

this.transform.position.z = GameObject.Find("MiddleSphere").transform.position.x + r * Mathf.Cos(rad);

rotate = rotate + 3.5;

}

 

UpDate内に書かなければ動きません。

 

元々コレ単体で使っているものでは無く、

サーバーから画像やツイートを取得していく段階に合わせてPlaneを伸ばして作るProcessingBar的なアレと合わせて使ってました。

そっちも公開できるといいなー

 

動作確認はこちらから

http://dl.dropbox.com/u/25806407/Unity/Loading/WebPlayer.html