SlideShare une entreprise Scribd logo
1  sur  29
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個
   ゲームを作った方がいい
• リソース管理は若干我慢が必要かも
• エディタ拡張は積極的に
• こまめに実機確認は必要

Contenu connexe

Tendances

ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減 ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減
Mikito Yoshiya
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
Keigo Ando
 
ゆるロボ製作所ができるまで
ゆるロボ製作所ができるまでゆるロボ製作所ができるまで
ゆるロボ製作所ができるまで
Mikito Yoshiya
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】
Junya "Jun" Shimoda
 

Tendances (20)

ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減 ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減
 
Unityでデスクトップマスコットを作ろう
Unityでデスクトップマスコットを作ろうUnityでデスクトップマスコットを作ろう
Unityでデスクトップマスコットを作ろう
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
 
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
 
UnityでつくるはじめてのPONG
UnityでつくるはじめてのPONGUnityでつくるはじめてのPONG
UnityでつくるはじめてのPONG
 
Unity恐くないよ!!
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!
 
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity
 
Adobe XDを使うと、こんなに効率よくゲームUIが作れちゃうの!?
Adobe XDを使うと、こんなに効率よくゲームUIが作れちゃうの!?Adobe XDを使うと、こんなに効率よくゲームUIが作れちゃうの!?
Adobe XDを使うと、こんなに効率よくゲームUIが作れちゃうの!?
 
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
【UNREAL FES 2015 OSAKA】2DゲームをUEで作るってどうなの?
【UNREAL FES 2015 OSAKA】2DゲームをUEで作るってどうなの?【UNREAL FES 2015 OSAKA】2DゲームをUEで作るってどうなの?
【UNREAL FES 2015 OSAKA】2DゲームをUEで作るってどうなの?
 
ゆるロボ製作所ができるまで
ゆるロボ製作所ができるまでゆるロボ製作所ができるまで
ゆるロボ製作所ができるまで
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
 
iOS/Androidアプリ「こんな息子に育てた覚えはない」について
iOS/Androidアプリ「こんな息子に育てた覚えはない」についてiOS/Androidアプリ「こんな息子に育てた覚えはない」について
iOS/Androidアプリ「こんな息子に育てた覚えはない」について
 
各種ゲームエンジンの紹介と利用について
各種ゲームエンジンの紹介と利用について各種ゲームエンジンの紹介と利用について
各種ゲームエンジンの紹介と利用について
 
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
 

Similaire à Unity ゲーム開発

Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
Yusuke Ando
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Kouji Hosoda
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
cat kaotaro
 

Similaire à Unity ゲーム開発 (20)

Unity/CSharp 1 - pptx
Unity/CSharp 1 - pptxUnity/CSharp 1 - pptx
Unity/CSharp 1 - pptx
 
Unity/CSharp 3
Unity/CSharp 3Unity/CSharp 3
Unity/CSharp 3
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Unity/CSharp 2
Unity/CSharp 2Unity/CSharp 2
Unity/CSharp 2
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
 
31st DevCamp Eve
31st DevCamp Eve31st DevCamp Eve
31st DevCamp Eve
 
20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで初めてのVR/AR開発をUnityで
初めてのVR/AR開発をUnityで
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そう
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
 
C#への招待
C#への招待C#への招待
C#への招待
 

Unity ゲーム開発