SlideShare a Scribd company logo
Unity ゲーム開発



                東京開発グループ
          リードソフトウェアエンジニア
                    牧野 克俊
自己紹介
• Aiming 以前
  – オンラインゲーム、通信ミドルウェアの開発
• Aiming では
  – 仕事は技術監修、調査、研究
  – MMO, MO といったオンラインゲームが
    フィールド
概要

• なぜ Unity なのか?
• Unity 開発入門
• Unity はどう使うべきか?
なぜ Unity なのか?
   Aiming の場合
なぜ Unity なのか?
• 要求
 – スマートフォン(最低 iOS、Android)
 – ゲームジャンルは多岐
  • SLG, RPG, etc
 – ネットワーク機能が必須
 – ワンソース・マルチプラットフォーム
   が理想
なぜ Unity なのか?



• 結論
 –Unity と C# を用いて作成する
なぜ Unity なのか?




  では理由を
なぜ Unity なのか?
• 候補
 – Unity
 – UDK
 – Titanium
 – Corona
 – Marmalade
 – Flash(Adobe AIR)
なぜ Unity なのか?
          Unity   UDK   Titanium   Corona   Marmalade   Flash

  iOS      ○      ○       ○         ○          ○         ○

Android    ○      △       △         ○          ○         ○

実行速度       ○      ○       ×         △          ○         △

拡張性        ○      △       ○         ×          ○         ×

通信対応       △      △       ×         ×          ×         △

開発効率       ○      ○       ×         ×          ×         ○

学習コス       ×      ×       ×         ×          ×         ○
  ト
なぜ Unity なのか?
• 言語
 – Unity           → C#, JavaScript, Boo
 – Titanium        → JavaScript
 – Corona          → Lua
 – UDK             → UnrealScript
 – Marmalade       → C++
 – Flash(Adobe AIR)      → ActionScript
