User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
modding:modelling:tutorial_mesh [2021/09/14 17:20] – [5. Edit the PSK File In Your Favorite 3D Modelling Software] Tweaks giwayumemodding:modelling:tutorial_mesh [2022/06/13 06:46] (current) – [Steps] giwayume
Line 1: Line 1:
 [[./start|<Back>]] [[./start|<Back>]]
  
-===== Modifying a 3D Model's Geometry =====+===== Tutorial: Modifying a 3D Model's Geometry =====
  
-If you've already created a Bloodstained mod before, download any tools you don't have below then [[#find_the_model_you_want_to_edit_with_ue_viewer|jump to step 4]].+If you've already created a Bloodstained mod before, download any tools you don't have below then [[.:tutorial_mesh:step3|jump to step 3]].
  
-==== 1. Download Modding Tools ====+---- 
 + 
 +==== Required Modding Tools ====
  
 Before you start, you'll need to download the following tools: Before you start, you'll need to download the following tools:
Line 11: Line 13:
   * {{ :modding:tool_quickbms.zip |QuickBMS}}   * {{ :modding:tool_quickbms.zip |QuickBMS}}
   * [[https://www.gildor.org/en/projects/umodel|UE Viewer]]   * [[https://www.gildor.org/en/projects/umodel|UE Viewer]]
-  * [[https://github.com/allcoolthingsatoneplace/UnrealPakTool/releases/|UnrealPak]]+  * {{ :modding:tool_unrealpak.zip |UnrealPak}}
   * [[https://github.com/Befzz/blender3d_import_psk_psa|PSK/PSA Importer Addon (for Blender users)]]   * [[https://github.com/Befzz/blender3d_import_psk_psa|PSK/PSA Importer Addon (for Blender users)]]
  
Line 18: Line 20:
   * [[https://www.autodesk.com/products/3ds-max/free-trial|3DS Max]]   * [[https://www.autodesk.com/products/3ds-max/free-trial|3DS Max]]
  
-==== 2. Download Unreal Engine Version 4.18.3 ==== +----
- +
-Unreal Engine takes a while to download, so it's good to set this up first. [[https://www.unrealengine.com/en-US/unreal|Download the Unreal Engine 4 installer and run it]]. This will install the Epic Games launcher. You will need to create an Epic Games account if you do not already have one and sign in. +
- +
-{{ :modding:modelling:tutorial_epic_games_signin.png?nolink&400 |}} +
- +
-Once Epic Games launcher opens, click on the "Library" tab. +
- +
-{{ :modding:modelling:tutorial_epic_games_launcher_home_screen.png?nolink&400 |}} +
- +
-{{ :modding:modelling:tutorial_epic_games_launcher_library_screen_add_engine.png?nolink&400 |}} +
- +
-Click the yellow + button next to "Engine Versions". A new item will appear. +
- +
-{{ :modding:modelling:tutorial_epic_games_launcher_newly_added_engine.png?nolink&400 |}} +
- +
-Click on the dropdown with the version number and select "4.18.3". Then click "Install". Follow the rest of the prompts until it shows that the engine starts downloading. Let it download in the background and go to the next step. +
- +
-{{ :modding:modelling:tutorial_epic_games_launcher_pick_unreal_engine_version.png?nolink&400 |}} +
- +
-==== 3. Extract the Game's Assets ==== +
- +
-You will need to locate Bloodstain's install folder. +
-  * For **Steam** users, the default install location is //C:\Program Files\Steam\steamapps\common\Bloodstained Ritual of the Night// +
-  * For **GOG** users, the default install location is //C:\Program Files (x86)\GOG Galaxy\Games\Bloodstained Ritual of the Night// +
- +
-Inside of the "Bloodstained Ritual of the Night" folder, navigate to the //BloodstainedRotN\Content\Paks// folder. Inside of this folder you will see multiple files named "pakchunk0-WindowNoEditor.pak", etc. These files contain the game's 3D models and other assets. +
- +
-{{ :modding:modelling:tutorial_extract_pak_vanilla_pak_folder.png?nolink&600 |}} +
- +
-We will use [[modding:tools#quickbms|QuickBMS]] to extract the assets from these .pak files. Extract the contents of the QuickBMS zip archive that you downloaded earlier to any folder you want. You can put it inside of the "Paks" folder if it's more convenient. Locate "quickbms_4gb_files.exe" and double click to run it. It will prompt you for 3 things. +
- +
-{{ :modding:modelling:tutorial_extract_pak_quickbms_in_folder.png?nolink&600 |}} +
- +
-For "select the BMS script or plugin to use", choose the "bloodstained.bms" file, that should be located next to "quickbms_4gb_files.exe". +
- +
-{{ :modding:modelling:tutorial_extract_pak_select_bms.png?nolink&800 |}} +
- +
-For "select the input archives/files to extract", choose the "pakchunk0-WindowsNoEditor.pak" file in the "Paks" folder. +
- +
-{{ :modding:modelling:tutorial_extract_pak_select_pak.png?nolink&800 |}} +
- +
-For "select the output folder where extracting the files", pick any folder you want. This is where the extracted assets will be stored. I put them inside of a "extracted" folder inside of the "Paks" directory. +
- +
-{{ :modding:modelling:tutorial_extract_pak_select_output_folder.png?nolink&800 |}} +
- +
-You may run into a couple places where it says it's not possible to create a file due to name duplication issues, just keep pressing enter if you run into that. +
- +
-After the extraction completes, run through the same steps for the "pakchunk2-WindowsNoEditor.pak" file, except use "quickbms.exe" instead of the "quickbms_4gb_files.exe" that you used last time. This program requires you to use different executables based on the size of the **.pak** file. +
- +
-==== 4. Find the Model You Want To Edit With UE Viewer ==== +
- +
-Now assuming you've already downloaded [[modding:tools#ue_viewer|UE Viewer]], extract the contents of the UE Viewer zip archive you've downloaded anywhere you want. I put it inside of my "extracted" folder that was created in the previous step. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_extract.png?nolink&600 |}} +
- +
-Double click on "umodel_64.exe" to open it. For "Path to game files:", make sure the folder where you've extracted the game's pak files is selected. Check the checkbox for "Override game detection" and select "Unreal engine 4" for the first dropdown and "Unreal engine 4.18" for the second dropdown. Click "OK". +
- +
-{{ :modding:modelling:tutorial_ue_viewer_startup_settings.png?nolink&600 |}} +
- +
-You will see a folder structure on the left containing all of the **.uasset** files that were extracted from the **.pak** file. Now you need to find the model you want to edit and open it. This will be guess and check, in the future we may have a guide on where each model is located. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_choose_package.png?nolink&600 |}} +
- +
-For this tutorial I'll be modifying Miriam's head, which is located at //BloodstainedRotN -> Content -> Core -> Character -> P0000 -> Mesh//. The filename is SK_Pl01_MiriamHead.uasset. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_filepath_for_miriam_head.png?nolink&600 |}} +
- +
-Once you open the file you'll see a preview of the 3D model you're about to edit. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_miriam_head_preview.png?nolink&600 |}} +
- +
-Click on //Tools -> Export Current Object// in the menu bar. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_export_current_object.png?nolink&600 |}} +
- +
-You can leave all the settings in this dialog at default, but I suggest changing the export folder in this case to something that's specific to your mod, for organizational purposes. In my case, I'm creating a "BloodstainedMods" folder to contain all of my mods, and for this specific step I'm exporting to a "ModelEdits" folder inside of it, because I will be editing the model in that folder. +
- +
-{{ :modding:modelling:tutorial_ue_viewer_export_current_object_miriam_head_path.png?nolink&600 |}} +
- +
-Click "OK", and after it's done you can close the UE Viewer program. +
- +
-Now if you explore the folder you exported to, you'll notice a lot of files were exported, all of them relating to the model you chose. You'll want to look for a **.psk** file that is in the same relative path and filename as the model you chose. In my case this is located at //X:\BloodstainedMods\MiriamHead\ModelEdits\Core\Character\P0000\Mesh\SK_Pl01_MiriamHead.psk//. This is the file I'll be modifying in the next step. +
- +
-==== 5. Edit the PSK File In Your Favorite 3D Modelling Software ==== +
- +
-In this step I will demonstrate editing the model using the [[https://www.blender.org/download/|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, [[#import_the_fbx_file_into_unreal_engine|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. +
- +
-Otherwise, [[https://www.blender.org/download/|download and install Blender]]. +
- +
-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**. +
- +
-[[https://raw.githubusercontent.com/Befzz/blender3d_import_psk_psa/master/addons/io_import_scene_unreal_psa_psk_280.py|Download the io_import_scene_unreal_psa_psk_280.py file]] (Right click -> Save as...), then copy/paste that "io_import_scene_unreal_psa_psk_280.py" file into the **C:\Program Files\Blender Foundation\Blender X.XX\X.XX\scripts\addons** folder. +
- +
-Open Blender. On the menu bar, select "Edit -> Preferences".  +
- +
-{{ :modding:modelling:tutorial_blender_edit_preferences.png?nolink&600 |}} +
- +
-On the left, click "Add-ons". +
- +
-{{ :modding:modelling:tutorial_blender_addons_list.png?nolink&600 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_psk_addon.png?nolink&600 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_import_psk.png?nolink&600 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_delete_default_cube.png?nolink&600 |}} +
- +
-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". +
- +
-{{ :modding:modelling:tutorial_blender_locate_scene_properties.png?nolink&800 |}} +
- +
-Now select "File -> Import -> Skeleton Mesh (.psk)" from the menu bar. +
- +
-{{ :modding:modelling:tutorial_blender_import_psk.png?nolink&600 |}} +
- +
-Locate the **.psk** file that you exported in the last step. Select it and click "Import PSK". You shouldn't need to change any of the import settings. +
- +
-{{ :modding:modelling:tutorial_blender_import_miriam_head_psk.png?nolink&800 |}} +
- +
-That tiny orange dot in the center of the screen is the imported head. You'll need to zoom in. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_small_view.png?nolink&800 |}} +
- +
-Hover your mouse to the center of the screen then press "F3" on the top of your keyboard. A search dialog will show, type "frame selected" and click on the 2nd option that says "View 3D: Frame Selected". +
- +
-{{ :modding:modelling:tutorial_blender_view_frame_selected.png?nolink&600 |}} +
- +
-Now the head should be visible on screen. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_zoomed.png?nolink&800 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_set_smoothing.png?nolink&800 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_rotate_mouse_wheel.png?nolink&800 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_header_vertex_selected.png?nolink&600 |}} +
- +
-There is a small button at the top of the screen that looks like a bow target. Click the button so it turns blue. This turns on Proportional Editing so your changes affect the surrounding vertices. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_turn_on_proportional_editing.png?nolink&800 |}} +
- +
-Verify that one vertex is still white (selected), then hit the "G" key. Now scroll your middle mouse wheel up several times until you see a white outline of a circle appear on screen (you may have to scroll the mouse wheel up a lot due to the small scale of the model). This is the size of the area that the proportional editing will affect. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_proportional_editing_size.png?nolink&800 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_increase_nose_size.png?nolink&800 |}} +
- +
-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. +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_scene_collection_selected.png?nolink&400 |}} +
- +
-{{ :modding:modelling:tutorial_blender_miriam_head_scene_collection_renamed_armature.png?nolink&400 |}} +
- +
-Finally, click on "File -> Export -> FBX (.fbx)" in the menu bar. +
- +
-{{ :modding:modelling:tutorial_blender_export_fbx.png?nolink&600 |}} +
- +
-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, **un**check "Add Leaf Bones".+
  
-Click the "Export FBX" button.+==== Steps ====
  
-{{ :modding:modelling:tutorial_blender_export_fbx_settings.png?nolink&800 |}}+  - [[.:tutorial_mesh:step1|Download Unreal Engine Version 4.22.3]] 
 +  - [[.:tutorial_mesh:step2|Extract the Game's Assets]] 
 +  - [[.:tutorial_mesh:step3|Find the Model You Want To Edit With UE Viewer]] 
 +  - [[.:tutorial_mesh:step4|Edit the PSK File In Your Favorite 3D Modelling Software]] 
 +  - [[.:tutorial_mesh:step5|Import the FBX File Into Unreal Engine]] 
 +  - [[.:tutorial_mesh:step6|Create a New .pak File From the Newly Packaged .uasset Files]]
  
-And with that, you'll have your modified 3D model as an **.fbx** file sitting next to the original model as a **.psk** file.+---- 
 +==== Final Result ====
  
-{{ :modding:modelling:tutorial_blender_exported_fbx_in_filesystem.png?nolink&600 |}}+You'll give Miriam a long nose.
  
-==== 6. Import the FBX File Into Unreal Engine ====+{{:modding:modelling:tutorial_mesh:tutorial_complete_miriam_head.png?nolink|}}

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information