Difference between revisions of "Arcane University:Nifskope Weapons Setup"

The Beyond Skyrim Wiki — Hosted by UESP
Jump to: navigation, search
m (Re-linked to correct category)
(Scabbard Model (Scb) - NiTriShape)
 
(6 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
This guide will details all there is to know about setting up weapons models to be game-ready.
 
This guide will details all there is to know about setting up weapons models to be game-ready.
  
This is a workflow-agnostic tutorial revolving around nifskope.<br>
+
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.
As long as your workflow allow you to export model into a bare NIF model containing only the geometry, you can follow along to get your weapon game-ready.
 
  
__TOC__
+
== General Considerations ==
 
+
There are a few things to know before getting started:
 
+
Skyrim only supports a limited number of weapons variations:
= General Considerations =
+
* One-Handed
 
+
** Dagger
There is a few things to know before getting started:
+
** Sword
Skyrim only support a limited number of weapons variations:
+
** War Axe
* 1 Handed
+
** Mace
** Daggers
+
* Two-Handed
** Swords
 
** Waraxes
 
** Maces
 
* 2 Handed
 
 
** Greatsword
 
** Greatsword
 
** Battleaxe
 
** Battleaxe
 
** Warhammer
 
** Warhammer
 
* Ranged
 
* Ranged
** Bows
+
** Bow
** Brossbows
+
** Crossbow
 
* Special
 
* Special
** Staves
+
** Staff
  
Anything you may see in mods are just models setup to look somewhat right (or not) as one of the above type.
+
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-oriented differences, the weapon type define:  
+
Aside the gameplay differences, the weapon type defines:  
 
* Where the weapon will go on the 3rd person model when sheathed
 
* 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 animation set it will be using
 
* Which kind of impact it will create when hitting things (sounds and visuals)
 
* Which kind of impact it will create when hitting things (sounds and visuals)
* Where the player character will grip the model when holding it
 
 
If the last point (impacts) don't matter much here, the other 3 set the limitation with how different your model can be from the target weapon type.<br>
 
A handle to big will see the player's hand inside it, a blade too long will clip through the ground when sheathed, a bow to wide will obstruct the view of the player when aiming in 1st person, etc...
 
  
As such, it is important to know in advance which weapon type your weapon will target, and eventually to use one of the vanilla model as reference for the proportions when modelling.
+
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.
  
An other thing to keep in mind is that Skyrim support special 1st person models, which may be higher quality than their worldmodel / 3rd person model counter part as the model won't be used for cluttering, or worn by NPCs.<br>
+
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 1st person and 3rd person, unless the 1st person model absolutely need to be high poly and high-res, but this is something to keep in mind when designing generic weapons that may be used by the hundreds by a level designer to clutter an armory. On the other hand, unique weapons are probably best kept at high quality for both variant.
 
  
= Pre-requisites =
+
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:
 
To follow this tutorial, you will need:
* Nifskope
+
* NifSkope
* Skyrim Legenray Edition
+
* Skyrim Legendary Edition
 
* The Creation Kit
 
* The Creation Kit
 
* A way to export/convert a model's geometry from your modelling software to a NIF.
 
* A way to export/convert a model's geometry from your modelling software to a NIF.
  
= Anatomy of a weapon 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 <code>Block > Insert > Bethesda > BSInvMarker</code>.
 +
*Increase the <code>Num Extra Data List</code> by one and refresh the <code>Extra Data list</code> array. This will add an empty entry to the <code>Extra Data list</code> array.
 +
*Insert the number of the BSInvMarker to this array. In vanilla nifs, the BSInvMarker appears to be first, before <code>BSX</code> or <code>PRN</code> 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 <code>ZYX Euler</code>, 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 <code>ZYX Euler</code> 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.
  
== Root - BSFadeNode ==
+
=== Metadata - BSXFlags ===
  
== Inventory Position - BSInvMarker ==
+
=== 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 <code>Prn</code> 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.
  
== Metadata - BSXFlags ==
+
{| class="wikitable sortable"
 +
|-
 +
! scope="col"| String Data
 +
! scope="col"| 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
 +
|}
  
== Weapon Type - NiStringExtraData (Prn) ==
+
=== Collision - bhkCollisionObject ===
  
== Collision - bhkCollisionObject ==
+
=== Scabbard Model (Scb) - NiTriShape ===
  
== Scabbard Model (Scb) - NiTriShape ==
+
The NiTriShape that is used for the scabbard needs to be called "<code>Scb</code>" in order for it to remain at the correct place, instead of moving with the weapon.
  
== Blood Lighting - NiTriShape ==
+
=== Blood Lighting - NiTriShape ===
  
== Blood Effects - NiTriShape ==
+
=== Blood Effects - NiTriShape ===
  
== Weapon Model - NiTriShape(s) ==
+
=== Weapon Model - NiTriShape(s) ===
  
= Example =
+
=== Example ===

Latest revision as of 06:02, 3 December 2021

< 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[edit]

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[edit]

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[edit]

Inventory Position - BSInvMarker[edit]

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[edit]

Weapon Type - NiStringExtraData (Prn)[edit]

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[edit]

Scabbard Model (Scb) - NiTriShape[edit]

The NiTriShape that is used for the scabbard needs to be called "Scb" in order for it to remain at the correct place, instead of moving with the weapon.

Blood Lighting - NiTriShape[edit]

Blood Effects - NiTriShape[edit]

Weapon Model - NiTriShape(s)[edit]

Example[edit]