Создание нового оружия
Материал из Mod Wiki.
Версия 14:28, 31 июля 2007 (править) BAC9-FLCL (Обсуждение | вклад) (→Внешний вид) ← К предыдущему изменению |
Версия 14:42, 31 июля 2007 (править) (отменить) BAC9-FLCL (Обсуждение | вклад) (→Внешний вид) К следующему изменению → |
||
Строка 275: | Строка 275: | ||
Теперь позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74. | Теперь позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74. | ||
+ | |||
+ | ====Текстуры==== | ||
+ | |||
+ | Нарисуем для оружия новую текстуру. Подробно останавливаться на этом процессе не буду, смотрите [[Изменение текстур|урок]], посвященный текстурам. | ||
+ | |||
+ | Основываясь на текстуре АК74, мы нарисовали вот такую текстуру: | ||
+ | |||
+ | [[Изображение:AK101_texture.jpg|500px]] | ||
+ | |||
+ | ====Модели==== | ||
Скопируем папку '''gamedata\meshes\weapons\ak47\''' и назовем её '''ak-101'''. Содержимое, соответственно, переименуем в '''wpn_ak101.ogf''' и '''wpn_ak101_hud.ogf'''. | Скопируем папку '''gamedata\meshes\weapons\ak47\''' и назовем её '''ak-101'''. Содержимое, соответственно, переименуем в '''wpn_ak101.ogf''' и '''wpn_ak101_hud.ogf'''. | ||
+ | |||
+ | Теперь пропишем в эти модели | ||
==Авторы== | ==Авторы== |
Версия 14:42, 31 июля 2007
В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с уроком по созданию моделей.
Содержание |
Практика
Конфиги
Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Сделаем, скажем, АК101 на базе конфигов АК74. Для этого скопируем файл из папки:
gamedata\config\ak74.ltx
Назовем его ak101.ltx.
Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае конфиг был составлен таким образом:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [wpn_ak101]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "weapons\ak-101" ; name and section in level editor $npc = on $prefetch = 8 scheduled = off ;[] option for ALife Simulator cform = skeleton class = WP_AK74 ; class of the weapon that corresponding to CPP class min_radius = 30 ; [] for AI max_radius = 100 ; [] for AI description = enc_weapons1_wpn-ak101 ef_main_weapon_type = 2 ef_weapon_type = 6 ;----------------------------------------------------------------------------------- holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov ;----------------------------------------------------------------------------------- cost = 2;4000 weapon_class = assault_rifle ammo_limit = 210 ammo_elapsed = 30 ammo_mag_size = 30 fire_modes = 1, -1 ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap grenade_class = ammo_vog-25, ammo_vog-25p launch_speed = 0 hand_dependence = 1 single_handed = 0 slot = 2 animation_slot = 2 inv_name = wpn-ak101 inv_name_short = wpn-ak101 inv_weight = 3.3 inv_grid_width = 5 inv_grid_height = 2 inv_grid_x = 11 inv_grid_y = 29 kill_msg_x = 0 kill_msg_y = 28 kill_msg_width = 84 kill_msg_height = 28 ;----------------------------------------------------------------------------------- ;params of weapon recoil fire_dispersion_base = 0.15;0.2 control_inertion_factor = 1.1f;1.25f ;отдача cam_relax_speed =6;5;3.5; 0.15 cam_dispersion = 0.1;0.15 cam_dispersion_inc = 0.2;0.3 cam_dispertion_frac = 0.8;0.9 cam_max_angle = 10.0 cam_max_angle_horz = 20.0 cam_step_angle_horz = 1.1;1 fire_dispersion_condition_factor = 5.7;5 misfire_probability = 0.0055;0.003 misfire_condition_k = 0.06;0.05 condition_shot_dec = 0.00035;0.0001 ;----------------------------------------------------------------------------------- fire_point = 0,0.216,0.638 fire_point2 = 0,0.216,0.730 flame_particles = weapons\generic_weapon05 smoke_particles = weapons\generic_shoot_00 grenade_flame_particles = weapons\generic_weapon01 shell_point = 0,0.216,0.174 shell_particles = weapons\generic_shells PDM_disp_base = 1.0 PDM_disp_vel_factor = 1.3 PDM_disp_accel_factor = 1.3 PDM_crouch = 1.0 PDM_crouch_no_acc = 1.0 ; ttc hit_power = 0.36, 0.4, 0.43, 0.46 hit_impulse = 140 hit_type = fire_wound fire_distance = 1700 bullet_speed = 1000 rpm = 750 use_aim_bullet = true time_to_aim = 1.0 ;params when silencer is attached ;similar to corresponding params without prefix silencer_ silencer_hit_power = 0.38 silencer_hit_impulse = 120 silencer_fire_distance = 250 silencer_bullet_speed = 600 hud = wpn_ak101_hud position = -0.026,-0.172,0 orientation = 0,0,0 ;--STRAP PARAMETERS----------------------------------------------------------------- strap_position = -0.16,-0.40,0.15 strap_orientation = -10,-5,10 strap_bone0 = bip01_spine2 strap_bone1 = bip01_spine1 visual = weapons\ak-101\wpn_ak101 light_color = 0.6,0.5,0.3 light_range = 5 light_var_color = 0.05 light_var_range = 0.5 light_time = 0.2 ph_mass = 5 ;addons scope_status = 2 silencer_status = 2 grenade_launcher_status = 0;2 zoom_enabled = true scope_zoom_factor = 50 scope_name = wpn_addon_scope scope_x = 42 scope_y = 3 silencer_name = wpn_addon_silencer silencer_x = 218 silencer_y = 13 grenade_launcher_name = wpn_addon_grenade_launcher grenade_launcher_x = 116 grenade_launcher_y = 23 ;sounds (name of the sound, volume (0.0 - 1.0), delay (sec)) snd_draw = weapons\ak74_draw snd_holster = weapons\generic_holster snd_shoot = weapons\ak74_shot_0 snd_shoot1 = weapons\ak74_shot_1 snd_shoot2 = weapons\ak74_shot_2 snd_shoot3 = weapons\ak74_shot_3 snd_empty = weapons\gen_empty, 0.5 snd_reload = weapons\ak74_reload, 0.7, 0.35 snd_shoot_grenade = weapons\gen_grenshoot snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8 snd_switch = weapons\groza_switch, 1.0, 0.5 ;params when silencer is attached ;similar to corresponding params without prefix silencer_ ;silencer_flame_particles = weapons\generic_weapon01 silencer_smoke_particles = weapons\generic_shoot_00 snd_silncer_shot = weapons\w_ak74_shot1 silencer_light_color = 0.6,0.5,0.3 silencer_light_range = 0.01 silencer_light_var_color = 0.05 silencer_light_var_range = 0.5 silencer_light_time = 0.2 ;----------------------------------------------------------------------------- ;-- HUD DESCRIPTION ;----------------------------------------------------------------------------- [wpn_ak101_hud] allow_inertion = true ;similar to corresponding params in weapon section but for 1st person view shell_point = -0.065000,0.000000,-0.045000 shell_dir = 0.0, 1.0, 0.0 fire_point = 0.09,0.020,-0.06 fire_point2 = 0.30, 0.00, 0.05 fire_bone = wpn_body orientation = 0, 0, 0 position = 0, 0, 0.05 visual = weapons\ak-101\wpn_ak101_hud grenade_bone = wpn_grenade ; animation names anim_idle = idle anim_idle_aim = idle_aim anim_reload = reload anim_draw = draw_wo_gl anim_holster = holster_wo_gl anim_shoot = shoot ; animation names ; attached grenade launcher [GRENADE fire mode] anim_idle_g = idle_grenade anim_idle_g_aim = idle_g_aim anim_reload_g = reload_grenade anim_shoot_g = shoot_grenade anim_switch_grenade_on = switch_grenade anim_switch_grenade_off = switch_grenade_off anim_draw_g = draw_grenade_mode anim_holster_g = holster_grenade_mode ; attached grenade launcher [NORMAL fire mode] anim_idle_gl = idle_w_gl anim_idle_gl_aim = idle_w_gl_aim anim_reload_gl = reload_w_gl anim_draw_gl = draw_w_gl anim_holster_gl = holster_w_gl anim_shoot_gl = shoot_w_gl anim_idle_sprint = idle_sprint ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;HUD offset in zoom mode (to all) ;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console) zoom_offset = -0.112400,0.016800,-0.115000 zoom_rotate_x = 0.000200 zoom_rotate_y = 0.017500 zoom_hide_crosshair = true ; same as above, but for attached grenade launcher for ; in NORMAL shoot mode grenade_normal_zoom_offset = -0.112500,0.014000,0.000000 grenade_normal_zoom_rotate_x = -0.000900 grenade_normal_zoom_rotate_y = 0.017200 ; same as above, but for attached grenade launcher for ; in GRENADE mode grenade_zoom_offset = -0.039600,-0.433100,0.000000 grenade_zoom_rotate_x = -0.538700 grenade_zoom_rotate_y = -0.033800
Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида:
#include "w_ak101.ltx"
Внешний вид
Теперь позаботимся о том, чтобы наше оружие отличалось внешне от того же АК74.
Текстуры
Нарисуем для оружия новую текстуру. Подробно останавливаться на этом процессе не буду, смотрите урок, посвященный текстурам.
Основываясь на текстуре АК74, мы нарисовали вот такую текстуру:
Модели
Скопируем папку gamedata\meshes\weapons\ak47\ и назовем её ak-101. Содержимое, соответственно, переименуем в wpn_ak101.ogf и wpn_ak101_hud.ogf.
Теперь пропишем в эти модели
Авторы
Статья создана:
По материалам мода Russian Guns за авторством: