Unity 4.6のTutorialをやってみる
こちらの記事(ニコニコゲームフェス)を読み「自分も何かゲーム的な何かを作ってみたいな!」などという無謀な事を思ってしまった。さすがにニコニコゲームフェスに応募しようなんて思わないが、多少なりとも遊べる状態のゲームをまず一本作ってみようという目標を立てた。モチベーションが続くようにここに記述していくことにする。
さてゲームを1から作るとなるといきなり挫折しそうなので、何かしらのツール、ライブラリ、フレームワークなどを使う。そこでUnityというクロスプラットフォームの統合開発環境を選択。これを書いている時点でバージョンは4.6.1。ちょうどVer.4.6でUI(ユーザーインターフェース)がサポートされたようなのでタイミングいいね。
いきなりはさすがに作れないのでチュートリアルを1からやってみることにします。
出来るだけバージョンが近いチュートリアルを探した結果「Unite 2014 TRAINING DAY」というチュートリアルがありました。
ありがたい事にチュートリアルを日本語に翻訳している記事があります。こちらを参考に進めていきます。
Unity4.6のチュートリアルをやってみる(翻訳完了)
一応翻訳前のpdfもリンク。上の記事と確認しながら進めます。
http://willgoldstone.com/utd2014.pdf
チュートリアルで使用するAssetのライセンス
このソフトウェアは、 Apache 2.0ライセンスで配布されている製作物が含まれています。
Phase 0.
前準備としてAssetをUnity上でダウンロード。これが結構時間がかかった。ダウンロード中に一通りpdfに目を通す。結構楽しそう。
Phase 1.~10
ここからできるだけ理解しながら進めていきます。途中つまづいたところを補足。
Phase 2. 3枚目
4. Create a bool parameter named IsWalking
これはAnimatorウィンドウの左下にあります。
Phase 2. 4枚目
3. Set the Condition for this to IsWalking = true
Phase 4. 1枚目
4. Choose the Shootable layer for this game object
ここは追加したHitParticlesオブジェクトではなくZombunnyオブジェクトのLayerをShootableにする。メッセージボックスが表示されるが「No、this object only」で良い。
レイヤーは重要っぽく、ここの設定を間違えただけで意図した動作にならなかった。
Phase 4. 5枚目
6. Click Bake at the bottom to bake the Nav Mesh
上のBakeラジオボタンをクリックしていた。何も起こらないぞ?と思ったが右下にあった。
Phase 5. 1枚目
4. Add Component > Miscellaneous > Canvas Group
ここはAdd Component > Layout > Canvas Group に変わっているようです(Ver.4.6.1.1f1)
完成品を出力
File → Build & Settings… メニューからBuildを行う。ここでなぜか別のシーンが出力対象になっていたので「Add Current」でLevel 01シーンを出力対象に変更。ここで0.5hはまった。
チュートリアル完成品
※注意:音が出ます。
操作方法:十字キーで移動、自機の向きはマウスカーソルに向く。左クリックで攻撃。
まとめ
Assetのダウンロードから完成まで約6~7時間。多分標準的なタイムより時間がかかった。今後このチュートリアルが教科書だ。細かい設定やコーディング等はさておき、画面の見方や視点の動かし方など、ツールの基本的な使い方はある程度習得出来たと思われる。
今後参考にするところ
- フォルダ構成
- キー入力部分のロジック
- BGM/SEの設定、再生部分のロジック
- 当たり判定部分の実装方法
- Nav Meshでの追従方法
- UIコンポーネントの使い方
よくわかっていないところ
- タグの使い方
- レイヤーの使い方
- Rigidbody.DragとAngular Dragとは?
- Nav Meshって何?
- Game Over処理のところ全般
次はこれを改造しながら学習するか、別のチュートリアルにするか・・・。
次の学習元を探していたら、こちらの「テラシュールブログ」を見つけた。実際にソフトもリリースしている方のブログなので実践的かなと思われる。少し量が多いが一通り目を通そう。
Unity 4.6のTutorialをやってみる http://t.co/uOeVAxBL1E