Jump to content

Nullspace

Veterans
  • Posts

    64
  • Joined

  • Last visited

Reputation

16 Fledgling

1 Follower

Recent Profile Visitors

4057 profile views

Single Status Update

See all updates by Nullspace

  1. On the tedious journey of making a PSMD-like toolkit. Episode 1a: Some Pre-prototyping and the many unexpected things along the way.

     

    [This has been updated 06/01/2020]

     

    A word about myself, that I lent from someone else: I'm a mediocre man, with mediocre knowledge. Also, I am more of a programmer (not game programmer tough, the only game I  have made was a tetris thing long ago) than an artist. If you find yourself knowledgeable enough to qualify my actions as asinine, please do tell me, so I might be less ignorant.

     

    The first thing I like to do when doing a project is to check if it is viable at all.

     

    In this episodes I will try to make sure basic stuff actually works, so I don't die mid-attempt.

     

    The first: Assets.

     

    That means, images, models, textures, materials, animations, sounds, music, even plain text files. Most of the stuff is trivial. Using the 3DS models is the part really I wanted to test.

     

    The first thing I found, is that there are some models over the models resource, but they lack animations.

     

    So, let's say you have the unencrypted image of USUM, how do you get them pokes (with animations)?

     

    Thanks to some very talented and/or dedicated people that have made some useful tools it is not that hard (but it can be tedious). The steps are in general

    • You need to extract your game image.
    • You need to extract the file (inside the game image) containing the pokemon models' data (thousands of .bin files)
    • You need to convert the files (pertaining to each poke) in to a digestible format for your engine
    • You need to fix stuff that converted wrong

    If you want more detail do search "usum/swsh models" look for the recipes.

     

    Something of note, too, its that you can bypass the first two steps (some madlads over DA have uploaded the extracted files), but I was testing the waters to see if it was possible to automate the whole thing.

     

    There was a tutorial that suggested to use Hacking_Toolkit3DS to extract the game image, but, eh... The latest version V12 did nothing (making me suspect it was actually a trojan) and the previous one do extracted them but not in the way the other tools liked it.

     

    Seems that some tutorials were outdated, because they mentioned Pk3DS for the second step; but, surprise, it now can to the first one too. It takes a loong time, and some gigs (15 GB I think) of additional space to do it, but it does it well.

    Untitled.png.d66c94aac51c104dc0406c709c06e2e3.png

    (D'oh)

     

    Untitled2.png.97f8929acdb865220225e66f451d5f10.png

    (This file a/0/9/4, contains all the relevant data)

     

    597541946_Screenshotat2022-01-0608-10-33.png.21ff2c64d516d0fa4c2e10afc49557ba.png

    (Then we drag it here to get thousands of .bins)

     

    The real pain starts when trying to convert them. The data for one pokemon is not in a single .bin file; it is separated into the mesh, textures, and animations (9 total files usually). The files are not named, only numbered, so you would need to look up what numbers correspond to what Pokemon. A guy has compiled a list of corresponding numbers.

     

    The other thing is the tool that does the conversion. I found Ohana3D and SPICA. Seems SPICA exports better animations (but it cannot import, but I don't need that) so I went with it.

    Screenshot_2022-01-06_07-57-57.png.dde4b572c36a316dc4580ab4f1e2d189.png

     

    Here comes the first huge pain.

     

    There's no (reliable) automated way to convert them all in one step. *

     

    In SPICA you have to merge the files needed, then select the animation you want to export. You need to this for every pokemon (and each animation you want). Oh no. There is also a SPICA fork that automates the thing about several animations, but due complexities around .DAE format it just stitches them in a single animation, which for some engines it's actually more work to untangle. In the flipside, it has a CLI interface, which, theoretically--with some modifications--could be used to automate it. 

     

    Using the GUI (as the shown image) is a bit weird but works. To save the currently shown model and animation (click the bone icon to see them), use the floppy disk icon. To save the textures use the up file with up arrow icon. There's the batch export option, but it does not support animations :c (correct me if I'm wrong).

     

    Then it comes the second pain: the textures will, most likely, be wrong. 

     

    I think I shall continue that in a next post

     

    [*] I have heard there's someone trying to automate that for Unity. [Citation needed, I lost the link :c]

     

    Screenshot_2022-01-05_20-22-48.thumb.png.1e2bed26b1de59eca7b959859772369c.png

    The green danger noodle.

    1. Nullspace

      Nullspace

      I fount the tool: [Pokemon3DStoUnity], really nice.

×
×
  • Create New...