Jump to content
DAYZ-CODE.RU - Создай свой игровой сервер

Гайд по созданию оружия


Abra
 Share

Recommended Posts

Приветствую всех, в этом гайде я постараюсь максимально просто и без воды описать процесс создания своего оружия, если я где-то ошибся или у вас есть вопросы не стесняйтесь высказывать своё мнение.
Сразу прошу простить меня за оформление, это мой первый гайд и опыт по его написанию у меня не очень большой.


1.Импорт модели
 


Для начала нам нужно что? правильно модель, создадите вы сами или позаимствуете её с какой-нибудь игры это не важно, нам подойдёт любая, я для пример возьму ак-74 из игры сталкер.
Заходим в File>Import>Obj(в зависимости от формата вашей модели) и выбирайте свою модель

Please Log in or Register to see this: Spoiler

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

Please Log in or Register to see this: Spoiler

 

Please Log in or Register to see this: Spoiler

В данном примере модель отзеркалена от чего и вывернуты полигоны, для корректного отображения мы отразим её по координате X
image.png.19bbc4bcacaa9c93955f990dfceec597.png
 

Please Log in or Register to see this: Spoiler

Далее избавимся от ненужных деталей что бы у нас остался только один автомат Калашникова

Please Log in or Register to see this: Spoiler

Наложим текстуры на наш автомат, для этого выделяем всю модель и нажимаем кнопку У русскую или Е английскую, после чего в сплывающем окне во вкладке Texture вписывайте путь до текстуры AK74_Sample\Data\ak74_co.paa

Please Log in or Register to see this: Spoiler

Если после наложение текстуры она отображается неправильно, отразите так же UV развёртку.
image.png.6eab94307b19c224f5e84431f1dbccb5.png
image.png.78d63f1f3e6460e9963ecd6492ab3184.png
 

Please Log in or Register to see this: Spoiler

Настроим кости что бы анимации автомата корректно отображались
В первую очередь назовём всю модель zbytek для того что бы в будущем накладывать ретекстур на автомат
bolt - так называем затвор для того что бы он отдёргивался при стрельбе и зарядке патрона/магазина

Please Log in or Register to see this: Spoiler

firemode - для отображение смена режима огня

Please Log in or Register to see this: Spoiler

mag_release - для отображения скобы магазина

Please Log in or Register to see this: Spoiler

trigger - для анимирования спускания курка при стрельбе

Please Log in or Register to see this: Spoiler

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


2.Позиционирование и Прокси
 


Начнём с правильного позиционирования что бы автомат правильно лежал в руках игрока, для этого создадим прокси автомата 74 из Dayz

Please Log in or Register to see this: Spoiler

В окне нажимаем на Browse и идём по пути \DZ\weapons\firearms\ak101\ak101, для этого у вас должна быть распакована Data Dayz в диске /P

Please Log in or Register to see this: Spoiler

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

Please Log in or Register to see this: Spoiler

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

Please Log in or Register to see this: Spoiler

Примерно вот так

Please Log in or Register to see this: Spoiler

После того как выставили оружие правильно прокси автомата можно удалить, оно нам больше не понадобиться.
Создаём новый прокси магазина, я возьму прокси магазина от ак74 \DZ\weapons\attachments\magazine\magazine_ak74_30rnd

Выставим с помощью Object Builder его правильно двигая треугольник и сравнивая с Buldozer
Должно выглядеть примерно так

Please Log in or Register to see this: Spoiler

 

Please Log in or Register to see this: Spoiler


 


3.Лоды
 


С 1 по 4 лод это визуальные лоды, чем выше цифра тем дальше будет отображаться модель, на первом лоде ставим оригинальную модель, а дальше уменьшаем количество полигонов с помощью merge near что бы снизить нагрузку прогрузки оружия на дальних расстояниях для этого нужно перейти во вкладку Point>Merge near, нажимаем Detect, Object Builder сам вычислит правильное уменьшение полигонов и вершин, хотя в некоторых случаях он может определять неправильно и придаться поиграться со значениями самому

Please Log in or Register to see this: Spoiler

