Создаем новых монстров для Doom3 в блокноте. Для этого нам понадобится программа блокнота, и ничего более. Мы создадим зомби и летающего монстра. Для начала напишем в блокноте следующие строки: model monster_zombie_new { inherit model_monster_zombie mesh models/md5/chars/marine.md5mesh channel torso ( *Waist ) channel legs ( origin Body *Hips -*Waist ) }
Строка: mesh models/md5/chars/marine.md5mesh Указывает на то, каким телом будет обладать зомби. В данном случае это тело морпеха. Если мы строку с мешем сделаем вот такой: mesh models/md5/chars/suit.md5mesh
то у зомби будет тело ученого. Если строку с мешем сделаем такой: mesh models/md5/chars/skeleton.md5mesh
то у монстра будет тело скелета. Далее пишем параметры ентити: entityDef monster_zombie_new { "inherit" "monster_zombie_base" "model" "monster_zombie_new" "skin" "skins/characters/npcs/bloody_marine_body.skin" "health" "100" "def_head" "delta5_swann_head" "head_joint" "Shoulders" }
Параметр “health" указывает уровень здоровья у нашего монстра, "def_head" – какая голова будет у нашего монстра. Можно взять стандартный набор голов нпс и монстров, и прописать одну из них нашему монстрику (в данном случае я взял голову умирающего инспектора Свона), но гораздо интересней будет создать новую голову используя имеющиеся меши, в том же блокноте. Но пока мы закончили с первым зомби, и вот что у нас получается: model monster_zombie_new { inherit model_monster_zombie mesh models/md5/chars/marine.md5mesh channel torso ( *Waist ) channel legs ( origin Body *Hips -*Waist ) }
entityDef monster_zombie_new { "inherit" "monster_zombie_base" "model" "monster_zombie_new" "skin" "skins/characters/npcs/bloody_marine_body.skin" "health" "100" "def_head" "delta5_swann_head" "head_joint" "Shoulders" }
Сохраняем с названием monster_zombie_new, ставим расширение .def и закидываем файл monster_zombie_new.def в папку doom3/base/def грузим любую карту doom3, набираем в консоли spawn monster_zombie_new и наслаждаемся видом нашего монстра: Создаем новые головы для наших монстров. Головы можно создать из уже имеющихся в игре мешей других монстров. Вот несколько примеров: model head_cherub { mesh models/md5/monsters/cherub/cherub.md5mesh anim idle models/md5/monsters/cherub/playdead.md5anim }
Это голова сделанная из керуба, а вот голова и лостсуола: model head_lostsoul { mesh models/md5/monsters/lostsoul/lostsoul.md5mesh anim idle models/md5/monsters/lostsoul/walk1.md5anim //models/md5/monsters/lostsoul/idle1.md5anim }
Записываем модели голов в блокноте, даем любое название, типа heds_new, сохраняем в папке doom3/base/def с расширением .def Прилаживаем наши головы к монстрам: model monster_zombie_cherub { inherit model_monster_zombie mesh models/md5/chars/marine.md5mesh channel torso ( *Waist ) channel legs ( origin Body *Hips -*Waist ) } entityDef monster_zombie_cherub { "inherit" "monster_zombie_base" "model" "monster_zombie_cherub" "skin" "skins/characters/npcs/bloody_marine_body.skin" "health" "100" "def_head" "head_cherub" "head_joint" "Shoulders" } model monster_zombie_lostsoul { inherit model_monster_zombie mesh models/md5/chars/marine.md5mesh channel torso ( *Waist ) channel legs ( origin Body *Hips -*Waist ) } entityDef monster_zombie_lostsoul { "inherit" "monster_zombie_base" "model" "monster_zombie_lostsoul" "skin" "skins/characters/npcs/bloody_marine_body.skin" "health" "100" "def_head" "head_lostsoul" "head_joint" "Shoulders" }
Сохраняем с названием monster_zombie_new1, ставим расширение .def и закидываем файл monster_zombie_new1.def в папку doom3/base/def, грузим любую карту doom3, набираем в консоли spawn monster_zombie_lostsoul и monster_zombie_cherub и наслаждаемся видом наших монстров:
Летающий монстр. За основу берем лостсоула или какодемона. /*********************************************************************** monster_flying_poppy.def ***********************************************************************/ model monster_flying_poppy { mesh models/md5/characters/poppy/poppy.md5mesh channel torso ( *origin ) } entityDef monster_flying_poppy { "inherit" "monster_default" "scriptobject" "monster_flying_lostsoul" "model" "monster_flying_poppy" "ragdoll" "env_ragdoll_poppy" "size" "48 48 80" "use_aas" "aas48" "team" "1" "rank" "1" "health" "20" "melee_range" "20" "fly_offset" "-20" "turn_rate" "360" "fly_speed" "140" "offsetModel" "0 0 16" "fly_seek_scale" "4" "fly_roll_max" "45" "fly_roll_scale" "90" "fly_pitch_scale" "45" "fly_pitch_max" "30" "bone_flytilt" "Head" "damage_zone head" "*Head" "snd_ambient" "monster_demon_cacodemon_walk" "snd_sight" "monster_demon_cacodemon_sight" "snd_sight2" "monster_demon_cacodemon_sight2" "snd_chatter" "monster_demon_cacodemon_chatter" "snd_chatter_combat" "monster_demon_cacodemon_chatter" "snd_melee" "monster_demon_cacodemon_melee" "snd_pain" "monster_demon_cacodemon_pain" "snd_attackmissile" "monster_demon_cacodemon_attackmissile" "snd_death" "monster_demon_cacodemon_die" "snd_burn" "monster_demon_cacodemon_burn" "fx_teleport" "fx/teleporter_fly.fx" "fx_teleport1" "fx/teleporter1_fly.fx" "fx_teleport2" "fx/teleporter2_fly.fx" "fx_teleport3" "fx/teleporter3_fly.fx" } entityDef melee_monster_flying_poppy { // melee specific parameters "snd_hit" "monster_demon_lostsoul_chomp" "snd_miss" "monster_demon_lostsoul_chomp" "kickDir" "1 0 0" // damage parameters "damage" "50" "mtr_blob" "bite" "blob_time" "100" "blob_x" "0" "blob_y" "-100" "blob_width" "600" "blob_height" "600" "knockback" "30" "kick_time" "400" "kick_amplitude" "2" "dv_time" "20" } entityDef melee_monster_flying_poppy_charge { // melee specific parameters "snd_hit" "monster_demon_lostsoul_chomp" "snd_miss" "monster_demon_lostsoul_chomp" "kickDir" "1 0 0" // damage parameters "damage" "50" "mtr_blob" "leftSmack" "blob_time" "100" "blob_x" "0" "blob_y" "-100" "blob_width" "600" "blob_height" "600" "knockback" "80" "kick_time" "400" "kick_amplitude" "4" "dv_time" "20" }
Строка models/md5/characters/poppy/poppy.md5mesh
указывает, какая модель будет использоваться для создания летающего монстра – в данном случае это модель женщины. Можно использовать любые модели монстров из игры, кроме тех, которые создаются из двух моделей: головы и тела. Сохраняем с названием monster_flying_poppy, ставим расширение .def и закидываем файл monster_flying_poppy.def в папку doom3/base/def
грузим любую карту doom3, набираем в консоли spawn monster_flying_poppy и наслаждаемся видом нашего монстра: Скачать карту с монстрами описанными в этом тутуориале 230kb.rar: http://melanaygis.narod.ru/test_monsters.rar Автор туториала Melanaygis.
Источник: http://melanaygis.narod.ru/monster_zombie_new.htm |