Информационно развлекательный портал
Поиск по сайту

Как создать мод на оружие. Моды на оружие. Прицел снайперской винтовки M40A3

Данная серия уроков предназначена для тех, кто хочет научиться создавать своё собственное оружие для видеоигр, будь то AAA First Person Shooter(FPS) , Survival Game или Third Person Shooter(TPS) . Моделирование оружия - очень простое дело, но занимает уйму времени, так как первоначально мы должны создать High-Poly модель, после этого мы должны сделать ретопологию, тем самым оптимизировав модель для игр, запечь Normal Map с High-Poly , наложить качественные Physically Based Rendering (PBR) текстуры и сделать риггинг 3D модели для последующей анимации. Серия уроков будет разбита на 3 части: 1. Моделирование пистолета, 2. Создание материалов и анимаций для Glock, 3. Импорт модели в Unity3D и создание скрипта стрельбы.

Для создания данной модели мы возьмем бесплатный и очень мощный софт Blender3D . Последняя на момент написания статьи версия Блендера - 2.78. Скачать можно с официального сайта . Вы можете использовать любой другой софт: 3DS Max, Maya и даже отечественный Компас-3D , разница будет только в интерфейсе программы. Для создания текстур мы будем использовать всеми любимый Photoshop , но также подойдет и GIMP .

Чтобы создать Game-Ready Glock , нам нужно придерживаться данного плана:
1. Найти чертежи и несколько референсов пистолета
2. Приступить к моделированию High-Poly
3. Оптимизировать 3D модель для игр
4. Создать PBR текстуры
5. Импортировать Glock в Unity

Чертежи пистолета Glock

Для создания большинства моделей необходимы чертежи. Мы нашли неплохое изображение пистолета Glock 19 спереди, сзади и по бокам. Фотографии не совсем совпадают, но такие погрешности не должны помешать процессу. Но все-таки лучше использовать точные чертежи, например с этого или этого сайта. Итак, чтобы добавить изображение на задний фон, нужно: нажать клавишу N , в открывшемся меню найти вкладку Background Images > Add Image и выбрать нужный файл. Чтобы увидеть изображение, нужно перейти в ортогональный режим, нажав 5 на Numpad . Снизу есть важная характеристика - Opacity (Прозрачность). Добавьте ещё несколько референсов таким же способом, но временно отключив их в этой вкладке. Если вам этот метод не нравится, то можно включить аддон Images As Planes в User Preferences > Add-ons.

Чертежи не могут показать порезы или мелкие части на пистолете. Здесь нам помогут референсы из Google . Поищите как можно больше фотографий Glock с различных сторон.

Моделирование High-Poly оружия

При создании High-Poly модели нет необходимости экономить полигоны, используйте столько, сколько считаете нужным. Не жалейте полигонов на всеразличные мелкие детали и порезы. Для удобства вы можете использовать Hotkeys (горячие клавиши), которые сильно упростят вам жизнь и сэкономят уйму времени. Все полезные горячие клавиши Blender написаны в этой статье: . Нам же понадобятся только некоторые из них: E - экструдирование, G - перемещение, S - масштабирование, Ctrl+B - фаска, Z - переход в режим Wireframe , X - удаление, A - выделение всех элементов, если нажать A в режиме редактирования, то выделятся все точки/ребра/плоскости, H - скрыть объект.

Ретопология High-Poly Glock

На данном этапе нам нужно оптимизировать нашу 3D модель для видеоигр. AAA оружие сейчас должно иметь до 20.000 Tris, если это автомат, до 10.000 Tris, если это пистолет. Это приблизительные значения, для каждого проекта они разные. BlenderMania выпустили очень неплохой урок о том, как сделать ретопологию высокополигонального объекта на Low-Poly 3D модель.

В данном уроке автор рассказывает о том, как использовать Blender3D и MeshLab для создания быстрой ретопологии, используя минимум усилий и времени. В нашем случае нет необходимости использовать MeshLab , мы создадим Low-Poly модель с нуля, как показано в этом видеоуроке:

