Не работает интерполяция.

Сеть в Unity3D

Не работает интерполяция.

Сообщение nbg_yalta 20 сен 2016, 00:36

Всем привет, столкнулся с неприятной неприятностью, не работает интерполяция. Пробовал и фотон с его Photon Network Transform, и Unet с Network Transform а так же их разные настройки, но не получил и близко приемлимого результата, тогда как по идее все должно работать нормально по дефолту. Когда то давным давно сталкивался с подобным на юнете, решил что это баг. Переделал на фотон но получил то же самое, на сколько помню помог перенос в новый проект. Сейчас делал проект на фотон, и опять эта лажа, создал 2 тестовых проекта с нуля для унет и фотон, на обоих получается дерганая хрень.
[Unity 5.4 / Windows 10x64]

Вот на примере фотона (простой 2д спрайт движется на клик мышки):
Изображение


Скрипты простетские: http://pastebin.com/LHbamRTD

Помогите, а то я уже в отчаянии, и так все на перекосяк последнее время и тут еще ЭТО!

Если что вот ссылки на проеkты
PHOTON
https://mega.nz/#!4dNxlCAS!T9qqAg39eVAO ... sTJ8ybFKQY
UNET
https://mega.nz/#!EZ8T3bgB!iqr9Vlm3wee8 ... rWR5_pBwq8
Изображение
nbg_yalta
UNIт
 
Сообщения: 64
Зарегистрирован: 09 авг 2013, 20:45

Re: Не работает интерполяция.

Сообщение nbg_yalta 20 сен 2016, 16:02

Так, есть прогресс на фотоне, сглаживание заработало когда я в Observed Components вместо трансформа игрока поместил компонент Photon Transform View. На счет Unet вопрос открыт.
Изображение
nbg_yalta
UNIт
 
Сообщения: 64
Зарегистрирован: 09 авг 2013, 20:45

Re: Не работает интерполяция.

Сообщение nbg_yalta 26 сен 2016, 05:27

В общем проехали, uNet не работает почему то с трансформом, с твердым телом все нормально.

Дабы не плодить темы тут нарисовалась еще одна проблема, тоже по сути с интерполяцией связанная. Короче у меня игроки по клику поворачиваются на 90 градусов. Так вот во время этого поворота они могут стрелять и из скриншотов видно что при этом получается
Скрытый текст:
Изображение
Изображение


Подозреваю конечно же сглаживание вращения, угол поворота игрока на остальных клиетах интерполируются и похоже не слабо запаздывает за настоящим... Есть варинты как это обойти?
Изображение
nbg_yalta
UNIт
 
Сообщения: 64
Зарегистрирован: 09 авг 2013, 20:45

Re: Не работает интерполяция.

Сообщение lol 26 сен 2016, 09:18

Кроме синхронизации поворота, я бы во время выстрела всегда передавать и его направление.
lol
Старожил
 
Сообщения: 508
Зарегистрирован: 15 ноя 2009, 10:48
Откуда: Москва

Re: Не работает интерполяция.

Сообщение Tolking 26 сен 2016, 10:14

А что толку? :) И цель на разных клиентах может быть в разных местах...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Не работает интерполяция.

Сообщение Cr0c 26 сен 2016, 10:21

Tolking писал(а):А что толку? :) И цель на разных клиентах может быть в разных местах...

А причём тут цель? При выстреле клиент уже зафиксировал направление и передал его серверу. Не будет рассинхрона вращение-выстрел.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Не работает интерполяция.

Сообщение nbg_yalta 26 сен 2016, 19:30

Cr0c писал(а):
Tolking писал(а):А что толку? :) И цель на разных клиентах может быть в разных местах...

А причём тут цель? При выстреле клиент уже зафиксировал направление и передал его серверу. Не будет рассинхрона вращение-выстрел.


По идее все и так должно происходить по данному принципу, не подскажите как это сделать?

Код на выстрел.

Синтаксис:
Используется csharp
void Update ()
    {
        if (Input.GetMouseButtonUp(0))
        {
                if (isServer)
                    RpcShoot();
                else
                    CmdShoot();
        }
    }

    [Command]
    void CmdShoot()
    {
        RpcShoot();
    }

    [ClientRpc]
    void RpcShoot()
    {
        Vector3 pos = thisT.position + thisT.up * bulletSpawnOffset;
        Quaternion rot = thisT.rotation;
        Rigidbody2D bulletObj = Instantiate(bullet, pos, rot) as Rigidbody2D;
        bulletObj.AddForce(bulletObj.transform.up * 350);
    }
 
Изображение
nbg_yalta
UNIт
 
Сообщения: 64
Зарегистрирован: 09 авг 2013, 20:45

Re: Не работает интерполяция.

Сообщение Tolking 26 сен 2016, 21:44

Cr0c писал(а):
Tolking писал(а):А что толку? :) И цель на разных клиентах может быть в разных местах...

А причём тут цель? При выстреле клиент уже зафиксировал направление и передал его серверу. Не будет рассинхрона вращение-выстрел.

На одном клиенте визуально будет попадание, а на втором пролетит мимо но попадет?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Не работает интерполяция.

Сообщение Cr0c 26 сен 2016, 22:18

Tolking писал(а):
Cr0c писал(а):
Tolking писал(а):А что толку? :) И цель на разных клиентах может быть в разных местах...

А причём тут цель? При выстреле клиент уже зафиксировал направление и передал его серверу. Не будет рассинхрона вращение-выстрел.

На одном клиенте визуально будет попадание, а на втором пролетит мимо но попадет?

У пострадавшего, значит, проблемы с соединением. Иначе бы стрелок, даже визуально попадая, не наносил бы урон.
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Не работает интерполяция.

Сообщение nbg_yalta 27 сен 2016, 03:59

Cr0c писал(а):
Tolking писал(а):
Cr0c писал(а):
Tolking писал(а):А что толку? :) И цель на разных клиентах может быть в разных местах...

А причём тут цель? При выстреле клиент уже зафиксировал направление и передал его серверу. Не будет рассинхрона вращение-выстрел.

На одном клиенте визуально будет попадание, а на втором пролетит мимо но попадет?

У пострадавшего, значит, проблемы с соединением. Иначе бы стрелок, даже визуально попадая, не наносил бы урон.


Как передать правильный и одинаковый угол (или направление) выстрела всем остальным игрокам кто то знает?
Изображение
nbg_yalta
UNIт
 
Сообщения: 64
Зарегистрирован: 09 авг 2013, 20:45


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1