だらだら〜自由自在〜

インディーゲーム制作チーム GAME GABURI でプログラム担当してます

今日も寒い

4月に入ろうとしているのにこの寒さは何だー

シーン遷移OnUnity

シーン遷移をやってみる。Unityでの勝手がわからないので親しみのあるSceneManagerをとりあえず作る。

  • EmptyGameObjectをつくって、SceneManagerに改名。SceneManagerScript.jsをアタッチ
  • 調査した結果UnityのSceneはエディタ的な呼び名で、RuntimeではLevelというものがそれに当たると思われる
  • ApplicationというClassがあって、そいつでLevelを操作する
  • SceneManagerScriptで
    • Awake()でDontDestroyOnLoad(this)をやる。Managerなんで消したくないため
    • Update()から呼んでるOnUpdateLevel0()って自作関数で
      • コルーチン(yield)でまず2秒待つ(yield WaitForSeconds(2.0))
      • Application.LoadLevel(1)で次のLevelに遷移

注意事項として

  • Update()内ではyieldが使えないっぽい。Update()内で呼び出す別関数ならおk
  • LoadLevel()に指定するLevelの番号はFile>BuildSettingでSceneのビルド番号(てか順番?)を設定できる(なんかSceneとLevelが混ざってるような…)

SceneManagerとか、Unity的に意味のあるアプローチなのかは分からん。まぁやってく内に分かってくるだろ

外部バージョン管理ソフト

まずUnityの構成管理には2つの方法がある

  • UnityAssertServer(500ドル)(Proバージョンのみ)
  • 外部構成管理ソフト。SVNとか(Proバージョンのみ)

どっちにしろPro版買う必要があるみたいですな。まぁそれは良いとして
当初は無料版でSVNを検証していけそうならそれでいこうと思いここを見ながら検証を開始していたがそれもつかの間

This is done by selecting Edit->Project Settings->Editor in the application menu

Edit->Project Settings->Editorこれが無いじゃないか
無料版とはいえ2.6のフルバージョントライアルっぽいので機能制限は無いと思っていたが、なんかこれ制限されてる気が…
ちなみに、外部構成管理使うとLibraryフォルダの中身がBinからTextになるみたい。Binじゃ変更が衝突しまくりだもんねー。でもさすがにそれだけじゃないだろうな…エディタ上での名前変更とかにも対応するなら。
無いものは無いのでとりあえずAssertServerを良く見てみる。気になっているのはライセンス形態。
前にチラッと見たときは per Client なライセンスだったが、これが何を意味するか分からんので調査。さて…