gdkchan / SPICA

Experimental H3D tool
The Unlicense
93 stars 46 forks source link

Multiple animations are not exporting #53

Closed Wambosa closed 6 years ago

Wambosa commented 6 years ago

Hello :)

I am successfully able to load in a bulbasaur model from pokemon sun. The model looks great and has several animations that can be played.

The problem comes when trying to export animations, the exporter only ever seems to export the textures. I have tried to explicitly deselect the textures in the menu and press the export button, yet this still just causes all the textures to be saved and not the model nor the animations.

Another attempt to use the batch export option, placing the following files in a folder and selecting animations did not export either. I see that others are somehow able to export. Perhaps there is a new bug since i am using latest build?

test.zip

I am a developer myself and hate to open this up, but i can't find any instructions for how to use this app. I have tinkered with it for a few hours to no avail. I see others on these issues talking about exporting to other file formats, but i am not given any options for file type unless i am selecting a single texture in the right-menu and press the export button.

waielal commented 6 years ago

Hey, the UI ist a little bit misleading. The green arrow button is only for exporting textures. To export an animation you have to select a model and an animation and then hit the save button. The batch exporter only works when model and animations are in the same file, like the trainer models. Otherwise it has no idea which model is paired with which animation. Hope I could help ^^

Wambosa commented 6 years ago

thank you so much @waielal! that was the bit of information i needed to move forward!

i might take a look at extending the menu selecting functionality because you can only select a single list item at a time with ctrl+click. even just adding a shift+click or ctrl+a to select all animations would be helpful since there are quite a few per pkmn.

Naturally the next step would be to just auto select the high poly model and all animations via cli automation. I need to understand the code first before taking a crack at it. yet very tempted to derail into this codebase! :)

Wambosa commented 6 years ago

so turns out this was a bigger bite than just adjusting the menu. I ended up digging into the code to find out that only one animation is exported at a time. Which lead me to discover the horrors of .dae format!

Long story long, i wanted to add support for the animation_clip tag in order to support multiple animations on a single .dae model, however i took an unorthodox approach after reading colladae weak docs (was unable to just find a .dae file on the internetz that used library_animationclips... (they all use libraryanimations)

I succeeded in my task. but at what costs? poli

Here is the fork for anyone interested in a .dae model with multiple animations exported. https://github.com/Wambosa/SPICA

Again, i'd much rather use the animation_clips spec in .dae, however i need a .dae file that has it properly setup so i can learn the tree and checkto see if unity even supports it.

For now at least, this does what i need. I can pretty much move forward with this functionality. I will likely create a cli version that just takes a key name and exports the .dae with the 8 animations i want and textures. Wanted to share with any other passers by and @waielal

Wambosa commented 6 years ago

have a proof of concept for a much faster cli version working. my focus is only sun and moon pokemon. So i'll be taking the map created here and stashing it as json then using it as a file lookup on the cli script. this way a person can export the whole damn folder of 10k files into usable dae in much less time than clicky click ui

image

i'll turn this into a PR at some point, since it is so specific, i need some tips as to how to organize the crazy code i've written. I was thinking i'd create a child class called PokemonDae: Dae so that i can just change the constructor and the save method. And then there is the matter of the UI, I have converted the animation selections to an array.

Wambosa commented 6 years ago

converted into a PR. I have completed the functionality i need and am just polishing it a bit at this point. multiple pokemon model animations are working at this point better than i originally hoped. https://github.com/gdkchan/SPICA/pull/55