CinemachineのFollowをターゲットから指定する

オンラインゲームを作成するのに,Photonでキャラの生成をしてカメラにCinemachineを使っています. CinemachineのFollowはInspectorから指定しておかないと追従してくれなかったのですが,scriptからしてできるようにしてみました

デモ

追記:アニメーションの同期の修正版

実装内容

  1. PhotonでInstantiateをしてキャラを生成
  2. CinemachineからplayerをFindWithTagで探して,GameObjectを取得
  3. CinemachineのCinemachineVirtualCamera.Followにokayerを指定

コード

using System;
using Cinemachine;
using UnityEngine;

public class CameraFollowPlayer : MonoBehaviour
{
    private CinemachineVirtualCamera _virtualCamera;
    private GameObject player;

    void Start()
    {
        _virtualCamera = GetComponent<CinemachineVirtualCamera>();
    }

    private void Update()
    {
        if (player == null)
        { 
            player = GameObject.FindWithTag("Player");
            if (player != null)
            {
                _virtualCamera.Follow = player.transform;
            }
        }
    }
}

spriteのアニメーションの同期

www.urablog.xyz

キーボード入力によってspriteの切り替えのところにもIsMineの判定を入れましょう!!

参考サイト

https://forum.unity.com/threads/cinemachine-target-follow-an-initialize-prefab.559576/