仮想と物理とエトセトラ

xRや物理とかごった煮の備忘録的技術ブログ

Unityアプリ + Holographic Remotingでクライアント(HoloLens2)からサーバ(PC)に向けて接続する(OpenXR)

今回は、以前できなかったUnityアプリでHolographic Remotingの接続待ち(Listen)ができるようになったので、方法をメモします。 xr-physics-work-etc.hatenablog.com Holographic RemotingがOpenXR対応されることで、Unityで使用できるAPIが増えました。 d…

PCアップデート その1(Palit Geforce RTX 3080Ti Gaming Proへの換装)

今回はPC構成を更新したので更新前後のベンチマーク結果を記事にします。 VRChatを触っていた際、フレームレート低下によるVR酔いが発生していたため、GPUのアップデートを実施しました。 Palit Geforce RTX 3080Ti Gaming Proは、台湾のPalit社が発売してい…

UE4でHoloLens2に豆腐を表示する

今回は久々にUnreal Engineの記事です。 前回: xr-physics-work-etc.hatenablog.com 最近Unreal Engine 5が正式リリースされましたが、まだMRTKが対応していなかったり、マーケットプレイスで取得したMicrosoft OpenXRではパッケージ作成時にエラーが出たり…

Neos VRにVroid Studioのモデルをインポートする

たまにはMRではなく、VRの記事でも。 昨日、Neos VRというソーシャルVRプラットフォームを触ってみました。 neos.com store.steampowered.com その際、Vroid StudioのモデルをインポートしようとしたらWikiの情報だけでは作業が詰まってしまったのでメモして…

Photon(PUN2)でハンドトラッキングを共有する(簡易版)

今回も前回に続きPhotonに関する試作です。 ハンドトラッキングの情報をほかのユーザに知らせるために手のジョイント情報を共有します。 今回は手にメッシュは張らず、各jointを表示することで手を再現します。 今回は下記を一部参考にしました。 akihiro-do…

Photon(PUN2)でルーム情報を表示する

今日は久しぶりにPhotonについての記事です。 前回 xr-physics-work-etc.hatenablog.com これまでの実装では1つのルームに対して入室していましたが、複数のルームに分けて情報共有することも可能です。 これを実施することで、同じPhoton CloudまたはPhoton…

MRTK(2.7.2)のExampleを試す その5 (Demos - HandCoach)

今回は下記の続きです。 xr-physics-work-etc.hatenablog.com 前提 今回の前提は以下です。 Unity 2019.4.17f1 MRTK 2.7.2 準備 いつものようにPackage Managerからデモをインポートします。 すでにImport済みの場合は、Input againで再度インポートできます…

HoloLens2でxboxのコントローラを使う(Input System)

今回は、HoloLens2でxboxコントローラを使用する方法をメモします。 UnityのInput Systemで簡単に使用できるようなので試します。 Input SystemはこれまでのUnityの入力系と比べ新しく、拡張、カスタマイズが可能なものであると説明されています。 docs.unit…

PCにHoloLens2の映像を投影する(Miracast)

今回は小技的な手法をメモっておきます。 HoloLens2では、Device PortalのMixed Reality Captureでの映像共有のほかにMiracastでの映像共有が可能です。 最近のWi-Fi搭載のWindows PCでは、外部からの映像をPCで受信する「このPCへのプロジェクション」機能…

Vroid Studioから出力したVRMをHoloLens2で閲覧する

今回は、VRoid Studioで作成したアバターをVRM出力し、HoloLens2で閲覧します。 vroid.com VRoid Studioでは気軽にアバターが作成できるため、VRChatなどで用いられることが多いです。 私もアバターを作成してみたので、試しにHoloLens上で投影し、現実世界…

Netcode for GameObjects (旧MLAPI)をHoloLensで使ってみる その2

今回は前回の続きです。 xr-physics-work-etc.hatenablog.com 前回、Hostとして使用したHoloLens2の頭位置は共有されましたが、Clientとして接続したUnityEditorでは共有できませんでした。 この問題を解消します。 下記記事によると、以前のMLAPIからの変更…

Netcode for GameObjects (旧MLAPI)をHoloLensで使ってみる その1

今回は、Unity公式の共有フレームワークのNetcode for GameObjectsを触ってみます。 docs-multiplayer.unity3d.com 元になったMLAPIについては以前触れていますが、v.0.1.0からv.1.0.0になって変更点があると思われるので、確認の意味も込めて触れてみます。…

MRTK(2.7.2)のExampleを試す その4 (Demos - Gltf)

今回は下記の続きです。 xr-physics-work-etc.hatenablog.com 前提 今回の前提は以下です。 Unity 2019.4.17f1 MRTK 2.7.2 準備 いつものようにPackage Managerからデモをインポートします。 Glb-Loading-Demo このシーンは、インターネット上にあるglbモデ…

HoloLens2でJoyConのIMUを使ってみたかった(失敗)

今回はNintendo SwitchのJoyConをHoloLensで使用できるか試します。 使用できれば、加速度、ジャイロセンサを用いて何かしらできそうです。 ※今回の記事はHoloLens上で正しく動作できていません。後々解決策がわかったら記事にします。 JoyConをUnityで取り…

MRTK(2.7.2)のExampleを試す その3 (EyeTracking)

今回は前回の続きです。 xr-physics-work-etc.hatenablog.com 前提 今回の前提は以下です。 Unity 2019.4.17f1 MRTK 2.7.2 準備 前回と同じようにPackage Managerから対象のデモをImportします。 EyeTrackingDemo-00-RootScene このSceneはEyeTrackingの各デ…

MRTK(2.7.2)のExampleを試す その2 (Boundary, Diagnostics)

