Страница 1 из 1

Photon Cloud алгоритм выстрела и попадания

СообщениеДобавлено: 20 дек 2015, 13:09
unregistered
Никак не могу решить как правильно организовать выстрел. у меня динамичная игра с самонаводящимся курсором. если смотреть со стороны игрока производящего выстрел, то получается так - навелся, стрельнул, попал (нанес урон); а со стороны оппонента как это будет выглядеть? Он 100% не будет находиться в том месте куда стрелял другой игрок. Ну т.е. я пока вижу это так:
стрельнул и если попал, то послал rpc оппонентам. оппоненты приняли rpc и произвели соответствующие вычисления у себя по корректировке "здоровья". Но тут получается не корректно как-то. Или второй вариант - посылать оппоненту, мол я по тебе стрельнул. оппонент смотрит попал не попал и отвечает что "да, попал, урон такой-то". И вообще как "производятся" выстрелы по сети? Как быть в случае "медленного" оружия типа ракет например. Подскажите где можно почитать или пособите советом.

Re: Photon Cloud алгоритм выстрела и попадания

СообщениеДобавлено: 21 дек 2015, 04:47
unregistered
актуально

Re: Photon Cloud алгоритм выстрела и попадания

СообщениеДобавлено: 21 дек 2015, 10:57
IDoNotExist
unregistered писал(а):стрельнул и если попал, то послал rpc оппонентам. оппоненты приняли rpc и произвели соответствующие вычисления у себя по корректировке "здоровья". Но тут получается не корректно как-то.

В чем некорректность? Везде так делают.

unregistered писал(а):Или второй вариант - посылать оппоненту, мол я по тебе стрельнул. оппонент смотрит попал не попал и отвечает что "да, попал, урон такой-то".

И в итоге стреляющий редко когда будет попадать, особенно по подвижной цели, ибо пинг. Хотя это еще зависит от того как сделаете синхронизацию позиций.

unregistered писал(а):Подскажите где можно почитать

http://habrahabr.ru/post/135306/

Re: Photon Cloud алгоритм выстрела и попадания

СообщениеДобавлено: 21 дек 2015, 11:50
unregistered
Спасибо! Тогда и алгоритм выстрела различным видом оружия также остается одинаковым за исключением поведения и каких-то характеристик? А позиции пока синхронизирую так как в примере написано, через OnSerialize... передаю/получаю позицию и поворот объекта. Остаются сомнения на счет того, что у меня на объектах ригид. попробовал встроенные фотоновские скрипты (PhotonTransformView и PhotonRigidbodyView) но в результате - рывки-телепорты примерно по метру. Делал ригид оппонента кинематическим - все плавнее, но и кинематика есть кинематика, хочу попробовать еще через OnSerialize... применить MovePosition вместо transform.position (вроде так по феншую)