Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2011, 08:07   #1
Celestia
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 68
Радость Создаём портал-ган

Здравствуйте!
Задумал я реализовать портал-ган (кто не в курсе, это такая пушка, которая используется в игре Portal от Valve) в своём движке (DX10), только вот не знаю как можно создать "дырку" в трёхмерном пространстве.. может у кого есть идеи по этому поводу?
Спасибо

Celestia вне форума Ответить с цитированием
Старый 05.03.2011, 09:08   #2
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Как я понимаю, нужно сделать что-то типа этого?
Сначала делаете вход: при этом рисуете, например, овал, делаете его "непрозрачным" (можно синим, как в Portal). Никакого интерактивного действия со входом нет (т.к. нет выхода).
Далее делаете выход. При этом снова рисуете овал. На оба овала "весятся" камеры. На овалы "выводится" изображение с этих камер.
Не знаю, насколько это просто реализовать на том языке программирования, который используете Вы, но на DarkBasic пару лет назад я это делал легко.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 05.03.2011, 10:31   #3
Celestia
Пользователь
 
Регистрация: 03.11.2010
Сообщений: 68
По умолчанию

Wicort, и получается что при соприкосновении допустим с оранжевым порталом, срабатывает триггер, и мы переносимся в точку перед синим? А меня интересует как реализовать именно не телепортацию и проход, "дырку" как бы, вот как на рисунке)
Celestia вне форума Ответить с цитированием
Старый 05.03.2011, 13:18   #4
Андрей 93
Люблю жизнь
Форумчанин
 
Аватар для Андрей 93
 
Регистрация: 01.12.2009
Сообщений: 193
По умолчанию

Celestia, игрок ведь рисуется не на том месте, где вы стоите, там только руки и оружие. Рисоваться он будет там, где его можно увидеть. Если у вас есть наработки, выложите для просмотра. Представить в голове этот процесс сложно А Wicort правильно говорит. На порталы выводится изображение с камер, но на этом изображении не должно быть самого героя. Он может находиться перед и за изображением, поэтому его надо рисовать отдельно и в трехмерном виде, а остальное изображение с камер в 2D.
Не стыдно не уметь, стыдно не учиться.
Андрей 93 вне форума Ответить с цитированием
Старый 05.03.2011, 14:16   #5
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Цитата:
Сообщение от Celestia Посмотреть сообщение
Wicort, и получается что при соприкосновении допустим с оранжевым порталом, срабатывает триггер, и мы переносимся в точку перед синим? А меня интересует как реализовать именно не телепортацию и проход, "дырку" как бы, вот как на рисунке)
да, срабатывает триггер. Но это совсем не значит, что нужно сразу перенести игрока в координаты за выходом. В таком случае будет заметен рывок.
Как бы это объяснить по-проще... сейчас попробую нарисовать.

Т.е. вы перемещаете игрока не "за" портал, а перед "ним". А потом игрок как бы проходит сквозь портал.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 14.03.2011, 13:02   #6
AleD
 
Аватар для AleD
 
Регистрация: 08.04.2009
Сообщений: 6
По умолчанию

Так же, как и всех кодеров, игравших в Portal, интересует тема повторения сего своими руками

Как мне кажется с графической стороны всё не так сложно: смотря в портал, рисуем сначала вид из второго портала относительно него так, как относителен первый портал к камере игрока. При этом нужно отсечь всё, что находится сзади второго портала. Затем поверх рисуем с камеры игрока так, что-бы первый портал был прозрачный.

А вот со стороны физики даже в оригинальном портале не всё гладко. Для идеального результата, кажется, нужно полностью весь движок затачивать под порталы, все его компоненты: физика, графика, звук, освещение, ИИ...
Изображения
Тип файла: jpg PortalWatchValid.jpg (10.9 Кб, 122 просмотров)
Тип файла: jpg PortalWatchInValid.jpg (8.1 Кб, 127 просмотров)
Живём один раз, а переживаем дохрена

Последний раз редактировалось AleD; 14.03.2011 в 13:24.
AleD вне форума Ответить с цитированием
Старый 14.03.2011, 16:02   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Для идеального результата, кажется, нужно полностью весь движок затачивать под порталы, все его компоненты: физика, графика, звук, освещение, ИИ...
Хех, а вот помнится мне, Portal написан на движке Source. Вот только делали Portal студенты, и Valve к ним никакого отношения не имела(вроде бы), и поэтому движок, как вы понимаете, не был заточен под всё это...Да это и не было нужно. А зачем?
_-Re@l-_ вне форума Ответить с цитированием
Старый 14.03.2011, 18:19   #8
AleD
 
Аватар для AleD
 
Регистрация: 08.04.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Хех, а вот помнится мне, Portal написан на движке Source. Вот только делали Portal студенты, и Valve к ним никакого отношения не имела(вроде бы), и поэтому движок, как вы понимаете, не был заточен под всё это...
Когда эти студенты не имели никакого отношения с Valve они сделали Narbacular Drop, а вот когда их взяли к себе винтики, тогда они начали делать Portal.

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Да это и не было нужно. А зачем?
Да я и говорю для идеального результата
Живём один раз, а переживаем дохрена
AleD вне форума Ответить с цитированием
Старый 01.04.2011, 18:06   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
Когда эти студенты не имели никакого отношения с Valve они сделали Narbacular Drop, а вот когда их взяли к себе винтики, тогда они начали делать Portal.
Valve их взяла к себе после того, как они сделали Portal. Сдуйся.
Цитата:
Да я и говорю для идеального результата
Движок Source и без того весьма идеален.
_-Re@l-_ вне форума Ответить с цитированием
Старый 02.04.2011, 06:00   #10
AleD
 
Аватар для AleD
 
Регистрация: 08.04.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Valve их взяла к себе после того, как они сделали Portal. Сдуйся.
Слушай, если не знаешь - зачем споришь? Читай в вики:
Цитата:
Сообщение от ru.wikipedia.org
У игры Narbacular Drop нет продолжения, однако сама игра настолько понравилась Гейбу Ньюэллу, что он предложил команде разработчиков присоединиться к Valve. Внутри этой корпорации та же самая команда создала игру Portal, основанную на идеях, заложенных в игровую механику Narbacular Drop. Поэтому Portal можно назвать духовным наследником игры.
Гейбу просто эти студенты были бы не нужны, если бы они себя не проявили.
Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Движок Source и без того весьма идеален.
Не спорю, двигло Source хорош, но я говорю не о движке, а о реализации порталов в Portal'е. Пощупав возможности порталов, создав карту в Hammer'е, можно заметить некоторые поблажки разработчиков. Например объект находящийся между порталами не взаимодействует сам с собой. Или например большой объект, лежащий между порталами, можно двигать и всячески с ним взаимодействовать с другой стороны портала. Этих поблажек в игре, конечно, не встретишь, т.к. левел дизайнеры это грамотно спрятали.
Живём один раз, а переживаем дохрена
AleD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли задать имя фигуре которую создаём? Turistovik Microsoft Office Excel 3 27.09.2010 21:30
Создаём патч GenniY Общие вопросы Delphi 10 19.10.2009 12:20
wap-портал andrey4623 PHP 1 01.06.2008 20:14
Создаём игровой движок Cezar Gamedev - cоздание игр: Unity, OpenGL, DirectX 85 03.04.2007 17:53