Разделение действий клиентов.

Сеть в Unity3D

Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 05:46

Создавая свою MMO столкнулся с проблемой: при подключении клиентов к серверу и последующей стрельбе этих клиентов получается что оба клиента выполняют действие одновременно,т.е. один клиент управляет другим,как сделать,чтобы этого не было?И можно использовать какой-нибудь универсальный код,чтобы он применялся ко всем объектам и тем самым не давал возможности действовать синхронизировано.
Вот код стрельбы ракетой.
Синтаксис:
Используется javascript
var projectile : Rigidbody;
var speed = 20;

function Update()
{
        if( Input.GetButtonDown( "Fire1" ) )
        {
                var instantiatedProjectile : Rigidbody =
                Instantiate( projectile, transform.position, transform.rotation );
                instantiatedProjectile.velocity = transform.TransformDirection( Vector3( 0, 0, speed ) );
                Physics.IgnoreCollision( instantiatedProjectile. collider, transform.root.collider );
        }
}
 
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 07:23

У нас (в одессе) отключают управляющие скрипты просто на клиентах по свойству иф нетворквиев из майн
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 12:58

Вот вот!Я думал об этом,но не понимаю куда вставлять этот компонент,да и как он работает,мне бы теоретически пояснить как все выглядит,ну или в виде скрипта,на примере проще сообразить.Есть ли среди вас те,кто мог бы ввести в скриптинг,пояснить хотя бы элементарные понятия или ссылки какие-нибудь полезные?
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 13:04

Ну реальная тема посмотри в разделе сеть мой пост про перевод инструкции по созданию мультиплеерного шутера. Там эта тема разделение управления тоже осуществленна но она там не сразу бросается в глаза в исходниках там пока докопаешся. Вообще это самая сложная тема в мультиплеере - индивидуализация. Так что
не знаю если ты не знаешь что такое компонент networkview или мне пардон показалось. Если не показалось посмотри тут пару мыслей тут вообще с нуля и примеры из офа там
Последний раз редактировалось eligma 31 мар 2012, 13:10, всего редактировалось 1 раз.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 13:08

Спасибо,я использовал два урока : M2H не устроил,потому что сложный ужасно
а minimum mp deatmatch мне не подошел,т.к. камера не вращается и понятия не имею как сделать чтоб вращалась.
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 13:11

я сделал вращение камеры но основе этих исходников правда провозился много. у меня есть исходники эти. Все кстати тоже замешано с этими камерами на индивидуализации. Ща дам ссылу на лайт версию с дибильными персами. Слушай братишко ты чересчур вольготно относишся если для тебя M2H сложно. То бразильский тутор еще сложнее там реальная тема. Короче тут смотри демо с нормальными камерами и исходники и плюс на мастер сервере. С нуля МП нужно пол года изучать
Последний раз редактировалось eligma 31 мар 2012, 13:19, всего редактировалось 1 раз.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 13:19

Спасибо большое,с вращением камеры я кстати нашел решение
Вот к камере скрипт
Синтаксис:
Используется javascript
var target:Transform;
function SetTarget(target:Transform){
Camera.mainCamera.transform.parent = target;
}

А действие приходит от префаба персонажа
Синтаксис:
Используется javascript
function OnNetworkInstantiate (msg : NetworkMessageInfo) {
        if (networkView.isMine)
        {
                Camera.mainCamera.SendMessage("SetTarget", transform);
        }
        else
        {
                name += "Remote";
                GetComponent(CharacterMotor).enabled = false;

             
        }
}

Камеру отдельно ставил от префаба.
Когда дошел до добавления оружия,то застрял на том что при привязке его к камере ничего не видно,а если привязать непосредственно к префабу игрока,то получается что один персонаж управляет и своим и чужим оружием.
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 13:22

Короче оружие классически ставится на отдельную именно камеру и ей придаетса маус лук он в синхроне получается с маус лук игрока. Вобщем ставишь эту отдельную камеру и она и есть оружие - на ней инстансится пуля булет и куда будет смотреть эта камера по маус лук туда и будет лететь пуля. потом к камере этой цепляется на прямик луч, чтобы поставить прицел. А думаю если у каждого игрока будет своя отдельная камера-оружие то ты сможешь их разделить по тому же признаку нетворк виев майн вроде
Последний раз редактировалось eligma 31 мар 2012, 13:26, всего редактировалось 1 раз.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 13:26

Сделал так,только ни оружие,ни эффектов,которое оно порождает,видно не было.Пытался RPC mode добавить,дабы способность видеть распространялась на всех,но не смог.
Скрытый текст:
Если не затруднит,можно в скайп перейти? Добавить gungamer4 в Skype
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 13:28

да там есть сложность нужно и чтоб пуля была синхронизирована по МП тоже через РПС. В этом смысле другого варианта кроме бразильского тебе предложить не могу то что касается пули. Посмотри демонстрацию в моем верхнем посте по ссылке "тут" устроит тебя такой вариант. Приближен к класическим ранним ЖТ А типа вайс сити
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 13:30

Я уже во всю изучаю все что там написано,уже начинает проясняться.
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 13:36

так а ты посмотри демо того что там описывается - разве там сделано не так как надо и стрельба есть грамотная и все до мелочей описано. Демо в вебплеере есть на сайте. Только камеры фиговые. Так я взял просто камеру удочерил каждому префабу ну и потом отключал их уже где только придется. Ито так доконца и не разобрался с индивидуализацией потому что делал много разных персонажей на выбор - а кстати есть умное решение как размножать персов в мультипллеере там есть про это в бразилии и все должно получится очень культурно если правильно делать. Но не будет возможности совать тогда что попало как у меня по рабоче крестьянски.Короче тема такая что в про версии можно по рпс передавать префаб модели человека и таким образом можно их красиво размножить но все будут однотипные цивильные. А в триал версии нет возможности по рпс прописать префаба.
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 17:35

Плохо что нет такой возможности,а однотипных персов можно разным видом экипировки и оружия снабдить,при чем каждый выбирает что хочет или может позволить.
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

Re: Разделение действий клиентов.

Сообщение eligma 31 мар 2012, 19:28

однотипные в том смысле что по одной схеме. Модели могут быть совершенно разные главное чтоб анимации были у них однаковые стандартизированные. просто я делал воще анархию по алгоритму. но по секрету сказать я сам до сих пор слабо понимаю как таким правильным методом орагнизовать выбор персонажей. это в предпоследней главе про индивидуализацию, но там только намек дан в деталях не рассказано (предполагается для триал версии) Ты ж там заметил диалог динамической загрузки текстур из инета - это именно тот метод которым предполагается полгностью модели персонажей менять
Gleeko Multiplayer Gameplay------Знаете ли вы что протокол IPV6 в 1 000 000 раз превышает по возможностям протокол IPV4? А также протокол IPV6 официально был запущен в прошлом году 6.06 числа в 6 часов утра. Это событие отмечали во всем мире.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Разделение действий клиентов.

Сообщение Ingener 31 мар 2012, 19:37

По поводу стандаризации анимации не я уже работаю)Есть аниматор,есть художник,есть моделлера 2,ну а я и еще один человек как скриптеры.
Вот изучаю потихоньку все,мне бы еще человека,понимающего в скриптах.
Насколько я понял,чтобы актер имел возможность двигать телом вслед за мышкой,нужно отключить анимацию при поворотах или просмотре,ну или проанимировать те части,которые не будут противоречить скрипту,иначе все будет дергаться,уже проверил.
Последний раз редактировалось Ingener 31 мар 2012, 19:48, всего редактировалось 1 раз.
Ingener
UNIт
 
Сообщения: 53
Зарегистрирован: 06 мар 2012, 14:50

След.

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

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

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