e.blog

主にUnity/UE周りのことについてまとめていきます

VR

QuestのパススルーとVR Room機能を利用してMixed Realityを実現する

概要 Questのパススルーの機能が拡充され、MRアプリとして色々と利用できるようになっているので、その機能を利用するためのメモを書いていきます。具体的には、以下の動画のように、自分で設定したオブジェクト(机や椅子、本棚など)を制御して「自分の部…

XR Plug-in ManagementによるXR機能(サブシステム)の仕組みを追う

概要 普段の開発でクロスプラットフォームの対応をよくしている関係で、XR Plug-in Managementの仕組みに興味を持って調べてみました。今回はXR機能(以後、サブシステム)の仕組みについてまとめていきたいと思います。 ちなみに以下の画面で設定するプロバ…

Oculus Questのビデオパススルーを試す

概要 Oculus QuestでビデオパススルーAPIが公開され、開発者でも利用できるようになったので試してみました。いくつか設定で(2021/08/13時点では)いくつかハマりポイントがあるのでメモしておこうと思います。これらについては@gtk2kさんと@korinVRさんの…

Oculus Questでハンドトラッキングを使ってみる

概要 Oculus Questのハンドトラッキングが利用できるようになったので使ってみたいと思います。 そこで、実際に使用するにあたってセットアップ方法とどういう情報が取れるのか、どう使えるかなどをまとめておきます。 ドキュメントは以下です。 developer.o…

World SpaceのCanvasにWorld SpaceからRaycastする

概要 ARやVRなどの開発を行っているとGUIも3D空間に配置する必要があります。 しかしUnityのuGUIは2Dで扱うことを想定しており、通常のGraphicRaycastはスクリーンスペースの位置から判定を行うものになっています。 つまり、3D空間に置かれた(World Space…

SteamVR SDK2.0以降でViveトラッカーを適切にアサインする

概要 Kunclesが手元に届いたということもあって、SteamVR SDK2.0について本腰を入れて調べてみようと思い立ちました。が、そもそも以前から適切にViveトラッカーを認識させられず、結局1.0を使うか騙し騙しトラッカーを使っていた状況でした。 そこで、まず…

Daydream開発はじめたのでメモ

概要 開発環境の整備 adbをWi-Fi経由で実行する コントローラを使う コントローラの状態を知る Buttons GvrEventSystemを使う ハマったこと Single Passレンダリングを利用すると色味がおかしくなる Daydreamコントローラの感度が悪い Playerにコライダを設…

SkinnedMeshとBoneWeightについてメモ

概要 とある実装をしていて、アニメーション周りをわりと触ったのでそのメモです。 具体的には、メッシュカットを利用してメッシュを分断したあと、分断したメッシュもボーンアニメーションさせたくて実装したメモです。 実際に切断してアニメーションさせた…

HTC Viveの埋め込みカメラの映像をテクスチャとして取得・表示する

概要 HTC Viveのヘッドマウントディスプレイには、フロントカメラが埋め込まれています。 このカメラは、メニュー表示時にカメラを起動し外の状況を確認したり、ゲーム画面自体にオーバーレイで周りの状況を表示して、HMDを脱がなくても色々とできるように、…

VR内でつかんだオブジェクトをイメージ通りに投げる

概要 今回の記事は、この記事を熟読して実装したものになります。 www.gamasutra.com 今作っているVRコンテンツは、「VRコンテンツ内で誰しもが共通してやることは、掴んだものは必ず投げる」というところに着目して、「VRで投げる」をコンセプトに開発を進…

VR空間内をデバッグできるようにマウスで移動する

概要 VR開発をしていると、HMDをかぶるのが意外と手間になります。 そこで、マウスで位置や回転を制御できると便利です。 ということで、カメラに適用しておくとさっと動かせるスクリプトを残しておきます。 こんな感じ↓ using UnityEngine; using System.Co…

VRモードをオフにして起動するバッチファイルを作る

概要 VRコンテンツのネットワーク対応をしていると、ビルドしてexeファイルとエディタのふたつでデバッグするときがあるんですが、VRモードを双方ともオンにしているとあとから起動したほうが終了されてしまいます。 (HMDはひとつのアプリでしか使えない) …