Пока болею, начал вновь ковыряться в редакторе.
В чем вопрос - камера стандартная игровая, прикреплена к герою. Как мне найти точку, которая находится ЗА пределами камеры игрока, не сильно далеко? Чтобы заспавнить там моба, к примеру

Accepted answer

ssbbssc, используй не офсет смещение, а полярное смещение, где указываешь радиус (расстояние) 1750 и рандомный угол. Иначе у тебя почти все мобы будут приходить с одной стороны. Да и в целом изначально делай спавн со смещением от точки героя по полярным координатам, и не придется перепроверять, а где та самая точка.
`
LOADING AD...
0
19
1 month ago
0
Похожие вопросы:

ответ
Вот, нашёл: xgm.guru/files/100/174291/comments/328619/USTS.w3x
А вот, что можно сделать с помощью этой системы:

0
20
1 month ago
0
а, господи, что я туплю то
хотел по умному сделать, с отловом границ камеры, но ЭТО ЖЕ ВАРИК БЛЕЯТЬ
забыл куда зашел
короче, раз камера закреплена - значит можно посчитать расстояние от центра камеры (героя) до края, и там уже спавнить
теперь только осталось допедрить до исполнения
Replies (1)
0
29
1 month ago
0
ssbbssc, а если игрок наклонит камеру колёсиком?
0
27
1 month ago
0
Может моба стоит спавнить при условии, что точка в тумане войны?
Replies (1)
0
20
1 month ago
0
rsfghd, во-первых, я такого условия даже не видел
во-вторых, туман войны находится также за пределами карты, а если юнит туда улетит может зафаталить
0
20
1 month ago
Edited by ssbbssc
0
Если врубать сетку, вот что появляется. Кто знает расстояние между углами этого квадрата?

посчитал расстояние в сетке, по совету. пространство за экраном, если камера стандартная и закреплена за юнитом, будет в радиусе примерно 1750 в любую сторону, включая диагональ


теперь нужно выбрать точку, не ближе чем 1750 к герою и не дальше, чем 2500, к примеру
Uploaded files
Replies (3)
1
29
1 month ago
1
ssbbssc, в углу редактора пишутся игровые координаты кусора. Наведи на края и посчитай.
0
20
1 month ago
0
nazarpunk, спасибо! получилось 510 примерно. а это именно игровые единицы, а не редакторские какие-нибудь? под игровыми я понимаю дальность действия абилок, к примеру
0
29
1 month ago
0
ssbbssc, это игровые границы которые используются для всего, что в игре имеет показатель расстояния.
0
20
1 month ago
0
в общем сделал вот так. может есть и более изящный способ, но видно я уже просто отупел
Uploaded files
Replies (8)
0
20
1 month ago
0
хотя тут косяк в том, что если точка будет внизу на -1720, к примеру, оффсет её двинет вообще почти в ноль, и в итоге прямо под героя
0
29
1 month ago
0
ssbbssc, ты же понимаешь, что время зарандомится ровно один раз на всю игру?
0
29
1 month ago
0
но видно я уже просто отупел
Судя по гуй-муй то и не умнел...
0
24
1 month ago
0
ssbbssc, используй не офсет смещение, а полярное смещение, где указываешь радиус (расстояние) 1750 и рандомный угол. Иначе у тебя почти все мобы будут приходить с одной стороны. Да и в целом изначально делай спавн со смещением от точки героя по полярным координатам, и не придется перепроверять, а где та самая точка.
Accepted answer
1
24
1 month ago
Edited by konvan5
1
ssbbssc, вот пол триггера в одной функции со 100% спавном в радиусе 1750 в случайной стороне.
Uploaded files
1
24
1 month ago
1
ssbbssc, так-же nazarpunk уже тебе подсказал, что время, которое ты рандомишь в событии, зарандомится в начале игры и будет одинаковое в течении всей игры. Если хочешь чтобы время было каждый раз разное - запускай задержку через таймер.
Событие - таймер А истек.
Действие - в конце запустить таймер А со временем (случайное число от 0.9 до 4)
0
20
1 month ago
0
nazarpunk, спасибо за хамство, можете тут больше не появляться
0
20
1 month ago
0
konvan5, спасибо большое
1
25
1 month ago
Edited by Jack-of-shadow
1
Еще проверяй чтоб не заспавнился за краями карты иначе кританет. Так же хорошо бы сначало проверить проходимость, чтобы не заспавнился в декорациях.
Replies (2)
0
20
1 month ago
0
Jack-of-shadow, да, на этот случай буду выдавать им призрачность, если натикает таймер "стояния на месте"
1
25
1 month ago
Edited by Jack-of-shadow
1
ssbbssc, зачем? ты можешь сразу проверить.
Есть два варианта:
  1. Проверять паффинг в точке (не сработает, потому что +- миллиметр может зарешать)
  1. Заспавнить юнита, и сравнить его координаты с координаторами спавна (если изменились больше чем на 32 значит застрял в текстурах)
Застрявшего смещаешь циклом в любую сторону, пока не встанет нормально (у цикла лучше сделать счетчик на 100, чтобы не зациклился намертво если место так и не найдется. И опять же границы карты чекай чтобы не улетел).
0
37
1 month ago
0
Если надо совсем круто и независимо от ракурса (хоть кверх ногами) - в DGUI есть операция world2win у камеры
To leave a comment please sign in to the site.