【レポート】サイバーエージェント×Unity×「デザイン塾」に参加をしてきました!

3/14日に東京で行われました「サイバーエージェント×Unity×「デザイン塾」に行ってきました。 簡単ではありますが、内容をブログに書いていきたいと思います。 サイバーエージェント×Unity×「デザイン塾」 : ATND

ウチ姫

ウチの姫さまがいちばんカワイイ | 株式会社サイバーエージェント

Unity開発者が見たウチ姫誕生の瞬間 - 新井隆祥様

以前はJavaScriptFlashなどを使っていたが、cocos2dを経由してUnityを利用。

「ウチ姫」は2012年6月に企画がスタート。 まずは、簡単なモックを作成。 11月に一度企画が白紙になる。

2013年2月に再スタート。 8月にリリース。その後、Android版、リーダースキルなど色々な要素を付け足していった。

クリエイターの立ち位置

仕様通りに実装をする。 プロデューサーからは[プレイヤーが引いて」「角度をつけて」「敵を倒す」ということを面白くしてくれと言われた。 作り手でどのように実装していけばいいのかを考えた。

そこで気をつけたのが以下の3点

  • 直感的
  • 毎日やってもあきない+面白すぎない
  • 爽快であること

ゲームを余りしたことがない社内の人のゲームプレイを観察。 「チュートリアル」は後で作ることが多いと思うのですが、難しい。

爽快であることは、「カメラスピード」「ヒットした感覚」「ジャンプ」など色々と試した。 最終的には開発の人で提案をして、試して決めることができている(裁量を持たせてもらっている)

実装で気をつけたこと

Find系は使わない

急な仕様変更や、人の入れ替えなどがある場合への対応。 [SerializeField]を利用した。(子階層を参照する場合は)

PreFub名とクラス名を同じにする

わかりやすくするために、揃えられるモノは揃える。

SendMessage()は使わない

どのメソッドを参考にしているのかわかりづらい。 Xamarin Studioだと検索の効率が悪い。

小規模の場合は問題ないのだが、規模が大きくなる・また人が入れ替わった時に現場が混乱することが多かった。

ツール

敵の配置

プランナーが、専用のエディタ(Unity内)を利用して配置したものをJsonを使って表示している。 イベント事にステージを一つ一つ作成をしている。

エフェクトチェック

すぐに画面上で作成できる専用のエディタを作成。

デバック用の専用パネル

デバック作業をやりやすくするために、色々なパラメーターを変更できるパネルをエディタ内に配置。 これを使って細かい調整を行う。

今後

マルチプレイの開発。 ジョブシステムの作成。

質問事項

・エフェクトはUnityのshurikenで作っている。 Unity - マニュアル: パーティクルシステム(Shuriken)

・UIの調整(マルチディスプレイ) スクリーンサイズを取得して配置をしていたので、変更は必要なかった。

・配置・調整の人数 ステージの配置で3〜4人でやっている。

・UIの演出に何のアセットを利用しているか モーションはtweenのアセットを利用している。 HOTweenを利用。

・2Dアニメーション・演出 HOTweenやShurikenを利用している。 手作業で1個1個調整。

・UIはNGUIを利用している。

・バージョン 元々はV3で開発。去年からV4にあげている。

マルチプレイ クライアントをホストにして、ターミナルで繋ぐ仕組みを作っている。 これから使えるような基板となるシステムを作っている。

・チート対策 クライアント側ではやっていないが、サーバの方で対応をしている。

サウンド サウンドマネージャーを作成して使っている。

・課金周りのアセット prime[31]を利用していたが、今は自社内で利用をしている。

・64bit対応 現在対応中です。

レベルデザインについて 中では泥臭い作業で設定をしている。 ただ最後はプランナーが決定をしている。 強さなどを変更する時には、告知をする。

ウチ姫におけるビルド環境自動化と実行時負荷軽減手法 - 渡邉俊光様

AssetBundleの作成。

HockeyAppを使う

HockeyApp - The Platform for Your Apps TestFlightのようにテストをお香なうことができる。 Androidでもテストができる。 HockeyAppのSDKを入れておくと、クラッシュ情報を送ってくれる。

描画負荷(フィルレート)

ボドルネックになる部分が、「ドローコール」「Skinned Mesh のポリゴン数やボーン数」「頂点の計算をするシェーダー」など。 iPhone4が透過に弱い。 これは実機で確認しないとわからない。 RGBではなくoverdrawを利用すると負荷が明示的にわかる。

2015-3-15-ffdfsa
2015-3-15-fdfsa
2015-3-15-fdsa

Unity4.6から入ったuGUIを使ったUIシステムについて - 荒川巧也様

以前のOnGuIの問題点

  • 異なるアスペクト比・解析度への対応
  • ドローコールへの問題点
  • おしゃれなUIが作れない

そこで新しく登場したのが「uGUI」

uGUI

NGUIでいう[Panel]に相当する[Canvas]を基本として様々なUIパーツを配置する。 NGUIと違って[Canvas]がないと描画されない。 レンダーに色々なモードがある。

  • overLay:一番前に表示
  • camera : カメラで見える範囲
  • world Space:座標に沿って。調整が必要

mecanim(メカニム)でアニメーションが可能。 EventTriggerを設置して、インプット入力を検出することができる。

オススメのアセット

iTween : UIに動きを付けることができる。無料。 Text Mesh Pro:拡大するとキレイに見える。シェーダーを利用して光った効果を出すことができる。

NGUIとuGUIの違い

機能で言えばNGUIの方が良い。

【参考】 uGUIの特徴のおさらいとugui用おすすめアセット

最後に

難しい内容があり、全てをブログに書くことができませんでした。 Unityでは、エディタ自体を色々カスタマイズをすることができるみたいで、私がいつも見ている画面とは違うWindowがたくさんありました。 全然知識がないのですが、この部分を勉強すれば、デバックが簡単にできそうな感じがします。

UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダードUnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード
池和田有輔,時村良平

エムディエヌコーポレーション
売り上げランキング : 1887

Amazonで詳しく見る