Переведите тутор плиз по созданию управляемой техники в КСС

Помогаем новичкам в создании своего мира
Ответить
Сообщение
Автор
Аватара пользователя
YASTREB2008
Сержант
Сержант
Сообщения: 30
Зарегистрирован: 11.12.2008

#1 Сообщение 15.05.2009, 21:07

Собсна нашёл интересный тутор на банане по созданию управляемой техники в КСС.Пытался перевести Гугл переводчиком...Ну вы поняли.
Думаю многие скажут вам спасибо!
http://www.fpsbanana.com/tuts/5723
Изображение[/url]
Изображение
Изображение

thrndm
Лейтенант
Лейтенант
Сообщения: 155
Зарегистрирован: 07.05.2008
Контактная информация:

#2 Сообщение 16.05.2009, 08:42

Переведённый туториал.
[spoiler=""Создание управляемой лодки""]Автор туториала - NatalyaAF
Изображение

Всем привет
Данный туториал обучит вас основам создания управляемой игроком техники. Данный в туториале пример будет управляться двумя двигателями и в этом туториале я заставлю их работать, но следуя шагам этого туториала вы также научитесь создавать собственный управляемый игроком транспорт, вроде: космических кораблей, автомобилей, др... Это не лёгкий туториал. Вы должны иметь хорошие знания работы энтитей, чтобы завершить работу.

Начало...

Сделайте небольшую тестовую карту чтобы опробовать свою лодку. Разместите немного воды чтобы лодке было где плавать и спавнится. Никаких ограничений, достаточно просто проверить лодку на воде. (Изображение 1)


Лодка что мы делаем будет основываться на func_physbox. Нам понадобится сделать корпус лодки из брашей. Это наиболее трудная часть. Я рекомендую использовать vertex editing tool. Это даст хорошие результаты. Лодка что я сделал здесь (Изображение 2 и 3) простой плот, но позже он будет иметь двигатели.



ВАЖНО:

Вы ОБЯЗАНЫ сделать корпус лодки из текстуры дерева иначе она утонет. Если вы хотите металлически лодки, попробуйте отредактировать свойства металлической текстуры как у деревянной в .vmt файле. Таким образом я делал лодки на zm_natalyas_ship_v2a.

В данном туториале корпус лодки из func_physbox назван LitleBoat00. Уберите все spawn флаги для Motion Disabled. Оставьте этот флаг неотмеченным для тестирования плаванья лодки и прочего. Когда будете довольны, выключите флаг.

Когда корпус вашей лодки готов, добавьте некоторые детали. На изображении 4 вы можете увидеть, что я добавил два двигателя, два пропеллера, пульт управления и руль для управления лодкой. Здесь должен быть prop_dynamic_override с установленным parents set к func_physbox корпусу лодки который вы уже создали. В моём случае я не устанавливал parent set пропеллерам и рулю, я хочу сделать чтобы они тоже перемещались при движении лодки.


Для пропеллеров:
Поместите два маленьких nodraw блока под их оси вращения. Назовите левый Port Spinner и правый Starboard Spinner. Установите флаги для оси Y, Not solid и Large Sound Radius. Установите максимальную скорость вращения 720. Установите Parent модели пропеллеров к соответствующим им respective func_rotating которые мы только что сделали. Установите Parent func_rotatings к корпусу лодки.

Следующим шагом будет добавление кнопки включения двигателей как на изображении 5. Установите Parent к корпусу лодки и установите флаги Don't Move, Toggle, и Use Activates.


Теперь перейдём к первому output... Сделайте новый output:
On In
Target entities named: LittleBoat00
Via this output: Enable Motion
И отметьте только Fire Only output.

Это заставит лодку двигаться когда двигатели включены, но не раньше этого. Таким образом выпрыгнув из лодки она будет продолжать движение пока двигатели не будут выключены.

Следующим шагом будет добавление game_ui энтити на карту. Поместите её ближе к передней части лодки чтобы игрок смотрел на неё находясь в транспорте, она не будет видна в игре. Также добавьте две Logic_Compare энтити и phys_keepupright.

Logic_Compare энтити могут быть размещены где угодно, но phys_keepupright должна быть размещена над лодкой.

Теперь пора установить некоторые свойства game_ui...

Кликните на game_ui и как-нибудь назовите её. Я назвал LittleBoat00 Interface. Теперь выключите smart edit и кликните на add button. В первом поле напишите parentname, во втором поле напишите название func_physbox который вы использовали при создании корпуса лодки. Для меня это LittleBoat00. Вы можете увидеть мои настройки на изображении 6.


Далее для game_ui необходимо установить field of view к 0.0 и флаги Freeze Player, Hide Weapon и Jump Deactivates. Установите parent game_ui к лодке с FieldofView 0.0, если вы будете глядеть не на контрольную панель вы потеряете контроль над лодкой, также не всегда удастся выпрыгнуть из неё. Если вы не установили parent game_ui, хорошо, при движении вы просто не сможете видеть куда плывёт лодка и вы потеряете контроль над ней. Это не хорошо. D:

Теперь для phys_keepupright, назовите её как-нибудь, я назвал LittleBoat00 Keep Upright. Установите Angular Limit 10 и Target Entity к корпусу вашей лодки.

Для Logic Compares, не стоит о них беспокоиться просто назовите их Left//Right Compare и Forewards//Backwards compare.

Теперь пора сделать лодку похожей на себя. К управлению вернёмся немного позже.

Добавим немного звучания.

Я добавил шесть звуков двигателям лодки.
Вот они:

Запуск двигателей
Флаги = Start Silent, Not Looped

Выключение двигателей
Флаги = Start Silent, Not Looped

Idle двигателей
Флаги = Start Silent

Idle пропеллеров
Flags = Start Silent

