RPC to C#

Сеть в Unity3D

RPC to C#

Сообщение zedzedzed 09 ноя 2010, 19:26

Доброго дня.
Перерыл весь форум и попробовав что-то реализовать наткнулся на ряд сложностей и вопросов, буду очень признателен если сообщество откликнется.

1. Есть ли возможность связать стандартный NetworkView с Сервером целеком написанном например на C#. Или есть ли RFC протокола Unity (RPC). (Если я правильно понял Unity протокол основан на библиотеке RakNet 3.0 Вот может есть враппер к ней на C#)

2. Возможно ли написать ММО проект средствами самого Unity. Но тут подвох, проект это ММО-Леталка в Космосе, и карта поделена на сектора (Солнечные системы). Каждая Сделана отдельной Сценой т.к. очень сильно отличается от предыдущей. Тут ваще непонятно про сервер, как Он должен себя вести при клиентах на разных сценах? Или стартовать несколько серверов на разных портах, и цеплятся в зависимости от сцены (это глупо).

3. Мастер сервер - о это магическое слово, как я понимаю очень хорошо подходит для поднятия так называемого dedicate сервера. И больше не для чего. Как отдельный авторитарный сервер он не подойдет (либо надо много кодить на c++)

4. Не по теме, но чтоб их не плодить, как регулировать Цветом материала? Есть взрыв, он сделан Plane c наложеным материалом (Particle/Additive).Скриптом прямоугольник увеличивается в размере, и нужно чтоб он менял Альфу у цвета (т.е. затухал).

PS. Заранее благодарю за ответы.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение Zaicheg 09 ноя 2010, 19:33

zedzedzed писал(а):4. Не по теме, но чтоб их не плодить, как регулировать Цветом материала? Есть взрыв, он сделан Plane c наложеным материалом (Particle/Additive).Скриптом прямоугольник увеличивается в размере, и нужно чтоб он менял Альфу у цвета (т.е. затухал).

gameObject.renderer.material.color = new Color(...);
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: RPC to C#

Сообщение zedzedzed 09 ноя 2010, 19:54

Zaicheg писал(а):
zedzedzed писал(а):4. Не по теме, но чтоб их не плодить, как регулировать Цветом материала? Есть взрыв, он сделан Plane c наложеным материалом (Particle/Additive).Скриптом прямоугольник увеличивается в размере, и нужно чтоб он менял Альфу у цвета (т.е. затухал).

gameObject.renderer.material.color = new Color(...);

Мой скрипт такой:
Код: Выделить всё
function Update () {
   transform.localScale += new Vector3(0.2f,0.2f,0.2f);
   //gameObject.renderer.material.color = Color.red;
   gameObject.renderer.material.color = new Color(0,0,0,0);
}

