Difference between revisions of "Arcane University:Nif implementation"

The Beyond Skyrim Wiki — Hosted by UESP
Jump to: navigation, search
(Skyrim Data Formats: add prismatic constraints page)
(Mesh Conversion: ck-cmd LE only)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Trail|Implementation}}{{ImpNav}}
 
{{Trail|Implementation}}{{ImpNav}}
In Beyond Skyrim projects, 3D artists are expected to be able to export their own meshes to nifs, if they are simple enough. However, for more complex objects, like animated objects, or those with particle effects, it may fall on an implementer to bring this into Skyrim. Other partner projects of the AU may have the entire responsibility of bringing a mesh from fbx to in-game fall to the implementation team. Therefore, the first thing you should know is how to export to nif from a 3D program or from a predefined format like fbx. For the basic process of asset implementation, see [[AU:Intro to Asset Implementation|Intro to Asset Implementation]]
+
In Beyond Skyrim projects, 3D artists are expected to be able to export their own meshes to [[AU:nif|nif]]s, and textures to [[AU:DDS|DDS]], if they are simple enough. However, for more complex objects, like animated objects, or those with particle effects, it may fall on an implementer to bring this into Skyrim. Other partner projects of the AU may have the entire responsibility of bringing a mesh from fbx to in-game fall to the implementation team. Therefore, the first thing you should know is how to export to nif from a 3D program or from a predefined format like fbx. For the basic process of asset implementation, see [[AU:Intro to Asset Implementation|Intro to Asset Implementation]].
  
== Skyrim Data Formats ==
+
== Reference pages ==
Skyrim uses [[AU:NIF|NIF]] and [[AU:DDS|DDS]] file formats to store meshes and textures, respectively. That means your mesh must be converted to a NIF and textures to DDS.
+
* [[AU:NetImmerse Format|NetImmerse Format]]: Overview of nif format
 
