Jump to content

Cascadeur help?


Ricky Shaftoe
 Share

You are about to reply to a thread that has been inactive for 375 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I'm trying to make a basic test still pose with Cascadeur, for import into Second Life. With the help of the Cascadeur Discord, I'm now able to rig the default SL model (from the Wiki) in Cascadeur. Discord told me to turn off rig/auto-pose, so the model stays in the T-pose after I rig it. I have to cut out a lot of unused joints to export using the free version of Cascadeur, but I was able to export the basic armature as an .FBX file to Blender, and from there as a .BVH file to SL.

But when I upload to SL, my avatar immediately gets turned into a hideous monster, with distorted limbs and torso. I suspect I have not named the joints correctly. In fact, I had to rename the base joint to "hip" to get SL to recognize the animation at all. I'm not sure how to rename the rest of the joints. Would anyone know? This was never an issue in Poser. I've tried using Avastar's Avatar Workbench model as a basis, but I get the same distored upload when I try that.

I'm willing to buy Cascadeur, as I think it's a great animation tool, but only if I can get a working prototype going. So for now, I'd like to test with the simple "classic" avatar, as that does have fewer than the 300-joint max for Cascadeur's free version.

Can anyone help?

Link to comment
Share on other sites

  • 2 weeks later...

Hello!

Sorry for the late reply, i was very busy recently. I saw your other message in the other topic as well, but didn't really know how to help at that time.

About your problem here: pretty sure that you have exported Location keyframes, which explains why your avatar looks distorted in SL. It could also be due to an export with the model being in a wrong orientation. Let me explain. I will show the whole process from the begining, for other people who come on this topic and start from scratch. I think you have already completed the first steps, so you can probably skip the begining of all that and jump directly to the section "CLEANING THE CASCADEUR FBX".

Note: also please have a look at my next message, i forgot something important in this one, that could be related to your question about the "Hip" bone.

DOWNLOAD AND CLEAN AVATAR WORKBENCH

Donwload the Avatar Workbench: https://www.avalab.org/avatar-workbench/ For starting, i would recommend to choose the "workbench-271.blend Blender 2.71" in the list "Downloads (Classic Rigging). This one contains only the classic bones (not the bento ones), but it is a good start. Once you will have done the whole process with the classic rig, you can retry again with the full rig that contains bento bones and volume bones, but to make it easy, for now, just consider the classic rigging:

download-workbench.png.21bd74c6f3d21e4defcf5c607a71e574.png

Open it in Blender. Now, i would recommend to clean that a lot, to keep only one mesh. I like to have ONE mesh only. I import/export a lot between different softwares, so it is important to have the simplest thing as possible. This is how mine looks : one armature, one mesh, nothing more:

viewlayer.png.1f1f389e7fc16486b55530c61a81178b.png

Now, with Blender, export as fbx. You can keep all the default options of the exporter, except "Add Leaf Bones" which is under the "Armature" options group: you do not need this, so uncheck it.

CREATE THE CASCADEUR RIG

Now open Cascadeur and go to File > Import FBX/DAE > Model. Click twice "Yes" to go to the Quick Rigging Tool. Here, you will match your bones with the Cascadeur Bones. These are the bones to match:

mPelvis, mTorso, mChest, mNeck, mHead, mCollarLeft, mShoulderLeft, mElbowLef, mWristLeft, mCollarRight, mShoulderRight, mElbowRight, mWristRight, mHipLeft, mKneeLeft, mAnkleLeft, mFootLeft, mHipRight, mKneeRight, mAnlkeRight, mFootRight.

Now create a simple animation.

Then export it with File > Export FBX/DAE > Scene

Now open the fbx in Blender.

CLEANING THE CASCADEUR FBX IN BLENDER

Cascadeur keyframes ALL bones, and for each bone it keyframes in Location, Rotation and Scale. You definitely don't want that. Most of the time, in SL, you want:

- rotation + location for mPelvis

- rotation only for all other bones

So open the dopesheet in Blender, and remove all Scale channels + remove all Location channels except for mPelvis. You should get something like that. Note that only mPelvis has some Location channels:

dopesheet3.png.5dabe86783228bbe3daebc6076257822.png

Furthermore, you might want to completely remove some other channels that you don't need. Because Cascadeur keyframes all bones, but you don't need all the bones in your animation. mToeLeft, mToeRight, mSkull, mEyeLeft, mEyeRight, these ones are not needed. Personally i even remove mFootRight and mFootLeft, since these ones mess up with avatar wearing heels. So i keep no channel for these bones in my dopesheet.

Edit: please also have a look at my next message in this topic, i've added an important step for cleaning the file.

EXPORT FOR SL

Now, this is the something that can be tedious. You can either export to .bvh or .anim.

To export as .bvh, you will have to reorient your model because bvh expects it to be in a given orientation, as shown in this video made by Pavel Perna:

 

To export as a .anim : i recently made a little blender plugin for that, that i think i will open source and release soon. Please message me if you want it now ! Without this little plugin, the other solution is to retarget it to the Avastar or Bento Buddy rig then export to .anim.

 

 

Edited by Aglaia
  • Thanks 2
Link to comment
Share on other sites

Oh, i forgot something important, and this could be the reason of your problem with "Hip" bone.

Cascadeur adds a group of channels for the Armature itself. For example, if you armature is named "Avatar", you will notice this group of channels in the dopesheet:

dp.png.e7c29f167f20fdd46d86b629fc913ea2.png

This "Avatar" channels group that i have wrapped in red, you should remove it! SL won't accept your animation with that.