Наша модель должна быть разделена на 4 части: затвор, курок, магазин и основную часть. Магазин, также как затвор и курок, должен состоять из минимального количества полигонов, потому что большая часть полигонов пойдет на основу пистолета.

Создайте UV-развертку низкополигональной модели. Для запекания Normal Map нужно выбрать нашу High-Poly модель, потом выбрать нашу Low-Poly , перейти во вкладку Render . Нужно убедиться, что у нас выбран Blender Render . Находим в этой вкладке Bake> Bake Mode = Normals, Normal Space = Tangent, Selected to Active. Жмем Bake . После запекания карты нормалей нужно сохранить, нажав F3 . Перейдите во вкладку Materials , создайте новый материал, во вкладке Textures выберите нашу карту нормалей, в Influence отключите Color, Geometry > Normal. В Mapping Coordinates должны быть переключены с Generated на UV . Добавьте свет на сцену и посмотрите результат.

В следующем уроке мы создадим текстуры и анимации для нашего пистолета.

Моды - это разработанные обычными игроками дополнения, которые добавляют новый контент в МайнКрафт: предметы, техника, биомы и многое другое. Дополнения на новое оружие являются одними из самых популярных среди игроков по всему миру, так как огнестрел значительно разбавляет геймплей игры.

Модификаций, которые добавляют огнестрельное оружие и броню в Майнкрафт на компьютер, большое множество, поэтому Вы без труда найдете то, что придется по душе. Сотни различных моделей популярных пушек из реальной жизни, известные всем стволы из CS и CS:GO. Любите жесткие перестрелки? Возьмите пулемет и выпустите пару обойм по противнику. Больше по душе тихие скрытые убийста? Быстро хватаем в руки снайперскую винтовку с оптическим прицелом и выносим врага с одного попадания.

Какие виды оружия добавляют моды?

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

  • Штурмовые винтовки (Оружие из CS) : Калаш 47, M4A1, Фамас F1, Galil;
  • Пистолеты и револьверы : Colt, Deagle, ТТ;
  • Дробовики : Mossberg, Remington, двустволки;
  • Снайперские винтовки : AWP, винтовка Мосина, Remington 700 LTR;
  • Взрывающееся оружие : Гранаты, мины, базуки.

Это лишь малая часть оружия из модов для МайнКрафта, с которой Вам предстоит познакомиться.

Огнестрельное оружие на сайт

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

Военный мод для Майнкрафт который добавляет в игру огромное количество военной техники такой как танки, самолёты, БТР-ы, пушки, автомобили , а также множество различного оружия для пехота такое как автоматы, пулеметы, ракетницы, рпг и другие винтовик. Что военизирует игру и переводит на новый уровень все это хорошо для того, чтобы передвигаться быстро, но это занимает много ресурсов, чтобы сделать достаточно нормальное питание и железнодорожных путешествовать эффективно используя их. Лошадей также хороши для скоростного движения, но они требуют седла даже ездить, а как броня, чтобы держать их от получать добили мобы. Флан мод довольно прикольный мод, который добавляет в Minecraft самолеты к игре. Это новое авиа сообщение по маршруту " динамические получает игроков, куда они хотят ехать быстро, не боясь негативной реакции.

Летит над миром внизу гораздо быстрее, чем путешествовать пешком, на телеге или лошади, поэтому неудивительно, что Флан мод настолько популярен среди игроков minecraft. Как лодки, самолеты могут быть уничтожены в результате неправильного обращения; в отличие от тех лодок, хотя, игрок обычно имеет долгую, роковое падение вперед из них, если они нарушают свой самолет. Научиться ремеслу и маневрировать Добавлено транспортного режима является важным, поэтому игроки должны быть уверены, чтобы проверить мод на сайт, прежде чем они установить его. Они всегда могли импровизировать конечно, но это может иметь катастрофические последствия, особенно на хардкор режиме.

В то время как скорость движения может оставлять желать лучшего, там до сих пор нет врагов в небе, если игрок летает вокруг в низинах или в конце. Биплан имеет механизм атаки, поэтому полеты в этих районах не рекомендуется. Игроки ищет безопасный способ транспортировки самих себя и своих грузов на дальние расстояния нужно будет проверить Флан мод для minecraft. Там могут быть другие транспортные средства добавлены в будущем, так что не забудьте проверить обратно на мод-сайт регулярно, чтобы увидеть, есть ли новые обновления.

