🙌

【解決】PUN2とChinemachineを一緒にしたらうまく動かないんですけど!

2022/12/10に公開

これら2つを同時に使おうとしてうまくいかなかった。

PUN 2 - FREE

https://assetstore.unity.com/packages/tools/network/pun-2-free-119922

Starter Assets - Third Person Character Controller

これがCinemachineを利用してるのでうまくいかなかった。

https://assetstore.unity.com/packages/essentials/starter-assets-third-person-character-controller-196526

解決方法

Avatarの中身はこんな感じ

  • PlayerArmatureをAvatarに改名、子要素を足していく。
  • PlayerCameraRootを子要素に追加。
  • MainCameraを子要素に追加。
  • PlayerFollowCameraを子要素に追加。

ThirdPersonController.csの変更点

  • 自キャラでない場合はカメラを消していくこと。
  • メインカメラの探し方をタグではなく子要素からに変更
private void Awake()
{
    if (photonView.IsMine == false)
    {
        // PUN2が新しい方のカメラを利用してしまう問題があるので、他人のカメラは削除する
        // https://www.youtube.com/watch?v=6khig1_Pk3E
        transform.Find("MainCamera").gameObject.SetActive(false);
        transform.Find("PlayerCameraRoot").gameObject.SetActive(false);
        transform.Find("PlayerFollowCamera").gameObject.SetActive(false);
        return;
    }
    if (_mainCamera == null)
    {
        // get a reference to our main camera
        _mainCamera = transform.Find("MainCamera").gameObject;
    }
}

Discussion