I realize that it is a lot of stuff. I had forgotten a bit about all that, because 2 months ago i made a kind of "Cascadeur plugin" for Blender, that makes all the cleaning automatically when i import a file. Maybe i will share this plugin in time, but for now, i don't know how to release it, since there are so many particular use cases and so many different ways to use Cascadeur and Blender : it sounds hard to me to propose a generic solution that will work for everybody.

Edited by Aglaia
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

@Aglaia Thank you for that fantastic post! I am so excited to try this out; I will spend the afternoon following your step-by-step instructions. I am *so* grateful to you for taking the time to post all this.

And yes, I will message you about that plugin to export to .anim. That sounds simpler than trying to fix a .bvh file. I've neer uploaded an .anim file to SL before, only .bvh, but if .anim works just as well, that sounds easier.

I do have a couple follow-up questions:

1. SL still needs a T pose in frame 1, yes?  To ensure the model is in the T-pose in Cascadeur after using the quick-rigging tool, I've found it's necessary to turn off "auto pose" while rigging. (Someone on the Cascadeur Discord suggested this.) Do you do that as well? Otherwise frame one has the model with arms in more like an A pose.

2. Also, thanks for the info on matching bones in the quick-rig tool. My main question about this is: is it necessary to rename them? I notice that bvh files say "hip" and "chest", not mHip and mChest. But I'm guessing the bvh-generation algorithm removes the leading "m".

Thanks again! I'm so excited to try this -- TODAY! 

Link to comment
Share on other sites

Hi!

Glad it helps 🙂 I've got your private message as well. About the .anim exporter: i'm going to release it publicly right today. I will make a post on the forum. I'm gona do that just after this post, please be patient one hour or two ;)

I will also share a blender file and a cascadeur file ready to use. All that will be ready in a few hours, and should ease the process a lot.

About your questions:

1: for a .bvh export, indeed it is necessary that the first frame represents the model in T pose. This is a trick used by SL (and other softwares as well) to know which bones are actually animated, by comparing the first frame and the second frame, and keep only those which have a different rotation or position between these two frames, and ignore other bones. So in Cascadeur, you would keep your model in T-Pose in the first frame, then start your actual animation in the second one.

But this first frame T-Pose trick is for .BVH export only. If you export to .ANIM, then there is no need to have the model in T-Pose in the first frame. So i advise you to forget all that, and use my .anim exporter that i will publish in a few hours ;)

2: No need to rename bones. "Hip", "Chest", etc, are just aliases for "mPelvis", "mChest", etc. I think they are old names that are not used anymore by SL, but still work. I've also seen that the Avastar BVH exporter still uses these names and i'm not sure why, i have exported several animations with the normal names "mPelvis", "mChest", etc and never had any problem. But anyway : here again, this concerns BVH files only. If you export to .anim, then bones names are the real ones: mPelvis, mChest, etc...

Ok, now i go to publish my .anim exporter and will post in on the forum. I will also publish a ready to use cascadeur file.

 

Edited by Aglaia
  • Thanks 1
Link to comment
Share on other sites

Oh glory be, thank you so much, Aglaia! Please take your time -- I can wait a few hours, lol. I really appreciate the help! And having ready-to-use Cascadeur and Blender files would be glorious! Thank you!

 

5 minutes ago, Aglaia said:

About the .anim exporter: i'm going to release it publicly right today. I will make a post on the forum. I'm gona do that just after this post, please be patient one hour or two ;)

I will also share a blender file and a cascadeur file ready to use. All that will be ready in a few hours, and should ease the process a lot.

Ok, now i go to publish my .anim exporter and will post in on the forum. I will also publish a ready to use cascadeur file.

 

 

Link to comment
Share on other sites

Just released the anim exporter: 

And you can find 2 other files in the google drive folder:

https://drive.google.com/drive/folders/1gXWxunKk8z1QulD1lHNPzbZ1Y9TMfUPq

You can use avatar.casc. Open it with Cascadeur, make your animation, then export it with File > Export FBX/DAE > Scene

Then import the fbx in blender. Here you have to make the cleaning, as explained above: remove translation channels (except for mPelvis) and remove the "armature" channels added by Cascadeur. Then you can use the .anim exporter plugin to export as .anim.

I will try to make a youtube video of the process, if needed.

  • Like 1
Link to comment
Share on other sites

On 4/24/2023 at 6:44 PM, Aglaia said:

2: No need to rename bones. "Hip", "Chest", etc, are just aliases for "mPelvis", "mChest", etc. I think they are old names that are not used anymore by SL, but still work. I've also seen that the Avastar BVH exporter still uses these names and i'm not sure why, i have exported several animations with the normal names "mPelvis", "mChest", etc and never had any problem

Those are alias names for the avatar joints. There are 3 aliases for each joint and they work correctly for bvh files. Their purpose is to avoid name clashing in animation scenes where there is more than one avatar, or in scenes where the avatar is animated using a proxy skeleton that drives the character's skeleton.

On 4/24/2023 at 2:48 PM, Aglaia said:

Maybe i will share this plugin in time, but for now, i don't know how to release it, since there are so many particular use cases and so many different ways to use Cascadeur and Blender : it sounds hard to me to propose a generic solution that will work for everybody.

From experience, it's nearly impossible to write code that conforms to any use case when the manipulation at hand is so specific . The first thing to think about is a general workflow to base your code upon and write it basing off these assumptions. Then those assumptions will generate the instructions to use your plug-in. Specific use cases that make sense to implement can be either integrated at a later time, or make it as an option to route the methods calls in the most appropriate order, with the relevant inputs.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 375 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...