Данный мод добавляет в мир множество разного оружия. Парашюты, гранаты, пистолеты, автоматы — это лишь малая часть того, что добавляет DesnoGuns в игру.

DesnoGuns — это один из самых популярных модов для карманной версии Minecraft .. У этого мода есть большой ряд преимуществ по сравнению с другими, например: очень интересный интерфейс, детализированная система оружия, уникальные рецепты крафта.
В моде имеется больше сорока видов оружия и вы без особых усилий, сможете подобрать себе самое интересное.

Прицел снайперской винтовки M40A3

Ночное видение у снайперской винтовки

На некоторых оружиях имеется прицел в виде

Экзоскелет

Как крафтить оружие?

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

Как вести стрельбу и перезаряжать оружие?

Для того чтобы выстрелить из какого-либо оружия, нажмите на кнопку «fire » и вы услышите звук выстрела. У каждого оружия имеется свой уникальный звук. Чтобы перезарядится, нажмите на свое количество патрон и обойма будет полной (нужно иметь в инвентаре патроны).

DesnoGuns — как установить?

  • Скачайте файл нажатием на кнопку
  • Запустите BlockLauncher (скачать его можно тут: goo.gl/PkRKtA)
  • Нажмите на гаечный ключ и перейдите в раздел «ModPE script «
  • Включите поддержку модов и нажимайте на кнопку «Добавить «
  • Найдите скаченный файл в памяти вашего телефона и нажмите на него
  • Поскольку разрешение у мода .modpkg, то текстуры установятся автоматически

Внимание! Подпишитесь на нашу группу VK , там вы найдете много развлекательных постов - goo.gl/Y3w2Cj

Сперва заходим в папку addons - D:\Games\Red Garry"s Mod\Game\garrysmod\addons
Создаём новую папку,переименовываем его название на своё,к примеру SWEP.

Дальше создаём текстовый файл addon.txt.
Вписываем в него:
"AddonInfo"
{
"name" "Swep" // Вместо Swep впишите своё название аддона.
"author_name" "Author" //Вместо Author впишите свой ник.
"author_url" "Url" //Тут можно написать страницу своего сайта.Пример -
"info" "Swep" // Тут вписываем информацию о своём оружие.
}
В принципе можно оставить всё как есть.
Дальше создаём папку lua.

Как и что?

Вот теперь можно создавать оружие.
Открываем наш.lua файл,и вписываем в самом начале вот этот код:

SWEP.PrintName = "Chair Thrower" // Это название нашего оружия.
SWEP.Author = "I am athor" // Тут можно указать ник автора. Впишите свой ник в кавычках.
SWEP.Instructions = "Left mouse to fire a chair!" // Это инструкция по аддону.

SWEP.Spawnable = true // Тут можно вписать разрешение простому игроку,если там = true как в нашем случае,то игроку разрешается использовать это оружие,если = false то игроку запрещается использовать его.
SWEP.AdminOnly = true // То же самое как и в случае сверху,только тут разрешение/запрещение оружие даётся админу.

SWEP.Primary.ClipSize = -1 // Это функция отвечает за количество патрон в магазине,если значение = -1 как в нашем случае,то патронов в магазине бесконечно.
SWEP.Primary.DefaultClip = -1 // Количество патрон при получения оружия.
SWEP.Primary.Automatic = true // Тип оружия автомат или винтовка.В нашем случае = true это автомат,при случае = false это винтовка.
SWEP.Primary.Ammo = "none" // Тип патрон.

SWEP.Secondary.ClipSize = -1 // Вот тут всё то же самое как и в верхних
// функциях.
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = false
SWEP.Secondary.Ammo = "none"


SWEP.AutoSwitchTo = false // Авто переключение оружия.
SWEP.AutoSwitchFrom = false

