Fallout 4

Meshes
The meshes within this mod (.nif) have all been created from scratch using the following process:

Model Creation

  • Create a new model using 3ds Max.

    How to use 3ds Max is an entirely different subject that won't be covered here. I will say that it looked rather intimidating at first (as a new user), but actually isn't that bad. I've managed to learn the basics within a week or so, it probably helps if you have some Photoshop experience.

    (Optional) Modify material mappings (UVW Xform) to change textures, specifically how they appear on your model.

  • Export as .NIF (https://github.com/figment/max_nif_plugin/releases).

.NIF Creation

  • Create a new .NIF using NifSkope (version set to 20.2.0.7 within settings).
  • Insert block "BSXFlags".

Connect Points

  • Insert block "BSConnectPoint::Parents" to enable snapping. 
  • Set "Num Connect Points" to change the number of connect points.
  • Update the array by right clicking on "Connect Points", followed by "Array" > "Update".

    You can modify the size of all arrays within NifSkope this way.

  • Add Connect Points and test in-game. The basics of configuring these is as follows:

    The "Variable Name" allows you to group connect points, it tells the engine whether or not two points should be snapped together. You can also use the "-Dif" modifier to prevent a point snapping to itself. For example:

    Your "Connect Point" variable is named "MyConnectPoint":

    - MyConnectPoint will snap to MyConnectPoint as well as MyConnectPoint-Dif.
    - MyConnectPoint-Dif will only snap to MyConnectPoint, not to MyConnectPoint-Dif.

    Finally there are four variables which configure how the object is presented in-game:

    P-WS-Rotation - Position of the object when the player holds it, after selecting it from the build menu (relative to crosshair). Also controls object position within the build menu icon.
    P-WS-Origin - Not sure about this one. Vanilla foundation is set to bottom of object (-224).
    P-WS-SinkMax - How far the object CAN be placed into the ground.
    P-WS-SinkMin - How far the object HAS to be placed into the ground.

    Open vanilla meshes to see which Connect Points are used by the game (i.e. P-Floor or P-Balcony01).

Import Model

  • Open your previously exported model (preferably using a new NifSkope window).
  • Copy "BSTriShape" and paste it into your new .nif.


Materials / Textures

  • Insert block "BSLightingShaderProperty".
  • Add the path that leads to your material within the "Name" property (right click > edit).
  • Click on "BSTriShape" and go to "BSProperties".
  • Enter the block number of "BSLightingShaderProperty" (left of it) to attach.

Collision

There are currently no tools available to create custom collisions, you'll have to copy vanilla ones which have roughly the same dimensions. The blocks are named bhkNPCollisionObject, those nested within a NiNode are probably most useful (you can copy the entire branch and then edit the transform to change the position of it).

Build Menu
There are two record types which are used to add a new category (FO4Edit).

FormId
Adds a new level/sub-category (see "WorkshopMenuMain" or "WorkshopMenu01Build"). This also requires a RecipeFilter at the top, without any attached objects (only an art object should be attached). Every other FormId or RecipeFilter should be placed after.

Keyword
Also known as a RecipeFilter. Constructible Objects are attached to this, which in turn displays them within the menu.

Category Icon

This relates to the menu FormId and allows you to attach an icon. It is basically a regular object, just not constructible (it pulls the model from a .nif, just like a static object). 

Create an art object within FO4Edit and the RecipeFilter keyword.

Constructible Object
Contains the information about an object within the build menu.

Pickup/Drop Sound - Sound played when the player picks up or puts down the object.
Components - Required materials in order to build.
Created Object - Points to the actual object (i.e. Static in case of foundations).
Category - Point it towards a RecipeFilter, this will assign it to a category.

Transform
Configures the menu icon, like position and angle.

Static Object
This configures the actual object within the world. Use it to assign a .nif, change the name and modify navmesh geometry.

(there are other object records, static is used by this mod)...

Article information

Added on

Written by

QuietusPlus

6 comments

  1. QuietusPlus
    QuietusPlus
    • premium
    • 17 kudos
    Sticky
    Meshes
    The meshes within this mod (.nif) have all been created from scratch using the following process:

    Model Creation


    • Create a new model using 3ds Max.

      How to use 3ds Max is an entirely different subject that won't be covered here. I will say that it looked rather intimidating at first (as a new user), but actually isn't that bad. I've managed to learn the basics within a week or so, it probably helps if you have some Photoshop experience.

      (Optional) Modify material mappings (UVW Xform) to change textures, specifically how they appear on your model.

    • Export as .NIF (https://github.com/figment/max_nif_plugin/releases).

    .NIF Creation


    • Create a new .NIF using NifSkope (version set to 20.2.0.7 within settings).
    • Insert block "BSXFlags".

    Connect Points


    • Insert block "BSConnectPoint:arents" to enable snapping. 
    • Set "Num Connect Points" to change the number of connect points.
    • Update the array by right clicking on "Connect Points", followed by "Array" > "Update".

      You can modify the size of all arrays within NifSkope this way.

    • Add Connect Points and test in-game. The basics of configuring these is as follows:

      The "Variable Name" allows you to group connect points, it tells the engine whether or not two points should be snapped together. You can also use the "-Dif" modifier to prevent a point snapping to itself. For example:

      Your "Connect Point" variable is named "MyConnectPoint":

      - MyConnectPoint will snap to MyConnectPoint as well as MyConnectPoint-Dif.
      - MyConnectPoint-Dif will only snap to MyConnectPoint, not to MyConnectPoint-Dif.

      Finally there are four variables which configure how the object is presented in-game:

      P-WS-Rotation - Position of the object when the player holds it, after selecting it from the build menu (relative to crosshair). Also controls object position within the build menu icon.
      P-WS-Origin - Not sure about this one. Vanilla foundation is set to bottom of object (-224).
      P-WS-SinkMax - How far the object CAN be placed into the ground.
      P-WS-SinkMin - How far the object HAS to be placed into the ground.

      Open vanilla meshes to see which Connect Points are used by the game (i.e. P-Floor or P-Balcony01).

    Import Model


    • Open your previously exported model (preferably using a new NifSkope window).
    • Copy "BSTriShape" and paste it into your new .nif.


    Materials / Textures


    • Insert block "BSLightingShaderProperty".
    • Add the path that leads to your material within the "Name" property (right click > edit).
    • Click on "BSTriShape" and go to "BSProperties".
    • Enter the block number of "BSLightingShaderProperty" (left of it) to attach.

    Collision

    There are currently no tools available to create custom collisions, you'll have to copy vanilla ones which have roughly the same dimensions. The blocks are named bhkNPCollisionObject, those nested within a NiNode are probably most useful (you can copy the entire branch and then edit the transform to change the position of it).

    Build Menu
    There are two record types which are used to add a new category (FO4Edit).

    FormId
    Adds a new level/sub-category (see "WorkshopMenuMain" or "WorkshopMenu01Build"). This also requires a RecipeFilter at the top, without any attached objects (only an art object should be attached). Every other FormId or RecipeFilter should be placed after.

    Keyword
    Also known as a RecipeFilter. Constructible Objects are attached to this, which in turn displays them within the menu.

    Category Icon

    This relates to the menu FormId and allows you to attach an icon. It is basically a regular object, just not constructible (it pulls the model from a .nif, just like a static object). 

    Create an art object within FO4Edit and the RecipeFilter keyword.

    Constructible Object
    Contains the information about an object within the build menu.

    Pickup/Drop Sound - Sound played when the player picks up or puts down the object.
    Components - Required materials in order to build.
    Created Object - Points to the actual object (i.e. Static in case of foundations).
    Category - Point it towards a RecipeFilter, this will assign it to a category.

    Transform
    Configures the menu icon, like position and angle.

    Static Object
    This configures the actual object within the world. Use it to assign a .nif, change the name and modify navmesh geometry.

    (there are other object records, static is used by this mod)...
    1. QuietusPlus
      QuietusPlus
      • premium
      • 17 kudos
      Most of this was written from memory, so let me know if there are any mistakes or if I missed something (spelling included, English isn't my first language)... Hopefully useful to someone at least!
    2. Wili
      Wili
      • member
      • 0 kudos
      delete plz
    3. Wili
      Wili
      • member
      • 0 kudos
      delete plz
    4. pogwalNik57
      pogwalNik57
      • member
      • 0 kudos
      Большое спасибо за вашу работу, в голове все стало на свои места.
  2. Wili
    Wili
    • member
    • 0 kudos
    Thank you


    P.D. sry I made a mistake and posted it in the wrong place.
  3. modlurker
    modlurker
    • member
    • 27 kudos
    Looks Great man well done