Crownee Опубликовано 11 декабря, 2014 Поделиться Опубликовано 11 декабря, 2014 (изменено) r28599M Проблема уже достаточно древняя "Непростреливаемость" неровностей грунта, которая не дает персонажам с особенно большим радиусом атаки (например лучники) пользоваться преимуществами оной везде кроме ровных как стол поверхностей. На поверхностях же типа "земли" "травы" итд, имеющих "декоративные" неровности пользоваться дальними атаками становится практически невозможно изза "невидимости" цели, при том что визуально цель видна. У магов и арб та же проблема но чуть-чуть реже. Такое ощущение что проверка видимости цели происходит не по линии "голова-голова" а по линии "пояс-пояс" или даже "колени-колени". Да и на близких расстояниях в случае если персонажи видны только выше пояса то атаковать друг друга не могут, что немного смешно и жутко неудобно Было бы хорошо или линию эту чутка поднять по коорд. Z, или "непростреливаемость" неровностей слегка опустить Пример: Скрины с руоффа http://forum.asterios.tm/index.php?showtopic=367051#entry6251446 Изменено 17 января, 2015 пользователем Crownee 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Xandir Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Подобное лучше показывать в динамике. Со скрина совсем не понятно, на каком уровне стоит моб (вы бы хоть его статы показали + свои) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Нужны координаты места. Такое ощущение что проверка видимости цели происходит не по линии "голова-голова" а по линии "пояс-пояс" или даже "колени-колени".Это не так. Проблема здесь в другом - неровности которые кажутся низкими, в геодате являются достаточно ощутимыми преградами, иногда с большой высотой. А еще земля может быть немного выпуклой, или на горке, это тоже влияет. С первого взгляда, логично было бы проверять выше уровня глаз, чтобы избежать таких "завышенных" неровностей, но ведь тогда перестанут работать некоторые ограждения через которые не должно простреливаться. А еще есть риск "простреливать" низкие потолки, ведь геодата устроена так, что отличает обычный выступ от следующего этажа только по разнице высот. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
justWorst Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 почти везде так) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Нашел координаты на скрине. Вот так выглядит геодата в этом месте. Видно, что местность состоит из больших квадратов, расположенных в виде ступенек. И некоторые ступеньки выше уровня глаз. По правилам геометрии вы не должны простреливать такие области (если прочертить луч, то он упрется в землю). Но понятное дело, что препятствий тут никаких нет и простреливаться они должны. Добавьте сюда округление координат до 16 единиц, и луч получится ступеньчатый а не прямой, что ухудшает ситуацию. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
3oJIoTko Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 у лучников с уровня глаз траектория стрелы идет вверх, а после по потихоньку вниз. прямого луча как у магов и арб не должно быть! если не пробивается то и должны быть преграды, а не "невидимые приграды", либо я что то не понимаю 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
iLordSion Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 (изменено) у лучников с уровня глаз траектория стрелы идет вверх, а после по потихоньку вниз. прямого луча как у магов и арб не должно быть! если не пробивается то и должны быть преграды, а не "невидимые приграды", либо я что то не понимаю А - подвижной движок прицела (мушка) В - база стрелка С - величина натяжения стрелы Н - точка фиксации натяжения М - точка прицеливания Т - вершина траектории П - точка попадания У - угол возвышения Д - дистанция стрельбы САМ - линия прицеливания ну. . . тут все слишком сложно. скажем на олимпе, забежав за стену получаеш дамаг - хоть и преграда, но каст уже пошел. В поле, с их неровностями ты банально невидиш цель и нет начала каста. система считает поле тойже преградой, но в другой оси, и если ты сможеш начать каст и перс убежит за неровность дамаг будет, так что тут все вроде как правильно и без исключений Изменено 18 декабря, 2014 пользователем iLordSion 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Imperfection Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Нужны координаты места. Это не так. Проблема здесь в другом - неровности которые кажутся низкими, в геодате являются достаточно ощутимыми преградами, иногда с большой высотой. А еще земля может быть немного выпуклой, или на горке, это тоже влияет. С первого взгляда, логично было бы проверять выше уровня глаз, чтобы избежать таких "завышенных" неровностей, но ведь тогда перестанут работать некоторые ограждения через которые не должно простреливаться. А еще есть риск "простреливать" низкие потолки, ведь геодата устроена так, что отличает обычный выступ от следующего этажа только по разнице высот. Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivakura Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной. Ну набросай алгоритм, раз такой умный. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Crownee Опубликовано 18 декабря, 2014 Автор Поделиться Опубликовано 18 декабря, 2014 (изменено) Ну сперва я создал темку в разделе предложений, с предложением "линию прицеливания" поднять на пару единиц вверх... Но удалили с рекомендациями создать тут... Так то все понятно что кривизна поверхности всему виной, и чем больше расстояние тем больше она сказывается, но это жутко неудобно и иногда вгоняет в ступор мол вот я, вот цель, почему я не могу выстрелить. А "купол" от мага можно вообще в молоко поставить, ибо он скастуется но урона наносить не будет изза "невидимости" цели. По той же причине swoop cannon крафтеров становится фактически бесполезным в осадных зонах большинства замков (кроме руны и адена наверное) ибо на близкое расстояние стрельнуть нельзя, а на расстоянии выстрела изза невидимости цели урон не нанесется (1600 и 2000 расстояние выстрела, на таком расстоянии можно только на абсолютно ровной поверхности в кого то попасть) Изменено 18 декабря, 2014 пользователем Crownee 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Imperfection Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Ну набросай алгоритм, раз такой умный. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Crownee Опубликовано 18 декабря, 2014 Автор Поделиться Опубликовано 18 декабря, 2014 Нужны координаты места. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Admin Опубликовано 18 декабря, 2014 Поделиться Опубликовано 18 декабря, 2014 Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной. Нельзя. В играх используется 2 метода - либо они полностью доверяют рассчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка. Поэтому геодата разбита на квадраты и имеет огромную погрешность да и вообще не очень то похожа на реальный мир. А алгоритмы должны быть максимально простыми. Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Crownee Опубликовано 18 декабря, 2014 Автор Поделиться Опубликовано 18 декабря, 2014 Нельзя. В играх используется 2 метода - либо они полностью доверяют рассчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка. Поэтому геодата разбита на квадраты и имеет огромную погрешность да и вообще не очень то похожа на реальный мир. А алгоритмы должны быть максимально простыми. Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов. Но ведь линия прицеливания просчитывается от точки до точки, правильно? Насколько технически возможно эту точку слегка поднять, скажем на 10 единиц 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ivakura Опубликовано 19 декабря, 2014 Поделиться Опубликовано 19 декабря, 2014 (изменено) Нельзя. В играх используется 2 метода - либо они полностью доверяют расчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка. Поэтому геодата разбита на квадраты и имеет огромную погрешность да и вообще не очень то похожа на реальный мир. А алгоритмы должны быть максимально простыми. Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов. В таком случае у меня вопрос, но он оффтопный: Вчера, во время респа Баюма, делал квест на 7 этаже ТОИ (тои как известно делится на этажи и естественно каждый этаж имеет крышу стенки и тд.) Сражения нескольких кланов происходили на 13 этаже. И теперь внимание, когда пошел очередной раш одного клана на другой на 13 этаже, у меня начал лагать клиент на 7! (под лагами подразумевается проседание по ФПС, до 1-9фпс) Но в поле зрения у меня не было сотен игроков! Только несколько мобов. (Специально после того как начались лаги, я изменил настройки "лимит NPC\игроков" на минимум, но проседания по фпс не прошло) Как это объяснить? Ведь если сервер считает все "траектории" и все передвижения игроков, то во время крупных сражений должен залагивать весь сервер, а не какая-то определенная локация. Можете дать комментарий по этому поводу? Складывается впечатление что на крупных замесах проблема не в графической отрисовке множества объектов, а в _тупой_ бомбежке клиентов (пакетами), сервером. Изменено 19 декабря, 2014 пользователем keyvan 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
LLIvarcniger Опубликовано 19 декабря, 2014 Поделиться Опубликовано 19 декабря, 2014 А что на счет проблемы для стрельбы сверху вниз и снизу вверх? Арбы/луки банально не могут стрелять, пока не станут на ровную местность с противником. Банальный пример - БАЮМ, на лестнице тупо ничего не сделать, приходиться забегать в толпу и стоять лицом к лицо с варом(хотя арбы/луки отличаются тем что стреляют издалека). 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
NothingMoreElse Опубликовано 19 декабря, 2014 Поделиться Опубликовано 19 декабря, 2014 В таком случае у меня вопрос, но он оффтопный: Вчера, во время респа Баюма, делал квест на 7 этаже ТОИ (тои как известно делится на этажи и естественно каждый этаж имеет крышу стенки и тд.) Сражения нескольких кланов происходили на 13 этаже. И теперь внимание, когда пошел очередной раш одного клана на другой на 13 этаже, у меня начал лагать клиент на 7! (под лагами подразумевается проседание по ФПС, до 1-9фпс) Но в поле зрения у меня не было сотен игроков! Только несколько мобов. (Специально после того как начались лаги, я изменил настройки "лимит NPC\игроков" на минимум, но проседания по фпс не прошло) Как это объяснить? Ведь если сервер считает все "траектории" и все передвижения игроков, то во время крупных сражений должен залагивать весь сервер, а не какая-то определенная локация. Можете дать комментарий по этому поводу? Складывается впечатление что на крупных замесах проблема не в графической отрисовке множества объектов, а в _тупой_ бомбежке клиентов (пакетами), сервером. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Crownee Опубликовано 10 января, 2015 Автор Поделиться Опубликовано 10 января, 2015 http://forum.asterios.tm/index.php?showtopic=367051#entry6251446 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Cranck Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 Попробую наскальными рисунками показать наблюдения игроков: Ступеньки можно формально считать за слои геодаты\препятствия. Даже имея некоторые препятствия на пути, мы все же видим цель и можем ее атаковать. По ощущениям линия видимости расчитывается по уровню титулов игрока\моба, а вероятнее всего по, так сказать, верхушке каркаса объекта (что-то описывающее коллизии игрока\моба). А теперь у нас: Первая же ступенька лишает возможности видеть цель. Пожаление к Администрации, указать на картинке примерно как происходит на данный момент у нас. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Imperfection Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 (изменено) Условно говоря, у нас там вместо 10 небольших ступенек, 2 большие и градиент сглаживания на порядок ниже, соответственно, чисто теоретически, между верхушками вполне может быть препятствие. Изменено 10 января, 2015 пользователем Imperfection 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.