SWEP.Slot = 1 // Слот оружия,если = 1,то наше оружие будет в первом слоте рядом с монтировкой.
SWEP.SlotPos = 2 // Позиция оружия в слоте.
SWEP.DrawAmmo = false // Скрытие количества патрон в hud"е,если = false,то патроны скрываются,если = true то патроны остаются.
SWEP.DrawCrosshair = true // Скрытие прицела.

SWEP.ViewModel = "models/weapons/v_pistol.mdl" // ВАЖНО:Тут прописываем путь к оружию.Это модель которую будет держать игрок.
SWEP.WorldModel = "models/weapons/w_pistol.mdl" // ВАЖНО:Тут прописываем путь к оружию.Это модель которая будет лежать в не подобранном состоянии.

local ShootSound = Sound("Metal.SawbladeStick") // Звук при выстреле.

Теперь переходим к главным функциям.

function SWEP:PrimaryAttack() // ВАЖНО:Эта функция отвечает за свойства выстрела из левой кнопки мыши.

self.Weapon:SetNextPrimaryFire(CurTime() + 0.5) // Тут указано, когда произойдёт следующий выстрел. 0.5 вы можете изменить по своему вкусу.

self:ThrowChair("models/props/cs_office/Chair_office.mdl") // Функция атаки стульями.Если у вас не работает установите контент Counter-Strike Source или переименуйте модель в models/props_c17/FurnitureChair001a.mdl

function SWEP:SecondaryAttack() // Функция отвечает за выстрел из правой кнопки мыши.

self:ThrowChair("models/props_c17/FurnitureChair001a.mdl") // Функция атаки стульями.

function SWEP:ThrowChair(model_file) // Вот и сама функция стула.

self:EmitSound(ShootSound) // Проигрывание звука оружия.

if (CLIENT) then return end

local ent = ents.Create("prop_physics")

if (!IsValid(ent)) then return end

ent:SetModel(model_file) // Путь к модели,в данном случае ничего не указываем поскольку модели уже были указаны в функциях выстрела.

ent:SetPos(self.Owner:EyePos() + (self.Owner:GetAimVector() * 16)) // Указывает где появится модель.
ent:SetAngles(self.Owner:EyeAngles())
ent:Spawn() // Спавнит наше оружие

local phys = ent:GetPhysicsObject()
if (!IsValid(phys)) then ent:Remove() return end

local velocity = self.Owner:GetAimVector()
velocity = velocity * 100 // Сила выстрела,вы можете указать 7000,чтобы стулья летели со скорости пули.
velocity = velocity + (VectorRand() * 10)
phys:ApplyForceCenter(velocity)

cleanup.Add(self.Owner, "props", ent) // Функция удаление стула,как вы видите код относит его к категории пропс.

undo.Create("Thrown_Chair") // Главная функция удаления стула при нажатии кнопки z.
undo.AddEntity(ent)
undo.SetPlayer(self.Owner)
undo.Finish()
end

//Вот и всё.Ваше оружие готово,вы можете изменить свойства по своему вкусу.
//Искать в категории оружия Other.

Создайте луа файл, например: weapon_scripted_357.lua в папке 357 Scripted SWEP/lua/weapons.

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

SWEP.Author = "Hds46" // Ник автора свепа.Нужно указывать в кавычках.
SWEP.PrintName = "357 Magnum" // Название свепа которое будет отображаться.
SWEP.Contact = "Your site or mail" // Контактная информация по которой вам будут писать об ошибках и предложениях.
SWEP.Purpose = "357 Scripted Weapon" // Краткая информация об оружии.
SWEP.Instructions = "Shoot" // Инструкция об том,как использовать наш свеп.
SWEP.Category = "My Weapons" // Категория, где будет лежать оружие.
SWEP.Spawnable = true // Если false то оружие нельзя заспавнить,если true то можно.
SWEP.AdminOnly = false // Если false то оружие может использовать каждый,если true то только админы.

SWEP.ViewModelFOV = 64 // Тут можно указать приближать/отдалять модель оружия от экрана игрока.
SWEP.AutoSwitchTo = true // Если true то игрок автоматически переключается на это оружие(если подбирает его),если false то нет.
SWEP.AutoSwitchFrom = false // То же самое,но с другими свепами.
SWEP.Slot = 1 // Позиция оружия в Hud"е.
SWEP.SlotPos = 3 // Позиция оружия в Hud"е.(в нижней части)
SWEP.Weight = 5 // Вес оружия.
SWEP.DrawCrosshair = true // Если true то показывается прицел,если false то нет.
SWEP.DrawAmmo = true // Если true то показывается индикатор патрон магазина игрока,если false то нет.

SWEP.ViewModel = "models/weapons/c_357.mdl" // Директория модели от первого лица.
SWEP.WorldModel = "models/weapons/w_357.mdl" // Директория модели от третьего лица.

SWEP.Primary.Sound = "Weapon_357.Single" // Звук выстрела.Можно указывать директорию,а можно и указывать звуки прописанные в папке script.
SWEP.Primary.Tracer = "Tracer" // Название трассы(следа) пули.
SWEP.Primary.TakeAmmo = 1 // Количество патрон которое расходуется при каждом выстреле
SWEP.Primary.Spread = 0.01 // Точность оружие,чтобы оружие стреляло точно как слонобой из кс,напишите 0 или 0.01
SWEP.Primary.Delay = 1 // Скорострельность оружие(можно сделать автомат или пулемет)
SWEP.Primary.Recoil_pitch = -8 // Значение необходимое для отдачи оружия(Отдача наверх)
SWEP.Primary.Recoil_yaw_min = -2 // Минимальное значение для кода math.Rand
SWEP.Primary.Recoil_yaw_max = 2 // Максимальное значение для кода math.Rand,он будет выбирать случайное десятичное число в диапазоне от -2 до 2. Значение необходимое для отдачи оружия(Отдача вправо и влево)
SWEP.Primary.Recoil_roll = 0 // Значение необходимое для отдачи оружия(Отдача спереди)
SWEP.Primary.Damage = 65 // Урон наносимый оружием.
SWEP.Primary.NumberofShots = 1 // Количество пуль выпускаемых при каждом выстреле(Дробовик)
SWEP.Primary.ClipSize = 6 // Максимальное количество пуль в магазине.
SWEP.Primary.DefaultClip = 6 // Максимальное количество пуль в магазине при подборе оружия.
SWEP.Primary.Automatic = true // Если true то можно будет удерживать кнопку мыши и стрелять не останавливаясь,если false то нужно нажать кнопку атаки еще раз.
SWEP.Primary.Ammo = "357" // Название используемых боеприпасов.
SWEP.HoldType = "revolver" // Тип анимаций которые воспроизводит игрок.

SWEP.UseHands = true // Если true то c_модели используют кастомные руки,если false то нет.

SWEP.Base = "weapon_base" // База для оружия.Нужна чтобы позаимствовать пару нужных фич.
// У нашего оружия нет функций альтернативного выстрела,так что Secodary значения нам не нужны.
SWEP.Secondary.Delay = 0.1
SWEP.Secondary.Recoil = 0
SWEP.Secondary.Damage = 0
SWEP.Secondary.NumberofShots = 1
SWEP.Secondary.ClipSize = 0
SWEP.Secondary.DefaultClip = 0
SWEP.Secondary.Automatic = true
SWEP.Secondary.Ammo = "none"

function SWEP:Initialize() // Инциализация оружия где нужно запрекэкшить звуки и указать тип анимаций.
util.PrecacheSound(self.Primary.Sound)
self:SetWeaponHoldType(self.HoldType)
end

function SWEP:Reload() // Функция при перезарядке
if (self:GetNextPrimaryFire() > CurTime()) then return end // Это нужно чтобы во время выстрела не перезаряжалось.
if (self.Weapon:Clip1() < self.Primary.ClipSize && self.Owner:GetAmmoCount(self.Primary.Ammo) > 0) then // Проверка на патроны.Если у оружия меньше патрон чем обычно и есть патроны у игрока тогда дальше код.
self:SetNextPrimaryFire(CurTime() + 3) // Время следующего выстрела,ведь не будет же игрок стрелять прямо во время перезарядки.
self:DefaultReload(ACT_VM_RELOAD) // Анимация перезарядки(от первого лица)
self.Owner:SetAnimation(PLAYER_RELOAD) // Анимация перезарядки игрока(от третьего лица)
end
end

