# Fusion ## Collection of scripts to help port payday2 diesel maps to unreal engine ## Overview ### Needed software [PAYDAY 2 Model Tool](https://github.com/kythyria/payday2-model-tool/releases) [PAYDAY-2-Hashlist](https://github.com/Luffyyy/PAYDAY-2-Hashlist) [DieselBundleViewer](https://github.com/Luffyyy/DieselBundleViewer) [BeardLib-Editor](https://github.com/Luffyyy/BeardLib-Editor) [Blender](https://www.blender.org/) [Python] ### pdworld2json.py Converts world.continent files to the json format and fixes location rotation to work with unreal. ### ConvertExportedToUnreal.blend Fixes Model files exported by the PD2ModelParser, like removing unneeded objects rotating models propely and setting the origin corectly. ### ExportModels.bat Makes it easier to export models by just letting it run via a bat in the background ### ModelCopyForBlender.bat Makes it easier to set up a work folder for blender ## Get started ### Download the project files. ![Download files by using Download ZIP](/assets/images/DWL1.png) Extract the contents, make sure you have enough space for the game assets later. The extracted game assets are quite large. ### Export Level data Install [DieselBundleViewer](https://github.com/Luffyyy/DieselBundleViewer) and open payday2s bundle_db.blb ![Open DieselBundleViewer](/assets/images/DBV1.png) ![Open bundle_db.blb](/assets/images/DBV2.png) Navigate to /levels/narratives and chose a map to port in my case First World Bank ![Navigate to /levels/narratives/classics/red2](/assets/images/DBV3.png) ![Then go in the world folder](/assets/images/DBV4.png) ![Press Convert and Save as](/assets/images/DBV5.png) ![Then save it on the /WorldFiles/DieselWorldCONTINENT](/assets/images/DBV6.png) ### Get started with pdworld2json.py Install python ![Open a Powershell Terminal and write python](/assets/images/IP31.png) ![It should open the windows store, hit install and let it finish installing python](/assets/images/IP32.png) ![After the install make sure if it is installed](/assets/images/IP33.png) You can also just install it a different way this is just the easiest. Next install the requirements using requirements.txt Open a Powershell Terminal in the Folder you extracted the project files. Then use the command ``` pip install -r requirements.txt ``` ![](/assets/images/PDWJ1.png) Next run this command to convert the world.continent to a json ``` python .\pdworld2json.py ``` ![](/assets/images/PDWJ2.png) ![You should have a world.json like this](/assets/images/PDWJ3.png) **It should also have printed out what files you will need to export u will need to remember that** ![](/assets/images/PDWJ4.png) ### Export the needed assets from the game Go back to Diesel Bundle Viewer and navigate to /units ![](/assets/images/EXPF1.png) Export the needed files Printed out by pdworld2json.py (In my case it is pd2_dlc_red, pd2_dlc_drive, pd2_dlc1, payday2, pd2_dlc_arena, pd2_dlc_eng, units, pd2_dlc2, vehicles, pd2_dlc_casino, lights, world, equipment, dev_tools, pd2_mcmansion) Mark them Right Click and Press save as and save them in your project folder in a folder called "units" ![](/assets/images/EXPF2.png) ### Convert .model files in the unit folder and make them ready for blender Make sure to download [PAYDAY 2 Model Tool](https://github.com/kythyria/payday2-model-tool/releases) [PAYDAY-2-Hashlist](https://github.com/Luffyyy/PAYDAY-2-Hashlist) ![Extract PD2ModelParser.exe like this](/assets/images/TMF1.png) ![Next extract the hashlist in the root of the PD2ModelParser.exe this is very important or else the rest will not work](/assets/images/TMF2.png) If all done right just open ExportModels.bat and it should export the models. It will take a bit for it to finish so sit back and relax. You can also use this, it is faster, but i found if it encounters an error it will crash, and not export the rest, using the .bat makes if it encounters an error it will just continue. ``` .\PD2ModelParser.exe --batch-export=VALUE ``` After it finished, we need to sort the data for the next step, so open ModelCopyForBlender.bat It should have created 2 more folders output and textures, and copied the data needed for blender. ### Fixing the models using blender and a script Now we should have a bunch of models with the .gltf inside output with the proper folder structure but they are not really usable in unreal. So download [Blender](https://www.blender.org/) if you haven't already and open ConvertExportedToUnreal.blend. If for some reason you cant open the .blend file anymore, you can just make a new project and load the blender_script.py. ![](/assets/images/B1.png) If up to this point you have done everything correct you should be able to hit the run script button, and wait for it to finish. ![](/assets/images/B2.png)