![]() |
Вращение оружия вместе с камерой
Создаю некий FPS, как вращать оружие вместе с камерой? И как еще реализовать повреждения от ножа(чтобы повреждения наносились лишь вргам спереди).И вот: как сделать так, чтобы при наведении курсора на NPC можно было сделать что-то(именно как реализовать проверку наведения курсора на NPC)?. А еще: как сделать лазерный прицел и надписи над NPC, которые располагаются ровно на середине?
|
Ответ: Вращение оружия вместе с камерой
Кодом?
зы: попробуй все-таки почитать справку по Entity Movement Entity Control Entity State и CameraPick PickedX PickedY PickedZ PickedNX PickedNY PickedNZ PickedTime PickedEntity PickedSurface PickedTriangle CameraProject ProjectedX ProjectedY ProjectedZ EntityInView Там есть все ответы |
Ответ: Вращение оружия вместе с камерой
Ответ должен был выглядеть так:
Цитата:
|
Ответ: Вращение оружия вместе с камерой
Ну, трудно предположить, что вопрошающий не заметил справки - ведь она специально открывается первой страницей при каждом запуске IDE.
Остается только указать на заголовки, в этой справке, если не цитировать дословно. |
Ответ: Вращение оружия вместе с камерой
reumep
* ентити оружия позиционируешь как надо перед камерой и делаешь чайлдом камеры EntityParent(ЕнтитиОружия, ЕнтитиКамеры) * добавляешь ентити врага на проверку пересечения лучом EntityPickMode(ЕнтитиВрага, 2), 2 - режим проверки по треугольникам модели. Во время удара пускаешь луч из камеры CameraPick(ЕнтитиКамеры, ЦентрЭкранаПоX, ЦентрЭкранаПоY). Если произошло пересечение, функция возвратит ентити. Кроме этого по пересечению проверяешь дистанцию до врага EntityDistance(ЕнтитиКамеры, ЕнтитиВрага), ну и засчитываешь попадание если враг достаточно близко * так-же, CameraPick * так-же CameraPick, в точке пересечения луча ставишь спрайт лазерной точки PositionEntity(ЕнтитиСпрайта, PickedX(), PickedY() и PickedZ()). Кроме этого спрайт точки нужно соориентировать по поверхности на которую он лепится, для этого берешь вектор нормали пикнутой поверхности и ориентируешь по нему спрайт AlignToVector(ЕнтитиСпрайта, -PickedNX(), -PickedNY(), -PickedNZ(), 3). Минусы нужны т.к. вектор нормали нужен в обратную сторону - от поверхности. К оружию можно прицепить два длинных перекрещенных спрайта (лучше сразу при моделлировании сделать, отдельно от оружия чтоб можно было потом найти FindChild(ЕнтитиОружия, "Имя сетки") и скрывать\показывать) На эти спрайты натянуть дымчатую текстуру (шум перлина в фотошопе или что-то подобное), задать полупрозрачность и нужный цвет (в редакторе). В программе двигать и\или вращать эту текстуру PositionTexture\RotateTexture. Должно получиться красиво :) * Можно спроецировать позицию врага на экран CameraProject(ЕнтитиКамеры, ПозицияХ, ПозицияY, ПозицияZ) и по полученым координатам ProjectedX() и ProjectedY() нарисовать что надо. (Но 2D в блице не имеет аппаратной поддержки, очень тормозное, так что можешь заюзать библиотеку FastImage) А лучше делать CameraPick всегда и если пересечение с npc произошло, отобразить EntityShow(СпрайтЕнтити) и спозиционировать спрайт с надписью по координатам npc. Спрайту также нужно выставить порядок отрисовки EntityOrder(ЕнтитиСпрайта, -1), чтоб он рисовался поверх всего. |
Ответ: Вращение оружия вместе с камерой
Цитата:
Ответ прост! Справка то на английском!! :-D |
Ответ: Вращение оружия вместе с камерой
|
Ответ: Вращение оружия вместе с камерой
Цитата:
|
Ответ: Вращение оружия вместе с камерой
Спасибо, конечно, справку я читал. Проблема в том, что я не знаю, что нужно именно вращать мышью, камеру, или модель оружия. Дело в том, что я пользуюсь такой командой
Код:
TurnEntity world\cam,MouseYSpeed(),0,0 |
Ответ: Вращение оружия вместе с камерой
И как сделать адекватный прыжок и адекватный скайбокс?
|
Ответ: Вращение оружия вместе с камерой
Цитата:
Скай.берёшь куб с текстурой,скайлишь его и EntityFx cube,16 |
Ответ: Вращение оружия вместе с камерой
Цитата:
|
Ответ: Вращение оружия вместе с камерой
И вот еще вопрос: как сделать медленное затемнение или обратный затемнению процесс? И как реализовать "поднятие камеры": персонаж встает, тут обратный затемнению процесс. А когда персонаж умер, тут камера как бы падает на пол, экран затемняется. Как это сделать?
|
Ответ: Вращение оружия вместе с камерой
|
Ответ: Вращение оружия вместе с камерой
Код:
Function LoadSkyBox( file$ ) ; Скайбокс Почему так сложно |
Часовой пояс GMT +4, время: 04:05. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot