Using the N3PMesh converter

Knight Online uses an internal file format called “N3PMesh” to store a lot of the game’s item meshes along with other various game meshes. A lot of these files are located in the “Item” folder found within the game’s install directory. You can think of every object in the game has having its own 3D mesh. In order for a object to appear in game we need to first know all the vertex information in order to draw the object using a 3D rendering library (in KO’s case it would be the DirectX library). A lot of the details aren’t necessarily important for this article but sometimes players would like to modify the 3D meshes in order to change how the objects look in game. I’m going to show you how to do this using the N3PMeshConverter.

Using the converter it is possible to convert .n3pmesh files into .obj files (allowing you to modify the appearance of the game’s weapons) and it can convert .obj files (along with other various formats) into .n3pmesh files. All this allows for you to export objects from the game, modify those objects, and import the modified objects back into the game.

In order to export an object you first must convert the .dxt item texture to a .bmp/.png image file using the N3TexViewer. Next run the following command using the command prompt (Windows Start Menu -> Search Bar -> Type “cmd” -> Press Enter).

This command will convert the .n3pmesh for the basic bow into a .obj file. Using the .obj and image file you can easily load the KO mesh into a 3D mesh editor like Blender.

 

In order to import the .obj file back into KO’s .n3pmesh format (presumably after you have made your modifications) use the following command (again via the command prompt).

Simply paste the new .n3pmesh into the KO content folder and the newly modified weapons mesh will appear in game!

 

8 thoughts on “Using the N3PMesh converter

  1. Hi stephen,

    can you maybe make a video how you convert the N3PMesh file into obj than to Blender ?!?

    would be nice

    best wishes
    NSB

  2. Hi Nico,

    Thank you for your suggestion. If I can find time I’ll happily make a video, also feel free to message me on Skype (bitshift8) and I can help there too.

    Best,
    Stephen

  3. Hi Stephan
    Last 3 days i m try to use that program but i dont understand how does it works
    I have install VS2017 community .
    when i try to local debug x86 console screen shows Press any key to continue…
    https://hizliresim.com/76Xrdm
    https://hizliresim.com/vj8vVR
    when i try to start in Release directory console screen shows error message box .
    https://hizliresim.com/gOVJp2
    start>>cmd run as admin . try to use
    N3PMeshConverter -export obj 2_0113_10_0.n3pmesh 2_0113_10_0.bmp
    https://hizliresim.com/2JNVRv
    i try last chance start>>cmd run as admin . Copy paste .n3pmesh and bmp file in Relaese folder
    its look like that
    https://hizliresim.com/Z9QPqZ
    i have 3d object converter its only converting .n3cskins to obj or several different format. But problem obj format cant not converting .n3pmesh.
    My PC windows 10 pro 64bit
    if it possible , can u tell me what must i do and how to use it

  4. Hi Kenan,

    I will take a look and see whether I can fix the release build of the converter. I often just work with the debug build but it is technically slower so let me take a look.

    Stephen

  5. @ Kenan: I have updated the Github and it now includes the Assimp source code so now everything should build fine.

  6. @Kenan

    Try “N3PMeshConverter -import untitled.obj n3pmesh”. I had to add an additional command-line argument to distinguish between whether you want to create a “n3pmesh” or “n3cskins”

    So use:

    N3PMeshConverter -import untitled.obj n3pmesh

    if you want a n3pmesh or:

    N3PMeshConverter -import untitled.obj n3cskins

    if you want a n3cskins

Leave a Reply

Your email address will not be published.