More Related Content
Similar to Unity ゲーム開発 (20)
Unity ゲーム開発
- 2. 自己紹介
• Aiming 以前
– オンラインゲーム、通信ミドルウェアの開発
• Aiming では
– 仕事は技術監修、調査、研究
– MMO, MO といったオンラインゲームが
フィールド
- 5. なぜ Unity なのか?
• 要求
– スマートフォン(最低 iOS、Android)
– ゲームジャンルは多岐
• SLG, RPG, etc
– ネットワーク機能が必須
– ワンソース・マルチプラットフォーム
が理想
- 8. なぜ Unity なのか?
• 候補
– Unity
– UDK
– Titanium
– Corona
– Marmalade
– Flash(Adobe AIR)
- 9. なぜ Unity なのか?
Unity UDK Titanium Corona Marmalade Flash
iOS ○ ○ ○ ○ ○ ○
Android ○ △ △ ○ ○ ○
実行速度 ○ ○ × △ ○ △
拡張性 ○ △ ○ × ○ ×
通信対応 △ △ × × × △
開発効率 ○ ○ × × × ○
学習コス × × × × × ○
ト
- 10. なぜ Unity なのか?
• 言語
– Unity → C#, JavaScript, Boo
– Titanium → JavaScript
– Corona → Lua
– UDK → UnrealScript
– Marmalade → C++
– Flash(Adobe AIR) → ActionScript
- 11. なぜ Unity なのか?
• 言語(C# vs JavaScript)
– 状況
• 社内的に中、大規模のチーム(プログラマ
が 5~10 人)
• C#, JavaScript でのゲーム開発経験なし
• チーム内のレベル、経験がバラバラ
- 12. なぜ Unity なのか?
• 言語(C# vs JavaScript)
– 結論としては C# なんですが
• JavaScript は自由すぎる
• C# はエディタ(コンパイラ)が制約をかけ
てくれるところが便利
- 16. Unity 開発入門
2. オブジェクト配置
– GameObject
• ゲーム中に存在するすべてのオブジェクト
• 自身に機能はなくコンテナ
• コンポーネントを追加して機能とする
• Transform コンポーネントは必ず追加される
- 18. Unity 開発入門
Awake() Start() Update()
Awake() Start() Update() Rendering
Awake() Start() Update()
- 20. Unity 開発入門
• 使えるリソース
– Meshes
• .FBX , .dae (Collada) , .3DS , .dxf, .obj
– Textures
• PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT
- 21. Unity 開発入門
• ビルド
– 各実行環境でビルドが必要
• アセットもその時各環境用に変換される
– デスクトップとスマートフォンで仕組みが異
なる
• デスクトップ → Mono 上で動く
• スマートフォン→ AOT Compile によりネイティブ
コードに
• デバッグ
– MonoDevelop
- 25. Unity はどう使うべきか?
• 役割分担
– アーティスト
• モデル、画像等リソース作成
– ゲームデザイナー
• レベルデザイン
– ゲームプレイプログラマ
• キャラクタコントロール、敵 AI 、武器
– エンジン/エディタプログラマ
• 機能拡張、高速化
- 26. Unity はどう使うべきか?
• 開発環境
– OS
• Mac, Windows
– スクリプトエディタ
• MonoDevelop, VisualStudio
– ソース管理
• svn, git
– ツール
• エディタ拡張
- 29. まとめ
• Unity の流儀に従うべき
– 流儀を学ぶために本開発前に少人数で1個
ゲームを作った方がいい
• リソース管理は若干我慢が必要かも
• エディタ拡張は積極的に
• こまめに実機確認は必要