|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2015, 15:49 | #1 |
Новичок
Джуниор
Регистрация: 26.01.2015
Сообщений: 1
|
Реализация стрельбы в шутерах.
Как реализуется стрельба в шутере. Что такое выстрел, пуля, точность оружия. Что такое вообще "стрельба" в шутере. Есть ли различие между шутерми от 1-ого лица и 3-его лица, между сетевым(ММО) и не сетевым.
Прошу не сильно углубляться в "программные дебри" и помидоры не бросать. Сам не программист и ни когда этим не занимался. |
28.01.2015, 15:53 | #2 | |
Заблокирован
Регистрация: 24.11.2014
Сообщений: 721
|
Цитата:
|
|
28.01.2015, 17:20 | #3 | |||
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
Цитата:
Цитата:
Цитата:
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
|||
28.01.2015, 19:24 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цель-то какая? Что вы хотите, зачем вам это?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
28.01.2015, 19:37 | #5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Или хотя бы как происходит расчет лучей (он же raytrace rendering) для определения интерсекции с обьектом? Цитата:
P.S. поправил название расчета лучей.
I'm learning to live...
Последний раз редактировалось Stilet; 29.01.2015 в 13:53. |
||
29.01.2015, 13:49 | #6 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,601
|
трассировку лучей изучайте
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
06.02.2015, 18:59 | #7 | |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
Цитата:
|
|
06.02.2015, 19:42 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
06.02.2015, 19:58 | #9 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
Ну это ему уже сложно будет.
А так видимо на каждое условие ему пришлось бы код описывать. Замерять рсстояние откуда пуля вылетела и с каким полигоном и через какое расстояние столкнулась Если с "зеркалом" - то лететь в обратном направлении Если со "стеной" то исчезнуть и тд. |
07.02.2015, 08:43 | #10 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,601
|
Основные две технологии, использующиеся для программирования компьютерной графики это DirectX и OpenGL. В прошлом году Microsoft объявило о предварительном выпуске DirectX 12 для разработчиков компьютерных игр.
Движение пули в заданном направлении реализуется с использованием умножения матриц и векторов. Векторное пространство. Матрица масштабирования задается в виде sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1 Данная матрица позволяет разместить вершины по осям координат. Матрица трансляции задается в виде 1 0 0 0 0 1 0 0 0 0 1 0 tx ty tz 1 для того, чтобы при умножении матрицы A на матрицу трансляции получалась матрица A1 с новыми координатами объекта. Матрица вращения пули задается в виде матриц R1, R2, R3 вращения 1 0 0 0 0 cost sint 0 0 -sint cost 0 0 0 0 1 cost 0 -sint 0 0 1 0 0 sint 0 cost 0 0 0 0 1 cost sint 0 0 -sint cost 0 0 0 0 1 0 0 0 0 1 где t угол поворота по оси координат Для вращения по нескольким координатным осям производится умножение матрицы A на несколько матриц вращения R1, R2, R3 Умножение матриц не коммутативная операция. Если задан вектор x1 y1 z1 1 описывающий точку, то при умножении вектора на матрицу трансляции 1 0 0 0 0 1 0 0 0 0 1 0 tx ty tz 1 получим следующий вектор, описывающий новое положение точки в пространстве x1+tx y1+ty z1+tz 1 Полигон это набор из трех точек с координатами { (x1, y1, z1), (x2, y2, z2), (x3, y3, z3) }. По трем точкам строится уравнение плоскости Ax + By + Cz + D где A, B,C,D вычисляются по формулам A = det ( a2, a3, 1.0, a5, a6, 1.0, a8, a9, 1.0); B = - det ( a1, a3, 1.0, a4, a6, 1.0, a7, a9, 1.0); C = det ( a1, a2, 1.0, a4, a5, 1.0, a7, a8, 1.0); D = - det (a1, a2, a3, a4, a5, a6, a7, a8, a9); Определитель матрицы static double det(double a1, double a2, double a3, double a4, double a5, double a6, double a7, double a8, double a9) { return ( a1 * a5 * a9 - a3 * a5 * a7 + a2 * a6 * a7 + a3 * a4 * a8 - a1 * a6 * a8 - a9 * a2 * a4 ); } Чтобы проверить, столкнулась ли пуля с каким-либо объектом, нужно проверить пересечение плоскостей пули с плоскостями объекта. Объект в общем случае это многогранник.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод стрельбы хромающий | Наталья20 | Помощь студентам | 0 | 26.02.2013 23:12 |
Звук стрельбы | Abuhamed | JavaScript, Ajax | 1 | 02.03.2012 23:00 |
Вопрос: Параллельные алгоритмы. Реализация стрельбы. | MooNDeaR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 23 | 06.08.2011 16:04 |
Численные методы. Метод Стрельбы (Делфи) | s1z0n | Помощь студентам | 1 | 23.04.2010 15:37 |
Задача на оценку эффективности стрельбы | Борзов | Помощь студентам | 3 | 23.05.2007 06:54 |