Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/cgcostume/pubg-maps
Browse files Browse the repository at this point in the history
  • Loading branch information
nevecex committed Jun 4, 2020
2 parents dc5823f + e2392c1 commit 10a9cb7
Show file tree
Hide file tree
Showing 35 changed files with 128 additions and 85 deletions.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
airange/
gunplaytestmap/
housetestmap/
rapide/
tools/
*.psd
*.psd
55 changes: 32 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,75 @@
# PUBG & Fortnite | Terrain Maps

PlayerUnknown's Battlegrounds currently features five maps: Erangel, Miramar, Range, Sanhok and Vikendi. This repository provides information and scripts for extracting elevation and normal maps from the game's sources.
*PlayerUnknown's Battlegrounds* currently features seven maps: Erangel, Erangel Classic, Miramar, Sanhok, Vikendi, Karakin, and Camp Jackal. This repository provides information and scripts for extracting elevation and normal maps from the game's sources.

Please note that all preview images are downscaled to 8bit 512px × 512px and should not be used for rendering (normal data is downsampled using bicubic resampling).
Please note that all preview images are downscaled to 8-bit 512px × 512px and should not be used for rendering (normal data is downsampled using bicubic resampling).

| Erangel Height Map | Erangel Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/erangel/pubg_erangel_height_l16_preview.png" width="100%" alt="pubg_erangel_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/erangel/pubg_erangel_normal_rg8_preview.png" width="100%" alt="pubg_erangel_normal_preview"> |
| ![PUBG - Erangel elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/erangel/pubg_erangel_height_l16_preview.png) | ![PUBG - Erangel normal preview](https://github.com/cgcostume/pubg-maps/blob/master/erangel/pubg_erangel_normal_rg8_preview.png) |

| Miramar Height Map | Miramar Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/miramar/pubg_miramar_height_l16_preview.png" width="100%" alt="pubg_miramar_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/miramar/pubg_miramar_normal_rg8_preview.png" width="100%" alt="pubg_miramar_normal_preview"> |
| Erangel Classic Height Map | Erangel Classic Normal Map |
|----------------------------|----------------------------|
| ![PUBG - Erangel Classic elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/erangelclassic/pubg_erangelclassic_height_l16_preview.png) | ![PUBG - Erangel Classic normal preview](https://github.com/cgcostume/pubg-maps/blob/master/erangelclassic/pubg_erangelclassic_normal_rg8_preview.png) |

| Range Height Map | Range Normal Map |
| Miramar Height Map | Miramar Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/range/pubg_range_height_l16_preview.png" width="100%" alt="pubg_range_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/range/pubg_range_normal_rg8_preview.png" width="100%" alt="pubg_range_normal_preview"> |
| ![PUBG - Miramar elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/miramar/pubg_miramar_height_l16_preview.png) | ![PUBG - Miramar normal preview](https://github.com/cgcostume/pubg-maps/blob/master/miramar/pubg_miramar_normal_rg8_preview.png) |

| Sanhok Height Map | Sanhok Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/sanhok/pubg_sanhok_height_l16_preview.png" width="100%" alt="pubg_sanhok_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/sanhok/pubg_sanhok_normal_rg8_preview.png" width="100%" alt="pubg_sanhok_normal_preview"> |
|-------------------|-------------------|
| ![PUBG - Sanhok elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/sanhok/pubg_sanhok_height_l16_preview.png) | ![PUBG - Sanhok normal preview](https://github.com/cgcostume/pubg-maps/blob/master/sanhok/pubg_sanhok_normal_rg8_preview.png) |

| Vikendi Height Map | Vikendi Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/vikendi/pubg_vikendi_height_l16_preview.png" width="100%" alt="pubg_sanhok_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/vikendi/pubg_vikendi_normal_rg8_preview.png" width="100%" alt="pubg_sanhok_normal_preview"> |
| ![PUBG - Vikendi elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/vikendi/pubg_vikendi_height_l16_preview.png) | ![PUBG - Vikendi normal preview](https://github.com/cgcostume/pubg-maps/blob/master/vikendi/pubg_vikendi_normal_rg8_preview.png) |

| Karakin Height Map | Karakin Normal Map |
|--------------------|--------------------|
| ![PUBG - Karakin elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/karakin/pubg_karakin_height_l16_preview.png) | ![PUBG - Karakin normal preview](https://github.com/cgcostume/pubg-maps/blob/master/karakin/pubg_karakin_normal_rg8_preview.png) |

| Camp Jackal Height Map | Camp Jackal Normal Map |
|------------------------|------------------------|
| ![PUBG - Camp Jackal elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/jackal/pubg_jackal_height_l16_preview.png) | ![PUBG - Camp Jackal normal preview](https://github.com/cgcostume/pubg-maps/blob/master/jackal/pubg_jackal_normal_rg8_preview.png) |

#### Fortnite

| Apollo Height Map | Apollo Normal Map |
|--------------------|--------------------|
| <img src="https://github.com/cgcostume/pubg-maps/blob/master/apollo/fortnite_apollo_height_l16_preview.png" width="100%" alt="fortnite_apollo_elevation_preview"> | <img src="https://github.com/cgcostume/pubg-maps/blob/master/apollo/fortnite_athena_apollo_rg8_preview.png" width="100%" alt="fortnite_apollo_normal_preview"> |
|-------------------|-------------------|
| ![Fortnite - Apollo elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/apollo/fortnite_apollo_height_l16_preview.png) | ![Fortnite - Apollo normal preview](https://github.com/cgcostume/pubg-maps/blob/master/apollo/fortnite_apollo_normal_rg8_preview.png) |

| Papaya Height Map | Papaya Normal Map |
|-------------------|-------------------|
| ![Fortnite - Papaya elevation preview](https://github.com/cgcostume/pubg-maps/blob/master/papaya/fortnite_papaya_height_l16_preview.png) | ![Fortnite - Papaya normal preview](https://github.com/cgcostume/pubg-maps/blob/master/papaya/fortnite_papaya_normal_rg8_preview.png) |

Please note that the Fortnite map should be rotated by 90° counter clockwise (and the normals converted accordingly).
Please note that the *Fortnite* map should be rotated by 90° counter clockwise (and the normals converted accordingly).


## How-To/DIY

Please note that the following steps might change with respect to the PUBG version, asset provisioning and structure.
Please note that the following steps might change with respect to the *PUBG* version, asset provisioning, and structure.

1. **Download** the UE Viewer by Gildor's Homepage (`umodel.exe`) - google for it, the sha256 hash of my file is (`56FAB4D29AC7B7800FA6B480D2C2BDA4A7FEC91CCE8B00A8DB77B71849047E96`) and it seems to be legit.
2. **Locate** your PUBG directory, e.g., `C:\Program Files (x86)\Steam\steamapps\common\PUBG`.
3. **Open** `pakchunk5000-WindowsNoEditor_heightmap.pak` (erangel), `pakchunk5100-WindowsNoEditor_heightmap.pak` (miramar|desert), `pakchunk5200-WindowsNoEditor_heightmap.pak` (sanhok|savage), or `pakchunk5300-WindowsNoEditor_heightmap.pak` (vikendi|dihorotok). Please note that the pak files were AES encrypted recently (try google the AES key, e.g., on reddit or gildor's forum).
1. **Download** [UE Viewer by Gildor](https://www.gildor.org/en/projects/umodel) (`umodel.exe`).
2. **Locate** your *PUBG* directory, e.g., `C:\Program Files (x86)\Steam\steamapps\common\PUBG`.
3. **Open** your *PUBG* directory in UE Viewer, overriding game detection to 'Unreal engine 4.16'. Please note that the PAK files are AES encrypted (try Googling for the AES key, e.g., on Reddit or Gildor's forums).
4. **Filter** for `HeightMap` or `Texture2D_` (optional step)
5. **Export** all height maps. This should create a `UmodelExport\Maps\Erangel\Art\Heightmap`, `UmodelExport\Maps\Desert\Art\Heightmap`, or `UmodelExport\Maps\Savage\Art\Heightmap`, `UmodelExport\Maps\DihorOtok\Art\Heightmap` folder in your current working directory.
6. **Run** `pubg-tga-slice.py` for extracting and encoding the relevant tile data into losless 16bit and 8bit pngs:
5. **Export** all heightmaps. This should create a `UmodelExport\Game\Maps\Baltic\Art\HeightMap` (Erangel), `UmodelExport\Game\Maps\Erangel\Art\Heightmap` (Erangel Classic), `UmodelExport\Game\Maps\Desert\Art\Heightmap` (Miramar), `UmodelExport\Game\Maps\Savage\Art\Heightmap` (Sanhok), `UmodelExport\Game\Maps\DihorOtok\Art\Heightmap` (Vikendi), `UmodelExport\Game\Maps\Summerland\Art\HeightMap` (Karakin), or `UmodelExport\Game\Maps\Range\Art\Heightmap` (Camp Jackal) folder in your current working directory.
6. **Run** `pubg-tga-slice.py` for extracting and encoding the relevant tile data into lossless 16-bit and 8-bit pngs:
```
.\pubg-tga-slice.py -p .\UmodelExport\ -m erangel
.\pubg-tga-slice.py -p .\UmodelExport\ -m erangelclassic
.\pubg-tga-slice.py -p .\UmodelExport\ -m miramar
.\pubg-tga-slice.py -p .\UmodelExport\ -m range
.\pubg-tga-slice.py -p .\UmodelExport\ -m sanhok
.\pubg-tga-slice.py -p .\UmodelExport\ -m vikendi
.\pubg-tga-slice.py -p .\UmodelExport\ -m jackal
```
... or fortnite extract:
...or for *Fortnite* extraction:
```
.\fortnite-tga-slice.py -p .\UmodelExport\ -m apollo
.\fortnite-tga-slice.py -p .\UmodelExport\ -m papaya
.\fortnite-tga-slice-athena.py -p .\UmodelExport\ -m athena
```
That's it. If the script exits without errors there should be 8192px &times; 8192px losless height and normal maps.
That's it. If the script exits without errors there should be lossless height and normal maps in the current working directory.


## How-To/DIY | DEPRECATED (ubulk approach)
Expand Down
Loading

0 comments on commit 10a9cb7

Please sign in to comment.