![]() |
порталы как в Portal - это как ?
как можно реализовать порталы из игры portal то-есть входим в один выходим из 2рого
была идея создавать триггер и проверять если игрок в нём то тп его ко 2рому порталу так сделать можно но выглядеть это будет не очень в самой игре портал была другая механика то-есть можно было на половину зайти в один портал и пол игрока торчит из 2 рого как сделать такое даже идей нет если кто-то знает может поделитесь |
Ответ: порталы это как ?
создаешь двух игроков, одного скрываешь, в случае необходимости показываешь где надо
|
Ответ: порталы это как ?
а как быть с обьектами с кубиком на пример
все обьекты по 2 штуки иметь это не выход |
Ответ: порталы это как ?
это выход вообще-то, другого способа я не вижу
|
Ответ: порталы это как ?
эх жаль нельзя посмотреть как сделано в самом портале
|
Ответ: порталы это как ?
ну хоть способ самый простой с перемещением боди как сделать такой не работает XD
If EntityDistance (camera,portal1) <15 pxBodySetPosition player_body ,EntityX(portal2),EntityY(portal2),EntityZ(portal2 ) ;RotateEntity camera ,EntityRoll(portal2),EntityYaw(portal2),EntityPitc h(portal2)+90 EndIf If EntityDistance (camera,portal2) <15 pxBodySetPosition player_body ,EntityX(portal1),EntityY(portal1),EntityZ(portal1 ) ;RotateEntity camera ,EntityRoll(portal1),EntityYaw(portal1),EntityPitc h(portal1)+90 EndIf |
Ответ: порталы это как ?
Прочитай свой код еще раз, небось туда сюда без конца кидает ?
|
Ответ: порталы это как ?
но как по другому я уж не знаю
|
Ответ: порталы это как ?
ну код написали как пример, это не значит что он должен полностью реализовывать все. его доработать и все будет ок :)
а что бы видеть то что в портале молжно заюзать вторую камеру(хотя ресурсоемко) P.S а зачем телепортировать именно в точку где портал номер 2 стоит ? надо же как бы перед порталом ? вот просто телепортить игрока немного смещая в ту сторону куда смотрит портал :) это самое первое что на ум пришло |
Ответ: порталы это как ?
вот как доработать то
на счёт отражения в портале можно создать портал и отрендерить кубемапу |
Ответ: порталы это как ?
А может, сделать честно - отрендерить мир в текстуру и поверх её там где потрал нарисовать тот же мир но с другой позиции?
P.S. Только если в Portal 2 сделать порталы друг напротив друга, получается 100500 отражений, тут как-то схитрить надо. |
Ответ: порталы это как ?
ну схитрить - просто циклично* пририсовывать изображения мира, с уменьшением в центр на каждой плоскости портала.
только рендер в текстуру будет "тяжёлым" для блитз3д *минимум сделать два рендера с каждого портала, а потом цикл хотя нет - центром считать параллельную противоположность между порталами. Код:
/ |
Ответ: порталы это как ?
в fast ext рендер в текстуру очень быстрый поэтому сделать не так сложно а вот как сделать нормальное перемещение мкжду порталами я не знаю
|
Ответ: порталы это как ?
Цитата:
|
Ответ: порталы это как ?
Цитата:
Посмотри как делается отражение от воды, там нужна вектор вертикально отразить камеры к воде. Тут также, только в данном случае вектор нужно отражать исходя из вектра направления самого портала. Тоже самое относиться к объектам проходящим. Вычисляешь вектор между порталом и объектом, затем инвертируешь этот вектор - и вот тебе новая позиция относительно новому порталу. Не забудь что инвертированный вектор также нужно повернуть на вектор который есть разница между поворотами двух порталов. Думаю это вся математика что нужна для порталов. Да, и при рендере отражения, нужна ClipPlane для того чтобы отсечь всё что ближе чем портал, а то будут проблемы там.. |
Часовой пояс GMT +4, время: 01:23. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot