Arcane University: Nifskope Weapons Setup

The Beyond Skyrim Wiki — Hosted by UESP
Revision as of 00:13, 24 April 2021 by Gamma Metroid (talk | contribs)
Jump to: navigation, search
< Arcane University:3D Art

This guide will details all there is to know about setting up weapons models to be game-ready.

This is a workflow-agnostic tutorial, focused on NifSkope. As long as your workflow allows you to export a custom model to a NIF containing only the geometry, you can follow along to get your weapon game-ready.

General Considerations

There are a few things to know before getting started: Skyrim only supports a limited number of weapons variations:

  • One-Handed
    • Dagger
    • Sword
    • War Axe
    • Mace
  • Two-Handed
    • Greatsword
    • Battleaxe
    • Warhammer
  • Ranged
    • Bow
    • Crossbow
  • Special
    • Staff

Anything you may see in mods are just models setup to look somewhat right (or not) as one of the above types.

Aside the gameplay differences, the weapon type defines:

  • Where the weapon will go on the 3rd person model when sheathed
  • Where the player character will grip the model when holding it
  • Which animation set it will be using
  • Which kind of impact it will create when hitting things (sounds and visuals)

If the last point (impacts) don't matter much here, the other 3 set the limitation on how different your model can be from the target weapon type.

If the handle is too big, the player's hand will clip inside it. If the blade is too long, it may clip through the ground when sheathed. If a bow is too wide, it may obstruct player's view when aiming. As such, it is important to know in advance which weapon type your weapon will use. A good strategy is to use one of the vanilla weapons as a reference when modeling.

Another thing to keep in mind is that Skyrim supports special first person models, which may be higher quality than their world model/third person model, as it won't be used for cluttering, or when worn by NPCs.

It is not mandatory to provide a different model for first person and third person, unless the first person model absolutely needs to have additional detail, but this is something to keep in mind when designing generic weapons that may be used in the hundreds by a level designer to clutter an armory. Unique weapons are safer to make with high detail, since they will only ever appear once in the game scene.

Pre-requisites

To follow this tutorial, you will need:

  • NifSkope
  • Skyrim Legendary Edition
  • The Creation Kit
  • A way to export/convert a model's geometry from your modelling software to a NIF.

Anatomy of a weapon NIF

Inventory Position - BSInvMarker

In your inventory, your item will always be viewed from the positive y-axis. In order to change how it is viewed in the inventory, insert a BSInvMarker into the BSFadeNode, within the 'Extra Data List':

  • First, create the BSInvMarker by right-clicking onto the BSFadeNode and using Block > Insert > Bethesda > BSInvMarker.
  • Increase the Num Extra Data List by one and refresh the Extra Data list array. This will add an empty entry to the Extra Data list array.
  • Insert the number of the BSInvMarker to this array. In vanilla nifs, the BSInvMarker appears to be first, before BSX or PRN blocks, so you may need to reshuffle the numbers in the array to match this.

The BSInvMarker affects how the model is viewed in the inventory, thought the following fields:

  • Zoom affects how large the item will appear - if it is too small in the inventory, increase this value.
  • The three fields Rotation X, Rotation Y and Rotation Z each influence rotation of the item in the inventory. They are integers representing the number of radians*1000 turned around each respective axis. This is always clockwise when viewed from the positive side of the respective axis. To see how this looks in something like Blender, view it from the positive y axis, set the rotation mode to ZYX Euler, and use the following formula to determine the rotation in degrees for each axis:

rotation in degrees = -360 * field value / (2*pi*1000)

It is important to remember the - here, since the rotation in Blender is the opposite direction. If you have a rotation in Blender that you want to show in the inventory, use this formula (same settings, so ZYX Euler rotation mode and viewed from the positive y-axis):

field value = -1000 * 2*pi* (rotation in degrees/360)

You cannot enter negative values in the fields, so make sure to start from negative values in Blender, since they will be made positive via the formula. If you do not have negative values to begin with, subtract 360 degrees again and again until you do.

Metadata - BSXFlags

Weapon Type - NiStringExtraData (Prn)

In order to make sure your weapon is sheathed in the correct position, you need to add a NiStringExtraData block to the BSFadeNode. This needs to have Prn as its name, and one of the values in the table below as its string data. This (in part) lets the game know where the weapon is sheathed and what kind of animations are used. If this block is not present in your nif, the weapon will likely show up at your feet. The following table shows which values are used in vanilla Skyrim, and by which kind of weapons.

String Data Used by
QUIVER Arrows
SHIELD Shields, some staves, torches
WeaponAxe (War/Hand)Axes
WeaponBack Greatswords, warhammers, battleaxes
WeaponBow Bows, crossbows
WeaponDagger Daggers
WeaponMace Mace
WeaponStaff Most staves
WeaponSword (One-handed) Swords

Collision - bhkCollisionObject

Scabbard Model (Scb) - NiTriShape

Blood Lighting - NiTriShape

Blood Effects - NiTriShape

Weapon Model - NiTriShape(s)

Example