Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANIM.CreateANIM() missing bones Taiko Wii U 2 #294

Open
Y2K-x opened this issue Aug 28, 2018 · 6 comments
Open

ANIM.CreateANIM() missing bones Taiko Wii U 2 #294

Y2K-x opened this issue Aug 28, 2018 · 6 comments
Labels
bug an issue confirmed to be a bug

Comments

@Y2K-x
Copy link
Contributor

Y2K-x commented Aug 28, 2018

Yo, been trying to use Smash Forge to convert over some files from Taiko Wii U 2, with no luck.

My issue is that for some reason, Smash Forge isn't correctly exporting an animation file in .anim format, even though I believe I am doing everything correctly. In Maya, the animation doesn't load in at all, and I think I may have an inclination as to why.

image

This very much does not look normal to me. Albeit, this exact file was exported with an old version of forge (A commit I compiled from aprox. 3 months ago) but still shows a similar output on the very latest commit. Either this is a pretty long standing issue, or I'm just doing something wrong here. Anims display 100% fine in the viewport and everything, so I'm a bit lost here.

I think it's also worth mentioning that I had to build my own pac file in order for Forge to load in all the animations. In Taiko, the OMO animation files are all separate from each other for the model I'm messing around with, and since Forge doesn't support singular OMO files as far as I know from my testing, creating a pac using Sammi's old packmanager was my only real course of action. Hopefully this is just some dumb mistake on my end, but any help would be much obliged. Thanks.

@Y2K-x
Copy link
Contributor Author

Y2K-x commented Aug 28, 2018

Oh, if needed, I can provide the files I've been using if further testing needs to be done. Just ask and you shall receive.

@ScanMountGoat ScanMountGoat added the needs info the issue lacks important information label Aug 30, 2018
@Y2K-x
Copy link
Contributor Author

Y2K-x commented Aug 31, 2018

I noticed that this was tagged as needing info. Please let me know what you need and I can provide it.

@Y2K-x
Copy link
Contributor Author

Y2K-x commented Aug 31, 2018

I figured out the underlying issue. See, the omo animation Animation a never is actually populated with the proper bone names. So, when the export method tries to run through the bones listed in the VBN via line 241 (if (a.hasBone(b.Text)) { }), it fails, as all the bone names in the Animation object are null, while the names in the VBN bone tree are, well, not.

Hope these screenshots help:
Animation object bone array (in ANIM.cs, is instantiated as 'a')
image

vbn object bone array (in ANIM.vs, referenced as 'vbn')
image

Hope this helps you out in your efforts. I'll be looking to create my own solution, but I thought I would share my findings with you in case you come up with a better one. I'll post in here what I come up with.

@ScanMountGoat
Copy link
Collaborator

You can link a line or lines of code directly. The easiest is to select the lines, right click open new issue, and then copy paste the link.

@ScanMountGoat ScanMountGoat changed the title (Taiko Wii U 2) Animations export incorrectly in .anim format ANIM.CreateANIM() missing bones Taiko Wii U 2 Aug 31, 2018
@ScanMountGoat ScanMountGoat added bug an issue confirmed to be a bug and removed needs info the issue lacks important information labels Aug 31, 2018
@Y2K-x
Copy link
Contributor Author

Y2K-x commented Aug 31, 2018

Ah, was not aware, thanks.

But anyways, I was successful in my attempts at "fixing" the issue. I won't make a PR simply because the way I did it was probably not the best way to go about it, but all I really did was pass Runtime.TargetVBN to the omo read method, and populated each bone with its respective name. This indeed does work, but I'm not sure nicely this plays with everything else.

Code:
image

@Dr-HyperCake
Copy link
Contributor

This is likely the same issue as #365. If so, it would be fixed by updating the hash table with all of the relevant hashes, which requires access to the relevant VBN files.

A more complete solution would be to make Forge not require hashes to be in the hash table; instead, the mapping between names and hashes should be sourced from the active VBN file. I'm not sure exactly what code would need to be changed, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug an issue confirmed to be a bug
Projects
None yet
Development

No branches or pull requests

3 participants