見出し画像

VR「孤人のための作品」の長めのメモ

2021年 12月27日〜28日に大阪市此花区のBlend Studioで開催された
インスタ部が主催するデジタル・メディアアート、インスタレーションのグループ展HOMEWORKS2021に出展した「孤人のための作品」の長めのメモです。

作品テーマ

コロナでフルリモートを強いられたワンルーム一人暮らしの寂しさを分かち合って、他にもいるであろうワンルームの壁の向こうで見えなくなっている寂しさを抱えた人達の慰めになったら良いなという思いから制作しました。

体験の概要

現実の会場には中央にテーブルと端のほうに消毒液が置かれていますが、VRの世界でも同じ配置で同じ大きさのテーブルと消毒液が置かれています。

体験者はVRの世界を歩いて移動し、ゴーグルによってハンドドラッキングされた自分の手(自分の手も現実の世界と同じ位置にVR上に表示されている)を消毒液の機械にかざして消毒してから、中央のテーブルにふれると、一人暮らしをしている部屋の人間の様子が小人(孤人)サイズで表示されます。

ちょうど人形の家のジオラマを俯瞰しているような視点になります。
小人が部屋をウロウロしたり、ベッドに寝転んだり夕食の準備をする様子を延々と観察することができます。

最後は消毒液がアマビエに変身しているので、手をかざすとアマビエの全力消毒を受けて体験の終了となります。

VRで見ると2D映像では感じられない部屋のスケール感や、小人の存在感に生々しさ出ていつまでも見てしまうコンテンツに仕上がっています。
しかしながら小人は見ることしかできず、いくら手で触っても生活に介入することができません。
都会に住む人間同士の微妙な距離感を表現できると考え何も起きないようにしています。

部屋のデータの作り方

部屋のデータはiPhone12Proから実装されたLiDARスキャナを使って取り込んだ自分の部屋の3DデータをPointCloudに変換したものです。
アプリは『3d Scanner App』を使いました。
ベランダからバスルーム、トイレやキッチンなど部屋の専有領域すべてを取り込みました。
PointCloudは頂点の座標と頂点の色情報だけなのでデータ自体は軽く、今回のデータ総数12万ポイントの10倍くらい頂点数の多いデータでも十分動きました。
しかし、頂点数が多くなるとそれだけ明細に部屋の様子が映し出されプライバシーまるわかり状態になるのを避けたかったのと、解像度が低いほうが体験者の想像の入る隙ができて面白いだろうと考えわざとポイント数を減らしました。
ポイント数を減らすのにはバイナリを操作する方法がよくわからなかったのでMeshLabというポイントクラウドを編集できるWindowsのソフトを使いました。

小人は同じくiPhoneで自分自身をT字ポーズで前後からスキャンして、ボーンを埋め込んだ3Dのキャラクターを作成し、そのデータに部屋での自分の動きをAzureKinectという人間の動きをモーションキャプチャできるカメラで取り込んだデータを埋め込みました。

AzureKinectはボーンが取れる範囲は狭い上に体が物に遮蔽されると誤認識するため、部屋に置いて定点撮影ということが不可能だったので、ほぼワンアクションごとにAzureKinectの位置を変えて何度も撮り直し、後でできるだけうまくつながるように合成しました。
モーションキャプチャデータの録画はUnityとAzureKinectをつなげてJSONデータを吐き出すようにしました。

PointCloudに筋肉実装でボーンを埋め込む

AzureKinectで取得したモーションキャプチャのデータですが、PointCloudのデータにモーションキャプチャをつける方法がわからず、ググってもわからなかったので試行錯誤の結果、PointCloudのデータをMeshLabで開いて同ソフトの機能でPointCloudのデータをテキストデータで書き出した後、BlenderのPhythonを使って書き出したテキストデータから頂点データと色情報を元に頂点の座標と色を反映させたスフィアデータを頂点分生成、それを一つのメッシュにしてボーンを埋め込みfbxに保存し、そのデータをUnity上でモーションキャプチャで動かすという筋肉実装で実現させました。

ハプティクス振動

部屋が浮かび上がる中央のテーブルには以前から興味がある技術であるハプティクス振動を取り込みました。
ハプティクス振動とは一番身近なところではゲームのコントローラやiPhoneなどに採用されている、画面内の操作に対してのフィードバックを振動で返す技術です。
ゲームで言うとレースで泥道を走っていく感触や、iPhoneではボタンを物理的に押し下げていないのに押し下げたかのような感触を振動によって擬似的に再現させるのに使われています。
この作品では中央のテーブルに触れていると小人が歩き回るたびにズシズシとテーブルから振動が伝わって小人の存在感が伝わってくるような使い方にしました。
振動の再現はADTEDSの触感デバイス体感モジュール (2ch/ステレオ)を使いました。
触感デバイス体感モジュールという名前ですが、振動スピーカーなのでPCからのAudioOutだけで動かすことができるお手軽なモジュールです(今は販売終了して後継のモジュールが出ているようです)。
振動の元データは小人の動きに合わせて、キーボードを打ったり電子レンジを開閉したりして後から録音したものです。

