ボイスチャット用オブジェクト(プレハブ)の作成

目次

  概要
  プレハブを保存するためのフォルダの作成
  ボイスチャット用オブジェクトを作成する
  MonobitView コンポーネントを追加する
  MonobitVoice コンポーネントを追加する
  ボイスチャット用オブジェクトのプレハブ化


概要

音声データの送受信を受け持つオブジェクトを作成する

  ボイスチャットを実現するためには、音声データの送受信(=ボイスの入出力)を受け持つオブジェクトの存在が不可欠です。
  ここでは VR VoiceChat with MUN でボイスチャットを実現するためのオブジェクトを作成し、プレハブデータとして保存しましょう。


プレハブを保存するためのフォルダの作成

「Resources」フォルダを作成する

  まず「Resources」フォルダを作成します。
以下の例では便宜上 Assets 直下に指定していますが、必ずしも Assets 直下である必要はありません。
ただし「Resources」という名前に一字として誤りが許されません。スペルミスにはご注意ください。

  Project ビューに存在する「Assets」ディレクトリをクリックして選択した状態にします。

  「Assets」ディレクトリを選択した状態で、
  Unity のメニューから Assets > Create > Folder を選択してフォルダを作成します。

  作成した新規フォルダを 「Resources」にリネームしてください。
必ず「Resources」にする必要があります。
くれぐれもスペルミスにはご注意ください。


ボイスチャット用オブジェクトを作成する

ボイスデータの送受信、およびマイク入力&スピーカー出力を処理するオブジェクトを作成する

  続けて、VR VoiceChat with MUN を使い、ボイスデータの送受信、およびマイク入力&スピーカー出力を処理するための
  各種コンポーネントを付加した「ボイスチャット用オブジェクト」を作成します。

  このオブジェクトについてはプレハブ化できるものであれば何でもよいのですが、
  今回は略式的に、シンプルに作成可能な球体オブジェクトを利用します。

  Unity のメニューから GameObject > 3D Object > Sphere を選択して、球体オブジェクトを作成します。

  すると、シーン上、および Hierarchy ビュー上にて球体オブジェクト「Sphere」が現れます。
  そのまま Hierarchy ビュー上で Sphere を選択してください。


MonobitView コンポーネントを追加する

オブジェクトに MonobitView コンポーネントを追加し、オブジェクトで処理される情報の同期を可能にする

  続けて、MUN の機能として用意されている MonobitView コンポーネントをオブジェクトに追加し、
  このオブジェクトで処理される情報の同期を可能にしましょう。

  Sphere の Inspector にある [ Add Component ] のボタンを押してください。

  プルダウンメニューから Monobit Networking > Monobit View を選びます。

  すると下記のように、オブジェクトに MonobitView コンポーネントが追加されます。


MonobitVoice コンポーネントを追加する

オブジェクトに MonobitVoice コンポーネント、およびその関連コンポーネントを追加し、
オブジェクトを介した「音声データの同期&音声の入出力」を可能にする

  上述のオブジェクトに対し、さらに VR VoiceChat with MUN の機能として用意されている MonobitVoice コンポーネントをオブジェクトに追加し、
  このオブジェクトで音声データの同期処理と、音声の入出力制御を実行させます。

  Sphere の Inspector にある [ Add Component ] のボタンを押してください。

  プルダウンメニューから Monobit Voice Chat > Monobit Voice を選びます。

  すると下記のように、オブジェクトに以下のコンポーネントが追加されます。
MonobitStreamingPlayer コンポーネント ボイスチャットの音声出力デバイス(スピーカー, ヘッドフォンなど)を
管理するコンポーネント
AudioSource コンポーネント ボイスチャットの音声品質を管理するコンポーネント
Unity標準で用意されたコンポーネントと同一
MonobitMicrophone コンポーネント ボイスチャットの音声入力デバイス(マイクなど)を管理するコンポーネント
MonobitVoice コンポーネント ボイスチャットの通信精度を設定するコンポーネント


ボイスチャット用オブジェクトのプレハブ化

ボイスチャット用オブジェクトを Resources フォルダ内に「プレハブデータ」として保存する

  MUN ではクライアント個別の同期制御について、各種オブジェクトをプレハブデータとして格納し、
  任意のタイミングで MonobitNetwork.Instantiate() メソッドを使い、オブジェクト生成することで実現できます。
  そのため、ボイスチャット用オブジェクトは必ずプレハブに置き換える必要があります。

  先に作成済みオブジェクトデータについて、Hierarchy ビューの項目から Resources フォルダに対し、ドラッグ&ドロップします。

  すると、Resources フォルダ内にプレハブデータ「Sphere.prefab」が生成されます。

プレハブの生成元のオブジェクトを、シーンから削除する

  プレハブを生成し終えたら、生成元のオブジェクトはシーン上からは不要なので、削除しましょう。
  Hierarchy ビューに存在するオブジェクト「Sphere」を右クリックし、ポップアップメニューから「Delete」を選び、削除してください。