View-Pilot - это визуальный лод от первого лица, вставляйте в него модель оружия из первого лода.
Geometry - лод геометрии, от него зависит как будет вести себя оружие когда его кидают, вставляем сюда наиболее простую модель.
Создаём квадрат и подстраиваем его грани под нашу модель

Please Log in or Register to see this: Spoiler

Нажимаем ОК

Please Log in or Register to see this: Spoiler

Появляется квадрат, его и подстраиваем под нашу модель

Please Log in or Register to see this: Spoiler

 

Please Log in or Register to see this: Spoiler

Обязательно в окне Named Properties создаём новое свойство, вписываем в Name autocenter, а в Value 0, тем самым мы отключаем авто центровку и наша модель будет всегда там где мы её оставили.
Далее  укажем квадрат как компонент через инструмент Topology, для этого переходим в Structure>Topology>Find component.
View Geometry - нужна для возможности подобрать автомат через наведение на него курсора, вставляем туда квадрат из Geomtry lod.
Fire Geometry - это лод для того что бы пули не пролетали свкозь модель, а попадали в наше оружие, желательно в нём указать более подробную геометрию автомата, но в нашем примере сойдёт геометрия которую мы создали, вставляем ёё так же.
Memory - точки памяти которые игра использует для для воспроизведения некоторых функций, очень обширная тема и я попробую максимально сжато объяснить как это работает
boundingbox_max и boundingbox_min указывают границы нашей модели при спавне нашей модели в мире.
ce_center - указывает центр модели.
ce_radius - предотвращает спавн модели в стене или под столом, устанавливать её нужно чучуть за boundingbox_max и boundingbox_min
eye - куда будет прицеливаться игрок при штатном прицеле.
invview - откуда будет вестись обзор на модель в инвентаре.
konec hlavne и usti hlavne должны быть на одной оси для правильного вектора вылита пули, если поставить их неправильно, то оружие будет косить при выстреле
konec hlavne - начало вылета пули.
usti hlavne место откуда будет выходить Muzzle эффект или же эффект выстрела
nabojnicestart - место начала вылита пустых гильз
nabojniceend - сторона и расстояние куда гильзы будут отлетать
Из за ограничение по изображением постараюсь максимально информативно указать местоположение точек

Please Log in or Register to see this: Spoiler

 


4. Конфиги и скрипты.
 


Для начала настроим основной config.cpp

Please Log in or Register to see this: Spoiler

Рядом с моделью создаём текстовый файл Model.cfg где указываем нужные кости которые мы указывали в самой модели, это нужно для правильной работы анимации оружия

Please Log in or Register to see this: Spoiler

После настройки нам нужно создать скрипт для разброса, анимации нашего оружия, создаём папки как в class defsScript>4_World и там создаём наши скрипты формата .c
Animation.c - Указываем анимацию для нашего оружия

Please Log in or Register to see this: Spoiler

Recoil_AK74.c - Тут мы указываем разброс оружия.

Please Log in or Register to see this: Spoiler

5. Заключение.
 


Спасибо за внимание, надеюсь гайд вам помог и вы поддержите меня для написания новых гайдов.
Для подробного изучения я выложи пример который вы сможете более подробно рассмотреть и разобрать > тык.

  • Like 6
  • Thanks 1
Link to comment
Share on other sites

  • 4 months later...

Столкнулся с тем что пушка во первых в оффлайне спавнится сильно поврежденной если ставить параметр hitpoints более 100, если же ставлю hitpoints = 80 то пушка спавнится нетронутой, но с 10 патрон самоуничтожается + почему то пушка спавнится вместе с магазином и никак не реагирует на перезарядку (при нажатии кнопки перезарядки магазин моментально пополняет патроны из воздуха). Магазин прописан только свой. Может кто то сталкивался, помогите пожалуйста. Уже 2 пушки переделал с нуля по туторам FIDOV и зарубежных ютуберов мододелов, а итог один и тот же..

UPD Все работает, просто я не правильно спавнил оружие в оффлайне, нужно было только прописать хп для оружия. Но опять же проблема с магазином.

Edited by REVROM
немного разобрался
  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...