function SWEP:PrimaryAttack() // Функция выстрела левой кнопки мыши.
if (!self:CanPrimaryAttack()) then return end // Если нет патрон, то оружие не может стрелять.
local tr = self.Owner:GetEyeTrace() // Направление прицела игрока.
local bullet = {} // Структура пули,значения будут использоваться из значений описанных выше,только вместо SWEP - self.
bullet.Num = self.Primary.NumberofShots
bullet.Src = self.Owner:GetShootPos()
bullet.Dir = self.Owner:GetAimVector()
bullet.Spread = Vector(self.Primary.Spread * 0.1 , self.Primary.Spread * 0.1, 0)
bullet.Tracer = self.Primary.Tracer
bullet.Damage = self.Primary.Damage
bullet.AmmoType = self.Primary.Ammo

self:TakePrimaryAmmo(self.Primary.TakeAmmo)

self.Weapon:MuzzleFlash() // Вспышка выстрела.
self.Owner:FireBullets(bullet) // Вот этот код берет все значения от bullet(выше) и позволяет игроку стрелять пулями.
self:EmitSound(Sound(self.Primary.Sound)) // Воспроизводит звук выстрела.
self.Owner:ViewPunch(Angle(self.Primary.Recoil_pitch,math.Rand(self.Primary.Recoil_yaw_min,self.Primary.Rec
oil_yaw_max),self.Primary.Recoil_roll)) // Отдача,берет значения которые я описал выше.
self.Weapon:SendWeaponAnim(ACT_VM_PRIMARYATTACK) // Воспроизводит анимацию выстрела(от первого лица)
self.Owner:SetAnimation(PLAYER_ATTACK1) // Воспроизводит анимацию выстрела(от третьего лица)
self:SetNextPrimaryFire(CurTime() + self.Primary.Delay) // Время следующего выстрела.
end

function SWEP:SecondaryAttack() // Функция выстрела правой кнопки мыши.(Она нам не понадобится)
end

function SWEP:Deploy() // Функция при подбирании оружия.
self:SetNextPrimaryFire(CurTime() + self.Primary.Delay) // Время следующего выстрела,игрок не будет стрелять,пока не достанет оружие из кобуры.
self.Weapon:SendWeaponAnim(ACT_VM_DRAW) // Анимация подбирания оружия(от первого лица)
return true // Если true то разрешает поднимать оружие,если false то нет.
end

function SWEP:Holster() // Функция при убирании оружия в кобуру.
return true // Если true то разрешает убирать оружие в кобуру,если false то нет.
end

function SWEP:Think() // Функция которая будет воспроизводится когда игрок держит оружие,каждые 0.01 миллисекунд.
end

Хех, я жив
FAQ:

Вопрос: Если еще автор жив, ты можешь дать лог оружия ближнего боя? Очеенннььь надо
Ответ: К сожалению не делал х. оружие, а это всё я сделал ради руководства. Так что извини, могу дать совет напиши в поисковике "How to make simple weapon GMOD" там много вариантов может и х. оружие будет.

Вопрос: Слушай, я вот создал оружие, я теперь спокойной могу заливать его в мастерскую?
Ответ: Да, для этого нужна специальная программа:

Вопрос: Вопрос: можно ли указать кастомный звук "local ShootSound = Sound" ?
Ответ: Вполне, указывайте путь на звук.

Вопрос: Конечно, нормальное руководство, но не существует иного варианта? (Через программу какую либо например)
Ответ: К сожалению программ нет, есть аддон в мастерской, но там можно делать уж слишком простые оружия.

Вопрос: а как сделать lua - файл?
Ответ: Создаёте файл к примеру firstaddon.txt - нажимаете ПКМ по файлу - перемеиновать - и вместо.txt ставите.lua - сохраняем изменения и всё :)

P.S Извиняюсь за задержку, просто не до этого было:)