lunaretic / animationexporter Goto Github PK
View Code? Open in Web Editor NEWA simple FFXIV Animation converter/exporter, using the SaintCoinach framework
A simple FFXIV Animation converter/exporter, using the SaintCoinach framework
So, I want to export "BLM idle with weapon" animation for Miqote Female.
But looks like this animation exists only for "c0101" (Hyur Male)
"chara/human/c0101/animation/a0001/bt_jst_sld/resident/idle.pap"
There is no something like this for "c0801" (Miqote Female). Following path does not exist:
"chara/human/c0801/animation/a0001/bt_jst_sld/resident/idle.pap"
If I use "c0801" (Miqote Female) skeleton and "c0101" (Hyur Male) animation in config like this:
"SkeletonPath":"chara/human/c0801/skeleton/base/b0001/skl_c0801b0001.sklb",
"AnimationPaths":[
"chara/human/c0101/animation/a0001/bt_jst_sld/resident/idle.pap"
]
Unfortunately resulted animations is stretched for Hyur Male body type, so little Miqote stretches and becomes a giraffe.
Do you know how to fix it / possible workaround?
I wonder if this Miqote animation:
"chara/human/c0801/animation/a0001/bt_jst_sld/resident/idle.pap"
does really exists in game but we just don't know how to get it (unknow hash or something), or it indeed does not exist and FFXIV retarget this animation for Miqote in game itself (or something like this).
I got link to this soft from "FFXIV TexTools" discord: https://discord.com/channels/279130736806592513/414158219787894786/742488004819550302
Message (link above) provides 2 links to get "AnimationExporter":
I've tried to use compiled project and everything works fine.
If I import it for example into Blender that's how it looks:
https://i.imgur.com/IQYhS81.jpg
You can notice that:
But. I've attempted to compile application from this repository on my machine and use same config (as for example above), but resulted FBX is a bit different:
https://i.imgur.com/WYut8L9.jpg
You can see that hierachy:
So looks like "already compiled project" version somehow modifies skeleton a bit, before exporting it.
Do you know how to achieve same behavior (adding "scaling_root" and modify "scale") for this repository? Maybe I need to use some code from FBX SDK or SaintCoinach repo?
A crash occurs when an animation for one of these skeletons is attempted to be exported, such as for mounts etc.
It successfully finds the .pap and .sklb, the bug appears to be related to unexpected bone names.
Here is the error resulting when using these files for export:
"SkeletonPath":"chara/demihuman/d0002/skeleton/base/b0001/skl_d0002b0001.sklb",
"AnimationPaths":[
"chara/demihuman/d0002/animation/a0001/bt_common/resident/mount.pap",
]
These files are the Magitek Armor mount. Also attempted this with Monsters with similar results, though Godbert can export Monsters successfully by itself, while it cannot export Demihumans.
Unhandled exception. System.Collections.Generic.KeyNotFoundException: The given key 'j_sebo_a' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at SaintCoinach.Graphics.Viewer.Interop.FbxExport.<>c__DisplayClass1_0.<ExportFbx>b__0(String n) in D:\Dev\SaintCoinach\SaintCoinach.Graphics.Viewer\Interop\FbxExport.cs:line 41
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at SaintCoinach.Graphics.Viewer.Interop.FbxExport.ExportFbx(String fileName, Mesh[] ma, Skeleton skele, List`1 paps, Int32 mode) in D:\Dev\SaintCoinach\SaintCoinach.Graphics.Viewer\Interop\FbxExport.cs:line 39
at Godbert.main.Main(String[] args) in D:\dev\AnimConverter\Program.cs:line 102
Thanks for reading, I hope this can be resolved somehow if you are still active on this!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.