Tutorial: Modifying a 3D Model's Geometry; Step 4.
Edit the PSK File In Your Favorite 3D Modelling Software
In this step I will demonstrate editing the model using the Blender 3D Modelling Software. This is free software and thus accessible to anyone.
If you choose to use a different 3D modelling program for this step, the key takeaways are:
- Set your “world” or “scene” unit scale to 0.01 meters (or 1 centimeter).
- Import the .psk model
- Make any changes you like to geometry, UV map, and reassign materials to new faces, however do not change the material order or create new materials. Make sure all materials are assigned to at least 1 face.
- Export your edits as an .fbx file. You may or may not have to make tweaks to these export settings depending on the software.
If you don't need a 3D modelling tutorial, skip to the next step. I recommend Blender users read through this section either way as there are certain things you have to do to make the import work properly.
The following tutorial covers Blender 2.8+ specifically. If you wish to use the latest version of Blender, there will be small changes in the process which you're going to have to figure out on your own if you decide to use the newer versions.
Assuming you let Blender install at the default location, the blender addons folder is located at:
C:\Program Files\Blender Foundation\Blender X.XX\X.XX\scripts\addons,
where “X.XX” is whatever version of Blender you downloaded. My Blender version is 2.83, so my path looks like:
C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons.
For Blender 2.8+
Download the io_import_scene_unreal_psa_psk_280.py file (Right click → Save as…)
Copy/paste the plugin file (io_import_scene_unreal_psa_psk_280.py) into the C:\Program Files\Blender Foundation\Blender X.XX\X.XX\scripts\addons folder.
For Blender 3.0+ or 4.0+
Download install the newer plugin at https://github.com/DarklightGames/io_scene_psk_psa. Follow the instructions on that page to install the plugin.
Open Blender. On the menu bar, select “Edit → Preferences”.
On the left, click “Add-ons”.
In the search bar on the top right, type “psk”. You should see an option that says Import-Export: Import Unreal Skeleton Mesh (.psk)/Animation Set (.psa) (280). If you don't see this, you likely put the “io_import_scene_unreal_psa_psk_280.py” file in the wrong place. Make sure the checkbox next to it is checked to enable the addon. Then you can close this window.
Now if you select “File → Import” on the menu bar, you should see an option listed “Skeleton Mesh (.psk)”. If you don't see this, you may have to restart Blender.
Before you click on that, first let's clear out the scene. Close the “File” menu and hover your mouse over the cube in the center of the screen. Hit “A” on your keyboard, then hit “X”. Then click “Delete” with your left mouse button. This will remove all the objects added by default to the scene.
Next, locate the “Scene Properties” tab and click on it. This looks like an icon with 2 circles and a cone. Expand the “Units” section. Change “Unit System” to “Metric” and “Unit Scale” to “0.01”.
Now select “File → Import → Skeleton Mesh (.psk)” from the menu bar.
Make sure “Don't invert root bone” is checked and “Scale down” is unchecked. Locate the .psk file that you exported in the last step. Select it and click “Import PSK”.
Now the head should be visible on screen.
Left click on the head so it shows an orange outline around it. Hit the “Tab” key then hit the “A”, key. With your mouse, select “Mesh → Shading → Smooth Faces” in the menu. This will make the faces shade smooth instead of using the default flat (blocky) shading.
Click and hold the middle mouse button (the scroll wheel), then move your mouse from left to right while still holding down the button, this lets you rotate the view around the model.
I'm going to enlarge Miriam's nose so I know right away in-game whether my modding changes took effect or not. Left click on one of the dots (vertices) on miriam's nose to select it. That vertex will turn white to show it is selected while the others will be black to show they are not selected.
There is a small button at the top of the screen that looks like an archery target. Click the button so it turns blue. This turns on Proportional Editing so your changes affect the surrounding vertices.
Verify that one vertex is still white (selected), then hit the “G” key. Scroll your middle mouse wheel up or down to adjust the size of the white circle that appears. This is the size of the area that the proportional editing will affect.
Now hit the “Y” key and move your mouse back and forth to adjust the size of the nose. Click with the left mouse button to commit to the change when you're satisfied with the size.
Now that you've created a gremlin, the last step inside of Blender is you need to rename the model's armature from “SK_PI01_MiriamHead.ao” to “armature”. This step is specific to Blender as Unreal Engine's importer expects this to be the case. Double click on “SK_PI01_MiriamHead.ao” in the Scene Collection window on the top right to rename it.
Finally, click on “File → Export → FBX (.fbx)” in the menu bar.
I recommend exporting to the same folder you imported the .psk file from, and with the exact same filename (except with the .fbx extension instead). Copy/paste the filename, don't try to type it out, that leads to mistakes. You'll need to make a couple of changes to the export settings from the defaults:
- In the “Geometry” section, set “Smoothing” to “Face”.
- In the “Armature” section, uncheck “Add Leaf Bones”.
Click the “Export FBX” button.
And with that, you'll have your modified 3D model as an .fbx file sitting next to the original model as a .psk file.