渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

指定したオブジェクトのLocalPositionをクリップボードにコピーするEditor拡張 | モック制作を快適に


今Unityでゲーム開発初期の状態で、*1モック制作をすることが多いです。

今作っているのはガチャのモックです。

なぜガチャを作るためにモックが必要か?

  1. UIデザイナーがページデザインをする
  2. Unityエンジニアがデザインデータを元に仕上げる

このフローで完結する場合は、モックは必要ないと思います。何でもかんでもモックが必要というわけではありません。

最近のスマホアプリのガチャは、非常に演出レベルが高くなり、プロダクトとして力が入る部分になっています。課金という大きな指標となりうるところに、インパクトを与えるためです。

f:id:esakun:20150728203534p:plain
※例 : FFメビウスのガチャ(このような演出はUIデザイナーだけじゃ作れない)

演出に力が入るということは、様々な専門家が参加することになります。

そして多くの人が関わると、各々の頭の中に完成予想図が作られ、作る方向性の違いが出てきて効率が悪くなりがちです。

そこで最終的なプロダクトに仕上げるUnityエンジニアがモックを作り、皆の作るもののイメージを統一させることが重要になってきます。

この辺りについては、コチラの記事で言及しています。合わせてどうぞ。 esakun.hateblo.jp

どんなEditor拡張を作ったか

GameObjectを指定して、そのLocalPositionをクリップボードにコピーするというものです。

1.監視したいGameObjectをセット

f:id:esakun:20150728204328p:plain

2.LocalPositionを出力

f:id:esakun:20150728204513p:plain

セットされたGameObjectを動かす度にテキストフィールドの値は更新されます。

3.Vector3の文字列をコピー

f:id:esakun:20150728204523p:plain

COPYボタンをクリックすると、LocalPositionの値がコピーされます。

いつ役に立つのか?

上述しているように、ガチャのモックを作っています。作っている最中にカメラアングルを頻繁に変更しないといけません。この辺はやりながら逐次変わっていくところなので、その値をソースコードに書いていくことが非常に効率を悪くしました。

そこで、このEditor拡張を作ったことで、

『x、y、zの値を1つずつ記入すること』

から↓↓

『コピーボタンを押してペーストという単純操作』

になることで、大幅な時間短縮をすることが出来ました。またミスもなくなりました。
面倒臭さを減らすことが気持ちにも影響し、気分よく作業をすることができるようになったように思います。

そういった見えない部分の効率を良くすることも重要な事だと思います。

ソースはコチラ。

※現在このEditor拡張は回転も含めた出力フォーマットで独自化していたため、汎用性の高い状態で今回は紹介しています。

まとめ

モック開発スピードと、モック上での細かいトライアンドエラーの数が、プロジェクトを成功させるかどうかに大きく関わってきます。

タイトスケジュールのスマホゲーム開発におけるUnityエンジニアの必須スキル - 渋谷ほととぎす通信 より

如何に迅速にモック開発を終わらせるかということが、最終的なプロダクトのクオリティに関わってくるのかを私は知っています。良いモノを作るための工夫を今後も続けていきます。

こういうツールが簡単に作れるのはUnityならではだな~っとつくづく感じます。

参考

baba-s.hatenablog.com

Unity4用の本に見えますが、Unity5でも全然使えます。
※Unity5だとまだこの手の本がありません。
UnityのEditor拡張を作る時に参考になりますし、ペラペラめくるだけで新しい発見がある良書です。

*1:本制作に入る前のテスト開発品