見出し画像

ルームにJuke Boxが欲しい!

REALITY Advent Calendar 2023 8日目担当のゲーム事業部のやまだです
みなさん、REALITYルームはお楽しみいただいてますでしょうか
多種多様な家具がある中、私自身が遊んでていて思う事があります

ルームでいい感じのBGM機能が欲しい!
と。BGM機能はiOSのブースで使えるのですが、その機能はルームでは現状使えません
せっかく家具を配置して、いい感じの部屋を作っているので、それに合ういい感じのBGMを再生できないかな。と常々思っておりました

ということで、家具として音を鳴らせるJukeBoxを作ってみました

※ 本記事の内容は将来のREALITYアプリへの新規機能追加を示唆するものではありません。

できたもの

BGMを聴きながら寝ている図

Gif画像なので音をお聞かせできないのが残念ですが、レコードを触ることでBGMが再生されて、その状態も視聴者に共有されています

今回のように、ルームでは「触ったら何かが起こる」ものがすでにいくつかあります

今回はその機能を応用して、音を鳴らせる仕組みを作ってみました

そもそもルームはどうやって作られているの?

ルームでは電気だったり、テレビをつけたり消したり、状態を保つことができます
これは、家具はそれぞれ「今どういう状態か」というのを持っていて、その状態を共有することで、家具が今電気がついているかどうか。など判断しています
配信者やコラボ参加者が家具を触ると、その状態が全員に共有され、動きを合わせています

既存の仕組みの組み合わせ

上記家具の状態を使って、今回は音を切り替える状態。を作りました
しかし、基本的にREALITYはUnity側でBGMを自由に変更するような仕組みが用意されていません

そこで、以前REALITYワールドの中で作った機能があるので、それを使うことにしました
実は、過去にワールドで、BGMを途中で変更する事ができる機能が使われているのです

  1. その機能は、「アクティブになるとBGMが切り替わる」というものでそれを応用することで、前述したルームの「アクティブにする」機能と、ワールドの「BGMの切り替え」を合わせることで、「アクティブになったらBGMを切り替える」
    という処理を実装しました。ただし、BGMを名前ではなく、Clipから再生する機能は存在しなかったので、それは追加で実装しています

BGMClipを指定してBGMを鳴らせるよう指定

このように、過去に作ったものの組み合わせでも、さまざまな家具の仕組みが考えられますので、もっと部屋を彩りたいですね

次回予告

次回は若旦那さんの「REALITYアバターでレースゲーム」です
REALITYの中でのレースゲーム、やってみたい! お楽しみに!