😎

【VR】WebプログラマーがNeosVRを触って驚いた理由

2021/07/04に公開

最近、TwitterでVRに興味が抱く人が増えてきました。

私は現在、NeosVRにハマっています。プログラマーにとって非常に魅力的な空間だからです。

1. VR内から、外部のサーバーとGET/POST通信ができる。

いきなりクライマックスから披露します。

NeosVRはVRの中から、HTTPのGET/POSTメソッドで通信が行えます。
※ もちろんHTTPSも対応しています!!

なんなら、HTTPのGET/POSTメソッドで通信して返却された値で、3Dオブジェクトの色を変更したりすることができます。

HTTP通信は、LAN内に立てたサーバー以外にも外部ドメインのサーバーにも接続できます。

通常、このような外部通信は、他のVRアプリケーションでは制限されている項目です。

少なくとも、公式でここまで自由な通信方法が提供されているということは、私の知る限り、NeosVRしかありません。

外部との通信ということで、セキュリティー上の懸念をされる方もいるかもしれません。

しかし、ドメイン毎に通信の許可がダイアログで聞かれるようになっているので、取り扱いさえ注意すれば安全です。

そして、プッシュ型の情報配信プロトコルであるWebSocket通信にも公式で対応しています。

これは即ち「VR × インターネット」といった最強のタッグが出来るということです。

下記ツイートのように、ローカルまたは外部サーバーを立てればサーバー経由でツイートも可能です。

そしてインターネットにさえ繋げば、ArdinoなどのIoT機器と連携することもできます。

つまり「VR × インターネット × IoT」といったこともできます。

2. VR空間がオブジェクトとして表現され、VR内でプロパティを閲覧できる。

NeosVRには、「インスペクター」といったブラウザーの開発者ツールのようなものがあります。
インスペクターがすごいのは、基本的にワールド内のほぼすべてのオブジェクトが閲覧できることです。

JavaScriptを知っている人にとっては、Windowオブジェクトを覗けるものだと想像してもらうと、分かりやすいかもしれません。

複雑なアバターやオブジェクトでも、インスペクターさえ見れば構造が分かるように作られています。
他の人の作ったアバターやオブジェクトのインスペクターを見て、勉強するなどのやり方ができます。

やってみるとわかるのですが、他人のオブジェクトを見ると学習効率が半端ないです。

3. VR内でプログラミングや3Dモデリング・UIの編集・作成ができる。

NeosVR内ではLogiXといったノードベースのプログラミングを自分で作ることができます。

https://youtu.be/ODEr3Vkd8Mk

動画では解説のために、ゆっくりとやってくれていますが、強強な人によると慣れればVR内でプログラミングした方が速いそうです。

ただ、あまりにも複雑な処理になるとLogiXのツリーが沢山できてしまうため、極力サーバーサイドに処理をやらせ、フロント部分はVR内のLogiXを使うという棲み分けが重要そうです。

ちなみに有志によってUIコンポーネントも開発されています。

そして、3Dモデリングも、苦手な人が1からUnityを触るよりは、操作が簡単だと感じました。

最後に

このように、NeosVRは、VRの中でも 「外部と通信ができる」 比較的自由度が高いVR環境です。
プログラマーとして、いい趣味ができました。

それでは皆さま、ごきげんよう。

Discussion