NoMansSky:Importing Custom Models

From Step Mods | Change The Game
Nomanssky flare.png

Importing Custom 3D Models

It is possible to import custom models with the use of the NMS Model Importer plugin for Blender.

If you need any help to create your model, you can follow the Youtube channel : Blender tutorials with Grant Abbitt.

Method 1: Add To Build Menu

Check out this page to learn how. This is a much faster method to check your custom models than the second method. However, if you want to add models to change the feel of all the biomes, Method 2 is what you're looking for.

Important caveat: while this is useful for checking interactions and collisions with an object, this method will not be useful in checking that models relying on Descriptors are working properly. For that, Method 2 is the desired approach.

However, one can also check that Descriptors are working by adding custom models to building and point of interest (e.g. shipwreck) scenes. This method may prove more reliable and faster than LevelOneObjects, given that these may be more easily located.

Method 2: LevelOneObjects

For this I will be assuming that you already know how to decompile all the .pak files as well as decompile/recompile mbin files, and also how to pack it all back up into a workable mod. If you don't know how to do some of these things make sure you check Beginner Tutorials on how to do that first.

Now that you have the model exported from Blender into a format the game can read, the next step is to actually tell the game to load it somewhere. One way to do this is by adding the object (or objects) as a leveloneobject. Examples of these are the Knowledge Stones, Damaged Machinery Pods, and the random crates and stuff lying scattered around a planet.

To add objects to the list of leveloneobjects is as simple as editing one file (and another which seems to be essentially a copy of the first file).

The files we are editing are located at ../PCBANKS/METADATA/SIMULATION/SOLARSYSTEM/BIOMES/OBJECTS/LEVELONEOBJECTS/ and are the only two files (FULL and FULLSAFE).

After you've decompiled them with MBINCompiler, open these files up with some kind of text editor (I recommend Notepad++ as you can change the language to xml which allows for good code highlighting etc.).

Under the Property 'Objects' you will see a GcObjectSpawnData.xml Property, with a Filename containing the Damaged Machinery scene file. Copy the entire Property (should be lines 8 through to 80 inclusive) and paste it above the one you just copied (i.e. press 'Enter' at the end of line 7 to create a new line on line 8 and paste the entire block on line 8).

Now what you want to do is change the Filename Property to the location of the scene that the model importer created. This location will start with CUSTOMMODEL/. Remember that this location is relative to the PCBANKS folder.

Pretty much everything else in this file can be safely ignored. There are however two lines that can be modified: <Property name="PlacementCoverage" value="0.1" /> <Property name="PlacementFlatDensity" value="0.0001" />

These two lines dictate how regularly the object will get spawned. Higher values will mean more frequent spawns. You can compare the values that other objects in the file have to decide whether you want them to be more or less rare. While testing it is often a good idea to set the values reasonably high (0.1 and 0.005 ish) just to make sure you can find your model easily to confirm that it is loading and rendering correctly in game.

You can now copy the entire GcObjectSpawnData.xml Property into FULLSAFE.MBIN which is in the same folder.

Recompile both EXML files back into an MBIN and create your mod as usual.

You may also want to read on MATERIAL files.