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

Common expressions for avatars with different additional expression objects #19

Open
enitimeago opened this issue Aug 11, 2023 · 1 comment

Comments

@enitimeago
Copy link

Hi,

First of all, thank you very much for your work on FaceEmo. It's a huge upgrade over my previous workflow, and it's hard for me to put into words how much I appreciate what you've released. I'm amazed at the amount of functionality you've landed on day 1 of release, and while I haven't had time to try all the functionality, I'm already amazed at how much customization there is. Not only in Unity, but in-game itself. Really, really wowed.

It therefore pains me a little to want to ask for more—but if I understand correctly, there's currently no workflow to achieve sharing the same "Expression Patterns" between multiple avatars, if there are different additional expression objects that I want to manipulate on each avatar.

For example, the Meiyun avatar comes with an additional variant with a cat on the head.

This avatar variant uses the same animation clips for Meiyun's face as the normal variant, however, there is additional FX Neko left hand and right hand layers that apply animation clips for the cat's face only.

If I wanted to achieve similar results with FaceEmo currently, my understanding is I would need to perform the following steps:

  1. Set up FaceEmo on my "default" avatar with the Expression Patterns I would like to share across both avatars.
  2. Copy the FaceEmo object to my "cat" avatar1.
  3. Either:
    i. Duplicate each animation clip, and modify these clips to affect the cat, or
    ii. Edit each original animation clip to affect the cat. Maybe this will still work correctly when I upload my "default" avatar again later, because the additional expression object does not exist?

The issue with 3i is that this creates a lot of additional work, especially if I want to change my "default" Expression Patterns later.

While with 3ii, this seems like undefined behavior that is at risk of breaking in the future, especially if I want to create another avatar variant e.g. dog instead of cat on the avatar's head.

What are your thoughts on supporting such a workflow? Maybe a similar "Layers" concept?

My apologies if this is actually possible, and is something I missed.

Footnotes

  1. From documentation, "You can copy the facial expression by copying the [facial expression menu] object" (source)

@suzuryg
Copy link
Owner

suzuryg commented Aug 11, 2023

I'm truly delighted to see FaceEmo being utilized!

If I were to create the avatar you've described, I might add a cat to the "default" variant and attach an EditorOnly tag. In the "Cat" variant, I would remove the EditorOnly tag.

Then, for the "default" facial expression patterns, I'd set animations that affect the cat. I'd apply the same expression patterns to the "cat". If I'd like to add a dog, I'd include it in the "default" variant and set animations that affect both the cat and the dog.

At least within FaceEmo, this isn't considered undefined behavior. Also, to the best of my knowledge, I believe it should work seamlessly on VRChat (please correct me if I'm mistaken).

Ideally, FaceEmo should be able to accommodate the workflow you've presented, rather than you having to change your workflow. Sadly, at this moment, I can't think of an smart way to address this issue...

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

No branches or pull requests

2 participants