И не алё :((
Собственно я давно прочитал как это должно работать,только вот не получается ((
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение Neodrop 09 ноя 2010, 19:56

1. Открытого протокола не видел. Теоретически можно, но на практике - чёрт его знает.

2. Возможно. Реализация секторов - это уже ваша задача. Тут возможны различные варианты.

3. Мастер сервер просто связывает клиентов и игровые сервера. Необходим для прохождения NAT
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: RPC to C#

Сообщение Zaicheg 09 ноя 2010, 19:58

zedzedzed писал(а):Собственно я давно прочитал как это должно работать,только вот не получается ((

Ошибку-то скопируйте сюда (текстом или скриншотом).
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: RPC to C#

Сообщение zedzedzed 09 ноя 2010, 20:05

Neodrop писал(а):2. Возможно. Реализация секторов - это уже ваша задача. Тут возможны различные варианты.

Да сокеты то реализовать не проблема. Просто очень хотелось чтоб все работало как и раньше с NetworkView, чтоб сериализация/десиарилизация проходила средствами Unity.

К томуже еще вопрос, допустим создали свой сервер, Подняли свои сериализаторы, (так делают большинство предложенных здесь серверов), можно ли получить как-нить векторную Библиотеку Юнити. Чтоб Vector3 при сериализации был им-же и на стороне Сервера. И функции .lerp и т.п. работали как в Unity?
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение zedzedzed 09 ноя 2010, 20:06

Zaicheg писал(а):
zedzedzed писал(а):Собственно я давно прочитал как это должно работать,только вот не получается ((

Ошибку-то скопируйте сюда (текстом или скриншотом).

А ошибки нет, просто цвет не меняется.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение Zaicheg 09 ноя 2010, 20:25

Скрипт-то висит на Plane?
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: RPC to C#

Сообщение zedzedzed 09 ноя 2010, 20:32

Zaicheg писал(а):Скрипт-то висит на Plane?

Ато.
a.jpg


Да сам не пойму , проблема то банальная ...
У вас нет доступа для просмотра вложений в этом сообщении.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение Robotron18 20 ноя 2010, 14:34

zedzedzed писал(а):
Neodrop писал(а):2. Возможно. Реализация секторов - это уже ваша задача. Тут возможны различные варианты.

Да сокеты то реализовать не проблема. Просто очень хотелось чтоб все работало как и раньше с NetworkView, чтоб сериализация/десиарилизация проходила средствами Unity.

К томуже еще вопрос, допустим создали свой сервер, Подняли свои сериализаторы, (так делают большинство предложенных здесь серверов), можно ли получить как-нить векторную Библиотеку Юнити. Чтоб Vector3 при сериализации был им-же и на стороне Сервера. И функции .lerp и т.п. работали как в Unity?

Я бы не парился сериализовать данные вне средств Unity на авторитарном сервере. Сериализации подлежат как правило трансформы и ротейты, а они спокойно могут обрабатываться в схеме клиент-клиент. Ну чем это грозит, телепортами, превышениями скорости? Правильно написанный код клиента и проверки целостности файлов игры позволит спокойно ловить читеров. А вот RPC на авторитарный сервер заводить надо, но только ключевые - расчет повреждений, например.
Robotron18
UNец
 
Сообщения: 40
Зарегистрирован: 25 июл 2010, 15:48

Re: RPC to C#

Сообщение zedzedzed 22 ноя 2010, 21:12

Robotron18 писал(а):
zedzedzed писал(а):
Neodrop писал(а):2. Возможно. Реализация секторов - это уже ваша задача. Тут возможны различные варианты.

Да сокеты то реализовать не проблема. Просто очень хотелось чтоб все работало как и раньше с NetworkView, чтоб сериализация/десиарилизация проходила средствами Unity.

К томуже еще вопрос, допустим создали свой сервер, Подняли свои сериализаторы, (так делают большинство предложенных здесь серверов), можно ли получить как-нить векторную Библиотеку Юнити. Чтоб Vector3 при сериализации был им-же и на стороне Сервера. И функции .lerp и т.п. работали как в Unity?

Я бы не парился сериализовать данные вне средств Unity на авторитарном сервере. Сериализации подлежат как правило трансформы и ротейты, а они спокойно могут обрабатываться в схеме клиент-клиент. Ну чем это грозит, телепортами, превышениями скорости? Правильно написанный код клиента и проверки целостности файлов игры позволит спокойно ловить читеров. А вот RPC на авторитарный сервер заводить надо, но только ключевые - расчет повреждений, например.


В Реализации Client-Client есть несколько проблемных мест, например NPC. Их все равно надо реализовывать на стороне сервера и передавать в клиент их трансформацию. А коль мы уже передаем аналогичные данные со стороны сервера, то клиентов туда завести труда не составит. Да и трафик не так уж и сильно увеличится.

Сейчас я склоняюсь к системе Client-Server по нескольким портам/протоколам:
Перемещение это UDP, тут передаются только повороты и вектор движения.
Обязательные команды TCP, тут приходят все обязательные элементы: Активация выстрела, Чат, и тут приходит точка остановки объекта.
Сейчас думаю все это сделать на библиотеке lidgren.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение TexeL 25 ноя 2010, 01:08

function Update ()
{
transform.localScale += new Vector3(0.2f,0.2f,0.2f);
//gameObject.renderer.material.color = Color.red;
>> gameObject.renderer.material.color = new Color(0,0,0,0);
}


в скрипте new Color(0,0,0,0); не меняется !
ИзображениеИзображение
Аватара пользователя
TexeL
UNITрон
 
Сообщения: 244
Зарегистрирован: 15 ноя 2009, 20:57
  • Сайт

Re: RPC to C#

Сообщение zedzedzed 30 ноя 2010, 11:51

TexeL писал(а):
function Update ()
{
transform.localScale += new Vector3(0.2f,0.2f,0.2f);
//gameObject.renderer.material.color = Color.red;
>> gameObject.renderer.material.color = new Color(0,0,0,0);
}


в скрипте new Color(0,0,0,0); не меняется !


Да он и не выставляется в 0,0,0,0 а остается тем каким и был задан в материале (т.е. серым). А должен стать как я понимаю Прозрачным, или если расскоментировать верхнюю строчку то красным. А этого не происходит.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11

Re: RPC to C#

Сообщение sp00n 30 ноя 2010, 13:55

А источники света вообще в сцене есть? :-?
Ты молод, креативен, талантлив?
Амбициозен, уверен в себе, полон свежих идей?
А делать хоть что-нибудь умеешь?!
sp00n
UNITрон
 
Сообщения: 254
Зарегистрирован: 27 фев 2010, 20:43

Re: RPC to C#

Сообщение zedzedzed 30 ноя 2010, 17:47

sp00n писал(а):А источники света вообще в сцене есть? :-?

Это то тут причем ? Ну на всякий случай есть.
zedzedzed
UNец
 
Сообщения: 11
Зарегистрирован: 09 ноя 2010, 19:11


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

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

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