データ拝見しました。
> ・相手のコントローラーに付けているオブジェクトがSceneでは見れるが、
> ゲーム画面(VRデバイス視点)からは見えない
この部分については、そもそも Scene に存在している
・DefaultScene > [CameraRig] > Controller(right)
・DefaultScene > [CameraRig] > Controller(left)
の配置位置が「本来 VR の PlayArea としている範囲から遠くかけ離れたところ」にあるからだと思います。少なくともデフォルトの状態で VR Camera の近くになければ VRデバイス上から見えません。(ネットワーク同期以前の問題な気がします)
このあたり、Right Female Hand_Light の AnimatorController がないことも含め『もともとのデータから破壊されている』印象を受けるのですが、データ的に問題ありませんでしょうか?
> ・コントローラーに付けているオブジェクトがもう片方も一緒に動いてしまう
これについては、以下の手順で正常動作します。
1. いったん [Camera Rig] についている MonobitView を、[CameraRig] > Controller(right) > Right Female Hand_Light オブジェクト にドラッグ&ドロップして移動する。
2. Right Female Hand_Light オブジェクト に MonobitTransformView, MonobitAnimatorView を追加する
3. 上記で追加した MonobitTransformVIew/MonobitAnimatorView を、MonobitView の ObservedComponentList に追加する
4. Right Female Hand_Light オブジェクトについている MonobitView を、[Camera Rig] にドラッグ&ドロップして移動し元に戻す。
で、うまくいきます。手順的に難しく、データ共有したいのですが、先に書いた通り [Camera Rig] のデータが破壊されている印象を受けるので、まずはそちらをご確認ください。正常であれば改めて以下の GoogleDrive から取得してください。
https://drive.google.com/drive/u/1/folders/15Uyvv_whpwhWKdSgWc8Kc3ar-nUKGAP1
(zip解凍パスワード : 0000)
> ・相手のCameraの位置が同期しない
Camera 位置は独立同期しますが、Camera に付随するデータについて isMine での切り分けができていない状態なので、 CameraManager.cs で以下のように not is mine なコンポーネントについて無効化すれば大丈夫だと思います。
public class CameraManager : MonobitEngine.MonoBehaviour {
public void OnMonobitInstantiate(MonobitEngine.MonobitMessageInfo info)
{
// プレハブ生成されたときに、自分自身のオブジェクトでない場合、
if (!info.monobitView.isMine)
{
// 子オブジェクトのCameraを無効にする
gameObject.GetComponentInChildren<Camera>().enabled = false;
// ヘッドマウントディスプレイのGUIも無効にする
Transform gui = transform.Find("Camera/Score GUI");
if (gui != null)
{
gui.gameObject.SetActive(false);
}
// プレイエリアも無効にする
gameObject.GetComponent<MeshRenderer>().enabled = false;
gameObject.GetComponent<Valve.VR.SteamVR_PlayArea>().enabled = false;
// コントローラ操作&レンダリングを無効にする
foreach(Transform child in gameObject.transform)
{
if (child.GetComponent<Valve.VR.SteamVR_Behaviour_Pose>() != null)
{
child.GetComponent<Valve.VR.SteamVR_Behaviour_Pose>().enabled = false;
child.GetComponentInChildren<Valve.VR.SteamVR_RenderModel>().enabled = false;
}
}
}
}