7月13日(金)に行われたGTMF2018東京に行ってきました。
公式サイト
以下、参加したセッションの考察とまとめです。
目次
データから見るPlayStation4の進化と成長
PS4発売から現在に至るまでの数字的なお話。
現在(2017年3月?)、PS4のMAUは8000万以上、週8億時間プレイされている。
PS+(プレイステーション系ゲーム機で使える有料オンラインサービス)加入者は増加していて、DLCやオンラインサービスの売上が伸びている。
PS4の売上上位ソフトの多くがDLCやマルチプレイを採用しており、今の時代、これらサービスを含めない手はないだろう。
ScriptableRenderPipelineでアプリに最適な描画をしよう
Unityの内部で行われており、開発者が今まで手を付けられなかった描画処理を、ScriptableRenderPipelineによって比較的自由に改造できるようになるというお話。
少しでも半透明のオブジェクトは背景オブジェクトが透過して見えるため、先に完全に描画していた。
ScriptableRenderPipelineを用いることで、不透明部分を描画しないようにし、処理を大幅に高速化できるかも。
同じキャラクターをまとめて描画することで、描画効率を向上させ、処理を高速化できるかも。
上記の対応を行ったデモが公開され、実際に処理が100倍くらいになっていた。
影の描画も、静的に焼いたもの(背景オブジェクトの影)と動的に焼いたもの(プレイヤーキャラクターから落ちる影、プレイヤーキャラクターに落ちる影)がうまく合成されて自然に表現されつつ、描画負荷を低くしていた。
ハードウェアの性能を活かす為の、Unityの新しい3つの機能
EntityComponetSystemのお話。
UnityのゲームオブジェクトはMonoBehaviourを継承したclassで定義していた。
MonoBehaviourは高機能だが、その分重く、無駄な負荷がかかっていた。
EntityComponetSystemでは、構造体(struct)を用いたりMonoBehaviourとは異なるシステムで動作させることで、高速化できる。
代償としてGCが発生しない。
CPUのL1~3キャッシュをうまく使うことで、さらに高速化できる。
通常、structを用いたプログラミングは高度なハードウェア知識が必要だが、EntityComponetSystemでは、そこらへんをいい感じにしてくれる。
現代はスマートフォンですら複数コアのCPUを搭載している。
しかし、マルチコアCPUの性能を活かすアプリ開発の難易度は高い。
C#JobSystemやEntityComponetSystemが必須だが、Burstコンパイラを使えるようになる。L2CPPよりも早く、ビルドされたアセンブリをUnityエディタで確認できるようになる。
メモリ最適化・マルチコア最適化・CPU最適化→これらをUnityがやってくれるので、開発者はこれらを気にする必要がなくなる!!
AmazonGameTechアマゾンゲームテクノロジー
AmazonGameSparksゲーム開発に必要な機能(インフラ管理、ユーザー管理、仮想通貨管理、、など)をまとめたパッケージ。8月2日にハンズオンやるから来てね。
データ書き込みの多いアプリの場合、DynamoDBを使う事例が増えている。AmazonSQSで、AWSの各サービスを疎結合化する事例も増えている。
twitchextensionsTwitchとの連携を強化するツール
次世代音声へText-to-Speechを活用した挑戦!
GoogleのText-to-Speechのお話。でもほとんどGCPの話。
ゲームの音声ファイルは数万ファイルにもなる。仮データの品質が悪いとゲームが作り直しになったりファイルサイズの肥大化に気づかなかったりしてしまう。
GoogleのText-to-Speechでは、テキストデータを音声ファイルに変換できるAPIが公開されていて、日本語にも対応している。
httpsで通信でき、生成された音声ファイルはすぐに消している。
Google側がテキスト内容をGoogleが解析することは無い。
GCP事例
・バンナムのアイマスがGCP導入事例。トラブルとは無縁の日々!
・ドラゴンボールレジェンズもgcpGoogleのネットワークをうまく使ってる
・セガのアーケードもバックエンドがGCP
SSMLマークアップ言語で、強調する単語やwaitを仕込める日本語もOK、漢字もOKピー音もいれることができる
待望のUE4新機能ナイアガラでプログラマブルVFX
UE4のナイアガラ(Unityのパーティクル?)が新しくなったよ!さすがUEと言わんばかりの素晴らしいパーティクルでした。
展示ブースや営業さんから聞いた話で興味あるものピックアップ
BrushUPデザインのレビューツール。Chatworkと連携でき、ブラウザ上で操作が完結する。
AiCOカスタマーサポートのChatBot。
ChatDealerカスタマーサポートのChatBot。MailDealerと連携できる。よくある質問への誘導に使えそう。
CrackProofハッキング対策ツール。
AndroidやWindows版は実行ファイルをCrackProofのサービスにアップロードするだけで対策できる。iOS版はSDKの導入が必要。
まとめ
Unityから基本的に提供しているデフォルトPipelineの場合、細かな変更ができなくて、UnityPipelineの特徴に合わせて軽量化の作業が必要でしたが、カスタマイズPipeline(SPR)により、もっとプロジェクトの特徴に合う軽量化をプログラム的に細かく、簡単に出来るようになりました。
今度の新機能はプログラミングによる最適化がメインなので、プロジェクトにおいて新機能を活かすプログラミングをどう適用するかが大事だと思います。
この記事へのコメントはありません。