Tutorial  Updated

Export your Pokémon animated models from Nintendo Switch to Unity Engine

Hey folks! Some of you might know me from my tutorial about how to export from 3DS games to Unity Engine, exporting lets go models and animate them with Mixamo or exporting Switch models and animate them with 3DS animations.

Well, thanks to Mvit, Golui, Reisyukaku, @KillzXGaming and the rest of the PokéModding team, we can now export the models and animations from Nintendo Switch games to Unity Engine in a few minutes. Beware that Scarlet and Violet require some extra steps as they use a different format for files and compression.

Lets start!

NOTE: This DOESN'T apply Mystery Dungeon DX. At the moment of this post, Lets Go animations are the only ones that fully work. SWSH mostly work, but have some key issues you need to fix by hand. Also, Blender importer is not working properly, but 3DS Max is, so we will use it.


What do you need:

- Pokémon Lets Go Eevee/Pikachu/Sword/Shield decrypted
- Switch Toolbox: https://github.com/KillzXGaming/Switch-Toolbox
- 3DS Max (I will use 2019 for this tutorial)
- This 3DS Max Script: Download
-SMD plugin for 3DS Max: Download
- Unity Engine


Step 1: Prepare your game.

- Get the desired game (In this case Pokémon Sword)
- Decrypt the game with your favourite method.
I recommend taking a look to these tutorials if you don't know how to do it: https://gbatemp.net/threads/decrypt...backup-loading-ryujinx-yuzu-in-1-click.506954 or https://gbatemp.net/threads/extract-nsp-nca-xci-update-all-in-one-tool-for-layeredfs.511156/
- Place all files anywhere in your PC.

Step 2: Get the desired model and export the GFBMDL file.

- Open Switch Toolbox
- Click on File > Open.
- Look for the Pokémon gfpak you want to export. In this case, I'm gonna export Sobble which is pm0951_00_00.gfpak (if you want to check the IDs to know which one matches a Pokémon, check this thread: https://gbatemp.net/threads/tutoria...-and-animate-them-with-3ds-animations.552486/

- Click on (+) next to the gfpak name in the hierarchy and the list will be displayed. We need to double click in > Quick Access > Models > gfbmdl file. (rare is for Shiny one). Once you do it, it will show more options and the model will be rendered.

upload_2020-5-10_23-2-49.png


You can 2 two things here: Export the model or export the gfbmdl.

A) Exporting the GFBMDL

- Right click on the gfbmdl > archive > export raw data > save the gfbmdl anywhere in your computer (remember where).


sobble.png


- Right click on Textures > Export All > Save them anywhere you want

B) Exporting the model as DAE:

- Instead of Archive > Export Raw Data, just click on Export Model > Save them anywhere you want. Toggle export all textures to export every used texture with it.

Step 3: Export all the animations

-
Click on (+) next to Quick access > Animations
- Double click on each .gfbanim. Then, if you select again the gfbmdl (with left click) and then select any gfbanim, the animation will be displayed in the timeline.

upload_2020-5-10_23-7-48.png


- You need to go one by one > Right click > Export Animation > Save them wherever you want (same folder as the gfbmdl helps to have everything ordered).

Step 3: Export the 3D model and add animations to it.

- Download SMD plugin and install it.

A) If you exported the GFBMDL file:

- Download the GFBMDL script.
- Unzip the script anywhere in your computer.
- Run 3DS Max.
- In the toolbar, click on Scripting > Run Script > Open the script
- A new window will appear.

upload_2019-8-31_14-22-39-png.178000


- Click on Import *.GFBMDL > Look for the GFBMDL file exported in step 2 and open it.
- The model will load.

upload_2020-5-10_23-15-42.png


B) If you exported the .DAE:

- File > Import > Look for the exported DAE in step 2.
- Model will load.


- After that, click on File > Import > select the animations exported in step 3. They are in .SMD Files.
- Sword Models need to be rotated in 90º on the X axis.

upload_2020-5-10_23-21-54.png


- File > Game Exporter > Select the location where the FBX will be saved > Export.

Step 4: Import animations into Unity