Motor Engaged
Флаги = Start Silent

Fan Engaged
Флаги = Start Silent

Теперь за двигатели.

Вернитесь к кнопке запуска двигателей которую вы сделали ранее. Добавим больше output.

Добавьте:
On In
Target LittleBoat00 Keep Upright
Via This Input: Turn On
Fire Only Once YES

Добавьте:
On In
Target Motor Start
Via This Input: Play Sound

Добавьте:
On In
Target Motor Idle
Via This Input: Play Sound
After a delay of 2 Seconds

Добавьте:
On In
Target Fan Idle
Via This Input: Play Sound
After a delay of 2 Seconds

Добавьте:
On Out
Target Fan Idle
Via This Input: Stop Sound
After a delay of 2 Seconds

Добавьте:
On Out
Target Motor Idle
Via This Input: Stop Sound
After a delay of 2 Seconds

Добавьте:
On Out
Target Motor Shut Down
Via This Input: Play Sound

Теперь ваша лодка должна воспроизводить звуки запущенного двигателя.

Я также добавил маленькую лампочку над панелью управления используя env_sprite и сделал чтобы при запуске двигателей она загоралась и выключалась вместе с двигателями. Теперь самое время остановится и проверить работает ли всё так как надо.

Теперь когда вы всё сделали время приступить к весёлой части -- заставить лодку двигаться.

Перейдём к рулю. Сделайте на нём nodraw кнопку. Эта кнопка будет использоваться чтобы дать игроку контроль над рулём.

Примените Parent к корпусу лодки, установите флаги Use Activates, Starts Locked и Don't Move. Установите имя которое вам нравится. Под output добавьте:

On Pressed
Target (Ваш игровой UI)
Via this Input: Activate

Теперь за Game_UI, добавьте два output:

X-Axis
Target Boat Left//Right Compare
SetValueCompare

Y-Axis
Target Boat Forewards//Backwards Compare
SetValueCompare

(Это позволит вам управлять направлением движения лодки.) Смотрите изображение 7:


Теперь нужно отредактировать кнопку запуска двигателей которую вы сделали ранее. Добавьте следующие output:

On In
Target: (Steering Wheel Button)
Unlock

On Out
Target: (Steering Wheel Button)
Lock
Теперь вам нужно добавить thrusters для движения лодки прежде чем сработает Logic_Compares.

Создайте 8 phys_thrusters на уровне лодки, вокруг неё. 2 спереди, 2 сзади, 2 на каждую сторону. (Посмотрите на изображение 8 для расстановки.)


Назовите два передних как LBoat 00 Fore Thrust и два задних как LBoat 00 Aft Thrust. С 4 средними, два слева и два справа как LBoat 00 Starboard Thrust и top right & bottom left как LBoat 00 Port Thrust. (These will turn it.)

Установите attached object для всех них к корпусу лодки. Установите им флаги Apply Force, Apply Torque, Orient Locally и Ignore Mass.

Для Fore и Aft thrusters установите force 160.

Для Port и Starboard thrusters установите force 30.

Для Fore Thrusters установите их направление 90 градусов.

270 градусов для Aft.

Для Starboard, top left должен быть 0 градусов когда bottom right 180 градусов.

Port аналогично -- Bottom Left это 0 и Top Right 180.

Теперь время настроить руль.

Скопируйте всё с изображения 9 в ваш Left//Right logic_compare.


Остановитесь, проверьте может ли лодка поворачивать влево и вправо.

Теперь наконец-то настройка движения вперёд и назад.

Чтобы начать, скопируйте всё что вы видите на изображении 10.


Затем скопируйте всё с изображения 11. Примечание: Последний output на 10 вырезан с первого на 11.


Благодаря всему этому ваша лодка может двигаться и издавать звуки и пропеллеры тоже работают. :)
Вы можете использовать эти знания для создания других видов транспорта, таких как самолёты, автомобили и боевые турели в том числе; для примера, самолёты просто должны быть ниже phys_thruster для поднятия в воздух. Данный туториал поможет людям понять как сделать управление.

Замечание:
Если вы помещаете на карту транспорт основанный на func_physbox вы должны убедится что sv_turbophysics установлен на 0 в случае если он не работает. Большинство серверов устанавливают переменную 0, но некоторые вроде zombie mod выбирают 1. Вы просто можете поместить point_servercommand на вашей карте чтобы заместить настройки сервера.

Результат:


Здесь ссылка для скачивания .vmf моего туториала:
http://www.Aura-Forums.com/cstrike/boattutorial.zip[/spoiler]
Последний раз редактировалось thrndm 17.05.2009, 18:33, всего редактировалось 43 раза.

Аватара пользователя
YASTREB2008
Сержант
Сержант
Сообщения: 30
Зарегистрирован: 11.12.2008

#3 Сообщение 17.05.2009, 16:35

Спасиба АГРОМНОЕ!!! :Yahoo!:
Изображение[/url]
Изображение
Изображение

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#4 Сообщение 17.05.2009, 17:02

YASTREB2008 писал(а):Спасиба АГРОМНОЕ
Grammar Nazi негодуе! :lol:

Аватара пользователя
YASTREB2008
Сержант
Сержант
Сообщения: 30
Зарегистрирован: 11.12.2008

#5 Сообщение 17.05.2009, 17:02

OutFace
я специально))))
Изображение[/url]
Изображение
Изображение

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#6 Сообщение 17.05.2009, 17:03

YASTREB2008 писал(а):я специально))))
Так я и поверил :twisted:

thrndm
Лейтенант
Лейтенант
Сообщения: 155
Зарегистрирован: 07.05.2008
Контактная информация:

#7 Сообщение 17.05.2009, 18:37

Всё вроде, если есть какие-то неточности - скажите)

Ответить