Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.12.09;
Скачать: [xml.tar.bz2];

Вниз

Как делать прицел в 3D играх не   Найти похожие ветки 

 
Кен   (2003-05-21 04:47) [0]

и оружие в разных точках, то получается, что мы целимся по одной линии, а стреляем по другой. Вопрос, где же должен быть прицел в таком случае, чтобы обеспечить точность прицеливания ? Либо как должна лететь пуля, чтобы попасть туда, куда целимся ?


 
NailMan   (2003-05-21 09:55) [1]

Создай мнимый(не рендерящийся) вектор-отрезок, который основанием "закреплен" на игроке в том районе где у него оружие, а второй конец поворачивается вместе с игроком так чтобы вектор-отрезок был всегда по линии взгдяда игрока. Пули будут улетать от игрока не по линии взляда камеры, а по этому вектору-отрезку.
Расстояние от игрока до второго конца делай 3-4 игровых метра, проецируй его на плоскость экрана и рисуй там экранный спрайтик-перкрестие.

Такой подход позволит тебе по разному выставлять начальну точку полета пуль(с правой руки, левой, с обеих), и таким образом менять характер стрельбы.



 
Кен   (2003-05-22 03:12) [2]


> Создай мнимый(не рендерящийся) вектор-отрезок, который основанием
> "закреплен" на игроке в том районе где у него оружие, а
> второй конец поворачивается вместе с игроком так чтобы вектор-отрезок
> был всегда по линии взгдяда игрока. Пули будут улетать от
> игрока не по линии взляда камеры, а по этому вектору-отрезку.

Так камера то находится над игроком. И если сквозь это перекрестие мы будем видеть врага, то если бы мы смотрели из дула пистолета, то мы бы видели небо. И стреляли над его головой.

Кстати, наверно поэтому в Томб-рэйдере прицеливание автоматическое.

Может быть сделать не перекрестие прицела, а нечто вроде кружочка ? Типа пули попадают примерно в эту область. Сами же пули пускать случайный образом чуть ниже чем линия выстрела. Заодно автоматически добавится кучность стрельбы.


 
Кен   (2003-05-22 07:04) [3]

Да. И ещё. Как лучше сделать снайперский прицел ? Надо ведь большую часть экрана прикрыть чем-то и оставить только маленькое отверстие со снайперской разметкой прицела.
Как в GLScene вставить прозрачную картинку, чтобы через её части можно было смотреть ? И где эту самую картинку взять ? В смысле с прицелом.


 
Arch-vile   (2003-05-22 22:26) [4]

Надо прицел делать как в Max Payne: Там этот вектор заканчивается на ближашем объекте, а не в 2-3 метрах от героя. То есть прицел рисуется не возле игрока, а на стенке, враге, трубе, столике, etc.


 
Кен   (2003-05-23 01:12) [5]

Arch-vile ©
> Надо прицел делать как в Max Payne: Там этот вектор заканчивается
> на ближашем объекте, а не в 2-3 метрах от героя. То есть
> прицел рисуется не возле игрока, а на стенке, враге, трубе,
> столике, etc.

То есть делать BuildOctree для каждой! FreeForm в игре.
Это не игра, а один большой тормоз будет.


 
NailMan   (2003-05-26 14:16) [6]

To -> Кен ©
Так камера то находится над игроком. И если сквозь это перекрестие мы будем видеть врага, то если бы мы смотрели из дула пистолета, то мы бы видели небо. И стреляли над его головой.
Нет. Мы видим на игрока сверху, но линия взгляда камеры никоим боком не является линией стрельбы. Вектор-отрезок жестко прикручен к игроку и является линией стрельбы, а дальний конец его проецируется на экран, который отмечается а нем неким маркером. Таким образом будет видимость 2Д-прицела в 3Д. Соответственно если ты будешь делать orbit вокруг игрока, то все равно он будет стрелять по этому вектору. В Хитмана поиграй - поймешь.

Кстати, наверно поэтому в Томб-рэйдере прицеливание автоматическое.
Aim дело неблагодарное. Фактически линия прицеливания попадает на предмет и игроку остается нажать спуск. А если отрезок будет конечен, то игроку нужно именно целиться. К тому же можно прикрутить параболичность траектории, что есть физический факт.

Да. И ещё. Как лучше сделать снайперский прицел ? Надо ведь большую часть экрана прикрыть чем-то и оставить только маленькое отверстие со снайперской разметкой прицела.
А кякже. Именно так и делается - покрываешь непрозрачным спрайтом и рисуешь(лучше именно так) 3Д-линии перекрестия в спроецированных на плоскости камеры координатах. Таким образом от разрешения толщина перекрестия не зависит.

Как в GLScene вставить прозрачную картинку, чтобы через её части можно было смотреть ?
Х.З. Я по директу больше.

И где эту самую картинку взять ? В смысле с прицелом.
Ответ очевиден - либо сам сделай, либо стыбзи у кого-нить.




Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.12.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.001 c
9-28388
Juster~
2003-05-08 18:02
2003.12.09
2NailMan


9-28377
Кен
2003-05-21 04:47
2003.12.09
Как делать прицел в 3D играх не


9-28375
Vermut
2003-05-18 19:13
2003.12.09
как в GLScene делать


9-28380
KIE
2003-05-22 13:26
2003.12.09
Граф движок, на чем лучше писать?


1-28397
ami
2003-11-26 22:01
2003.12.09
динамическое зменение цвета формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский