ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。プログラム&ロボット大好きなポンコツが日々の記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

Unite Tokyo 2018 – day 2 #UniteTokyo2018

Unite Tokyo 2018の二日目にも行ってきました!

今日は朝から電車が大変遅延したり起床が遅延したりして、1番最初の講演に5分ほど遅れてしまうハプニングから始まりましたが、今日も無事終わりましたー!

では、レポートほどではないですが、雑なメモだけ残しておきますー

 

UnityでのVuforiaを使用したARの概要

f:id:ponkotsu0605:20190609151709j:plain

  • Vuforiaの紹介
    • ARの種類、ターゲットの種類について
    • 深度カメラを使えば簡単だと思うが、なかなか持ってないよね。
    • 車などの形状をターゲットとすることができるようになった
  • ターゲット
    • Cylinder target。円柱をターゲットとしている
    • Multi target。ボックスをターゲットにして、例えば箱の表面に模様をつけたりする
    • Model Target。Unityで作ったモデルに一致する現実の物体にマッチングすると発動
    • Merge Cube。AR用に販売されているキューブを使って、いろんな制御ができる。
  • 現実の複数の物体を認識してモデルをターゲットにしている
  • Ground Planeという技術を使って、テーブルとか床とかの上でARの技術を使うことができるようになった
  • SLAM(Simul)、VIO(Visual-inertial Odometry)、Platform Enablers(Platform AR Technology)
  • Platform AR Technology: iOS(ARCore), Android(ARCore), Windows(MR)
  • Google ARCoreのサポートがそろそろ来るはず

 

トヨタのVR/HoloLens活用事例ご紹介

f:id:ponkotsu0605:20190609151757j:plain f:id:ponkotsu0605:20190609151816j:plain f:id:ponkotsu0605:20190609151833j:plain f:id:ponkotsu0605:20190609151854j:plain f:id:ponkotsu0605:20190609151915j:plain f:id:ponkotsu0605:20190609151932j:plain f:id:ponkotsu0605:20190609151950j:plain

  • Unity、VR、AR、Photon、ホロレンズを使っている
  • 新人の教育、危険な状況をVRを通して体験・学習、お客様への車の説明に利用

 

CADデータからVRコンテンツを作るには

  • PiXYZ製品の紹介
    • CADデータをVRゲームエンジンを使ってみよう
    • PiXYZ STUDIOでデータを削減すると、ポリゴン数が10分の1になったよ
  • Photonを使ってVR空間の共有をする
  • マテリアル
    • Allegorithmix Substance
    • ダウンロードしたあとにパラメータを変更して色とかカラーバリエーションを変えることができるらしい

 

Oculusで作るスタンドアローン・モバイルVRコンテンツ

f:id:ponkotsu0605:20190609152019j:plain f:id:ponkotsu0605:20190609152038j:plain f:id:ponkotsu0605:20190609152055j:plain

↑Project Santa Cruz

f:id:ponkotsu0605:20190609152116j:plain

↑Project Santa Cruzのデモ動画

  • Riftが2周年、Touch装着率94%
  • GalaxyS7以上が4分の3以上
  • Oculus GOが発売になった。スタンドアローンで動作する
  • Oculus Goでの開発
    • GearVRで既に動いている場合は大部分はそのままで動く
    • Oculus向けのUnityプロジェクト作成の説明
  • Oculus Goの固有の機能
    • Google Mobile Services関連とかカメラアクセウsとかは使えないので、機種判別をして処理を変える必要がある。
    • (固定中心かレンダリング)Fixed Foveated Rendering。画面の端の方は解像度を減らしてパフォーマンスを向上させる
    • そして、Oculusストアで配布しよう
  • Project Santa Cruz
    • 現在開発中のもの
    • Oculusに4個のカメラがついた感じのもの。
    • ルームスケール・インサイド・アウト、トラッキング
    • 両手コントローラーのポジショントラッキングもやってくれる
    • より、広い範囲の移動ができる。PCなしで扱える
    • Rift+Touchに近い感覚。演算能力はモバイル並。Android+Oculus Mobile SDKで動作

 

VR空間構築ソリューション『NEUTRANS』開発の裏側