- Open Unity Engine
- Create/open your project
- Drag the FBX to the project resources tab.
- Click on the FBX. In the inspector > You will see Avatar definition as No Avatar> Click there and select "Create from this model" > Apply
- Now Click on the arrow in the FBX to open it > Select all animationclip files > Left Control + D to duplicate them outside the FBX
- Toggle loop whenever is needed.
- Add it to your scene and give it some cool materials (Remember textures must be mirrored in the same way 3DS ones: https://gbatemp.net/threads/tutoria...ed-models-from-3ds-to-unity-engine-3d.532962/).

Step 5: Enjoy!

screenshot_1.png


Got stuck already? I made a video of the full process:



NOTE: If animations make 3DS Max to crash, it maybe because of decimal character (comma or dot) depending on your region. Check your 3DS Max use same character than the parsed animation and change them if so.

Other Locations:


Environment objects can be extracted in the same way. Just export the models from the correct gfpaks.

Let's Go (Thanks to Sceo for the list):

Maps
Overworld maps:
Extracted_NCA_Let's Go\romfs\bin\archive\field

Indoor maps: Extracted_NCA_Let's Go\romfs\bin\field\model

Background maps of battles: Extracted_NCA_Let's Go\romfs\bin\archive\background

Doors, grass, SS Anne, etc: Extracted_NCA_Let's Go\romfs\bin\archive\field\buildmodel.gfpak

Player/NPC
Playermodels and NPC's with animations, also Ghost from Pokemon Tower (last 2 models)):
Extracted_NCA_Let's Go\romfs\bin\archive\chara\data\tr

Headwear for player (unsure if also for poke?): Extracted_NCA_Let's Go\romfs\bin\archive\chara\data\pd

Models of Pikachu and Eevee, with animations, models from on shoulder:
Extracted_NCA_Let's Go\romfs\bin\archive\chara\data\bd

Different textures of outfits of hero and heroine, other shirt for example, uses original model.
Extracted_NCA_Let's Go\romfs\bin\chara\data\tr

Different textures of outfits of Pikachu and Eevee:
Extracted_NCA_Let's Go\romfs\bin\chara\data\bd

Different textures of headwear for the player:
Extracted_NCA_Let's Go\romfs\bin\chara\data\pd

Random
Pokeball models/textures (few berries, and random like HM's etc, Subsitute model):
Extracted_NCA_Let's Go\romfs\bin\archive\chara\data\ob

Credits:

- @KillzXGaming: Switch Toolbox
- @Demothene: PLGU Shaders

- @PRAGMA: Romfs decrypting tutorial
- @huma_dawii: Other decrypting tutorial
- @Random Talking Bush: 3DS Max Exporter Script
- Rei, Golui, Mvit and all pokéModding team for making this possible.


Dev Community:

I created a Discord where some of the best Unity, Godot, RMXP and Unreal pokémon fanmade devs discuss and help each other. Wanna join? https://discord.gg/pYBWwAa

Other useful threads:

- https://gbatemp.net/threads/tutoria...-and-animate-them-with-3ds-animations.552486/

- https://gbatemp.net/threads/tutoria...ainer-models-and-rig-them-with-mixamo.547159/

- https://gbatemp.net/threads/tutoria...ed-models-from-3ds-to-unity-engine-3d.532962/
- https://gbatemp.net/threads/tutorials-discussion-how-to-make-pokemon-shaders.547875/
 
Last edited by Manurocker95,
D

Deleted User

Guest
hey guys!

is it possible for someone to upload all the gfpak files as i have been struggling to extract from lets go for the past 5 days. got all the keys etc but jesus christ its just not working for me. all the extracted nca files get removed and even with the ones i manage to extract, i cant get to gfpaks.

help a brother
 

Deastrumquodvicis

Member
Newcomer
Joined
Jan 18, 2021
Messages
16
Trophies
0
Age
35
XP
226
Country
United States
Under the gfpak > quick access, I only see Fragment Shaders, Vertex Shaders, and Other, no Model directory, for any pokémon. Shield, if that makes a difference.

EDIT: Never mind, you need to look under Pokémon, not GPokémon.

EDIT 2:

008-ddvram-pregen-04.png

My poor Bulbasaur. I don't have 3DS Max, only Blender, and I don't know what to do, as rotating the model didn't help him.
 
Last edited by Deastrumquodvicis,
  • Like
Reactions: Deleted User

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,513
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,839
Country
Spain
Under the gfpak > quick access, I only see Fragment Shaders, Vertex Shaders, and Other, no Model directory, for any pokémon. Shield, if that makes a difference.

EDIT: Never mind, you need to look under Pokémon, not GPokémon.

EDIT 2:

View attachment 264565

My poor Bulbasaur. I don't have 3DS Max, only Blender, and I don't know what to do, as rotating the model didn't help him.

For gen 1-7 use 3DS models instead as they work way better.
 

Deastrumquodvicis

Member
Newcomer
Joined
Jan 18, 2021
Messages
16
Trophies
0
Age
35
XP
226
Country
United States
Are US/ UM better than OR/AS for that, or is there no difference? (I ask because I only have the carts and no roms so I’d have to download one.) I presume you can use the tutorial linked to attach the SwSh animations to a 3DS model without it being too confusing.
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,513
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,839
Country
Spain
Are US/ UM better than OR/AS for that, or is there no difference? (I ask because I only have the carts and no roms so I’d have to download one.) I presume you can use the tutorial linked to attach the SwSh animations to a 3DS model without it being too confusing.

The locations are different. I'd go for USUM/SUMO. All the animations in SWSH are in USUM, so there's no real need to add them like that excepting you really want to do so. Also SWSH animations are broken most of the time bc toolbox can't extract them properly x)
 

Deastrumquodvicis

Member
Newcomer
Joined
Jan 18, 2021
Messages
16
Trophies
0
Age
35
XP
226
Country
United States
What a shame, I’m gonna have to find a UM/US rom now. A pity, as I was hoping to get some gigantamax and Galarian forms posed in something other than the static pose.
 
D

Deleted User

Guest
does anyone know what model id is HO-OH? should have been 250 but on pokemon sword hes not there.........

--------------------- MERGED ---------------------------

this helped!!!! THANKS SO MUCH! now i just need to find HO-OH
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,513
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,839
Country
Spain
does anyone know what model id is HO-OH? should have been 250 but on pokemon sword hes not there.........

--------------------- MERGED ---------------------------

this helped!!!! THANKS SO MUCH! now i just need to find HO-OH

As gen 1-7 are easier to extract (with animations properly working) from 3DS games I would recommend you to extract it from them but... until gen 5 they are ordered by dex index so...it should be the #250 gfpak

--------------------- MERGED ---------------------------

this helped!!!! THANKS SO MUCH! now i just need to find HO-OH

As I said, 250

upload_2021-6-9_21-48-14.png
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
As gen 1-7 are easier to extract (with animations properly working) from 3DS games I would recommend you to extract it from them but... until gen 5 they are ordered by dex index so...it should be the #250 gfpak

--------------------- MERGED ---------------------------



As I said, 250

View attachment 266379


Hi!

Thanks for the screenshot. unfortunately in my pokemon sword extract, theres no 250.....heres a screenshot as referance.
 

Attachments

  • where is he.png
    where is he.png
    97.2 KB · Views: 212

PokiManSee

New Member
Newbie
Joined
Oct 6, 2021
Messages
2
Trophies
0
Age
33
XP
34
Country
United States
I am having a small issue here. With toolbox i can see the models and animations properly fine and working.

When i import them to 3ds max , and export them to unity , is where all issue arises. The animation isnt weighted to the body. The bones moves but the actual mesh does not .
 

PokiManSee

New Member
Newbie
Joined
Oct 6, 2021
Messages
2
Trophies
0
Age
33
XP
34
Country
United States
I am having a small issue here. With toolbox i can see the models and animations properly fine and working.

When i import them to 3ds max , and export them to unity , is where all issue arises. The animation isnt weighted to the body. The bones moves but the actual mesh does not .
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,513
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,839
Country
Spain
I am having a small issue here. With toolbox i can see the models and animations properly fine and working.

When i import them to 3ds max , and export them to unity , is where all issue arises. The animation isnt weighted to the body. The bones moves but the actual mesh does not .
Did you export it correctly? with morphs and animation selected in Game Exporter tab?
 

yinqvar3

New Member
Newbie
Joined
Jun 7, 2022
Messages
2
Trophies
0
Age
23
Location
here
XP
23
Country
China
Why does my UV and texture not match
its no use to set mirror

Edit: ok i fixed it but how to open the pokemons eyes?
 
Last edited by yinqvar3,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: https://health.clevelandclinic.org/deja-vu-what-it-is-and-when-it-may-be-cause-for-concern