физика в изометрии
|
|
kashey_immortal | Дата: Среда, 03 Октября 2012, 00:24 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Доброго времени суток. Подскажите пожалуйста можно ли сделать физику в изометрической 2д игре? Если да то как ? Например, в моей игре, мне нужно чтоб при выстреле в моба из ракетницы его разрывало на куски и эти куски хаотично разлетались по всей комнате. При этом постепенно замедляли своё движение и ударяясь о стены оставляли на них следы.
|
|
| |
BrightSpot | Дата: Среда, 03 Октября 2012, 04:08 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| во загнул для гм-а... могу сказать только то что можно
Более мощный компьютер глючит быстрее и точнее.
|
|
| |
King | Дата: Среда, 03 Октября 2012, 05:18 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Quote (kashey_immortal) при выстреле в моба из ракетницы его разрывало на куски и эти куски хаотично разлетались по всей комнате. При этом постепенно замедляли своё движение и ударяясь о стены оставляли на них следы Это можно сделать и без физики, с помощью частиц. Если в твоем понимании куски не являются головой/рукой/ногой, хотя даже в этом случае можно.
Nothing is true, everything is permitted. Shadows Games
|
|
| |
ilgamer | Дата: Среда, 03 Октября 2012, 10:38 | Сообщение # 4 |
Needle Games
Сейчас нет на сайте
| Думаю что проще будет разработать 3d с изометрическим видом.
P.S. Если не хочется упрощать себе жизнь, можно извращаться, узнавая направление движения конечности, изменять ее размер и положение в соответствии с ним. Вывести формулу. Получить Нобелевскую премию.
P.P.S. Как думаешь, почему такой игры не было когда уже было с десяток игр в изометрии? Ответ: "Изометрия - псевдо-3D, где имитируется только вид, но не физическая составляющая. Математика рассматривает 2D и 3D. Может быть и 4D , пока не проходил..." Это КЭП, но он открывает нам глаза на то, что можно использовать "3D Псевдо-изометрию".
Сообщение отредактировал ilgamer - Среда, 03 Октября 2012, 12:09 |
|
| |
kashey_immortal | Дата: Среда, 03 Октября 2012, 19:19 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| King, Если можно опиши пожалуйста подробнее. ilgamer, 3D мне не подходит, так как делаю в штмл 5. Хотя может я чегото не знаю и в штмл тоже можно 3D использовать?
|
|
| |
ilgamer | Дата: Четверг, 04 Октября 2012, 15:01 | Сообщение # 6 |
Needle Games
Сейчас нет на сайте
| Немного потыкавшись, можешь написать простейшую физику самостаятельно. Лист бумаги и карандаш в руки и вперед. Что я вижу, так это 8 направлений движения конечности, небольшая формула изменения размера движущейся конечности для каждого. При смерти, моб создает четыре конечности (может быть и голову :smile: ), а они при создании получают случайное напраыление из восми и движутся по соответствующей траектории. Ну, привязываешь проверку встречи с другими объектами и меняешь направление движения. Скорость при этом уменьшается, независимо от столкновений.
Сообщение отредактировал ilgamer - Четверг, 04 Октября 2012, 15:02 |
|
| |
minecrafter2 | Дата: Четверг, 04 Октября 2012, 20:26 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Ну следы можно крейтором
Майнкрафт - лучшая игра в мире
|
|
| |
ilgamer | Дата: Пятница, 05 Октября 2012, 08:26 | Сообщение # 8 |
Needle Games
Сейчас нет на сайте
| Quote Ну следы можно крейтором Плохому учишь. ИМХО. Сурфейсы в помощь. Загугли на этут тему или глянь на форуме на эту тему что. Вопросы были, сам видел.
|
|
| |
kashey_immortal | Дата: Пятница, 05 Октября 2012, 23:46 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| ilgamer, Спасибо за совет. Quote (ilgamer) небольшая формула изменения размера движущейся конечности для каждого не подскажешь как реализовать изменение размера?
|
|
| |
ilgamer | Дата: Суббота, 06 Октября 2012, 00:34 | Сообщение # 10 |
Needle Games
Сейчас нет на сайте
| Ну, это эксперементальным путем лучше делать. С течением времени и в зависимости от направления движения, изменяем размер спрайта конесности. Вот набросок: Code If(t<10) //Если конечность в полете { t+=0.01; switch(MyDirection) { //0 - движение вправо (размер не изменяется, только движение по кривой) case 0: x+=1/t; y+=1/t; break; case 45: ... break; case 90: ... break; // и т.д. } }
Сообщение отредактировал ilgamer - Суббота, 06 Октября 2012, 00:40 |
|
| |
kashey_immortal | Дата: Суббота, 06 Октября 2012, 14:48 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Ещё раз большое спасибо
|
|
| |