+
** [[AU:NetImmerse Format/BSLightingShaderProperty|BSLightingShaderProperty]]: Lighting Shader settings and flags
===Nif properties===
+
*** [[AU:NetImmerse_Format/Texture Slots|Texture Slots]]: Details on texture slot usage
* General Metadata
+
** [[AU:NetImmerse Format/BSEffectShaderProperty|BSEffectShaderProperty]]: Effect Shader settings and flags
** [[AU:NetImmerse Format#BSXFlags|BSX Flags]] (enable things like animation and physics)
+
* [[AU:Collision|Collision]] and physics settings
** [[AU:NetImmerse Format#Inventory Marker|Inventory marker]] (changes how the item is shown in the inventory)
+
* [[AU:DDS Data Format|DDS Data Format]]: Overview of the DDS format Skyrim uses for textures
* [[AU:Mesh Collisions|Collision and physics settings]]
 
** [[AU:Nifskope Hinge Constraints|Hinge Constraints]]
 
** [[AU:Nifskope Prismatic Constraints|Nifskope Prismatic Constraints]]
 
* [[AU:NetImmerse Format#Shader types|Shader settings]]
 
** [[AU:NetImmerse Format#Effect Properties|Effect properties]]
 
* [[AU:Animation|Animation]]
 
 
 
==Nif implementation tutorials==
 
  
 +
==Tutorials==
 
=== Weapons ===
 
=== Weapons ===
 
*[[AU:Nifskope Weapons Setup|Nifskope Weapons Setup]]
 
*[[AU:Nifskope Weapons Setup|Nifskope Weapons Setup]]
 
*[[:File:Tutorial_skyrim_bows_from_3ds.pdf|Rigging bows with 3ds Max and NifSkope (pdf)]] by Artisanix
 
*[[:File:Tutorial_skyrim_bows_from_3ds.pdf|Rigging bows with 3ds Max and NifSkope (pdf)]] by Artisanix
  
=== Animated Objects ===
+
=== Animated objects ===
 
*[[AU:Exporting animated statics using ck-cmd|Exporting animated statics using ck-cmd]]
 
*[[AU:Exporting animated statics using ck-cmd|Exporting animated statics using ck-cmd]]
 
*[https://www.youtube.com/watch?v=4DrN_AS28qk Animating Crash Course - Basic Static Animations in Blender (video)] by Hayden Price
 
*[https://www.youtube.com/watch?v=4DrN_AS28qk Animating Crash Course - Basic Static Animations in Blender (video)] by Hayden Price
 +
 +
=== Constraints ===
 +
*[[AU:Nifskope Hinge Constraints|Hinge Constraints]]
 +
*[[AU:Nifskope Prismatic Constraints|Prismatic Constraints]]
 +
 +
=== Importing/exporting ===
 +
*[[AU:Nif Import|Nif Import]]
 +
*[[AU:Mesh Export to NIF|Mesh Export to NIF]]
 +
 +
== Software ==
 +
There are various tools used for implementing nifs.
 +
 +
=== General ===
 +
*[[AU:NifSkope|NifSkope]]: NifSkope is the most important program for nif implementation. It is a program that allows you to open NIF files, view and alter NIFs properties and contents, and export NIF files into other file formats readable by other programs such as Blender. Nifskope is where you attach your textures to the NIF and specify shader settings for it to appear correctly in game. Nifskope also allows you to browse the Skyrim meshes BSA (archive) without using a BSA unpacker.
 +
*[https://www.nexusmods.com/newvegas/mods/67829 Sniff]: A batch operations tool for nif files. It includes many functions which you can read about on its Nexus page.
 +
 +
=== Texture Conversion ===
 +
Skyrim uses the [[Arcane_University:DDS_Data_Format|DDS]] file format for all textures. Here is some software which may be used to convert from the source files:
 +
*[[AU:Paint.NET|Paint.NET]]: Easy to use since it provides a nice GUI, and supports DX10 formats. Not the most extensive editing tools however.
 +
*[https://github.com/Microsoft/DirectXTex/wiki/Texconv Texconv]: This is actually what most software uses under the hood. It is developed by Microsoft and is extremely flexible for command line use, but has no GUI.
 +
*[https://www.nexusmods.com/skyrimspecialedition/mods/23316 Cathedral Assets Optimizer]: converts only TGA to DDS. Allows batch conversion.
 +
*[https://developer.nvidia.com/nvidia-texture-tools-exporter Nvidia Texture Tools Exporter]: can be downloaded as standalone program, or as Photoshop plugin. Standalone program allows batch conversion.
 +
*[[AU:GIMP|GIMP]]: Good for editing and creating combined textures like normal/gloss. Does not support DX10 formats, so is not recommended for conversion to DDS.
 +
*[https://github.com/Unity-Technologies/crunch/tree/unity Crunch]: Good for extra compression, but does not support DX10 formats.
 +
*[https://gpuopen.com/compressonator/ Compressonator]: Requires an AMD graphics card, but outputs good quality and has a nice GUI. Also supports command-line use. It does not provide a method of scaling.
 +
 +
=== Mesh Conversion ===
 +
{{note|float=right|max-width=35%|Special Edition uses a different nif format from Skyrim/Legendary Edition. However, nearly all Skyrim/LE nifs will work in SSE, and are easier to work with. SSE nifs are also less precise. For this reason, most projects use LE nifs. If you do need to convert either way, you can use [https://www.nexusmods.com/skyrimspecialedition/mods/23316 Cathedral Assets Optimizer] or [https://www.nexusmods.com/skyrimspecialedition/mods/4089 SSE Nif Optimizer].}}
 +
There are a variety of methods to convert your mesh, including both software-specific plugins, and standalone converters that are software-agnostic:
 +
 +
*Sofware agnostic:
 +
**[[AU:ck-cmd|ck-cmd]]: can convert both ways between .fbx and nif, including collision. Also can handle havok behaviors. Only works with LE nifs.
 +
**[[AU:Outfit Studio|Outfit Studio]]: can import .obj or .fbx, and export LE or SSE nifs. Also used for skinning armor, creatures, or npcs.
 +
*[[AU:Blender|Blender]]:
 +
**[[AU:Blender Niftools Addon|Blender Niftools Addon]]: For Blender 2.8+, Export/Import tool between Blender and the Nif format.
 +
**[[AU:PyNifly|PyNifly]]: Export/Import tool between Blender and the Nif format. Supports SSE Meshes
 +
*[[AU:3ds Max|3ds Max]]:
 +
**[https://github.com/figment/max_nif_plugin/releases/tag/3.8.0 3DS Max Niftools Addon]: Niftools Addon for 3DS Max. Might not work with versions after 2016
 +
**[https://www.nexusmods.com/skyrim/mods/84041 Apenov 3DS Max Plugin]: Another Plugin for 3DS Max, works with versions up to 2018. Supports some SSE Meshes
 +
 +
=== Collision ===
 +
Most mesh conversion software handles collision now. There are a couple older programs which can be used to manipulate collision only, which are noted here:
 +
*[[AU:ChunkMerge|ChunkMerge]]: Can transfer collision from one nif to another, or convert TriShapes to compressed mesh shape collision
 +
*[https://wiki.beyondskyrim.org/wiki/File:Chunkmerge_Utils.zip Chunkmerge Utils]: templates for use with ChunkMerge
 +
 +
=== Skyrim and Creation Kit ===
 +
To view your asset in game you'll need the game. You can use Skyrim Legendary Edition, or Skyrim Special Edition.
 +
* Creation Kit for the version of Skyrim you are modding for:
 +
** TES V: Skyrim Creation Kit: cannot be linked to, but can still be downloaded via Steam app
 +
** [https://store.steampowered.com/app/1946180/Skyrim_Special_Edition_Creation_Kit/ Skyrim Special Edition Creation Kit] and [[AU:CKPE|Creation Kit Platform Extended]]
  
 
[[Category:Arcane University-Implementation]]
 
[[Category:Arcane University-Implementation]]

Latest revision as of 16:03, 1 December 2025

< Arcane University:Implementation
Implementation
Departments
Quests
Nifs
Mechanics

In Beyond Skyrim projects, 3D artists are expected to be able to export their own meshes to nifs, and textures to DDS, if they are simple enough. However, for more complex objects, like animated objects, or those with particle effects, it may fall on an implementer to bring this into Skyrim. Other partner projects of the AU may have the entire responsibility of bringing a mesh from fbx to in-game fall to the implementation team. Therefore, the first thing you should know is how to export to nif from a 3D program or from a predefined format like fbx. For the basic process of asset implementation, see Intro to Asset Implementation.

Reference pages[edit]

Tutorials[edit]

Weapons[edit]

Animated objects[edit]

Constraints[edit]

Importing/exporting[edit]

Software[edit]

There are various tools used for implementing nifs.

General[edit]

  • NifSkope: NifSkope is the most important program for nif implementation. It is a program that allows you to open NIF files, view and alter NIFs properties and contents, and export NIF files into other file formats readable by other programs such as Blender. Nifskope is where you attach your textures to the NIF and specify shader settings for it to appear correctly in game. Nifskope also allows you to browse the Skyrim meshes BSA (archive) without using a BSA unpacker.
  • Sniff: A batch operations tool for nif files. It includes many functions which you can read about on its Nexus page.

Texture Conversion[edit]

Skyrim uses the DDS file format for all textures. Here is some software which may be used to convert from the source files:

  • Paint.NET: Easy to use since it provides a nice GUI, and supports DX10 formats. Not the most extensive editing tools however.
  • Texconv: This is actually what most software uses under the hood. It is developed by Microsoft and is extremely flexible for command line use, but has no GUI.
  • Cathedral Assets Optimizer: converts only TGA to DDS. Allows batch conversion.
  • Nvidia Texture Tools Exporter: can be downloaded as standalone program, or as Photoshop plugin. Standalone program allows batch conversion.
  • GIMP: Good for editing and creating combined textures like normal/gloss. Does not support DX10 formats, so is not recommended for conversion to DDS.
  • Crunch: Good for extra compression, but does not support DX10 formats.
  • Compressonator: Requires an AMD graphics card, but outputs good quality and has a nice GUI. Also supports command-line use. It does not provide a method of scaling.

Mesh Conversion[edit]

Ambox important.png NOTE: Special Edition uses a different nif format from Skyrim/Legendary Edition. However, nearly all Skyrim/LE nifs will work in SSE, and are easier to work with. SSE nifs are also less precise. For this reason, most projects use LE nifs. If you do need to convert either way, you can use Cathedral Assets Optimizer or SSE Nif Optimizer.

There are a variety of methods to convert your mesh, including both software-specific plugins, and standalone converters that are software-agnostic:

  • Sofware agnostic:
    • ck-cmd: can convert both ways between .fbx and nif, including collision. Also can handle havok behaviors. Only works with LE nifs.
    • Outfit Studio: can import .obj or .fbx, and export LE or SSE nifs. Also used for skinning armor, creatures, or npcs.
  • Blender:
    • Blender Niftools Addon: For Blender 2.8+, Export/Import tool between Blender and the Nif format.
    • PyNifly: Export/Import tool between Blender and the Nif format. Supports SSE Meshes
  • 3ds Max:

Collision[edit]

Most mesh conversion software handles collision now. There are a couple older programs which can be used to manipulate collision only, which are noted here:

  • ChunkMerge: Can transfer collision from one nif to another, or convert TriShapes to compressed mesh shape collision
  • Chunkmerge Utils: templates for use with ChunkMerge

Skyrim and Creation Kit[edit]

To view your asset in game you'll need the game. You can use Skyrim Legendary Edition, or Skyrim Special Edition.