Top > Unite 2016 Tokyo

概要

http://japan.unity3d.com/unite/unite2016/

資料

Visual Studio 2015 & Graphics Design Tool

Visual studioで絵を描く

Visual Studio

Image Editor

新規作成→ファイル→グラフィクス→bmpとか

  • dds保存して開くと、mipmapを生成して見ることが出来る。加工もできる。

Model Editor

モデルを編集して保存すれば、Unity側にリアルタイム反映できる。
法線がおかしいとかは直せないので、その点では確認ツール。

Shader Designer

ノードベースでシェーダー作成

Unityグラフィクス最新機能ガイド

Multithreading Rendering

5.4で最適化した。
Double Wide Rendering対応。(VRの両目同時レンダリング
Multithread Render Loop。
CPUで最適化している。

テクニカルデモの右腕の布を破ったところ。

Alembic使った。マーズさんのThe GIFTのスライドにツールある

Cinematic Image Effects

BitBucketへのリンクがスライドに入ってる

  • SSR
  • AO
  • BLOOM
  • DOF
  • ToneMap
  • Vignette
  • AA

Progressive Light Mapper

(LightmassのProbe計算)
Imagination Tec.と連携

シーンビューの見えている所から順次リアルタイムにベイクしていく。
ライトを動かすと、その時点からベイクが開始される。

Roadmap

Cinematic Image Effectを一纏めにパッケージングしたい

実践!Oculus Rift - VR開発テクニック

Unityによる開発

SDK 1.3

非同期タイムワープ対応

FPSが落ちても、HMDのトラッキングだけは維持する。
処理落ち発生しても、頭のトラッキングは滑らか
ロード中でも滑らかに。ただ万全ではない。
Unityだと特に何もしなくても反映される

PlatgototmSDK

  • フレンド
  • リーダーボード
  • アチーブメント
  • マッチメイク
  • アプリ内課金
  • P2P通信
  • エンタイトルメントチェック
    → アプリの使用権限チェック
    申請に必須。

Platformの機能を使うにはAppIDの申請が必要

リモコン

  • 4方向のデジタルボタン
  • 決定
  • バック

アプリライフサイクル

  • アプリからホームやユニバーサルメニューを呼び出す仕組み
  • Unityだと自動で処理される
  • オンラインマルチプレイは注意。レンダリングは止めて、ロジックだけは回さないといけない。

Oculus Store配信手順

  • アプリ申請→品質チェック→配信
    • チェック内容
      • SDKバージョン
      • クラッシュしないか
      • 推奨PCで動くか
      • 快適性
      • アプリライフサイクルへの対応
      • エンタイトルメントへの対応

開発者サイトのガイドラインを参考に

  1. 開発者向けダッシュボード
    • 組織の登録。個人でも。
  2. アプリ登録
  3. ビルドをアップロード。PC版はzipで。
    • ビルドチャンネルを設定して、テストユーザーだけに配信とかもできる。
  4. 情報の登録
    • デバイス、ジャンル、レーティング
  5. アイコンの登録
  6. 価格設定
    • 現在はUSドルのみ
  7. ストア担当からOKが出れば、リリース時期どうするか等の連絡が来る

ハードウェア性能を引き出して60fpsを実現するプログラミング・テクニック

Unity x PlayStation VR コンテンツを作ってリリースするまでのお話し

PSVR * Unity

UnityでPSVRを開発するまで

  1. SIEと契約
  2. 開発機材を入手。開発機が少なくなってきているので、具体的な企画ある所に優先的になっている
  3. Unityで作成
    1. Project設定をPS4にしてビルドするだけでPS4で動かせる
    2. DisplayBufferをVR用の設定
    3. VR SupportをON
    4. オーディオ3DをON(AudioOut3d, Virtual Speaker)
    5. カメラ構成をチェック「Target Eye」が「Both」か
    6. スクリプトでVRSettingsに対してPSVRの設定3つ。
      でPSVRで再生できる。
  4. 次、UIがぷるぷるする。
    • Reprojectionによる影響
      Post Reprojectionにて解決。
      • UI以外を描画。Reprojectionする
      • UIのみを描画
        上記2つを合成する。

Social Screen機能を使ってみよう

  • PSVRで見ている画面を、TVに移す機能
    • Separate Screen
  • PSVR側とTV側で違う画面を表示する
  • UnityでSeparateする
    1. [Social Screen Support]をON
    2. 別のカメラを用意。「Target Eye」を「None(Main Display)」に
    3. VRSettings.showDeviceView = false;
    4. これでSeparate Screenできる。 

UnityコンテンツをPlaystation Storeで販売しよう

契約締結後、SDKと機材を入手してコンテンツ製作開始。

  • 契約→エントリーは「日本に法人登録されている会社」のみ
  • 法人登録していない人。
    • インディパブリッシャーを通してコンテンツの販売。
      • Playism、mebius、Flyhigh Works等
      • ツテがない人。いとぅあきなり氏に連絡取ると、インディーパブリッシャーさんと受け渡ししてもらえる。

納品まで

  1. Unityでゲームパッケージ作成
  2. データ納品
  3. QAチームによるチェック、デバッグ
  • 酔いが起こりづらいコンテンツ製作の為に
    • 60FPS以上
    • リプロジェクションを入れる。
    • レイテンシーを低く
  • VRコンサルテーションサービスを提供する。日本でもアジアでも。
    • どうやって提供もらえるのかは、契約の後で。

New お知らせ!

  • Cygames x SIE
    VRコンテンツ Made With Unity
    PSVRゲームコンテスト開催!
    詳細は後日

『ファイナルファンタジーグランドマスターズ』開発の裏側、そのリアルタイム通信を支えるPhotonの実例

Photonの紹介

  • サーバークライアント型
    一度Photonサーバーに繋ぎに行ってから開始する。
  • Photon Cloue
    クラウド型サービス。
    • Realtime : 汎用的
    • TurnBased : ターン制ゲーム
    • Unity Networking : Unity向け
    • Chat
    • Voice
  • Photon Server
    ライセンス型サービス。ミドルウェアで提供。
  • サーバーはRealtimeがベース基本。トラフィック量が少ないならTurnbasedに。
  • 自社運用が必要、ロビーのカスタマイズ等が必要ならPhoton Server。
  • UnityならPUNを無料でダウンロードできる。
  • サーバーが必要になってもwebhookやpluginを使ってみるのも。
  • Photon Enterpise Cloud
    Photon Cloudの上位サービス。

採用の経緯

  • 低レイテンシ
  • 扱うデータ量が多いので、大量のクライアントを裁ける

ネットワーク構成

[           web server &DB          ]   <->   [プラットフォーマー、外部サービス]
↑                               ↑
↓                               ↓
[リアルタイム通信サーバー]   [Photon Server]
Photon Name Server → Photon Master Server
                         ↓
                    Photon Game Server

実際の通信フロー

  1. Name ServerからMasterサーバーの場所を教えてもらう
  2. MasterサーバーでRoomにJoinしてGameServerへ

実装例

  • ポインティング移動方式
    目標座標だけ通信。
  • 敵シンボル
    プレイヤーと同じ。サーバー側で移動計算する。
  • バトルの判定
    全てサーバー側で。
    完全に同期していない。一定のタイミングで同期している。
    稀に時が飛んだり、巻き戻ったりする。
  • Pingの可視化。通信状況を表示する。画面に表示。
    低 < 50ms < 中 < 100ms < 高
  • サーバーのメインループ。
    ルーム毎にループ作ってる。

最後に

通信が切れたとかはPhotonに任せてる。

VR分野でのUnity総括

  • 疲労を考慮
    Cardboardもバンドが無いのは定期的に休ませるため(?)
    目も披露する。寄ったり離れたり

ホンモノ志向のVR空間づくり

Room Scale VR

  • 美の科学
  • PART1
    右目左目が重複する140度が人間の視界
  • PART2
    目が一つしかない場合も奥行きは分かる。学んで覚える。子供の頃は立体的に見えない。
    その物体の知識(知っている物)があるので立体感を得られる。
    交通標識を知っているので、写真の中でどれくらいの距離にあるかが理解できる。
    片目でも分かるのは遠近法があるから。
  • PART3
    動き。
    • Teleportation。落としてみてください。
      移動が1.5秒以内なら気持ち悪くならない。
  • SHAPES&SPACE
    フィボナッチ数列
    黄金比
    三分割法
  • Perspective
    • ベルサイユ宮殿。水が入っているところは台形になっていて、目で見ると逆の遠近法でまっすぐになるように
    • パルテノン神殿。目で見て正しくなるように。実際は床は湾曲してるし、柱の間隔も一緒ではない。上部が先細り。端が傾いている。
    • 陰についての知識が人間にはあるので、それで立体的に見える。
      建築物の柱に溝を掘って影を付けて立体感を出していたりする。。
    • 安藤忠雄の作品。(多分この人:https://ja.wikipedia.org/wiki/%E5%AE%89%E8%97%A4%E5%BF%A0%E9%9B%84
      影をうまく使って立体的に。

Unity VR: Light - Shadow

  • Light Baking
  • GI
  • AO

1point advice

VRを片目だけでチェックする。空間を認識できない場合は、再度考慮する。
片目だけでみえるとVRでよりよい。

映像制作のゲームチェンジャー:メイキング オブ ”THE GIFT”

プロジェクトの課題

ワークフロー/パイプライン&ツールの紹介

シェーダー

Standard

UityStandardShaderの拡張

Fur

Shell構成。50パス。
FlowMapで毛の流れ

Skin

ScreenSpace SubsurfaceScattering

Eye

パララックスマッピング

hair

Kajiya Shadeing model

Grass

TessellationGrassからの拡張
HeightMapとか

Mask Shader

諸々のマスクを行う

大波エフェクト作成方法

Work Flow

Houdini -> Maya -> houdini -> Unity -> Nuke

ColorBall

32億ポリゴン
Pseudo-Instancing

  1. Alembicのポイント情報をテクスチャに格納。
  2. 頂点シェーダーでテクスチャ参照して配置。
  • ポリゴンが角ばる
    カメラに水平な面に球を投影、ポリゴンとの差分部分はDiscard

Unityを使った個人ゲーム開発における「収益化」の現状と未来

Making of The Modern Zombie Taxi Co.

VRに存在する新しいゲーム

HUD。

  • 低解像度なので、大きくテキストを表示しないといけない。
    現実世界にあるものを利用した。
    • ポスター、TVなど。
      プレイヤーから寄ってくる。
      プレイヤーに注視させる。選択するまでTVが踊ってる。近寄ったら止まる。

メニュー画面

細かい情報は使えない。

  • Look At Button。Gazing。
    ゲームオブジェクトを視線で選択する。
    スクリプトで追加すると、LookAtoButtonのオブジェクトになるようにした。
  • ゲーム内でも使用している。
  • ボタン同士の距離は遠ざけた方が良い。
    近いとプレイヤーが眼だけ動かしてしまうので。

メッセージ

テキストはオブジェクトに張り付けた方が良い。
そのオブジェクトがゲームとして意味があるように
ゲームスクリーンに直接貼り付けない方が良い。

ゲーム内のUI

  • ダッシュボード(車)に表示した。
    • 複雑すぎる。
    • 新規VRユーザーを混乱させる。
    • 情報が多いとノイズ情報となる。
  • シンプルにした。
    中心にあるダッシュボードテレビに重要な情報を纏めた。
    重要でない情報は小さく。

文字/言葉の必要ないデザイン

目的地矢印

看板で配置。
ゴール地点にバルーン。常に視野に入るように

チュートリアル

  • 初めてVRを遊ぶ人。
    自由に動けること、自由に見回せることを理解できていない。
  • 一つ一つボタンをチュートリアルする
  1. パッドのボタンを押させる
  2. 右の方向を見させる
  • シンプル過ぎる事はない
  • プレーテストが重要
  • 全てを教えない。
     -> 1度にすべてを覚えれない
    • バックやUターンを教えない
    • ゲーム的なメカニクスを教えない
  • 特徴的なビジュアルを配置すると、記憶しやすい
  • 同じ要素を使う。同じ情報を複数表示。

QA

  • プレイテストどれくらいした?
    ゲーム開発者の人で、見つかったら順次やってもらった。海外から来た人など。酔うまで。

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2016-04-06 (水) 23:53:37 (2066d)