Unite 2017 Tokyo参加メモ

![unite2017.png](https://qiita-image-store.s3.amazonaws.com/0/16944/b9af3da9-e6f9-8577-9b59-00de909e4408.png)

Unite 2017 Tokyoに参加しました。個人的メモと感想などをつらつらとまとめます。
参加できてとても満足しています。以下、印象に残った講演です。
- [講演タイムテーブル一覧](http://events.unity3d.jp/unite2017tokyo/session-lineup.html)
# 1日目
<iframe src="//www.slideshare.net/slideshow/embed_code/key/BYX21CNkXcQIlP" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/UnityTechnologiesJapan/unite-2017-tokyounity-cpu" title="【Unite 2017 Tokyo】Unity最適化講座 ～スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック～" target="_blank">【Unite 2017 Tokyo】Unity最適化講座 ～スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック～</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/UnityTechnologiesJapan">UnityTechnologiesJapan</a></strong> </div>
- GameObjectはTransformsの更新のたびにイベントが発生するので最適化の観点では悪手
- 更新をまとめて適用しよう
- Unity5.6から備わった[SetPositionAndRotation](https://docs.unity3d.com/560/Documentation/ScriptReference/Transform.SetPositionAndRotation.html)を活用しよう
- Asset Bundle利用時にテクスチャー等の重複に注意
- [IL2CPP Platforms: Memory Profiler](https://bitbucket.org/Unity-Technologies/memoryprofiler)が便利

### ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
講演スライド≫ 後日公開
- 前半はゲームAI、ゲームデザインのこれまでを俯瞰的に解説、後半はゲームの「過去」「現在」「未来」について解説・対談
- 特に三宅さんの講演は中身が濃密でとても興味深い
- 興味のある方下記もチェック
- [人工知能学会「ディジタルゲームにおける人工知能技術の応用の現在 三宅　陽一郎」] (https://www.ai-gakkai.or.jp/vol30_no1/)
- [人工知能の作り方 「おもしろい」ゲームAIはいかにして動くのか](http://gihyo.jp/book/2017/978-4-7741-8627-6)
- [SIG-AI ゲームAIに関するセミナー等のリンク](https://sites.google.com/site/igdajsigai/home/past-activities)

<iframe src="//www.slideshare.net/slideshow/embed_code/key/SyArngADoKW25" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/UnityTechnologiesJapan/unite-2017-tokyocunirx" title="【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術" target="_blank">【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/UnityTechnologiesJapan">UnityTechnologiesJapan</a></strong> </div>
- サーバーとクライアントをC#で統一してゲーム開発したお話
- 良いことも悪いこともあり、その中で作成したライブラリ等をGitHubに公開されていて素晴らしい

<iframe src="//www.slideshare.net/slideshow/embed_code/key/N3QoeIT7sHnXr" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/UnityTechnologiesJapan/unite-2017-tokyo-75772316" title="【Unite 2017 Tokyo】シェーダープログラミング入門！カスタムシェーダー、作るで！" target="_blank">【Unite 2017 Tokyo】シェーダープログラミング入門！カスタムシェーダー、作るで！</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/UnityTechnologiesJapan">UnityTechnologiesJapan</a></strong> </div>
- Unityでのシェーダー利用の入門
- Unityでシェーダーを使ってみたい人はサンプルDLして遊んでみるのにちょうどいいと思う

<iframe src="//www.slideshare.net/slideshow/embed_code/key/mx6t3ZWt8Xlmu1" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/UnityTechnologiesJapan/unite-2017-tokyo-ui-75839099" title="【Unite 2017 Tokyo】「サガ スカーレット グレイス」におけるUI開発事例" target="_blank">【Unite 2017 Tokyo】「サガ スカーレット グレイス」におけるUI開発事例</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/UnityTechnologiesJapan">UnityTechnologiesJapan</a></strong> </div>
- UnityでのUI設計に関する事例紹介
- MVCを意識して変更に強い設計にした話はUnity以外にも一見の価値あり
- 自社製UIエディタの紹介がありAdobe Animate CC(旧Flash Professional)の独自実装という印象を受けた

<iframe src="//www.slideshare.net/slideshow/embed_code/key/2khpL9YhAHEd8d" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/UnityTechnologiesJapan/unite-2017-tokyovrvideo-player-75775305" title="【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう" target="_blank">【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/UnityTechnologiesJapan">UnityTechnologiesJapan</a></strong> </div>
- Unityでアプリ作成したときにシーンのロードが重いという人は必見
- Unityはシーンの保存時に全てのコンポーネントをシリアライズする←重くなる原因
- [ScriptableObject](https://docs.unity3d.com/jp/540/Manual/class-ScriptableObject.html)の利用が解決策の1つとなる

# 2日目
<iframe src="//www.slideshare.net/slideshow/embed_code/key/8pQZoxRXeSINsJ" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite2017-tokyo-day2halld51310kumagai" title="【Unite 2017 Tokyo】Nintendo Switch™ 本体同時発売必達、家庭用向けRPG「いけにえと雪のセツナ」開発の裏側" target="_blank">【Unite 2017 Tokyo】Nintendo Switch™ 本体同時発売必達、家庭用向けRPG「いけにえと雪のセツナ」開発の裏側</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- 元々PS4とPS Vita版があったため、Switch版もスムーズに展開できたというのが印象的だった
- Luaでゲーム内イベントスクリプトを作っている点はLuaが汎用スクリプト言語なので納得
- 当初Switchのローンチ(2017年3月)の1ヵ月後(4月)にソフトが出る予定だったところ、近くなってきてまわりがざわつきはじめ、スケジュールが巻きになりSwitch同時リリースになった話はおもしろかった
- Switch版移植への特有の話として、ドック抜き差し時の話や解像度がかわったときの話はモバイル開発に似たものを感じた

<iframe src="//www.slideshare.net/slideshow/embed_code/key/2c4n0btXbnEnNn" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyounitynintendo-switchr" title="【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作～スーパーボンバーマンRの事例～" target="_blank">【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作～スーパーボンバーマンRの事例～</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- 大量のブロックの配置にシェーダーのインスタンシング機能を使っている点は特徴的 (GameObjectだと重くなってしまうため)
- 実際の開発ツールも拝見できたのはよかった
- 通信ライブラリは任天堂からプラグインが提供された点はいいなと思う
- この講演を見てボンバーマン買おうかなと心が揺れた

<iframe src="//www.slideshare.net/slideshow/embed_code/key/v3oPV7RI7MjGjN" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyowebglweb" title="【Unite 2017 Tokyo】WebGL：ゲームプラットフォームとしてのWebと現在と未来" target="_blank">【Unite 2017 Tokyo】WebGL：ゲームプラットフォームとしてのWebと現在と未来</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- Unityを使ってWebGL出力する際、WebAssembly利用時の手順や注意点を細かく解説
- 日本語入力をしたい場合はプラグインを利用しよう→
- [IME input for Unity WebGL Unity提供アセット/サンプルプロジェクト](https://www.assetstore.unity3d.com/jp/#!/content/64933)
- GC管理は2種類あることは重要なポイント「Unityの処理系が管理するGC」「Webブラウザが提供するGC」
- そのためUnityのプロファイラとブラウザのプロファイラを両方活用しよう
- 今後のブラウザの実装についての話は興味深い

<iframe src="//www.slideshare.net/slideshow/embed_code/key/6vosXGM3Hnwar" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyounitywebgl" title="【Unite 2017 Tokyo】Unity+WebGLでゲームを開発・運用して見えてきたメリット・デメリット" target="_blank">【Unite 2017 Tokyo】Unity+WebGLでゲームを開発・運用して見えてきたメリット・デメリット</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- Unity+WebGLでゲームを開発時の落とし穴や注意点を細かく解説
- Android版開発とWebGL版開発時の工数・売上まで公表される点は太っ腹
- 今後同じ事例が増えていくと思う

<iframe src="//www.slideshare.net/slideshow/embed_code/key/5cuqRN39g3Ud1W" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyo-75807958" title="【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法" target="_blank">【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- 1日目のシェーダー入門から一変して、中級者向けな内容
- [GPUインスタンシング機能](https://docs.unity3d.com/ja/540/Manual/GPUInstancing.html)を利用して、少ないドローコールで同一オブジェクトをたくさん描画する
- いくつかのサンプルを通して、シンプルなモデルからアニメーションするモデルの大量描画までを解説

<iframe src="//www.slideshare.net/slideshow/embed_code/key/C0AUyinfnYNd3H" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyo-75809779" title="【Unite 2017 Tokyo】ゲームの見た目も盛ったら変わる！！！！ヤバい！！ポストプロセス！！入門！！！！！！！！！" target="_blank">【Unite 2017 Tokyo】ゲームの見た目も盛ったら変わる！！！！ヤバい！！ポストプロセス！！入門！！！！！！！！！</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- 私が今回一番見たかった講演
- Unityエバンジェリストの[高橋 啓治郎氏](https://gist.github.com/keijiro/3221531)の講演
- しょっぱなから最後まで50分間、わかりやすいデモと解説で話しっぱなしで今回のUniteで一番興味深いものだった
- アンチエイジング効果の異なる手法を原理から使い方まで細かく解説
- アンビエントオクルージョン、ブラー効果、グロー、ビネット、カラーグレーディング、カレーコレクション、その他
- [Post Processing Stack Unity提供アセット](https://www.assetstore.unity3d.com/jp/#!/content/83912)

<iframe src="//www.slideshare.net/slideshow/embed_code/key/xFWP99mYz6ukXv" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/Unite2017Tokyo/unite-2017-tokyo50cm3d" title="【Unite 2017 Tokyo】「オルタナティブガールズ」〜50cmの距離感で3D美少女を最高にかわいく魅せる方法〜" target="_blank">【Unite 2017 Tokyo】「オルタナティブガールズ」〜50cmの距離感で3D美少女を最高にかわいく魅せる方法〜</a> </strong> from <strong><a target="_blank" href="https://www.slideshare.net/Unite2017Tokyo">Unite2017Tokyo</a></strong> </div>
- 同タイトルのキャラクターのアセット構成やシェーダーの構成を細かく解説
- スマホVRに対する登壇者の想いが感じられた
- スマホVRのSDKは沢山あるため開発は的を絞った