今回は前回の続きです。 xr-physics-work-etc.hatenablog.com 前提 今回の前提は以下です。 Unity 2019.4.17f1 MRTK 2.7.2 準備 前回と同じようにPackage Managerから対象のデモをImportします。 Boundary Visualization Example このサンプルでは、PlayArea…

MRTK(2.7.2)のExampleを試す その1 Demos-Audio

今回は、MRTK ver.2.7.2のExampleを見て、これまであまり使用してこなかったMRTKの機能を確認します。 第一回はDemos-Audioを使用します。 前提 今回の前提は以下です。 Unity 2019.4.17f1 MRTK 2.7.2 準備 まずは、Package ManagerのMixed Realiy Toolkit E…

簡易翻訳機を作ってみる その6 ボイスコマンドを使って録音を開始する

今回はその5の続きです。 xr-physics-work-etc.hatenablog.com せっかく音声入力で翻訳対象となる文字列を入力しているので、録音の開始も音声入力で行えるように設定します。 準備 音声入力でコマンドを実行するために、Speech Commands ProfileとInteract…

MRTK Figma Bridgeを試してみる

今回は以前取り上げたMRTK Figma Toolkitを、Unityに取り込むためのUnity用Figma Bridgeを試してみます。 xr-physics-work-etc.hatenablog.com MRTK Figma Bridge for Unityは、MRTK FIgma Toolkitで作成したデザインを直接MRTKに取り込むことができるツール…

簡易翻訳機を作ってみる その5 翻訳結果を音声出力する

今回は前回の翻訳機の続きです。 xr-physics-work-etc.hatenablog.com 今回は、音声読み上げと、別言語を翻訳先とする翻訳を行います。 音声の読み上げでは、TextToSpeechを使用します。 TextToSpeechは、任意の文字列を音声出力するためのコンポーネントで…

簡易翻訳機を作ってみる その4 翻訳対象を声で入力する

今回は下記の続きで、前回キーボードから入力していた翻訳元の文字を、音声で入力するようにします。 xr-physics-work-etc.hatenablog.com 前回の記事で、DictationHandlerをつかっては?とのアドバイスをいただいたので、さっそく使ってみます。 bluebirdof…

簡易翻訳機を作ってみる その3 HoloLens2からDeepLのWebAPIをつかう

今回は下記の続きで、WebAPIをHoloLens2アプリからたたくことで、翻訳できるようにします。 xr-physics-work-etc.hatenablog.com 1. 準備 前回試したWebAPIをC#からHTTPリクエストすることで使用し、翻訳結果を受け取ります。 今回はHTTPリクエストはUnityWe…

UnityProjectをWebGLでビルドする

今回はUnityで作ったプロジェクト、特にMRTKを用いたプロジェクトをブラウザ上で実行できるようにWebGLでビルドする方法をメモします。 今回のメモでは、PCからアクセスすることを前提として、HoloLensやOculus Questなどでブラウザ上からMR, VR体験できるWe…

簡易翻訳機を作ってみる その2 DeepLのWebAPIを使ってみる

今回は前回の続きです。 xr-physics-work-etc.hatenablog.com DeepLのwebAPIを使用するための登録と、お試しで使用してみます。 「DEEPL API FREE」に登録する まずは、DeepLのwebAPIを使用するために登録します。 今回は、試験的に利用するだけなので、月50…

簡易翻訳機を作ってみる その1 方法検討および調査

最近小技だったり、SDKの使い方だったりが多いので、たまには小規模なアプリを作ってみようと思います。 今回は、HoloLensの音声入出力周りやweb APIをHoloLensから触る方法の学習も兼ねて、簡易翻訳機を作ってみようと思います。 ※どこかで誰かがやっていそ…

HoloLens2のファイルIOを確認する (その2 テキスト、画像、動画読み込み)

今回は前回の続きです。 xr-physics-work-etc.hatenablog.com 今回は、テキスト、画像、動画の読み込みを3種の方法で読み込んでみます。 読み込み方法は以下の通りです。 テキスト:WUPのFileIO.ReadTextAsyncでFileStorageオブジェクトから読み込み 画像:…

HoloLens2のファイルIOを確認する (その1 フォルダ、ファイル作成)

今回は、自分自身の備忘録もかねて、HoloLens2のファイルIOを確認します。 2回ほどに分けて、フォルダ、ファイル作成と、動画や画像、テキストの読み込みを各フォルダから行えるかどうか確認します。 このあたりの情報は、HoloLens2出てすぐのものも多く、最…

iOSアプリデプロイがうまくいかない場合の原因確認方法 ([端末名] is not available. Please reconnect the device.)

今回はMRTKとAR FoundationでiOSアプリを作成し動作確認する、をネタにする予定でしたがうまくいかなかったので原因確認の過程を残しておきます。 ビルドの準備から原因確認の過程のネタなので、Macの端末でUnityエディタでXcode用のプロジェクトを作成する…

HoloLens2用アプリに再ビルド不要なデバッグモードを追加する(プロトコルでの実装)

今回は小技です。 前回、プロトコルから設定することでHoloLens2用アプリケーションでも起動時のモードを切り替えることができることがわかりました。 xr-physics-work-etc.hatenablog.com 今回はこのプロトコルで設定できるURIスキームを用いて、通常起動で…

Holographic Remotingでクライアント(HoloLens2)からサーバ(PC)に向けて接続する

今回はHolographic Remotingの小技をメモします。 Holographic Remotingを使用する場面として、UnityのHolographic Emulationや以前記事にしたUnityアプリケーションでのHolographic Remotingリモートアプリを作成する場合があります。 xr-physics-work-etc.…