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

Tech Art: Creating Anim/Rig Export Script #538

Open
jasukim opened this issue Oct 17, 2019 · 1 comment
Open

Tech Art: Creating Anim/Rig Export Script #538

jasukim opened this issue Oct 17, 2019 · 1 comment
Assignees
Labels
backlog Feature request for things we'd like to do/have

Comments

@jasukim
Copy link
Collaborator

jasukim commented Oct 17, 2019

Working with Andrew Winkler, we need to create an export script.

Features:

Animation

  1. Be able to automate exporting Rig.fbx files and Rig Anim.fbx files
  • For example: DragonBaby.ma is a rig file. We save out a separate copy JUST for exporting (since exporting rigs/anim is destructive by nature). It is referencing in the Mesh_grp and joints_grp - we have to import all reference, bake out one keyframe (0-1), delete all namespaces to root, apply correct FBX export settings (with skinned meshes on, scale factor to 100 cm), export to Unity Project folder.
  • For Example: DragonBaby_BreathesFire is an anim file. We save out separate copy of scene.
    It is referencing the DragonBaby.ma rig file - import all references, bake out all keyframes on controls, delete all namespaces to root, apply correct FBX export settings (depending, could have blendshapes, no skinned meshes on, scale factor to 100 cm), export either entire animation, or animation clips (designated by keyframes) to Unity Project Folder (ability to designate prefixes, similar to game exporter)

1.A BONUS - if you export animations to Unity project, Unity can automate separating the anim.clip from the fbx file. Moves Original anim.fbx into a folder called like, "Original Anim" .

  • For example: NPC_DragonBaby@BreatheFire.fbx -> NPC_DragonBaby_BreatheFire.anim, original .fbx animation is moved into Original Anim folder located in the target directory.
  1. Be able to select multiple animation .ma files to export into correct file types/prefs/folders for Maya (IE. Updated a rig, select all of rig's animation to be exported with new rig updates)

  2. Be able to identify what rigs are used in the scene, and export animations accordingly. (IE. For a witch riding on a broom, be able to export out NPC_Base@Witch_idle and Broom@Witch_Idle)

  3. Similar to the Game Exporter, be able to designate clips by frame times and export them by name along with renaming with a prefix. (IE. NPC is doing a jumping jack and a push up - NPC_Base@JumpingJacks Frames 1-24/NPC_Base@PushUp Frames 25-50 gets exported)

  4. Be able to adjust the FBX Export settings if needed (not as a priority, but an option to just bring this up would be good)

For NPC Assets (skinned and unskinned)

1.) Export skinned clothing/body/meshes. For Ex. - Export a cloak that's skinned to a NPC_Base Rig. Included Prefixes. Specify which directory it gets exported to.

(Separate task?)

  • Import certain rig (maybe there's a list of rigs to use, instead of having to deep dive into files to search for rig) and have it skinned to the mesh that is to be exported, perhaps giving an option to copy over skinweights from original mesh if its similar enough.

Context:

Currently all animation is exported into by scene. So, DragonBaby.rig lives in Assets>scenes>SorcererTower>Anim>DragonBaby>DragonBaby@BreatheFire.anim

I could change this so I just have Assets>Characters>DragonBaby>SorcerersTower>DragonBaby@BreatheFire.anim

Let me know what you think.

@jasukim jasukim self-assigned this Oct 17, 2019
@jasukim jasukim added the backlog Feature request for things we'd like to do/have label Oct 17, 2019
@jasukim jasukim changed the title Tech Art: Creating Export Script Tech Art: Creating Anim/Rig Export Script Oct 17, 2019
@andimator
Copy link

I've started working on this based on what you have here. I'll post an update to my specific commit when it is ready to test out. I'll try and keep these scripts as modular as possible so we can add new features in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Feature request for things we'd like to do/have
Projects
None yet
Development

No branches or pull requests

2 participants