3/14日に東京で行われました「サイバーエージェント×Unity×「デザイン塾」に行ってきました。 簡単ではありますが、内容をブログに書いていきたいと思います。 サイバーエージェント×Unity×「デザイン塾」 : ATND
ウチ姫
ウチの姫さまがいちばんカワイイ | 株式会社サイバーエージェント
Unity開発者が見たウチ姫誕生の瞬間 - 新井隆祥様
以前はJavaScript、Flashなどを使っていたが、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を利用すると負荷が明示的にわかる。
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構築の新スタンダード 池和田有輔,時村良平 エムディエヌコーポレーション 売り上げランキング : 1887 Amazonで詳しく見る |