KatsBits Community

Blender Head Shapekeys

EdieMaye · 11 · 21803

0 Members and 1 Guest are viewing this topic.

Offline EdieMaye

  • Newbie
    • Posts: 20
Hello everyone,

How're we all doing?

I am here today because I am trying to find a way to export a static head shapekey, (morph,) from Blender into IMVU's create mode. Utilizing the Females04(shapekeys).blend file found within this forum. I apply a value of 1 to: blink.Left.Upper.Clamped, blink.Left.Lower.Clamped and their counterparts to make the eyes close.

I plan to use it for a simple pose, but I am having trouble finding information on how this would be done. Would anyone have information on getting this to appear under the .XPF file directory? Tutorials seem to be very heavily based elsewhere other than Blender.

Thank you for your time,
EdieMaye


Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 3148
    • KatsBits
You essentially want the eyes to be closed all the time? That's possible exporting a morph that's set up to loop in Create Mode - load the morph and set the loop parameters then add the trigger.

But...

I get the impression you want the mesh itself to be fixed in a particular pose? If that's the case you'd need to 'convert' the morph pose, essentially freezing the mesh in position. It would then need to be exported as a mesh-only head replacement.


Offline EdieMaye

  • Newbie
    • Posts: 20
Your first guess was the appropriate answer. I want a trigger that will initiate the closed eyes morph.

The only issue I am having is that what seems straight forward isn't being recognized as a facial morph in IMVU when I Import an FBX file with the shapekeys active. I'd be able to set the parameters just fine, but I am not sure what isn't being exported from my Blender properly to bring the possible trigger into IMVU.

I've animated the Shapekeys already, but it's different than exporting an animation/action like a .XAF file and this is what I am not grasping.


Offline EdieMaye

  • Newbie
    • Posts: 20
(Update)

Okay I went back into it and animated the shapekeys for my .XPF file as I mentioned in my first post with the closed eyelids. Setting it up like I would a static pose. Afterward I went to my dope sheet (Under Pose Mode) and set it up the same way under the same frames. Keyframe on frame 1 copy/pasting, (all bones,) that to 20, and then cleared the pose transformation at 40. This export seemed to work, and I was able to finally import my .XPF with absolute success. Name was super long, but it worked nonetheless as a static facial expression.

The process seemed a bit more tedious than necessary, and I would like to know if there is a simpler way to do this on Blender than what I had done. Or, to at least simplify the name because it's over 100 characters long.

Thank you,
EdieMaye


Offline EdieMaye

  • Newbie
    • Posts: 20
(Update)

I figured the name thing out. Just went into the folder once imported into IMVU and renamed the .XPF file name. But, the facial morph will cancel any .XAF animation if I change it to anything other than an infinite loop. It appears that I managed one method, but my set-up for import wasn't exactly as I needed. It seems I created a pose with shapekeys included, instead of a simple shapekey for the head animation.

Sorry for the barrage of posts, I just need a trigger to close my eyes is all.

Thanks,
EdieMaye


Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 3148
    • KatsBits
Hmm... you should be able to utilise the morph without any other sequence data interfering. If this is not happening it likely means the FBX doesn't contain clearly demarked morph data. In the Action Editor (not the Dope Sheet) make sure an Action exists per Shape Key sequence - the Blender/IMVU pathway needs clearly defined Actions as representations of sequences otherwise it doesn't know what to do with the file. All sequences need to have an Action by the way otherwise they don't export correctly.

Also when exporting SHAPE KEYS to FBX make sure "Apply Modifiers" is disabled in "Geometries" (this breaks mesh shapes caused by using Shape Keys) and optionally try disabling "NLA Strips" and "Force Start/End Keying" in "Animations".

The Action Editor is also where you change the name of the sequence, just click the name/ID input field and type (likely shows Action or Action.001 by default).


Offline EdieMaye

  • Newbie
    • Posts: 20
Hello Kat,

Thank you for the reply. I did everything as you specified, and it still exports a .fbx that will cancel my actions/poses once the shapekey ends. I can set it to loop indefinitely. Which will be fine with static poses, when I create them, but I'd rather have my animations persist even after the morph ends. Not to mention I sell posing packs and if I set the morph to a loop it overrides every pose afterward until the product is removed or you change a node and/or etc.

Any ideas what may be the cause?


Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 3148
    • KatsBits
Hmm, post a screen shot of your project settings in IMVU. In the meantime just to clarify... you are able to export a shape key/morph that imports into IMVU properly, and will play when activated? It's just that once the sequence plays through IMVU reverts to the defaults? Is that right?


Offline EdieMaye

  • Newbie
    • Posts: 20
My apologies for the hiatus Kat, but I am back.

When I create the animation sequence in Blender and export to IMVU it uploads and plays successfully for me. I can edit the parameters for loops. Even signify what portion of the frames to loop, but once the face morph finishes it resets the avatar's body to default. WHEN I include it within the pose itself. For instance I make a pose and name it br2. Trigger br2 and it plays with the morph and then concludes when the face morph ends although the pose was set to loop with 0 and the face was at a 3 loop maximum.

But, I discovered that if I make two separate actions: .XAF with br2 and then the other with the .XPF, still br2. Type br2 to initiate both simultaneously. The face animation plays and concludes without interruptions with the pose .XAF itself.

It feels like an unnecessary step, and I have yet to test this with an avatar itself. So far it has only been tested with an empty derivable, (PID#14110317,) and an empty mood, (PID#10945930.) I have seen other derivable avatars that were able to manage this with a single trigger, and this is what I am trying to accomplish here.


avatar prior to animation.


Avatar during. (Eyes are closed with a loop value of 3.)

Once the face morph concludes the avatar returns to the prior pose. But, doesn't return to default stance.Standing poses.


Offline kat

  • Administrator
  • Hero Member
  • *
    • Posts: 3148
    • KatsBits
If I'm understanding this correctly, you're doing this;

- Action
-- xaf
-Action
-- xpf

... which works. But this;

- Action
-- xaf
-- xpf

... doesn't?

If you have different loop values set that means one is still playing when the other is finished. When both are part of the same action I'm guessing IMVU won't/isn't reset properly to defaults because it must consider the Action still active, causing part of it to 'stick'. Separated to their own Actions however, they will run based on the parameters set for the individual sequences independent of the one another - using multiple Actions to trigger different elements of a project is a legit use of them by the way.

The only way I can think to fix this would be to loop the skeletal sequence to match the morph or change the skeletal animation at source so its as long (duration) as the looping morph (notwithstanding the challenge of syncing them together when using this approach). Or do what you did and create separate Actions for each element that should animate.


Offline EdieMaye

  • Newbie
    • Posts: 20
Your understanding is spot on. When compiled under:

- Action
-- xaf
-- xpf

the facial morph cancels the infinite loop of the .xaf when it completes.
I have actually built a .xaf prior to a .xpf that I happened to align identical keyframes for the skeletal animations and the facial shapekeys. So I'm not sure if there is additional testing to be done, or what here.

Nonetheless I am just going to take this as a success in the end. I did manage to figure how to make the morph work properly. Just adding an additional action with the same trigger name does the trick. I just have a knack for streamlining and understanding anything and everything until near perfection is all.

Thanks for all the additional help Kat.

EdieMaye