17
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Websocketで、異空間通信。

Last updated at Posted at 2024-02-11

概要

4番ohisamaです。
私達チームの第一回Qiitaハッカソンの予選会、テーマ「つながり」への提出作品が
「Websocketで、異空間通信。」です。
チームは、一人です。
この作品で、異空間と通信する手段を提供します。
異空間とは、メタバースです。
メタバースとは、インターネット上に構築された人数参加型の仮想空間を指します。

実演

serverの準備

下記内容で、serverを設置します。

clientの準備

下記に、clientが設置されています。

clientの準備2

下記内容で、NeosVR内にtransiverを設置します。

2023-05-01 23.55.39.jpg

動作の確認

chatです。

image.png

2023-05-02 00.05.25.jpg

課題と解決策

  • メタバースは、インターネット上に構築された人数参加型の仮想空間を指します。
    外部から、影響を与える方法がありませんでした。
  • NeosVrは、ビジュアルプログラミングのLogiXがあり、「websoket connect」ノードがあることがわかりました。

LogiXを、俺コードで、neos uiを使って、websocketで、オウム返しを取得するオブジェクトを表現してみた。


{p0, _} = ButtonEvents Obj.Button
{p1, _} = ButtonEvents Obj.Button
{_} = WebsocketConnect p0, FrooxEngine.WebSocketClient, "ws://localhost:50002", HostUser
{_, _, _} = WebsocketTextMessageSender p1, FrooxEngine.WebSocketClient, Obj.TextField.text
{p2, d} = WebsocketTextMessageReceiver FrooxEngine.WebSocketClient
{v} = Write p2, d
Obj.test.txt.text = v

  • NeosVRは、VRで自分だけの世界を作ったり、他のユーザーと交流したりできるメタバースプラットフォームです。
    NeosVRは、チェコにあるSolirax社によって開発されました。
    NeosVRでは、VRで自由に創造やコミュニケーションができる環境を作りたいという思いから、ユーザーが自分の好きなデジタルデータやコンテンツをVR内で簡単に呼び出したり、共有したり、編集したり、様々なことができます。
    また、プログラミングツールや投げ銭システムなども備えており、ユーザーが自分のアイデアやスキルを発揮できる場でもあります。

2021-11-26 05.33.25.jpg

  • LogiXは、NeosVRで使われるビジュアルプログラミング言語です。
    LogiXでは、ノードとワイヤーで図形を作りながら、オブジェクトにカスタムの動作やインタラクションを追加できます。

  • websocketは、ウェブブラウザとサーバー間で双方向の通信を可能にする技術です。
    通常、ウェブブラウザはHTTPプロトコルを用いて、サーバーにリクエストを送り、レスポンスを受け取りますが、この場合、通信は一方的で、サーバーからのプッシュ通知などはできません。
    websocketでは、HTTPプロトコルの上に、新たなプロトコルを構築し、ハンドシェイクを行うことで、ウェブブラウザとサーバー間に永続的な接続を確立します。
    これにより、サーバーからのプッシュ通知や、リアルタイムなデータのやり取りが可能になります。

  • Elixirで、serverを構築しました。

  • Elixir (エリクサー) は並行処理の機能や関数型といった特徴を持つ、Erlangの仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語です。

  • Plunker、Javascriptで、ブラウザ上でclientを構築しました。

  • Plunkerは、Webブラウザ上でHTMLやCSS、Javascriptのコーディングをすることを可能にするコードエディタです。

  • Javascriptは、Webページに動きをつけるためのプログラミング言語です。 ボタンに触れると形や色が変わる機能や、スライドショー、ポップアップウィンドウ、ログインなど、さまざまな機能の実装に用いられます。

残された課題

  • LogiXは、ビジュアルプログラミングなので、ドキュメント化に苦労した。
    そのため、NeosVRコンパイラを開発中。

  • 「自動運転シュミレーター」にしたいが、センサーが無い状態です。

  • NeosVRが、過疎化していて、やばい。
    Resoniteは、Yellow Dog Man Studiosが開発した新メタバースプラットフォームで、2023年10月7日に正式リリースされました。
    NeosVRの開発チームが手がけ、自由度と創造性を重視した新しいソーシャルVR空間であり、急速に成長しているプラットフォームとして注目を浴びています。

以上。

17
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?