Unityでのセーブ&ロード(ローカル保存)

ハイスコア記録等、Unityでアプリを終了させてもデータを永続的に保存しておきたい場合の話。
※今回はデータはサーバではなく端末ローカルに保持するものとする。
いくつかアプローチがあるっぽいので挙げておく。※2015年1月時点
続きを読む

SetActiveかenabledかで非表示

シンプルなゲームを作る際、ゲームオーバー時には「GAMEOVER」のテキストと「PLAY AGAIN」のボタンを表示させたいことがあります。
Unityの新しいUI(uGUI)を使えば、その2オブジェクトを1つのCanvasオブジェクトに入れておいて、スタート時にはそのCanvasを非表示にし、ゲームオーバー時にはCanvasに割り当てたメソッド(例:ShowGameOverメソッド)を呼び出すことで、Canvas自体を表示させれば良いかなと思って実装しておりました。
続きを読む

NewUIでScrollRect内にボタンをC#で並べる

先日β版リリースされたUnity4.6で新しいUIが触れるようになりました。
早速、パズドラのダンジョン選択画面のような、スクロールエリア内に縦にずらーっとボタンが並ぶようなUIを作ってみます。
UnityエディタGUI上での作成方法は公式のチュートリアル動画で解説されているので、今回はC#から指定した任意の数だけボタンを並べられるようにしたチュートリアル動画を作りました。
続きを読む

Unity: GoKit

UnityのAssetStoreにprime[31]が作った「GoKit」というトゥイーンライブラリが無料で提供されています。概要は、Gokitのサマリーページや、wikiを見ればおおよそ理解できます。
※ただ、GoKitの機能を絞ってもっと軽量化したGoKitLiteがある(AssetStoreにはなくGitHub上にだけある)ので、要件を満たしていればモバイルならGoKitLiteの方がいいかも。
続きを読む

Unity: FindObjectは使わないようにする

Unite2013にて「Internal Unity Tips and Tricks」という発表での内容。Unity内でいろんな場所からあるオブジェクトにアクセスするためにはFindObjectを使うのだといろんな技術書にも書かれているけども、凄腕開発者に言わせるとFindObjectは参照に伴う負荷が高いらしいので、マネージャークラスを作成して、シングルトン配列にオブジェクトを格納しておき、それを参照する方が良いとのこと。
続きを読む

ハイエンド3Dゲームのスマホ移植

Unite2013にて Owlchemy labs 社が「Console to Mobile: Bringing AAA to Mobile」というタイトルで、据え置きゲーム用のハイエンド3Dゲームタイトルをスマホに移植するにあたってのノウハウを語ってくれていて、このビデオがとても参考になります。
続きを読む