Unity5.Создаем Онлайн игру. ч.3

Как создать онлайн игру в Unity5.

В этой части урока по созданию онлайн игры на Unity5 мы исправим некоторые баги, которые мы обнаружили в предыдущей части и напишем несколько скриптов. Первый будет сохранять персонажа при переходе на другую сцену и второй, будет определять каждому новому персонажу камеру и синхронизировать движение персонажей для более сглаженного отображения анимации.

Откроем предыдущий проект и добавим к нашему префабу персонажа новый скрипт dontdestroy:

using System;
using UnityEngine;

public class dontdestroy : MonoBehaviour
{
    public static Transform playerTransform;

    private void Awake()
    {
        if (dontdestroy.playerTransform = null)
        {
            UnityEngine.Object.Destroy(base.gameObject);
            return;
        }
        UnityEngine.Object.DontDestroyOnLoad(base.transform.gameObject);
        dontdestroy.playerTransform = base.transform;
    }
}
Так же, добавьте такие компоненты как Photon Animator View и Photon Transform View эти компоненты помогут нам в отображении анимации персонажа. animator transform Добавим еще один скрипт и назовем его PlayerSync:
using Photon;
using System;
using UnityEngine;

public class PlayerSync : Photon.MonoBehaviour
{
    public Camera CharterCamera;

    public AudioListener CharteraudioListener;

    private void Update()
    {
        if (base.photonView.isMine)
        {
            base.GetComponent().enabled = true;
            this.CharterCamera.enabled = true;
            this.CharteraudioListener.enabled = true;
        }
        else
        {
            base.GetComponent().enabled = false;
        }
    }

    private void OnPhotonSerializeView(PhotonStream strem, PhotonMessageInfo info)
    {
        Vector3 position = base.transform.position;
        Quaternion rotation = base.transform.rotation;
        strem.Serialize(ref position);
        strem.Serialize(ref rotation);
        if (strem.isReading)
        {
            base.transform.position = position;
            base.transform.rotation = rotation;
        }
    }
}

Так же, поместим его на префаб персонажа и укажем в нем камеру персонажа.

sync Почти закончили, осталось добавить один компонент Photon View и добавит к нему наш Controller, PlayerSync и PhotonAnimatorView.

photonview Далее отключаем некоторые компоненты Controller, Dontdestroy и Camera у персонажа, т.к. в скрипте выше мы указали что если при запуске сервера Photon "Мы это мы" а не другой персонаж, то эти компоненты включатся.

player

camera Сохраняем и пробуем запустить проект.

Game Если все настроено правильно, то должно все получится. Анимация проигрывается, персонажи появляются ну а остальное как обычно, зависит от вашей фантазии. Удачных проектов!

P.S. Архив с проектом нашей мини онлайн игры можно скачать здесь.

P.P.S. Возможно потребуется ввод Pun кода для работоспособности Photon.

Предыдущий урок
Похожие статьи
Unity 2d Как создать кликер
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

734 просмотров всего, 2 просмотров сегодня

0
#Unity 5#2D
Подробнее
Как заставить персонажа двигаться в Unity 2d
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

1,683 просмотров всего, 3 просмотров сегодня

0
#Unity 5#2D
Подробнее
2d анимация в unity
2 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 5

714 просмотров всего, 3 просмотров сегодня

0
#Unity 5#2D
Подробнее
Как добавить видео в Unity 5
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

2,259 просмотров всего, 8 просмотров сегодня

0
#Unity 5
Подробнее
Комментарии

клас

Ответить
Добавить комментарий
Оцените статью
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Ваш e-mail не будет опубликован.