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,

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain
I'm not sure if you can help me, but 3dsMax keeps crashing everytime I try to import the .smd animations. So I'm kinda sad and I don't know how to fix it :'(
Export again the animations. 3ds max crashes if some bones are null. If that doesn’t work, check the animation in a text editor and try changing the dots for commas (or reverse) to try if its a bad export due to decimals
 

OrionAlpha

New Member
Newbie
Joined
Aug 4, 2020
Messages
4
Trophies
0
Age
30
XP
35
Country
Portugal
i didn't find any proops (pokemon league) precisely in the arena when you fight

EDIT : I found it ! On [\bin\field] you can found any field ! & on archive you find any objects !
EDIT : I can found, any textures on [bin\archive\]
 
Last edited by OrionAlpha,

OrionAlpha

New Member
Newbie
Joined
Aug 4, 2020
Messages
4
Trophies
0
Age
30
XP
35
Country
Portugal
I have a compile data 3/23/2019 but not 10/05/2020 how did you find it ?

I have this problem in Unreal Engine 4 i mirrored texture but i don't why didn't work ...



UPDATE ** : I found the problem with DAE the uv's doesn't work on UE4 but with GFBMDL is working !
To mirror a texture on unreal engine i show you a example :

 
Last edited by OrionAlpha,

Darkann

New Member
Newbie
Joined
Aug 3, 2020
Messages
3
Trophies
0
Age
29
XP
56
Country
France
I'm kind of struggling to have a good result in Unreal Engine, and I think it just has to do with ambiant occlusion, emissive and roughness texture maps.

Could you explain which file should be used for which aspect of the material ? For example, I'm guessing the _amb files are about the Ambiant Occlusion. But do I have to use exaclty one color channel ? And how do the normal maps work ?

Thanks in advance !
 
Last edited by Darkann,

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain

Lyloloq

New Member
Newbie
Joined
Sep 28, 2020
Messages
1
Trophies
0
Age
30
XP
35
Country
Canada
I was able to get the pokemon models and animation, I also found the monsterball model but didn't find any animation, only a reference to them, do you know anything about it?

unit_obj_monsterball01_ballput.gfbanm
unit_obj_monsterball01_wait.gfbanm


Also, thanks for your contribution!
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain
I was able to get the pokemon models and animation, I also found the monsterball model but didn't find any animation, only a reference to them, do you know anything about it?

unit_obj_monsterball01_ballput.gfbanm
unit_obj_monsterball01_wait.gfbanm


Also, thanks for your contribution!

Open the ball gfbmdl and then the gfbanm. It should try to apply the animation to the models rigging
 

ChocoFactory

New Member
Newbie
Joined
Oct 7, 2017
Messages
4
Trophies
0
XP
67
Country
United States
Thanks for this, really helpful. I have a question: I'm looking to get a model of my in-game trainer with the same hair cut, clothes, etc... I see that each clothing option is a separate model, how would I assemble all parts into one model? I also need the trainer animations.
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain
Thanks for this, really helpful. I have a question: I'm looking to get a model of my in-game trainer with the same hair cut, clothes, etc... I see that each clothing option is a separate model, how would I assemble all parts into one model? I also need the trainer animations.

Import all meshes into your character and export the FBX (in case of SWSH). Let's go just swap textures.
 

ChocoFactory

New Member
Newbie
Joined
Oct 7, 2017
Messages
4
Trophies
0
XP
67
Country
United States
Import all meshes into your character and export the FBX (in case of SWSH). Let's go just swap textures.

I'm using SWSH, also I noticed that the colored clothing options aren't a separate model, the game somehow applies a color to the base white model, for example this file: p2_lgw0003_00_8tights.gfpak is the base tight jeans model (female), I specifically want the black/grey version of this jeans, do you have any idea how to get it? Thanks in advance.
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain
I'm using SWSH, also I noticed that the colored clothing options aren't a separate model, the game somehow applies a color to the base white model, for example this file: p2_lgw0003_00_8tights.gfpak is the base tight jeans model (female), I specifically want the black/grey version of this jeans, do you have any idea how to get it? Thanks in advance.

you need to handle that by making custom shaders
 

BakaCirno

Member
Newcomer
Joined
Feb 21, 2021
Messages
6
Trophies
0
Age
28
Location
Osaka-fu, Japan
XP
40
Country
Japan
Thank you for this article! Blender has a big problem in import animations from toolbox (. SMD). It is not compatible with the normal model (. BAE) exported before. 3DMAX has not been used before. It seems that we have to try this time. But I'm thinking about importing models and animations into blender through 3DMAX. Can they be used normally? My English is not very good, please forgive me...



A few days ago, I tried to put the animation (. SMD) exported from toolbox into noise first, then export it into other formats, and then import it into blender. The situation is not as bad as importing blender directly, but the position of the upper and lower body of the skeleton is staggered
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,511
Trophies
0
Age
29
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,788
Country
Spain
Thank you for this article! Blender has a big problem in import animations from toolbox (. SMD). It is not compatible with the normal model (. BAE) exported before. 3DMAX has not been used before. It seems that we have to try this time. But I'm thinking about importing models and animations into blender through 3DMAX. Can they be used normally? My English is not very good, please forgive me...



A few days ago, I tried to put the animation (. SMD) exported from toolbox into noise first, then export it into other formats, and then import it into blender. The situation is not as bad as importing blender directly, but the position of the upper and lower body of the skeleton is staggered

That's actually not true. Blender is completely compatible with .DAE. The problem is there's no proper importer (as Toolbox exports animation in a way only the 3DS Max script fix).

This guide has 3DS Max as option for importing (and it's the recommended one).
 

BakaCirno

Member
Newcomer
Joined
Feb 21, 2021
Messages
6
Trophies
0
Age
28
Location
Osaka-fu, Japan
XP
40
Country
Japan
That's actually not true. Blender is completely compatible with .DAE. The problem is there's no proper importer (as Toolbox exports animation in a way only the 3DS Max script fix).

This guide has 3DS Max as option for importing (and it's the recommended one).

good morning! As you said, my blender imported good models and bones from toolbox (. DAE)

But the problem with the action data(.smd) is similar to what happened in the following picture (picture 3).
It looks like the axis is misaligned and there is a problem with the position of the upper and lower body
I'll try 3DMAX again today. Thank you
1.jpg
3.jpg
4.jpg
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Sonic Angel Knight @ Sonic Angel Knight: :ninja: