WebGL+Node.js+socket.ioで3Dマルチプレイ開発の課題に取り組みました。 その7

 雨季に入り始め、じんわりとした暑さを感じる今日この頃、皆様、どうお過ごしでしょうか?
タンドリーの北山です。

本日はWebGL上でマルチプレイの実装作業を行いました。

前回はSocket.ioRedisを使ったsessionとcookieの情報の保存と管理の記事を書きました。

其方については現在並行して作業していますが、それとは別件でマルチプレイに実装する機能の作業があり、今日は其方を優先して作業にしたので記事にしたいと思います。

実装する機能の作業は2つあります。

  1. マルチプレイ上の各アバターの頭の上にアイコンを表示して固有のIDを表示する機能です。
  2. マルチプレイ下で動画の再生を行う処理です。

1つめの各アバターの頭の上にアイコンを表示する機能については実装が成功しました。
イメージは以下の動画です。







アイコンに表示している文字列は、現在はMySQLデータベースに保存してあるユーザーのIDではなく、一意なsessionIDを仮表示しています。

これはRedisを用いたsessionとcookieの保存と管理の延長線上にあるユーザー判別に伴うMySQLへの接続を想定した作業がある為です。

その為、スクリプトの処理上で混合しておかしくならないよう避難させています。

Redisを用いたsessionIDとcookieの保存処理が完了次第、アイコンに表示する文字列は個別のIDにしていく予定です。


2つめのマルチプレイ下での動画の再生については、ここから更に2つの要件があります。


  1. アバターが一人でも動画を再生するエリアに近づくと全ブラウザで動画を再生する機能です。(動画は最後まで再生します)
  2. 動画が再生中に新しくユーザーがログインした時にログインしたユーザーの画面でも再生中の動画が他のユーザー達と同じ再生位置で再生される機能です。

1は終わりました。
イメージとしては以下の動画になります。





2は現在、難航しています。
動画の再生位置にズレが生じている為です。

ログインした後に動画の再生位置にズレが生じたりしている為、現在、この部分の修正中です。
修正でき次第、記事にしていきたいと考えています。


ここまでご一読いただき誠にありがとうございました。
次回もご一読いただけますと幸いです。




現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!



〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F
tel 092-717-6800 / fax092-717-6801 



コメント