forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   2D портал (http://forum.boolean.name/showthread.php?t=14570)

den 11.04.2011 16:42

2D портал
 
Вложений: 1
Вобщем не знал где тему создать. поэтому пускай здесь.

Как сделать порталы в 2D мире. При этом чтобы сохранялась физика.
Вот картинка для пояснения.
Белый куб - динамический объект с физикой. (Кстати, физ. движок Box2D)
Зелёные стены - статические стены.
Красная и синия полоски - порталы. То есть если куб провалился в одну из них, от появится в другой. Короче как в игре Portal (только 2D).
Вложение 13358
Думаю объяснил понятно.
Нужна идея.
Самая очевидная - разделять объект на несколько и делать силы общими - сложный и некрасивый))
Хотелось бы услышать ваши идеи о реализации.
777 сообщение:)

Reizel 11.04.2011 16:57

Ответ: 2D портал
 
Хм, повернуть вектор ускорения на угол между порталами?

den 11.04.2011 17:07

Ответ: 2D портал
 
Павел, вы меня не поняли.
Когда куб проваливатся в первый портал, его провалившееся часть появляется во втором портале. При этом он остаётся одним физ. телом.
То есть на моей картинке, если предположить что куб был брошен в красный портал, он вылитет влево из синего.
Upd: а ещё лучше посмотрите видео о игре Portal.
Вопрос ещё в силе.

den 11.04.2011 17:47

Ответ: 2D портал
 
Я понял что хотел сказать Павел.
Это я и сам понимаю))
Меня интересует как сделать чтобы когда тело разделено на две части (ещё не доконца упало) физика была общей для двух частей.
А как реализовано в Portal? Может тело там разделено только графически? А физической тело "телепортируется" только когда его середина дойдёт до портала?

Reizel 11.04.2011 18:11

Ответ: 2D портал
 
Аа, я тебя понял!! Тогда наверно только нарезать его кусками..

ARA 11.04.2011 18:17

Ответ: 2D портал
 
А что, создать копию этого куба в другой дырке религия не позволяет? вытолкнуть его из синей дыры с силой, с которой вталкивали в оранжевую.

ARA 11.04.2011 18:28

Ответ: 2D портал
 
В момент вхождения куба в дыру и в момент выхождения из дыры отключать коллизию куба с уровнем.

den 11.04.2011 19:43

Ответ: 2D портал
 
Спасибо:)
С графикой тоже можно так сделать - чтобы уровень рисовался поверх куба. Только с тонкими тенками, толщина которых меньше куба будет проблема...

LLI.T.A.L.K.E.R. 12.04.2011 01:49

Ответ: 2D портал
 
Ну пусть физический кубик будет копироваться (перемещаться) в точку телепортации.
А графический кубик обрезать clipping-ом относительно точки телепортации и позиции кубика.
Примерно как в эффекте при перемещении объекта за край экрана в другой противоположный край.


Часовой пояс GMT +4, время: 08:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot