![]() |
Показать все 16 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Как скриптовать сцену (https://hlfx.ru/forum/showthread.php?threadid=4312)
Как скриптовать сцену
Всем привет! Давно мучал вопрос, как в Xash или HL заскриптовать анимацию и камеру как это любят делать сейчас в таких играх как COD, Crysis и т.д... Сейчас постараюсь объяснить: Допустим главный герой идёт по коридору. На экране видна модель "v_rpg.mdl" (именно анимация от 1го лица) с анимацией idle. Потом он подходит к такому месту, где допустим какая-то энтитя или ещё что-то самопроизвольно активирует анимацию fire у этой модели (т.е игрок как-бы ничего не нажимая выстреливает). Или любую другую анимацию, которая вписана например у энтити(или ещё чего-то) в параметре target.
Теперь насчёт камеры. Допустим тот самый игрок стоит на обрыве. И он решил с него прыгнуть. Нажал на прыжок и в этот момент камера сама повернулась вправо, потом влево, далее вниз и только потом он спрыгнул.
Возможно ли это реализовать без лишнего геморроя (я имею ввиду лезть в соурсы движка и кодить, кодить, кодить до мозолей на пальцах...) А обойтись например редактированием файлов qc моделей, прописыванием в определённых файлах движка команд и мест в которых будет происходить активация или чем-то похожим?
Если что-то не понятно объяснил, то постараюсь разъяснить подробнее
Заранее спасибо за ответ
Ну вообще движки такого типа не предусматривают плотную работу с камерой, в те времена считалось некомильфо всё скриптовать.
Камера может ездить по патч_трекам и поворачиваться туда, где находится энтить, указанная в поле target (обычно это info_target), но может быть и func_train. В ксаше возможности камеры расширяются наличием парент-системы, а так же возможностью наблюдения от "третьего лица", т.е. от монстров, учоных, хедкрабов. Если этого недостаточно - пиши свою систему. Проигрывать произвольную анимацию вью-модели нельзя, но в целом это не так уж и нужно - достаточно просто накодить энтитю, которая нажмёт игроку на "курок".
Но я тебя хочу предупредить про самое главное - когда ты спрашиваешь "а как сделать что-то как где-то", ты уже убиваешь половину своей задумки, поскольку копия всегда хуже оригинала. Если ты просто накопируешь эффектов из разных игр, толку не будет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша, я не собираюсь копипастить что-то у других, просто я не знал как более понятно объяснить , поэтому взял популярные игры как пример.
Насчёт камеры, мне этого будет вполне достаточно, во всяком случае пока-что. Главное чтобы камера могла от первого лица следить за info_target...
____
Вот мне тогда интересно, это выходит что анимация "fidget2" у тойже v_rpg.mdl проигрывается спустя какое-то время, или после какого-то определённого действия(т.е например когда игрок первый раз подобрал эту РПГ с полу)?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Про обрыв - можно, в принципе, сделать модель с анимацией головы ( кость ), сделать аттачмент к кости, а потом узнавть координаты аттачмента во view.cpp. Я, помню, когда-то такое делал. Исходников, правда, не сохранилось.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
В ксаше специальный триггер есть, реагирующий на направление взгляда
__________________
-Brain is dead-
Ну или если быть точнее - птичка у триггера.
__________________
How interesting, just look at that!
© Scientist
Jaguar101 кое-какая полезная информация тут:
http://ralertmod.narod.ru/scripts.htm
Также есть возможность сделать так, чтобы при определённом кадре анимации был активирован объект на карте с нужным именем.
В QC файл модели к анимации добавляем событие, прописываем
{ event 1003 12 "object" }
Где 12, это кадр анимации, когда активировать выбранную энтити, а object - имя энтити которую нужно активировать.
Подробнее можно прочесть тут:
http://ralertmod.narod.ru/serov-qc-model.htm
faiton спасибо, изучу на досуге
Jaguar101 Заставить игрока шмальнуть из РПГ можно при помощи энтить trigger_command при условии что у тебя кроме РПГ ничего нет. Если есть другое оружие - нужно ещё предусмотреть переключение на РПГ, а это алиасы.
По поводу прыжка - как 2 пальца об асфальт скриптуется в Хаммере. Если сделаешь заготовку-пример. Запилю.
__________________
How interesting, just look at that!
© Scientist
Что за ахинею я сейчас прочитал?!
__________________
Pentium MMX, два гигабайта жесткий диск. Видеокарта S3Trio
Вот что значит жить красиво!
-=DrTressi=- Я видел похожее в cs:czds на самой первой карте, в эпизоде run, ты там стреляешь из scout.
Временная зона GMT. Текущее время 21:09. | Показать все 16 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024