福岡県では先日は夜に雨が降り、今日の朝も小雨が降り注いでいましたが、皆様は洗濯物を取り込んでいますでしょうか?
チーム・タンドリーの北山です。
前回に引き続きクラウドサーバでのマルチプレイの実装作業を行っています。
今回はアバターがブースのモデルに近づくとブースのパネルから動画が再生される機能を実装しました。
以下の動画のイメージです。
マルチプレイなので他プレイヤーのアバターが近づいても動画が再生されるようにしています。
以前はローカル環境の自作サーバで同じ事を実装してきましたが、今度はブラックボックスのクラウドサーバに定義された、仕様書に記載されているコマンドを頼りに動画の同期を目指す必要がありました。
その為、WebGL上の3DパネルにVideoタグを付与しつつ、そのVideoタグの属性であるcurrentTime(動画が今、どの再生地点にあるかを示す属性です)を反映させる手段を、仕様書の中に大量にあるコマンドの中から該当するものを探すのに苦慮しました。
また、動画が再生された後に他プレイヤーがログインした時にも、そのログインしてきた他プレイヤーの画面上で動画が同じ再生位置で反映させるように実装しました。
これまでのローカルで自作してきた故に全体像がおおよそ把握できていた状況とは異なっていた為、此方の実装についても想定より大変な点がありました。
クラウドサーバ側とWebGL側が接続されるタイミングで自動で走るコマンド処理もある為、そこから連鎖的に他のコマンドがどんどん実行されていくので、その連鎖の流れの中にある処理の合間に、この動画の同期の実装を挟む必要がありました。
また、上記の実装はできたのですが、不具合もあります。
- 動画が再生されていない状態で他プレイヤーがログインしたら一瞬だけ何故か動画が再生される。
- 稀に動画の開始の時に緑色のフラッシュの様なものが走る。
緑色のようなフラッシュは一番上の動画で同じ現象が起きています。
これは個人的に調べた範囲では動画側の問題であり、スクリプト上の問題ではないようです。
商用フリーの動画をブログ掲載・作業用に使用しているのですが、この動画の形式は最初、違う形式だったのでそれをWebGL上に適した形式にエンコードしたのが可能性として現時点では高いと考えています。
この点については他にも、色々な動画を使用してみて起きる現象なのかなども調査してみたいと考えています。
そして動画が一瞬だけ何故か再生される不具合については現在調査中です。
此方についても詳細が把握できしだい記事にできればと思います。
ここまでご一読いただきまして誠にありがとうございました。
是非、次回もご一読いただけますと幸いです。
現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!
〔企画運営〕株式会社シェルパ
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F
tel 092-717-6800 / fax092-717-6801


コメント
コメントを投稿