f:id:ponkotsu0605:20190609152138j:plain

  • VRアプリの基盤になるシステム
    • 最初はVRで何かできないかということで、いろいろ作っていて、欲しい機能を盛り込んでたらそういうシステムができた。
    • ビジネス向け、ターゲット層が普段ゲームをやらない人、VRやコントローラーに慣れていない人向け。XとYのボタンを使わないようにした。
  • 捜査官を気持ちよくさせるための工夫
    • 日常的によく使う「持つ」動作は丁寧に作り込んだ。手ぶれ補正
    • 距離補正(距離が遠いほど手ぶれ補正を大きく
    • サイズ補正、大きいものほど補正を大きく、重さによる補正
    • レーザーポインタを曲げることで、視覚的に補正量がわかるようにした
  • ネットワーク同期の気持ちよさ
    • NEUTRANSは複数人で同じオブジェクトを見たり触ったりできる
    • そのため、アバターの位置(頭、右手、左手)を同期している
    • どうやって、リジッドボディで動くオブジェクトの位置を他人と同期するか
    • 手法1,誰か1人が計算してそれをみんなに展開。遅延が出る
    • 手法2,所有しているオブジェクトは自分が計算する。他人が所有しているオブジェクトが動かなかったり、ズレが出たりする。
    • 手法1も手法2もうまくいかなかった。ので、結果位置同期をするのはやめた。各ユーザに計算を任せて、多少のズレなら許容するようにした。持った瞬間と話した瞬間に位置の同期をする。
    • 完全同期はむずかしいので自分から見ての気持ちよさを最優先にした

 

とても楽しい!HoloLensとUnity、テーマパークのMRゲーム開発について

f:id:ponkotsu0605:20190609152159j:plain

  • ナンジャタウン×MRプロジェクト
    • HoloLensを活用している
    • リアルパックマンアトラクション(PAC IN TOWN)
    • 一網打尽!香取ぱっちん大作戦
  • アートイベントののための高速施策
    • PAC IN TOWNはわずか3人で1ヶ月でプロトタイプを開発した。
    • XR(VR,AR,MR)の市場を取り巻くスピードは凄まじく早い
    • MRはすでにある環境にキャラクタなどを載せるだけなので、環境を作成する手間が必要ない
    • 子供の頃の夢を現実世界で実現できるからとても楽しい。等身大パックマン
  • レベルデザイン(メカニカルエンジニア、ゲームデザイナーさん)
    • アトラクションとしてのレベルデザインとMRアトラクションのレベルデザインを組み合わせる
    • アトラクションのレベルデザイン:アトラクションを遊ぶ回数は、お一生に一度。 MRアトラクション:視野の狭いゲームなので、視野が狭いがために理不尽に感じさせないようにする
    • なるべく、頭を上下にしなくてもすべてを見えるようにゲームを作成する。遠い物体は上下の動きは激しくてもいいかもだけど、手前の場合は動きは小さめにしたり。
    • 視野外の敵の接近を音で知らせたりする。
    • けど、外乱がある。お客様やスタッフの声、モーターの音、各アトラクションの音、BGM。そこでHololensに耳カバーをつけることで、外乱を抑制した。
    • 8組のライドの速度が少しずつ異なる。
    • オブジェクトの位置をちょっと置くことによって、より世界観に溶け込ませることができた
  • コンテンツ制作技術
    • 現地スキャンとシミュレーションの方法と利点。
      • オフィスでも現地の環境を再現しながら制作
      • 現地でPatial Mapや視点毛mらの位置のログを記録していく。スキャンしたデータを用いて、オフィスなどでシミュレートする。
      • メモ:HoloLensで現在地を取得したり周りの物体のログを取得することができるので、なんかいいのができそう。
    • 座標系の混乱を予防するコツ
      • 頭の高さに応じてオブジェクトの高さも調整したい。
      • 視点カメラを動かすのか、オブジェクトを動かすのか
      • Tracking Lossの後の座標をどう扱うのか
      • 各シーンの原点をどこに置くのか
      • 施設の座標系はマーカー認識のときに決定する。
      • アトラクションによっては暗すぎてSLAMが使えない可能性があった。
    • 現場位のエンパワーメント(主にPAC IN TOWN)
  • MRは現場が主役!!

 

「リトルチャンピオンズ」癖になるアクションゲームの開発事例

f:id:ponkotsu0605:20190609152222j:plain

  • コマンドパターンベースなアーキテクチャ実装
  • ユーザ操作やゲームイベントをコマンドで表現
  • ゲームの途中復帰気おぬ。プレイ途中までのリプレイデータを高速で再生させて実現している
  • 物理演算を自前実装している
  • 企画から実装、実証まで、いかにプランナがプログラマにかかわらずにやるかを実現したのがツール、そのツールを制作した。
  • データ駆動な設計
  • リアルタムナパラメータ調整機能
  • ステージ作成ツール、作業効率的にipadなどのタブレットで操作することを前提に作成している
  • GCSにステージをアップロードしている
  • Animate State Machineを作成して、演出データでゲーム中のキャラクターやカメラなどを動的に操作する仕組みを実装
  • イベントキーを用いた、モデルのモーションやSE、エフェクトの再生
  • 仮想オブジェクトに定義した動きを、ゲーム中のオブジェクトに適用

 

仕事の関係でここで終わり。。

 

展示ブース

f:id:ponkotsu0605:20190609152249j:plain f:id:ponkotsu0605:20190609152307j:plain

HTC NIPPON株式会社のブース。

頭に被って周りが見えないーって思うかもしれないですが、端末についているカメラを通して周りをみることができるので、特に問題なかった。けど、画質が荒かった。。

人を避けるゲームやってみたけど難しすぎて、バンダイナムコさんが言ってた、アトラクションは一生に一度しかないので、ゲームバランスとか気にしなきゃねってのをすごい感じた。

 

マイクロソフトのブース。

初ちょまどさんで緊張して接近できなかった。そのあとも会場内で何度か近くを通ったけど緊張しすぎてダメ。。

 

サイバーエージェントのブース

f:id:ponkotsu0605:20190609152327j:plain

講演を見に行った「リトルチャンピオンズ」のツールとか。

 

最後に

Room4は立ち見になる確率が高く感じられるので、早めに会場に行ったほうがいいかも。

あと、docomoのスマホを使っているんですが、人がたくさん集まると電波がものすごく悪くなって、全く通信できない状況になってしまう。。なので、テザリングを考えている人も、この点は注意したほうがいいかも。