Телепортация при коллизии+повороте на стыке спрайтов
|
|
IvanKorobko | Дата: Вторник, 15 Января 2013, 09:33 | Сообщение # 1 |
IK Studio
Сейчас нет на сайте
| Такое дело: при коллизии игрока и квардратных(да и не только) спрайтов, образующих на стыке угол 90 град(может и другие углы... - не тестил) и повороте впритык к этим спрайтам + стремясь движением в угол - игрок таинственным образом телепортируется сквозь них...
Может я не сильно ясно изъяснил мысль, поэтому - иллюстрация в помощь к пониманию проблемы:
Кто-нибудь сталкивался? Проблема решаема или это диагноз Конструкта?
|
|
| |
Cupuyc | Дата: Вторник, 15 Января 2013, 11:22 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Проблема решается очень просто. Делаем героя и его спрайт - отдельно. Один объект имеет все значения, все поведения героя и имеет коллайдер круга(К примеру) для коллизии - и этот объект никогда не вращается(!!!). Второй проигрывает анимацию, выглядит красиво, вращается на курсор\в направлении движения и спаунит пули, эффекты и т.д. Решение идеальное. Использую эту концепцию везде. Даже в Атраментум. Хех. А проблема у новичков довольно частая. Мне писали, да. Те кто TDS в основном делают.
Законопослушно-добрый паладин. Блог ЭпикДаст VK Stone Sour - Through Glass
Сообщение отредактировал Cupuyc - Вторник, 15 Января 2013, 11:27 |
|
| |
IvanKorobko | Дата: Вторник, 15 Января 2013, 11:58 | Сообщение # 3 |
IK Studio
Сейчас нет на сайте
| Цитата имеет коллайдер круга(К примеру) для коллизии - и этот объект никогда не вращается(!!!)
К сожалению данный вариант немного не подходит... всё бы хорошо, но т.к. коллизия будет происходить по окружности круга - в игре это будет смотреться(при определенных углах) буд-то персонажа "тормозит" пустота м/у ним и... скажем стеной...
Есть ли другие варианты решения данной проблемы? Как я понимаю проблема кроется на стыке спрайтов(при вращении часть спрайта персонажа чедесным образом просачивается через этот стык и "вуаля" - телепорт)? может можно выставить область коллизии +2пикс к ореалу спрайта ГГ как-нибудь? или круг-коллайдер под ГГ это судьба?
|
|
| |
Cupuyc | Дата: Вторник, 15 Января 2013, 12:05 | Сообщение # 4 |
участник
Сейчас нет на сайте
| mef1sto, ставь коллайдер хоть квадрат, хоть многоугольник, только учти что коллайдер не вращается. Если нормально подобрал размеры коллайдера - это будет прекрасно смотреться. И смотрится. Есть другое решение. Можно сделать препятствия "толще". Но при упорстве, игрок всё равно сможет телепортироваться из угла.
Еще, можно использовать один коллайдер в форме круга... Относительно небольшой. Он будет отвечать за то, чтобы мы сквозь стены не ходили. И второй отдельно от системы перемещения. В форме ГГ. Если нужно, чтобы что-то не проходило именно через ГГ, то через второй коллайдер оно и не будет проходить.
На худой конец опробуй bounce и pushOut'ы из поведения custom movement чтобы заменить оригинальную коллизию 8 стороннего движения. Но, я считаю что их сложно адекватно настроить.
Законопослушно-добрый паладин. Блог ЭпикДаст VK Stone Sour - Through Glass
Сообщение отредактировал Cupuyc - Вторник, 15 Января 2013, 12:07 |
|
| |
IvanKorobko | Дата: Вторник, 15 Января 2013, 12:35 | Сообщение # 5 |
IK Studio
Сейчас нет на сайте
| Цитата (Cupuyc) На худой конец опробуй bounce
При низком значении - проскакивает, будто так и было задумано... от 2х и выше - проскочить случайно уже сложно, но эти отскоки от стен - будто мячиком, а не танком играешь...
|
|
| |
Cupuyc | Дата: Вторник, 15 Января 2013, 12:54 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Это ведь bounce.
Законопослушно-добрый паладин. Блог ЭпикДаст VK Stone Sour - Through Glass
|
|
| |
IvanKorobko | Дата: Вторник, 15 Января 2013, 13:29 | Сообщение # 7 |
IK Studio
Сейчас нет на сайте
| Спасибо - решил проблему Вашим способом (мысленно представив, что это не круг, а некая аура ПДД, запрещающая совести водителя болида скрежить оным по стенам)
|
|
| |
Cupuyc | Дата: Вторник, 15 Января 2013, 13:38 | Сообщение # 8 |
участник
Сейчас нет на сайте
| x). Ыыы.
Законопослушно-добрый паладин. Блог ЭпикДаст VK Stone Sour - Through Glass
|
|
| |