なぜ Unity なのか?
• 言語(C# vs JavaScript)
 – 状況
   • 社内的に中、大規模のチーム(プログラマ
     が 5~10 人)
   • C#, JavaScript でのゲーム開発経験なし
   • チーム内のレベル、経験がバラバラ
なぜ Unity なのか?
• 言語(C# vs JavaScript)
 – 結論としては C# なんですが
   • JavaScript は自由すぎる
   • C# はエディタ(コンパイラ)が制約をかけ
     てくれるところが便利
Unity 開発入門
Unity 開発入門
• 実際の開発
 1.   Scene 作成
 2.   オブジェクト配置
 3.   スクリプト作成
 4.   Prefab 化
Unity 開発入門
1. Scene 作成
 – レベルの定義を管理するもの
Unity 開発入門
2. オブジェクト配置
   – GameObject
   • ゲーム中に存在するすべてのオブジェクト
   • 自身に機能はなくコンテナ
   • コンポーネントを追加して機能とする
   • Transform コンポーネントは必ず追加される
Unity 開発入門
3. スクリプト作成
 – MonoBehaviour
   • その名の通り振る舞いの定義
   • GameObject に追加して機能が実行される
Unity 開発入門



Awake()      Start()       Update()
 Awake()       Start()      Update()    Rendering
  Awake()        Start()     Update()
Unity 開発入門
4. Prefab 化
  – Prefab
    • GameObject とコンポーネントのセットを再
      利用可能なように保存
    • 実行時にはこれをもとにインスタンス作成
Unity 開発入門
• 使えるリソース
 – Meshes
   • .FBX , .dae (Collada) , .3DS , .dxf, .obj
 – Textures
   • PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT
Unity 開発入門
• ビルド
 – 各実行環境でビルドが必要
   • アセットもその時各環境用に変換される
 – デスクトップとスマートフォンで仕組みが異
   なる
   • デスクトップ → Mono 上で動く
   • スマートフォン→ AOT Compile によりネイティブ
     コードに
• デバッグ
 – MonoDevelop
Unity はどう使うべきか?
 Aiming での現状を踏まえて
Unity はどう使うべきか?




• Unity = ゲームエンジン
Unity はどう使うべきか?



• ゲームエンジンってなに?
 – ライブラリと開発環境/ツールがセット
   になったもの
Unity はどう使うべきか?
• 役割分担
 – アーティスト
  • モデル、画像等リソース作成
 – ゲームデザイナー
  • レベルデザイン
 – ゲームプレイプログラマ
  • キャラクタコントロール、敵 AI 、武器
 – エンジン/エディタプログラマ
  • 機能拡張、高速化
Unity はどう使うべきか?
• 開発環境
 – OS
   • Mac, Windows
 – スクリプトエディタ
   • MonoDevelop, VisualStudio
 – ソース管理
   • svn, git
 – ツール
   • エディタ拡張
Unity はどう使うべきか?
• ボトルネック
 – フィルレート
 – Draw call の回数
 – アルファテスト
 – テクスチャのサイズ
 – ピクセル単位のライティング
 – GUI
まとめ
まとめ
• Unity の流儀に従うべき
 – 流儀を学ぶために本開発前に少人数で1個
   ゲームを作った方がいい
• リソース管理は若干我慢が必要かも
• エディタ拡張は積極的に
• こまめに実機確認は必要

More Related Content

PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
DOCX
UE4でPerforceと連携するための手順
PDF
Epic Online Services でできること
PDF
なぜなにFProperty - 対応方法と改善点 -
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
PDF
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
UE4でPerforceと連携するための手順
Epic Online Services でできること
なぜなにFProperty - 対応方法と改善点 -
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~

What's hot (20)

PDF
UniTask入門
PDF
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
PDF
Editor Utility Widgetで色々便利にしてみた。
PDF
Steam ゲーム内購入 サーバーサイド実装について
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
PDF
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
PDF
Unityではじめるオープンワールド制作 エンジニア編
PDF
UE4でマルチプレイヤーゲームを作ろう
PDF
60fpsアクションを実現する秘訣を伝授 解析編
PPTX
UE4におけるLoadingとGCのProfilingと最適化手法
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
PPTX
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
PDF
猫でも分かるUE4.22から入ったSubsystem
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
PDF
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
PDF
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
PPTX
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
PDF
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
UniTask入門
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
Editor Utility Widgetで色々便利にしてみた。
Steam ゲーム内購入 サーバーサイド実装について
猫でも分かる UE4のAnimation Blueprintの運用について
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
Unityではじめるオープンワールド制作 エンジニア編
UE4でマルチプレイヤーゲームを作ろう
60fpsアクションを実現する秘訣を伝授 解析編
UE4におけるLoadingとGCのProfilingと最適化手法
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
猫でも分かるUE4.22から入ったSubsystem
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
Ad

Similar to Unity ゲーム開発 (20)

PPTX
Unity って何?
PPTX
Unity * スマートフォン開発で学んだこと
PDF
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
PDF
Let’s study unity
PPT
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
PDF
UnityLecture @Kyushu University
PDF
Unityファンへ贈る! Unite12 & gamescom 2012 視察報告
PDF
Unityと.NET
PDF
【Unite Tokyo 2019】AWS for Unity Developers
PPTX
メガ Unity ユーザーミートアップ 2012
PDF
Unityとスマートフォンアプリの最適化
PPTX
Unity講習会
PDF
Unityで作るiOSゲームアプリ
PDF
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
PPTX
C#の書き方
PPTX
C#の書き方
PDF
Unity恐くないよ!!
PDF
【Unite Tokyo 2019】開発から運用まで、デベロッパーをサポートするUnity Services
PDF
いろいろ見せますLord of Knightsのクライアント開発事例紹介
PPTX
Unity講座
Unity って何?
Unity * スマートフォン開発で学んだこと
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
Let’s study unity
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
UnityLecture @Kyushu University
Unityファンへ贈る! Unite12 & gamescom 2012 視察報告
Unityと.NET
【Unite Tokyo 2019】AWS for Unity Developers
メガ Unity ユーザーミートアップ 2012
Unityとスマートフォンアプリの最適化
Unity講習会
Unityで作るiOSゲームアプリ
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
C#の書き方
C#の書き方
Unity恐くないよ!!
【Unite Tokyo 2019】開発から運用まで、デベロッパーをサポートするUnity Services
いろいろ見せますLord of Knightsのクライアント開発事例紹介
Unity講座
Ad

More from Katsutoshi Makino (7)

PPTX
Aiming 開発ゲームの裏側
PPTX
Shadow gunのサンプルから学べるモバイル最適化
PPTX
C# で i phone ゲーム開発
PPTX
Mmo game networking_1
PPTX
プログラマに優しいバグレポートの書き方
PPTX
プログラマが欲しい仕様書とは
PPTX
各種ゲームエンジンの紹介と利用について
Aiming 開発ゲームの裏側
Shadow gunのサンプルから学べるモバイル最適化
C# で i phone ゲーム開発
Mmo game networking_1
プログラマに優しいバグレポートの書き方
プログラマが欲しい仕様書とは
各種ゲームエンジンの紹介と利用について

Unity ゲーム開発