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

Multiple Animation Export (DAE - Pokemon) #55

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

Wambosa
Copy link

@Wambosa Wambosa commented Jul 20, 2018

Pokemon Motivations

This began with attempting to export multiple animations using spica. This kind of operation was not possible. The following code aims to make multiple animation export possible for at least pokemon sun moon models. Through great community effort, most file locations are known. Knowledge is a bit scattered over the internet. Hopefully this concatenation of information in executable form is helpful to more than just myself.

Target features

  • adjustable CLI tool for exporting without the need to render a UI
  • include frame start-end numbers for the animations that were exported
  • exported files compatible with unity3d

spica cli

dev note

I hope that it is obvious that this is still a work in progress, but since it is already working and doing what i need, i think it is time to open up for discussion to see if it is possible and/or worthy to merge into the main codebase.

todo list

  • gather all modder notes in a single place
  • export multiple animations
  • support UI operation for multiple animation exports
    • multiple animation selection support
  • create CLI operation for exports
    • incorporate garc 0/9/4 model-bin map as a text lookup
  • include animation frame ranges txt file on export
  • refactor manipulations to Dae generic class
    • discuss if the anim concatenation is generic enough for the dae base class. i already know that the motion name lookup is too specific. Perhaps there is more to consider here. potentially create PokemonDae : Dae which will truly isolate the functionality to just pokemon sun moon
  • try to fix build by getting dependencies added properly

stretch goals

  • support .dae library_animation_clips
    • (i only care about this if unity supports it)

@Wambosa
Copy link
Author

Wambosa commented Jul 20, 2018

example of the cli lookup. the converted format is in yaml so that users can easily fix keys by hand if need be. Since the source list was manually written painstakingly over time and by hand, there will have to be manual corrections as well to the machine generated file that the cli aspect of the application can use.

sumo_094.txt (aka source list)
model_bin_map.yml.txt

@legoj15
Copy link

legoj15 commented Jul 20, 2018

This is going to be super useful. Hope @gdkchan comes back to merge this when it's finished

@Wambosa Wambosa changed the title WIP - Multiple Animation Export (DAE - Pokemon) Multiple Animation Export (DAE - Pokemon) Jul 21, 2018
@Wambosa
Copy link
Author

Wambosa commented Jul 21, 2018

even though the app compiles and runs just fine locally. the automated build doesn't seem to load the cli parser and yaml parser dependencies to the project. I am not keen on csproj and dependency handling in these .net projects (i am a js python guy myself). I added the packages.config, yet appveyor does not seem to ever run a nuget command. (when ctrl+f the page)

@dore0062
Copy link

Hope to see this finished soon, really difficult to batch export animations.

@Wambosa
Copy link
Author

Wambosa commented Jul 14, 2019

It does currently work @Skeeve2 :) I've exported many models with their textures and animations using the cli version.

Once you have the dependencies from this commit; which i installed using nuget, then it should work.

@DanielLuu
Copy link

Just wanted to say this was really helpful!

@TheCoolestName
Copy link

How do I download it?

@Wambosa
Copy link
Author

Wambosa commented Jul 26, 2021

How do I download it?

You are supposed to build it, but here is a link that is good till Friday 2021-07-30
https://www.dropbox.com/sh/xcm9rt021b8d74p/AAAjMJ5BrhsOYDvf-UuYSphga?dl=0

@TheCoolestName
Copy link

Okay, thanks!

@Wambosa
Copy link
Author

Wambosa commented May 9, 2022

It has been four years and people still email me for the build lol
I'll send it cause I love Pokemon, but it would be more expedient for people if someone here knew how to fix the appveyor build and could merge this? Pretty please?

@Haleclipse
Copy link

@Wambosa hello.
For CI builds, you may need pre-scripts to download nuget packages, I have forked your repository to test the build process.

The following is the content of the pre-script

cd **sln-dir** 
nuget resore

in Build
setting

@Wambosa
Copy link
Author

Wambosa commented Aug 2, 2022

Thank you @Haleclipse!
Your findings make complete sense!

Only, I do not appear to have access to the underlying settings in appveyor When I log in, my dashboard is completely empty. And when I attempt to visit any of

https://ci.appveyor.com/project/gdkchan/spica/builds/25886830
https://ci.appveyor.com/project/gdkchan/spica/builds
https://ci.appveyor.com/project/gdkchan/spica

all of them just redirect me to a login page; Which I have already authenticated with and can change various other personal settings about appveyor, but no access to this project itself on this branch where the build is failing.

Okay okay, so all this and a few years more experience with ci/cd pipelines has taught me there should also be a way to override the settings from the repo via a config file.

After quickly looking for it, there appears to be a way here:
https://www.appveyor.com/docs/build-configuration/#appveyoryml-and-ui-coexistence
image

I am not in a position to spend time digging into appveyor's config file novelties, however, this does appear to be a way forward.

My motivation to do it has waned since it appears this repo is not going to accept any additional merges anyways. At least the cli tool does work swimmingly 🤓 even if the ci/cd is busted

@Haleclipse
Copy link

Thank you @Haleclipse! Your findings make complete sense!

Only, I do not appear to have access to the underlying settings in appveyor When I log in, my dashboard is completely empty. And when I attempt to visit any of

https://ci.appveyor.com/project/gdkchan/spica/builds/25886830
https://ci.appveyor.com/project/gdkchan/spica/builds
https://ci.appveyor.com/project/gdkchan/spica

all of them just redirect me to a login page; Which I have already authenticated with and can change various other personal settings about appveyor, but no access to this project itself on this branch where the build is failing.

Okay okay, so all this and a few years more experience with ci/cd pipelines has taught me there should also be a way to override the settings from the repo via a config file.

After quickly looking for it, there appears to be a way here: https://www.appveyor.com/docs/build-configuration/#appveyoryml-and-ui-coexistence image

I am not in a position to spend time digging into appveyor's config file novelties, however, this does appear to be a way forward.

My motivation to do it has waned since it appears this repo is not going to accept any additional merges anyways. At least the cli tool does work swimmingly 🤓 even if the ci/cd is busted

Although I don't really know how other pull requests get past the build task, and I'm a beginner at this aspect of CI/CD.

But what you said is true, because the settings in the UI panel actually correspond to the appveyor.yml file (see appveyor.yml), but it's strange that others have successfully passed the build without creating this file.

Lastly, I would like to add that the "Details" of the pull request build check below jumps to the login screen after clicking on it because you don't have permission (not the owner)

@Wambosa
Copy link
Author

Wambosa commented Aug 4, 2022

Thank you for the clear guidance @Haleclipse! That appears to have removed the build error

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

Successfully merging this pull request may close these issues.

None yet

6 participants