安心して体験してもらうには?

今回の展示で使おうとしているハプティクス振動は手で触れないとまったくわからない技術です。
コロナが落ち着いているとはいえまだまだ油断のならない中で安心してかつ、楽しくVRを楽しんでもらうためにどうしたらいいのか。
そして楽しくもない消毒というアクションをいちいちお願いしたりするのはなんとか避けたい。

そこで現実の世界とVR上の同じ場所に消毒液を置いて手指消毒をするという体験を組み込むことにしました。
しかし問題はOculus Questで現実の世界の物とVRの世界の物の位置を合致させる方法です。
そもそもOculus Questは一人で遊ぶ事に特化されて設計され、HTC VIVEのように外部センサーがあってVRの世界と現実の世界を一致させることができる仕様ではなく、起動するたびに相対的にVRの世界の中心位置が変わってしまうお手軽仕様のVRゴーグルです。
調べてもVR世界の中央位置を固定できるこれといった方法は見当たらず、やり方としてはOculus Questにはじめから付いているコントローラを使って位置決めをするというもので、多分その方法以外ないと採用しました。
※実装したのは展示の二日前だったので試行錯誤する暇なく…

左コントローラの中心はXボタンを通る

消毒液の中央とコントローラの中央を一直線上に合わせてコントローラと消毒液を両面テープでガチガチに固定し、消毒液のコントローラのZ軸とXY位置を世界の中央としてステージ全体を移動させるようにしました。
また、中央のテーブルは丸型で方向性は必要無いので高さ固定でXY位置をもう片方のコントローラのボタンを押した場所に移動するようにしました。
これでほぼほぼ位置を合わせることに成功しました。

ずれないように両面テープでガチガチに止める

タッチエリアは増やし放題

このVRは『体験者が消毒液を使った』アクションと『中央のテーブルに触った』というアクションがキーになって進んでいきますが、
消毒液や中央テーブルにはセンサーなどは仕込まず、Unity上にColliderを置いて、そのエリアにVRの手が触れたという事で判定をしていました。
そのためタッチエリアは増やし放題で、センサーの調整もいらず設営も簡単でした。

OculusQuestは展示コンテンツ用に向かない

実装していてOculu Questは展示用コンテンツを作るのには向いていない、使うならば用途を限定した使い方が良いという印象を受けました。
今回体験者にはコントローラを使わずに自身の手でハンドドラッキングを使ってVR世界のオブジェクトに触れていってもらいましたが、手である一定のジェスチャーをすると起動しているアプリを終了させることができてしまう機能を塞ぐことができませんでした。
また、音量ボタンや電源ボタンを無効にする方法もなかったような気がします(調べてない)。
そして直射日光に思った以上に弱く、またミラーがあるとこれまた弱い。
どちらも自分の部屋にあってそこまで問題にならなかったのですが、会場で動かしてみると激しくトラッキングに影響を与えて頭の動きにVRの視界がついて来なくなり、目眩のような状態になってしまう現象が何度も発生しました。

リモートワーク楽しんでんじゃん

一人暮らしの寂しい様子を見てもらえれば、ささやかでも共感してもらえるのではないかと思っていたのですが、実際作ってみると小人という表現や少しフレームレートが落ちている動きが寂しいというより、割と楽しそうにに見えてしまったのが大きな誤算でした。

リモートワーク割と楽しんでんじゃん。
そんな印象。

制作途中から薄々感じていた事をみんなそう感じるんだと。

演出として部屋にゴミを散らして汚くすれば良いのではと少し考えたのですが、それでは嘘になってしまうのではないかと思いとどまり、またもっとリアルに10分以上もベッドに寝ていたりしたら、家の中でやることがないという雰囲気を出せると思ったのですが、VRの体験として重いゴーグルを頭につけたまま飽きさせるような事をしたくなかったので、ほぼ30秒から2分ごとに次のアクションをし始めるようにしてしまったので、更に生き生きした印象になってしまいました。

最後に

毎年クオリティが上がっていくHOMEWORKS運営の伊藤さん、大西さん、佐々木さんお声がけしていただきありがとうございます!
今回もとても良い経験ができました。
他の出展者さんとお話もできて作品もとても面白かったです。

それから隣のブースの河本さんには、自分以外で初めてこのVR体験してもらい、自分の作品をどう説明していけば良いか的確にアドバイスして頂きとても助かりました!


展示を通して一年ぶりにたくさんの人と話せてよかったです。
長期間人間と話をしていないと言葉が出てこなくなるとわかりました。

作品は微妙に意図と違う伝りかたになってしまいましたが、楽しめるコンテンツになったのでそれはそれで良かったと思っています。


この記事が参加している募集

私の作品紹介

リモートワークの日常