0
Unity × スマートホン開発               で           学んだこと        Lead Software Engineer                    牧野 克俊                   ...
自己紹介
自己紹介• 牧野 克俊 –オンラインゲーム開発を8年ほ  どやってきました –PC、コンソール〜ブラウザゲー  ム –クライアント〜サーバまで担当
会社紹介
Aimingとは
タイトルLord of Knights(iOS / RPGストラテジー)
タイトル
タイトル剣と魔法のログレス(ブラウザ/     MMORPG)
タイトル
タイトルBlade Chronicle  (PC / MMORPG)
タイトル
タイトル RPG三国志           クイーンズブレイド(PC / MMOROPG)     THE CONQUEST                 (ブラウザ / RPG ストラテジー)
はじめに
はじめに• チームは PC オンラインゲームの  開発経験が多い
はじめに• チームは PC オンラインゲームの  開発経験が多い• 初めてのスマートホン開発
はじめに• チームは PC オンラインゲームの  開発経験が多い• 初めてのスマートホン開発• Unity を使って開発
はじめになぜ Unity?
はじめに• マルチプラットフォーム対応必  須!• 研究開発大変そう・・・
はじめに• いろいろ検討した結果・・・
はじめに
はじめに• Write Once, Run Anywhere           Program/Resource
はじめに• 低レイヤー層を吸収     Application            Unity  Graphic    Sound   IO
はじめに• 拡張可能            Application            Unity                          Extend  Graphic    Sound   IO
はじめに• 比較的安価
はじめに• チームは PC オンラインゲームの  開発経験が多い• 初めてのスマートホン開発• Unity を使って開発
開発中に起こった事例を紹介します
1. ファイル管理
ファイル管理Unity 推奨は      「ファイル管理は Asset Server を使ってくださ             い」
ファイル管理でも・・・
ファイル管理「いつも通りGit(Subversion)            で      いいよね?」「Asset Server お金かかかる           し」
ファイル管理実際やってみると・・・
ファイル管理「テクスチャがはられてない     よ?」「Prefab がおかしいよ?」
ファイル管理あれ?
ファイル管理meta ファイルのコミット        を     忘れている!
ファイル管理なんとか防げないか  な・・・
ファイル管理• Git(Subversion)フックスクリ  プト –pre-commit hook でチェック
ファイル管理• Git(Subversion)フックスクリ  プト –pre-commit hook でチェック  • 対応する meta ファイルがない  • meta ファイルだけ存在する
ファイル管理 Git(Subversion)でファイル管理できます
ファイル管理でも正直・・・
ファイル管理Asset Server の導入を    お勧めします
2. 動作確認
動作確認「Editor上ですぐに動作確認 できるから楽だねー」
動作確認 そろそろ実機で確認してみるか・・・
動作確認 「あれ動かないよ?」「Editor上と見た目が違う      な・・・」
動作確認• スマートホンで動かない–メモリの使い過ぎ–使えない関数、機能がある–GPU の違い–トランポリンサイズの違い
動作確認• 画面サイズの違いによる違和  感–UI の大きさ–指で隠れてしまう
動作確認実機確認を簡単にできるよう  にしないと・・・
動作確認• 開発機として Mac を増やす• 自動ビルドの活用
動作確認• 開発機として Mac を増やす –iOSアプリ作成できるのはMacだ  け –Android アプリも作成できるの  で スマートホン開発では Mac  おすすめ
動作確認• 自動ビルドの活用–Jenkinsでパッケージ(.ipa.apk)作 成–生成されたパッケージを取って きてデバイスにインストール
動作確認• さらにテスト時は–Web からワンタッチでインス トール <a href="itms- services://?action=download- manifest&url=http://***/***.plist></a>
動作確認• iOSアプリのビルドは面倒• 自分で頻繁にビルドしなくて  も良い環境構築を
3. データ設定
データ設定「UnityEditorで全部設定でき  るようにしようか」
データ設定• オブジェクト配置• 敵の配置(ポップ位置の指  定)• イベント配置• パラメータ設定
データ設定「シーンをまたいだ設定がや  りにくい・・・」 「一覧性が悪い・・・」
データ設定• オブジェクト配置• 敵の配置(ポップ位置の指  定)• イベント配置• パラメータ設定
データ設定   最終的にパラメータ系はExcel(Google Spread Sheet)で設定
データ設定• UnityEditor で設定 –レベル内で完結するもの –配置位置• Excel で設定 –バランスを取るために一覧する  必要があるもの
4. パフォーマンス
パフォーマンス「スマートホンは非力だからポリゴン数には気をつけよ     う」
パフォーマンスあれ?速度でないぞ・・・
パフォーマンス  スマートホンではポリゴン数よりも Drawcall 数   が重要だった!
パフォーマンス• iPhone 4はこれでほぼ同じ FPS –2400 ポリゴン Drwacall 400 –50000 ポリゴン Drwacall 200
パフォーマンスDrawcall をどう減らす?
パフォーマンス• マテリアルの共通化–テクスチャのアトラス化• キャラクタのメッシュ、テク  スチャをプログラムで結合
パフォーマンスDrawcall 数を減らしたのに     まだ遅い・・・
パフォーマンスフィルレートが問題だった!
パフォーマンス• iPhone 4で全画面を覆う半透明  テクスチャを重ね合わせてみ  た –背景+2枚をオーバーレイで FPS  16
パフォーマンスどうやって減らす?
パフォーマンス• ライティングなし –ライトマップのみ –ピクセル(フラグメント)シェー  ダはシンプルに• αで抜くのではなくポリゴンで形  状を作る• レンダリング解像度を減らす
パフォーマンス• Drawcall 数を減らす• Overdraw 面積を減らす
4. 通信
通信「3G 回線だから慎重に作ろ       う」
通信• 3G 回線に対するイメージ–帯域が狭い–レイテンシが大きい–すぐ切断される
通信    10年前のネットワーク環境のつもりで
通信大きな問題は出ていない!
通信• あえて注意するとしたら–スレッドはやめた方がいい–必要以上に通信しない
通信通信をヘビーに使うゲームは まだ未リリース・・・
最後に
最後に• なんだかんだで Unity 便利です!
最後に• なんだかんだで Unity 便利です!• スマートホンはやっぱりまだ非力
最後に• なんだかんだで Unity 便利です!• スマートホンはやっぱりまだ非力• 通信はあんまり怖くない
Upcoming SlideShare
Loading in...5
×

