Skip to content
This repository has been archived by the owner on Mar 14, 2020. It is now read-only.

Loading and updating linked pose libraries #31

Open
TheDuckCow opened this issue Oct 15, 2016 · 0 comments
Open

Loading and updating linked pose libraries #31

TheDuckCow opened this issue Oct 15, 2016 · 0 comments
Labels

Comments

@TheDuckCow
Copy link
Contributor

Carrying on from this issue thread, one of the current limitations of the linked pose libraries is that they cannot be edited, among a couple other property related issues which @jasperges is more aware of than I at this point.

First, the driving vision behind any functionality changes (from my perspective, at least):

  • Being able to have a single repository for actions which can be read and edited from other locations
  • Being able to work with a team of animators on a single project using a single shared pose library; this currently is possible in a read-only fashion, but would be nice if it also could configured such that the post library could be updated with new poses. even if linked in.
  • Once linking a library, the user shouldn't have to deal with filepaths/be burdened with the fact that it is library linked, it should feel like using any normal type of pose libra

Possible ways to do this

  • Blender in general I understand is moving towards being able to edit external libraries through python api's through other open files (source?), but does not exist yet.
  • Run a shell command from python which opens a background blender instance and opens the source library file and runs a script which runs the changes the user is attempting in that native file and saves it.
    • Must know location of executable, but blender background instances were accomplished in the edit linked library script (for researching at least)
    • The background script that runs could be simply located in the pose library addon's folder under the blender addons folder, and it could be written such that it takes argument inputs of any kind, thus passing whatever necessary info in order to process the change the user is making (e.g. filenames, bones to save and values to save it as, everything needed to make/adjust the pose)
    • This would be a slow operation, because a full blender has to be opened and then the library file, which might not be lightweight since created by the user. Thus, either blender will go slowly in any of these interactions saving back to the library, or it would be necessary to run the operation in a background thread thus decoupling with blender's UI refresh (complicated/awkward but possible)
  • Similar to above, but instead of opening the library file in a background instance, actually open up a new instance of blender (a full new blender window, like the edit linked library addon does) with a shell command and pre-apply the changes intended to be made to the pose
    • Operation: open blender and file, then apply or otherwise pass through the changes to be made from the source file into the now open library file, so that the user doesn't have to re-pose the character to save the changes intended.
  • I'm not actually sure immediately the way to pass this information through, that is pass the pose information from the open file to the newly opened library file.
  • When the user saves the library pose file, the next time the UI refreshes in the already open file it should attempt to reload the library accordingly.

These are just some high level thoughts. None of it's very elegant or simple, but does at least still stick to using blender's internal pose library system. Of course, if moving away from that and using addon-controlled json saved files for saving pose information, all this could be avoided, but agreed it is not the blender way and creates a dependency on using the addon and not the blender pose library system.

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

No branches or pull requests

2 participants