Making new weapon in Unreal Engine

In this lesson I show you how to make a new weapon for Killing Floor by welder example.

You need all same tools: ActorX Importer for 3ds Max and unreal archive unpacker umodel (download here).

1. Export needed 1st person welder animation and textures (KF_Weapons_Trip.Welder_Trip, KF_Weapons_Trip_T.equipment. Welder_D and KF_Weapons_Trip_T.hands.hands_1stP_military_diff) then open it in 3Ds Max. More details here.


2. Add new welder model to scene. Previously it needs to remove all bones from model and pack all textures in one file (read texture baking article).


3. Using Move, Rotate and Scale tools combine models together so that new one looks naturally in hand.


4. Delete old welder and set new welder model material ID to old one. Combine effect mesh with new model. You may test results by playing animations.

If you are making gun weapon then pay special attention to backsight combining and separate weapon parts binding also (magazine, barrel, cartridge)

5. Export obtained model to Killing Floor. Read details here.

6. Repeat steps 1-5 for 3rd person model (KF_Weapons3rd_Trip/ Welder_3rd). If you are making dropped weapon it needs to take care about model static mesh also.


7. Make mutator that replaces regular welder. Create new mutator with 3 files:

NewWelder.uc


class NewWelder extends Welder
dependson(KFVoicePack);

#exec OBJ LOAD FILE=NewWelder_T.utx //your textures
#exec OBJ LOAD FILE=NewWelder_A.ukx //your animations

defaultproperties
{
AttachmentClass=Class'NewWelder.NewWelderAttachment'
ItemName="New Welder"
Mesh=SkeletalMesh'NewWelder_A.NewWelderMesh'
Skins(0)=Texture'NewWelder_T.NewWelder'
}


NewWelderMut.uc


class NewWelderMut extends Mutator;

function PreBeginPlay()
{
AddToPackageMap("NewWelder_A");
AddToPackageMap("NewWelder_T");
}

function bool CheckReplacement(Actor Other, out byte bSuperRelevant) {
if (Other.IsA('KFHumanPawn'))
{
KFHumanPawn(Other).RequiredEquipment[4] = "NewWelder.NewWelder";
}

return true;
}

defaultproperties
{
GroupName="KF_NewWelder"
}


NewWelderAttachment.uc


class NewWelderAttachment extends WelderAttachment;

defaultproperties
{
Skins(0)=Texture'NewWelder_T.NewWelder'
Mesh=SkeletalMesh'NewWelder_A.NewWelder3rd'
}


Compile and add it to server as NewWelder.NewWelderMut.

I change shader color, make HUD textures yet and see result! Readymade stuff you can purchase here.
YouTube Preview Image

Share:

  • Добавить ВКонтакте заметку об этой странице
  • Twitter
  • Facebook
  • В закладки Google
  • Блог Я.ру
  • Мой Мир
  • Print

Read also:


Tags: , ,

 
 
 

10 comments на «Making new weapon in Unreal Engine»

  1. Винни
    11 Sep 2011 в 20:30

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

  2. MetalMedved
    11 Sep 2011 в 20:50

    Если не работает анимация, нужно проверить свойство Animation/DefaultAnimation, оно не должно быть пустым. Если модель неправильно повернута, необходимо применить к ней свойства исходной меши. Подробно об этом написано в этой статье (шаг 4), где все объясняется на примере модели игрока.

  3. Винни
    15 Sep 2011 в 23:48

    Спасибо за анимацию, выручил :) , но у меня проблема с текстурами, оружие приобрело текстуру рук, а руки – оружия((

  4. MetalMedved
    16 Sep 2011 в 3:45

    Если текстуры меняются местами, нужно поменять id материалов в максе

  5. Винни
    16 Sep 2011 в 17:34

    Эм… а если не трудно сказать, а как ? :)

  6. MetalMedved
    16 Sep 2011 в 19:31

    Задавайте вопросы по существу, технические подробности моделирования в 3ds max вы можете найти в гугле самостоятельно

  7. !!!!!
    03 Nov 2012 в 19:15

    помагите у меня формат .DLU блокнотом был как токо я его скачал что делать у меня виндовс XP?

  8. MetalMedved
    04 Nov 2012 в 3:49

    .dlu – это формат плагинов для 3ds max. Что с ними делать написано например тут

  9. Ruby
    21 Aug 2020 в 19:29

    А каким способом можно присвоит старый id новой модели ?

  10. MetalMedved
    22 Aug 2020 в 13:33

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

Your comment