Unity * スマートフォン開発で学んだこと

13,060

Published on

0 Comments
40 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
13,060
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
100
Comments
0
Likes
40
Embeds 0
No embeds

No notes for slide

Transcript of "Unity * スマートフォン開発で学んだこと"

  1. 1. Unity × スマートホン開発 で 学んだこと Lead Software Engineer 牧野 克俊 2012/10/28
  2. 2. 自己紹介
  3. 3. 自己紹介• 牧野 克俊 –オンラインゲーム開発を8年ほ どやってきました –PC、コンソール〜ブラウザゲー ム –クライアント〜サーバまで担当
  4. 4. 会社紹介
  5. 5. Aimingとは
  6. 6. タイトルLord of Knights(iOS / RPGストラテジー)
  7. 7. タイトル
  8. 8. タイトル剣と魔法のログレス(ブラウザ/ MMORPG)
  9. 9. タイトル
  10. 10. タイトルBlade Chronicle (PC / MMORPG)
  11. 11. タイトル
  12. 12. タイトル RPG三国志 クイーンズブレイド(PC / MMOROPG) THE CONQUEST (ブラウザ / RPG ストラテジー)
  13. 13. はじめに
  14. 14. はじめに• チームは PC オンラインゲームの 開発経験が多い
  15. 15. はじめに• チームは PC オンラインゲームの 開発経験が多い• 初めてのスマートホン開発
  16. 16. はじめに• チームは PC オンラインゲームの 開発経験が多い• 初めてのスマートホン開発• Unity を使って開発
  17. 17. はじめになぜ Unity?
  18. 18. はじめに• マルチプラットフォーム対応必 須!• 研究開発大変そう・・・
  19. 19. はじめに• いろいろ検討した結果・・・
  20. 20. はじめに
  21. 21. はじめに• Write Once, Run Anywhere Program/Resource
  22. 22. はじめに• 低レイヤー層を吸収 Application Unity Graphic Sound IO
  23. 23. はじめに• 拡張可能 Application Unity Extend Graphic Sound IO
  24. 24. はじめに• 比較的安価
  25. 25. はじめに• チームは PC オンラインゲームの 開発経験が多い• 初めてのスマートホン開発• Unity を使って開発
  26. 26. 開発中に起こった事例を紹介します
  27. 27. 1. ファイル管理
  28. 28. ファイル管理Unity 推奨は 「ファイル管理は Asset Server を使ってくださ い」
  29. 29. ファイル管理でも・・・
  30. 30. ファイル管理「いつも通りGit(Subversion) で いいよね?」「Asset Server お金かかかる し」
  31. 31. ファイル管理実際やってみると・・・
  32. 32. ファイル管理「テクスチャがはられてない よ?」「Prefab がおかしいよ?」
  33. 33. ファイル管理あれ?
  34. 34. ファイル管理meta ファイルのコミット を 忘れている!
  35. 35. ファイル管理なんとか防げないか な・・・
  36. 36. ファイル管理• Git(Subversion)フックスクリ プト –pre-commit hook でチェック
  37. 37. ファイル管理• Git(Subversion)フックスクリ プト –pre-commit hook でチェック • 対応する meta ファイルがない • meta ファイルだけ存在する
  38. 38. ファイル管理 Git(Subversion)でファイル管理できます
  39. 39. ファイル管理でも正直・・・
  40. 40. ファイル管理Asset Server の導入を お勧めします
  41. 41. 2. 動作確認
  42. 42. 動作確認「Editor上ですぐに動作確認 できるから楽だねー」
  43. 43. 動作確認 そろそろ実機で確認してみるか・・・
  44. 44. 動作確認 「あれ動かないよ?」「Editor上と見た目が違う な・・・」
  45. 45. 動作確認• スマートホンで動かない–メモリの使い過ぎ–使えない関数、機能がある–GPU の違い–トランポリンサイズの違い
  46. 46. 動作確認• 画面サイズの違いによる違和 感–UI の大きさ–指で隠れてしまう
  47. 47. 動作確認実機確認を簡単にできるよう にしないと・・・
  48. 48. 動作確認• 開発機として Mac を増やす• 自動ビルドの活用
  49. 49. 動作確認• 開発機として Mac を増やす –iOSアプリ作成できるのはMacだ け –Android アプリも作成できるの で スマートホン開発では Mac おすすめ
  50. 50. 動作確認• 自動ビルドの活用–Jenkinsでパッケージ(.ipa.apk)作 成–生成されたパッケージを取って きてデバイスにインストール
  51. 51. 動作確認• さらにテスト時は–Web からワンタッチでインス トール <a href="itms- services://?action=download- manifest&url=http://***/***.plist></a>
  52. 52. 動作確認• iOSアプリのビルドは面倒• 自分で頻繁にビルドしなくて も良い環境構築を
  53. 53. 3. データ設定
  54. 54. データ設定「UnityEditorで全部設定でき るようにしようか」
  55. 55. データ設定• オブジェクト配置• 敵の配置(ポップ位置の指 定)• イベント配置• パラメータ設定
  56. 56. データ設定「シーンをまたいだ設定がや りにくい・・・」 「一覧性が悪い・・・」
  57. 57. データ設定• オブジェクト配置• 敵の配置(ポップ位置の指 定)• イベント配置• パラメータ設定
  58. 58. データ設定 最終的にパラメータ系はExcel(Google Spread Sheet)で設定
  59. 59. データ設定• UnityEditor で設定 –レベル内で完結するもの –配置位置• Excel で設定 –バランスを取るために一覧する 必要があるもの
  60. 60. 4. パフォーマンス
  61. 61. パフォーマンス「スマートホンは非力だからポリゴン数には気をつけよ う」
  62. 62. パフォーマンスあれ?速度でないぞ・・・
  63. 63. パフォーマンス スマートホンではポリゴン数よりも Drawcall 数 が重要だった!
  64. 64. パフォーマンス• iPhone 4はこれでほぼ同じ FPS –2400 ポリゴン Drwacall 400 –50000 ポリゴン Drwacall 200
  65. 65. パフォーマンスDrawcall をどう減らす?
  66. 66. パフォーマンス• マテリアルの共通化–テクスチャのアトラス化• キャラクタのメッシュ、テク スチャをプログラムで結合
  67. 67. パフォーマンスDrawcall 数を減らしたのに まだ遅い・・・
  68. 68. パフォーマンスフィルレートが問題だった!
  69. 69. パフォーマンス• iPhone 4で全画面を覆う半透明 テクスチャを重ね合わせてみ た –背景+2枚をオーバーレイで FPS 16
  70. 70. パフォーマンスどうやって減らす?
  71. 71. パフォーマンス• ライティングなし –ライトマップのみ –ピクセル(フラグメント)シェー ダはシンプルに• αで抜くのではなくポリゴンで形 状を作る• レンダリング解像度を減らす
  72. 72. パフォーマンス• Drawcall 数を減らす• Overdraw 面積を減らす
  73. 73. 4. 通信
  74. 74. 通信「3G 回線だから慎重に作ろ う」
  75. 75. 通信• 3G 回線に対するイメージ–帯域が狭い–レイテンシが大きい–すぐ切断される
  76. 76. 通信 10年前のネットワーク環境のつもりで
  77. 77. 通信大きな問題は出ていない!
  78. 78. 通信• あえて注意するとしたら–スレッドはやめた方がいい–必要以上に通信しない
  79. 79. 通信通信をヘビーに使うゲームは まだ未リリース・・・
  80. 80. 最後に
  81. 81. 最後に• なんだかんだで Unity 便利です!
  82. 82. 最後に• なんだかんだで Unity 便利です!• スマートホンはやっぱりまだ非力
  83. 83. 最後に• なんだかんだで Unity 便利です!• スマートホンはやっぱりまだ非力• 通信はあんまり怖くない
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×