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

Photon Уроки

Как создать онлайн игру в 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

Видео:Сделал одинаковую игру на Unreal/Unity/GodotСкачать

Сделал одинаковую игру на Unreal/Unity/Godot

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.

Предыдущий урок

🔥 Видео

Создаю онлайн игру на Unreal Engine 5 | Часть 1 - Первые шагиСкачать

Создаю онлайн игру на Unreal Engine 5 | Часть 1 - Первые шаги

Научу создать игру на Unity за 5 минут!!! | GamicleСкачать

Научу создать игру на Unity за 5 минут!!! | Gamicle

УДАЛЯЙ UNITY!Скачать

УДАЛЯЙ UNITY!

Как реализовать систему искусственного интеллекта для персонажей в 2D стилеСкачать

Как реализовать систему искусственного интеллекта для персонажей в 2D стиле

Создание игры в Unity за 5 минут | Создание шутераСкачать

Создание игры в Unity за 5 минут | Создание шутера

Сделал игру по фильму за 30 секунд #программист #gamedev #компьютер #игры #айтиСкачать

Сделал игру по фильму за 30 секунд #программист #gamedev #компьютер #игры #айти

Как Создать Свою Игру на Unity? Урок - 1 | GamicleСкачать

Как Создать Свою Игру на Unity? Урок - 1 | Gamicle

КАК СОЗДАТЬ ИГРУ НА UNITY ЗА 20 МИНУТ ? | Gamicle | Unity 3D C# Уроки Создание ИгрСкачать

КАК СОЗДАТЬ ИГРУ НА UNITY ЗА 20 МИНУТ ? | Gamicle | Unity 3D C# Уроки Создание Игр

Unity для новичков за 20 минут | Gamicle #unity #gamedev #gamicleСкачать

Unity для новичков за 20 минут | Gamicle #unity #gamedev #gamicle

СОЗДАЮ ИГРУ НА АНДРОИД ЗА 48 ЧАСОВ, ЗАЛИВАЮ В GOOGLE PLAY | Unity Ads 2D AndroidСкачать

СОЗДАЮ ИГРУ НА АНДРОИД ЗА 48 ЧАСОВ, ЗАЛИВАЮ В GOOGLE PLAY | Unity Ads 2D Android

Доход моей мобильной игры за 2 НЕДЕЛИ Создание игр на Unity для Андроид & IOSСкачать

Доход моей мобильной игры за 2 НЕДЕЛИ   Создание игр на Unity для Андроид & IOS

Создаю 3 игры на Unity за 1,5 часа/ час / полчасаСкачать

Создаю 3 игры на Unity за 1,5 часа/ час / полчаса

Как создать игру с нуля | Все подробности для начинающихСкачать

Как создать игру с нуля | Все подробности для начинающих

Minecraft на UnityСкачать

Minecraft на Unity
Поделиться или сохранить к себе:
Технологичная помощь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.

  1. клас

    Ответить