Unite Tokyo 2018 2日目と3日目へ参加してきました。
2日目に見てきた講演の、簡単な紹介や内容のまとめ、感想などを。
目次
なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
ややピンと来にくいタイトルですが、描画面でのパフォーマンス最適化のお話です。
講演前半の内容は、『ミリシタ』開発のスケジュール全体における、パフォーマンス最適化プロジェクト(AKANE大作戦)の立ち位置、大まかな取り組みの紹介、みたいなお話。
実装メンバーとは別に、最適化プロジェクトを立ち上げて、しっかり人月を割いて行える環境というのが、「流石は大企業、羨ましいなぁ…」と思ったりしました。
講演後半は、最適化にあたって実際に行われた、描画面でのドローコールを軽減するアイデアの紹介、といった内容。
Unity における SubMesh をまとめて描画するための、コード内での小手先の工夫が色々と紹介されています。
こういった「塵も積もれば」が重なって、最終的にあのクオリティのモデルが13人並んでモバイル端末で動くという結果が出ているのは、ただただ驚き。
こういったアイデアは、Unity と比較してよりネイティブな、DirectX などの環境で開発していた時代のノウハウが活かされ、こういったアプローチの検証に至ったそうです。
自分は『ミリシタ』はプレイしていないのですが、個人的には2日目で見た中で特に印象深かった講演です。
自分は社会人になるまではほぼゲーム開発の経験が無く、DirectX 等での開発も詳細な部分にまで関わったことが無いので、こういった知見を活かしたノウハウの共有はとてもためになりました。
非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
Unity の中の人による、『Unity Teams』や『Unity Ads』など、Unity が提供する「開発・運営・マネタイズ」を支えるサービスの紹介、という内容。
『Unity Teams』は、『Unity Collaborate』と『Unity Cloud Build』を合わせたコンテンツで、このあたりの料金体系やライセンスも少し複雑になったので、把握していない方は要チェックです。
(『Unity Cloud Build』は有料になりました。パフォーマンス上がったりしているのかな?)
運営に役立つのが『Unity Analytics』と『Remote Settings』、マネタイズ方面は『Unity IAP』関連 と『Unity Ads』が紹介されています。
『Unity Collaborate』や『Remote Settings』などを見ている印象では、Unity のサービスは基本的に「融通の効かない部分も多いけれど、簡単に導入できる」という、小規模プロジェクトを前提としている傾向にあるように思います。
例えば『Unity Collaborate』は Git や SVN 環境が既にあるプロジェクトでは活かしづらいと思いますし、『Unity Cloud Build』は Jenkins による CI 環境を構築した方が、いろいろと融通が効きます。
そのため「大規模な開発環境のある企業プロジェクト」より、「環境を整えづらいインディーズ、個人開発者」にとってありがたいサービス、といった印象です。
個人でバージョン管理や自動ビルドなどの環境をスピーディに展開できるのは、モチベーション維持の上でも非常に大きいと思います。
今や Unity Editor 上でボタンをポチポチするだけで簡単に利用開始できるようなので、小規模プロジェクトの開発者の方は、どんどん利用してみると良いのではないでしょうか。
XFLAG スタジオにおける資産の有効活用術 ~いかにして数万アセットを管理したか?~
プロジェクトに含まれるアセットを一覧にして、効率的に管理するためのツールの紹介。
主な対象は、プロジェクトの進行管理役と、ツール開発を担う技術者になるかと思います。
アセット一覧は、プロジェクトによっては Excel や SpreadSheet で管理されていることが多く、管理コストの高さや同期漏れの可能性などがどうしても問題として付きまといます。
そういった問題に対するツールとして、AutoDesk 社 の『SHOTGUN』というプロジェクト管理サービスが紹介されています。
高機能なアセット管理シートとしての役割だけでなく、ガントチャートによるスケジュール管理機能やメールボックス機能なども備えているようです。
これらの機能により、例えば「作成したアセットのアップロードを上長のメールボックスへ通知し、レビューを返信してもらう」などの流れも『SHOTGUN』内で完結できる、といった活用が可能であり、プロジェクト全体の進行管理ツールとしての優秀さもアピールされています。
さらに、独自開発の File Manager ツールにより、Maya や Photoshop から『SHOTGUN』への強力な連携機能を設けたり、これまた独自開発の Validator ツール(検証ツール)を Jenkins の CI に組み込むことにより、エラーチェックや統計情報を逐一反映し一覧表示できるような環境が構築されています。
…という内容が前半で、後半は Unity 上で使われていた独自ツールの紹介や、映像制作の現場などが雑多に紹介されていました。
ただ後半はやや駆け足気味で、個人的には独自ツールの内容が参考になったかな、ぐらいの印象でした。メインは前半という認識で良いかと思います。
AutoDesk 社 の『SHOTGUN』、この成功例のように真価を発揮しているのは、プロジェクトとして「連携するためのツール開発に多くのコストを割くことが出来ている」からなのかも知れませんが、今後のゲーム開発においては注目度の上がっていくツールなのかも知れませんね。試してみたくなりました。
エディター拡張マニアクス2018
Unity の中の人で、エディタ拡張入門の執筆もされている『安藤 圭吾』氏 による講演。
最初は、既に実装済みの『Scripted Importer』の紹介から始まり、その後『UI Elements』をはじめとした「現在は実験中扱い、今後発展していくであろう機能」の紹介が中心となっています。
ちなみに『Scripted Importer』については、以下の『テラシュールブログ』さんの記事が詳しいです。
『Scripted Importer』はざっくり言うと、Unity Editor のインポートとしてサポートされていない拡張子のファイルを、良い感じにインポートするためのカスタム機能、というものです。
自分はまだ使ったことが無いのですが、エクセル管理環境だと csv に使えると便利そうだな、と思います。
話を『Scripted Importer』から戻して、以後の紹介内容で注目すべきは、やはり『UI Elements』かなと思います。
スライド中では、以下のように Web 制作の機能に当てはめて例えられています。
- XML や HTML にあたる UXML
- CSS にあたる USS
- JQuery にあたる UQuery
これらを組み合わせることで、つまりは Web のフロントエンド制作と似たような作りで、Unity エディタ拡張を行うことができる、ということでしょうか。
現在の OnGUI() 上での記述は、どうしても煩雑になってしまう傾向にあるので、実用レベルになるのが楽しみです。
またこれらの他に、エディタにおけるショートカット機能を統一して管理するシステムなども紹介されており、より一層の便利機能の充実に期待がかかります。
↓『安藤 圭吾』さんによる昨年夏の講演スライドで、こちらも当時のエディタ拡張機能の拡張状況の紹介があったようです。併せてチェックしておきたいですね。
続いて、3日目のまとめはこちら
© Unity Technologies Japan/UCL