Tutorial [Tutorial] How to export Nintendo Switch's Pokémon models and animate them with 3DS animations

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,497
Trophies
0
Age
27
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,300
Country
Spain
Hi! I'm back with another tutorial. This time we will be exporting Pokémon models from Nintendo Switch games and animate them with old 3DS rigging. Yes, you can follow my tutorial for exporting 3DS models directly: https://gbatemp.net/threads/tutoria...ed-models-from-3ds-to-unity-engine-3d.532962/ in case you don't want to buy and rip 2 games instead of one.

Today's Tutorial can be applied to Pokémon Lets GO Pikachu/Eevee and Pokémon Sword and Shield.

Again, really thanks to @KillzXGaming who is really helping the community with his amazing tools, work and support.


We have two methods. For now, using Blender and 3DS Max.

BLENDER METHOD:

Lets see what we need:
- 3DS Pokémon Game decrypted
- Pokémon Lets Go Eevee/Pikachu or Pokémon Sword/Shield decrypted
- Switch Toolbox: https://github.com/KillzXGaming/Switch-Toolbox
- Blender

Step 0: Prepare the software

a. Get blender 2.8 from https://www.blender.org/
b. Download Source tools for blender from: https://developer.valvesoftware.com/wiki/Blender_Source_Tools
c. Install them by (without unzipping):
  1. Select Edit > Preferences
  2. Move to the Add-ons tab
  3. Click Install... at the top-right of the window
  4. Find the downloaded zip file and select it (Double click)
  5. 'Blender Source Tools' should be the only add-on shown if installed correctly. Check the box to the left and wait a moment for activation to complete.
d. Download Switch Toolbox
e. Place it anywhere in your computer.


Step 1: Dump your game files

Nintendo Switch:

a. Get the desired game (In this case Pokémon Let's Go Pikachu)
b. 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/

3DS:

You can follow @Rosieplier's tutorial directly: https://gbatemp.net/threads/wip-ult...okemon-models-textures-and-animations.490365/

1. Dumping your game (source: https://3ds.hacks.guide/godmode9-usage.html)


For cartridge dumping:
a. Launch GodMode9 by holding (Start) during boot
b. Navigate to [C:] GAMECART
c. Press (A) on [TitleID].trim.3ds to select it, then select “NCSD image options…”, then select “Build CIA from file”
d. The .cia file will be outputted to the /gm9/out/ folder on your SD card

For digital dumping:
a. Launch GodMode9 by holding (Start) during boot
b. Hover over [A:] SYSNAND SD
c. Hold (R) and press (A) at the same time to open the drive options
d. Select “Search for titles”
e. Press (A) to continue
f. Press (A) on the .tmd file to select it, then select “TMD file options…”, then select “Build CIA (standard)”
g. The .cia file will be outputted to the /gm9/out/folder on your SD card

2. Extracting your game

a. I recommend HackingToolKit3DS for this. The thread on this software has its own guide, so I suggest following it here. Once you are done, move the extracted files to a separate folder.

3. Getting the files

a. Turn off your 3DS and insert your SD card into your computer.
b. Download pk3DS if you haven't already
c. This is optional, but if you want to do more than just texture edits, go to "File/Open.." and select the folder your extracted game is in. This allows you to edit encounters, trainers, game text and a lot more!
d. Open "Tools/Misc Tools/(un)Pack+BCLIM. Open a separate window of your extracted game folder, then go into "ExtractedRomFS\a\0\9. Drag "4" to the first box in pk3DS. You need to hold CTRL while doing this!
e. A new folder will be created called "4_g". Inside are all the,bin files listed below, with 5 digit numbers as their name.

Step 2: Get the desired model

Okay, we will get the same pokemon model in smd format from Ohana or Spica (3DS) and .DAE from Toolbox.

3DS:

1. Export models and animations

a. Open Ohana3DS.
b. Select File > Open and look for the Pokemon you'd like to export. Yes, you need to do it one by one.
c. Select the File 0. This is the model. It won't have textures nor animations.
d. Select (+) on Textures and click on Import. Select file 1 for normal textures or 2 for shiny textures.
e. Select (+) on Skeletal animations and import files 5, 6, 7. A play mode will allow you to play animations such as this:

upload_2019-11-18_10-49-51.png


f. Click on Models > Export
g. Set a name for the model, the path where the model will be saved and be sure SMD and Export with all animations are checked.
h. Click on Ok and the model will be exported in .smd format.

upload_2019-11-18_10-50-27.png


i. Now, select (+) Textures and export them in the same folder (the folder doesn't matter but it's better to have them all in one place).
j. Export one by one, every animation. You can play the animations and set a proper name for each one.

upload_2019-11-18_10-51-12.png


Nintendo Switch:

a. Open Toolbox
b. Click on File > Open > Look for the gfpak you wanna extract. In my case it is Pikachu so: romfs > bin > Archive > Pokemon > pm0025_00.gfpak

As you can imagine, the name of the gfpak comes from PokemonModel<number>_<form>, so it is easy to find the desired one.

c. Open the folders until you find Models. Double click on any of the two gfbmdl (the second one is Shiny). It will open with a +.

upload_2019-11-18_11-40-51.png


d. Right click on it > Export Model (Ctr+E)
e. Save it anywhere in your computer.


Step 3: Importing the rigging and animations

a. Open Blender.
b. Delete the non-needed scene objects like the cube, the light and the camera.

upload_2019-11-18_11-44-21.png


c. File > Import > DAE > Select the model exported from Pokemon Lets Go.

upload_2019-11-18_11-44-46.png


d. Select Armature > Right Click on it > Delete (or press X > Delete).

upload_2019-11-18_11-45-31.png


e. Select pm0025_00_SippoSkin with left click > Shift + selecting pm0025_00_BodySkin To select both > Cntr+J > Both meshes will be joined. This step is optional.

upload_2019-11-18_11-47-23.png



f. File > Import > Smd files > Select the model.smd exported from Spica or Ohana3DS.

upload_2019-11-18_11-48-23.png


g. Delete the model mesh by pressing X or right click > Delete, we only need the rigging.

upload_2019-11-18_11-49-10.png


h. Select pm0025_00_BodySkin, go to Modifiers and delete the relation with the previous armature.

upload_2019-11-18_11-50-3.png


upload_2019-11-18_11-50-16.png


i. Shift + Select the new armature > Cntr + P > Set Parent to Armature deform with automatic weights
j. File > Import SMD Files > Select the animations you wanna add.
k. Enjoy!

upload_2019-11-18_11-52-22.png

3DS MAX METHOD:

Lets see what we need:
- 3DS Pokémon Game decrypted
- Pokémon Lets Go Eevee/Pikachu or Pokémon Sword/Shield decrypted
- Switch Toolbox: https://github.com/KillzXGaming/Switch-Toolbox
- 3DS Max (I'm using 2019 version)
- 3DS Max Script: Download

Step 0: Prepare the software

a. Get 3DS Max from Download
b. Download Source tools for 3DS Max: https://www.wunderboy.org/3d-modelling-tools-plug-ins/smdimport/
c. Install them by unzipping the dll in the plugins folder.
d. Download Switch Toolbox
e. Place it anywhere in your computer.


Step 1: Dump your game files

Nintendo Switch:

a. Get the desired game (In this case Pokémon Let's Go Pikachu)
b. 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/

3DS:

You can follow @Rosieplier's tutorial directly: https://gbatemp.net/threads/wip-ult...okemon-models-textures-and-animations.490365/

1. Dumping your game (source: https://3ds.hacks.guide/godmode9-usage.html)


For cartridge dumping:
a. Launch GodMode9 by holding (Start) during boot
b. Navigate to [C:] GAMECART
c. Press (A) on [TitleID].trim.3ds to select it, then select “NCSD image options…”, then select “Build CIA from file”
d. The .cia file will be outputted to the /gm9/out/ folder on your SD card

For digital dumping:
a. Launch GodMode9 by holding (Start) during boot
b. Hover over [A:] SYSNAND SD
c. Hold (R) and press (A) at the same time to open the drive options
d. Select “Search for titles”
e. Press (A) to continue
f. Press (A) on the .tmd file to select it, then select “TMD file options…”, then select “Build CIA (standard)”
g. The .cia file will be outputted to the /gm9/out/folder on your SD card

2. Extracting your game

a. I recommend HackingToolKit3DS for this. The thread on this software has its own guide, so I suggest following it here. Once you are done, move the extracted files to a separate folder.

3. Getting the files

a. Turn off your 3DS and insert your SD card into your computer.
b. Download pk3DS if you haven't already
c. This is optional, but if you want to do more than just texture edits, go to "File/Open.." and select the folder your extracted game is in. This allows you to edit encounters, trainers, game text and a lot more!
d. Open "Tools/Misc Tools/(un)Pack+BCLIM. Open a separate window of your extracted game folder, then go into "ExtractedRomFS\a\0\9. Drag "4" to the first box in pk3DS. You need to hold CTRL while doing this!
e. A new folder will be created called "4_g". Inside are all the,bin files listed below, with 5 digit numbers as their name.

Step 2: Get the desired model

Okay, we will get the same pokemon model in smd format from Ohana or Spica (3DS) and .DAE from Toolbox.

3DS:

1. Export models and animations

a. Open Ohana3DS.
b. Select File > Open and look for the Pokemon you'd like to export. Yes, you need to do it one by one.
c. Select the File 0. This is the model. It won't have textures nor animations.
d. Select (+) on Textures and click on Import. Select file 1 for normal textures or 2 for shiny textures.
e. Select (+) on Skeletal animations and import files 5, 6, 7. A play mode will allow you to play animations such as this:

upload_2019-11-18_10-49-51.png


f. Click on Models > Export
g. Set a name for the model, the path where the model will be saved and be sure SMD and Export with all animations are checked.
h. Click on Ok and the model will be exported in .smd format.

upload_2019-11-18_10-50-27.png


i. Now, select (+) Textures and export them in the same folder (the folder doesn't matter but it's better to have them all in one place).
j. Export one by one, every animation. You can play the animations and set a proper name for each one.

upload_2019-11-18_10-51-12.png


Nintendo Switch:

a. Open Toolbox
b. Click on File > Open > Look for the gfpak you wanna extract. In my case it is Pikachu so: romfs > bin > Archive > Pokemon > pm0025_00.gfpak

As you can imagine, the name of the gfpak comes from PokemonModel<number>_<form>, so it is easy to find the desired one.

c. Instead of double clicking like before, right click in the gfbmdl > Export Raw Data > Save it anywhere.

upload_2019-11-18_11-40-51.png


d. Right click on it > Export Model (Ctr+E)
e. Save it anywhere in your computer.


Step 3: Importing the rigging and animations

(Images below here will be added)

a. Open 3DS Max.
b. In the toolbar > Scripting > Run Script > Select the 3ds max script for exporting. A window will be displayed.
c. Click on Import *.GFBMDL
d. Select the exported raw data in gfbmdl format we exported in the previous step.
e. File > Import > Select your SMD animations (exported before from Ohana or Spica)
f. Select Update ONLY animation and "Okay" to everything.
k. Enjoy!


Pokémon Sword and Shield Pokémon IDs

As Pokémon files are ordered by IDs, you can find them by these IDs (thanks Random Talking Bush for the compilation):

1st-5th Generations:

- They are ordered by National Dex

6th Generation:

701 - Furfrou
702 - Phantump
703 - Trevenant
704 - Litleo
705 - Pyroar
706 - Scatterbug
707 - Spewpa
708 - Vivillon
709 - Skrelp
710 - Dragalge
711 - Bunnelby
712 - Diggersby
713 - Flabébé
714 - Floette
715 - Florges
716 - Noibat
717 - Fennekin
718 - Braixen
719 - Delphox
720 - Chespin
721 - Quilladin
722 - Chesnaught
723 - Froakie
724 - Frogadier
725 - Greninja
726 - Inkay
727 - Malamar
728 - Skiddo
729 - Gogoat
730 - Pangoro
731 - Helioptile
732 - Heliolisk
733 - Espurr
734 - Meowstic
735 - Pumpkaboo
736 - Gourgeist
737 - Tyrunt
738 - Tyrantrum
739 - Amaura
740 - Aurorus
741 - Dedenne
742 - Swirlix
743 - Slurpuff
744 - Honedge
745 - Doublade
746 - Aegislash
747 - Binacle
748 - Barbaracle
749 - Bergmite
750 - [UNUSED]
751 - Avalugg
752 - Pancham
753 - Fletchling
754 - Fletchinder
755 - Talonflame
756 - Clauncher
757 - Clawitzer
758 - Spritzee
759 - Aromatisse
760 - Klefki
761 - Hawlucha
762 - Noivern
763 - Goomy
764 - Sliggoo
765 - Goodra
766 - Carbink
767 - Sylveon
768 - Xerneas
769 - Yveltal
770 - Zygarde
771 - [UNUSED]
772 - Diancie
773 - Volcanion
774 - Hoopa

"_51" / "_52" - Mega Form

7th Generation:

801 - Mareanie
802 - Toxapex
803 - Morelull
804 - Shiinotic
805 - Salandit
806 - Salazzle
807 - Pikipek
808 - Trumbeak
809 - Toucannon
810 - Oranguru
811 - Komala
812 - Bounsweet
813 - Steenee
814 - Tsareena
815 - Passimian
816 - Jangmo-o
817 - Hakamo-o
818 - Kommo-o
819 - Mimikyu
820 - Wishiwashi
821 - Pyukumuku
822 - Sandygast
823 - Palossand
824 - Minior
825 - Oricorio
826 - Yungoos
827 - Gumshoos
828 - Rockruff
829 - Lycanroc
830 - Tapu Koko
831 - Tapu Lele
832 - Tapu Bulu
833 - Tapu Fini
834 - Cutiefly
835 - Ribombee
836 - Grubbin
837 - Charjabug
838 - Vikavolt
839 - Mudbray
840 - Mudsdale
841 - Rowlet
842 - Dartrix
843 - Decidueye
844 - Litten
845 - Torracat
846 - Incineroar
847 - Popplio
848 - Brionne
849 - Primarina
850 - Dewpider
851 - Araquanid
852 - Stufful
853 - Bewear
854 - Turtonator
855 - Bruxish
856 - Drampa
857 - Dhelmise
858 - Togedemaru
859 - Crabrawler
860 - Crabominable
861 - Type: Null
862 - Silvally
863 - Comfey
864 - [UNUSED]
865 - Necrozma
866 - Wimpod
867 - Golisopod
868 - Fomantis
869 - Lurantis
870 - [UNUSED]
871 - Cosmog
872 - Cosmoem
873 - Solgaleo
874 - Lunala
875 - Nihilego
876 - Guzzlord
877 - Buzzwole
878 - Xurkitree
879 - Pheromosa
880 - Kartana
881 - Celesteela
882 - Magearna
883 - Marshadow
884 - Stakataka
885 - Blacephalon
886 - Poipole
887 - Nagandel
888 - Zeraora
889 - [UNUSED]
890 - [UNUSED]

"_61" - Alolan Form

8th Generation:

891 - Meltan
892 - Melmetal
901 - Nicket
902 - Thievul
903 - Chewtie
904 - Drednaw
905 - Gossifleur
906 - Eldegoss
907 - Yamper
908 - Boltund
909 - Skwovet
910 - Greedent
911 - Wooloo
912 - Dubwool
913 - Arrokuda
914 - Barraskewda
915 - Sizzlipede
916 - Centiskorch
917 - Cramorant
918 - Rookidee
919 - Corvisquire
920 - Corviknight
921 - Toxel
922 - Toxitricity
923 - Falinks
924 - Milcery
925 - Alcremie
926 - Cufant
927 - Copperajah
928 - Obstagoon
929 - Duraludon
930 - Blipbug
931 - Dottler
932 - Orbeetle
933 - Rolycoly
934 - Carkoal
935 - Coalossal
936 - Silicobra
937 - Sandaconda
938 - Zacian
939 - Zamazenta
940 - Eternatus
941 - Morpeko
942 - Indeedee
943 - Perrserker
944 - Pincurchin
945 - Snom
946 - Frosmoth
947 - Cursola
948 - Grookey
949 - Thwackey
950 - Rillaboom
951 - Sobble
952 - Drizzile
953 - Inteleon
954 - Scorbunny
955 - Raboot
956 - Cinderace
957 - Impidimp
958 - Morgrem
959 - Grimmsnarl
960 - Dracozolt
961 - Arctozolt
962 - Dracovish
963 - Arctovish
964 - Clobbopus
965 - Grapploct
966 - Applin
967 - Flapple
968 - Appletun
969 - Hattena
970 - Hattrem
971 - Hatterene
972 - Sinistea
973 - Polteageist
974 - Stonjourner
975 - Eiscue
976 - Dreepy
977 - Drakloak
978 - Dragapult
979 - Runerigus
980 - Mr. Rime
981 - Sirfetch'd

"_##_31" - Galarian Form
"_81_00" - Gigantamax Form
 
Last edited by Manurocker95,

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,497
Trophies
0
Age
27
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,300
Country
Spain
Is there any way to import the models back into gfpak? Also, are you able to delete bones with toolkit because I can't.

No, to both. You don’t need to delete the bones, as you will modify them with 3DS game rigging. If you are using blender to apply 3DS skeleton, you need to use blender to delete the bones.
 
Last edited by Manurocker95,

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,497
Trophies
0
Age
27
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,300
Country
Spain
Probably way beyond the scope of this thread but is there a way of converting the exported models into a 3D printable form?? That would be awesome :)
Any 3D printer allows you to print STL format. Lucky you, Blender and 3DS Max exports to that format. :D
 

zenx3

New Member
Newbie
Joined
Nov 22, 2019
Messages
3
Trophies
0
Age
31
XP
26
Country
Netherlands
Is there a way to repack a .dae file back to a .gfbmdl file since it works the the other way around?
 

zenx3

New Member
Newbie
Joined
Nov 22, 2019
Messages
3
Trophies
0
Age
31
XP
26
Country
Netherlands
great! really looking forward to it. I saw some pictures that looked like mods for pokemon but after going to 2chan it turned out they used photoshop.
so there is no way to make models mods right now, right?
 

Manurocker95

Game Developer & Pokémon Master
OP
Member
Joined
May 29, 2016
Messages
1,497
Trophies
0
Age
27
Location
Madrid
Website
manuelrodriguezmatesanz.com
XP
2,300
Country
Spain
great! really looking forward to it. I saw some pictures that looked like mods for pokemon but after going to 2chan it turned out they used photoshop.
so there is no way to make models mods right now, right?

You can replace models but only with existing ones
 
General chit-chat
Help Users
    KenniesNewName @ KenniesNewName: https://youtube.com/shorts/796gA35N11I?feature=share