Показать сообщение отдельно
Старый 06.04.2024, 05:17   #4
BIDGAR
AnyKey`щик
 
Регистрация: 06.04.2024
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Ответ: Photon Network-синхронизация дочерних объектов

Сообщение от pax Посмотреть сообщение
Надо писать скрипт сериализации, указывать этот скрипт как observer для PhotonView. Там есть пример с сантехником и передачей его положения и вращения таким способом на сколько я помню.

Грубо примерно так (без интерполяции):
protected void OnPhotonSerializeView(PhotonStream streamPhotonMessageInfo info)
    {
        if (
stream.isWriting)
        {
            
stream.SendNext(transform.position);
            
stream.SendNext(transform.rotation);
            
// передача поворота башни
            
stream.SendNext(turretTransform.localRotation);
        }
        else
        {
            
transform.position = (Vector3)stream.ReceiveNext();
            
transform.rotation = (Quaternion)stream.ReceiveNext();
            
// прием поворота башни
            
turretTransform.localRotation = (Quaternion)stream.ReceiveNext();
        }
    } 
Здравствуйте. Я понимаю, что с публикации вашего ответа прошло более 10 лет.., но у меня сейчас аналогичная проблема, башня танка не синхронизируется. При попытки добавления скрипта в photonView, выдаёт ошибку does not implement interface member 'IPunObservable.OnPhotonSerializeView(PhotonStream , PhotonMessageInfo)'. 'gun) n.OnPhotonSerializeView(PhotonStream, PhotonMessageInfo)' cannot implement an interface member because it is not public.
(Offline)
 
Ответить с цитированием