About Store Forum Documentation Contact



Post Reply 
Bone Biped Rename (Tool+Sources)
Author Message
Dwight Offline
Member

Post: #16
RE: Bone Biped Rename (Tool+Sources)
Here's the tool for AutoDesk 3D Studio Max 2012 (My tested version, should work on all versions from 2008 onwards)

Download:
http://www.sc-entertainment.com/projects...enamer.mse

Instructions:
As I did not want to spend too much time on this, I only implemented a catch/try safety mechanism, and also an output if certain bones cannot be found just to be sure.
IMPORTANT: Make sure that each bone starts with "Bip001", since it is dependant on this. If you create a fresh biped, this is standard. If your Biped does not start with "Bip001" then let me know, and I can extend the interface later when I have more time.

Edit: Oh, Drag and Drop this .mse file into your viewport, and a window will pop up. Press the button for the renaming.
(This post was last modified: 06-15-2013 01:03 PM by Dwight.)
06-15-2013 01:02 PM
Find all posts by this user Quote this message in a reply
Rofar Offline
Member

Post: #17
RE: Bone Biped Rename (Tool+Sources)
I'm a little confused about why it's even necessary to rename the standard Biped bones to esenthel bone names. The standard biped is supported in the engine. Also, I just set up my character game objects to allow me to specify the bone names in the rig that correspond to the esenthel standard bones and when the character is created in the world, the translation is done. This way I can essentially use any rig and make it work by setting the name in the object for the character.

Maybe someone can enlighten me as to why I should be using rigs that match the esenthel standard bones?
06-15-2013 02:53 PM
Find all posts by this user Quote this message in a reply
AndrewBGS Offline
Member

Post: #18
RE: Bone Biped Rename (Tool+Sources)
I'm not sure if you "should", but the reason I want to do it is so that I can apply esenthel animations on my models and not change any code and still have my application work with any model (that's why you need a standard - now you could change that standard of course, but since functionality is already up and working for one standard, I rather just adapt to that one)
06-15-2013 07:31 PM
Find all posts by this user Quote this message in a reply
Pixel Perfect Offline
Member

Post: #19
RE: Bone Biped Rename (Tool+Sources)
I think what Rogus was hinting at is that Esenthel already supports the standard 3d max biped names as well as the Esenthel set. If fact it actually looks for Bip01 names first before it even checks for the Esenthel versions.

Looking at Dwights entry though he seems to indicate they now start with Bip001 so maybe the intended support is no longer functional!
06-16-2013 11:26 AM
Find all posts by this user Quote this message in a reply
Rofar Offline
Member

Post: #20
RE: Bone Biped Rename (Tool+Sources)
(06-15-2013 02:53 PM)Rofar Wrote:  I'm a little confused about why it's even necessary to rename the standard Biped bones to esenthel bone names. The standard biped is supported in the engine. Also, I just set up my character game objects to allow me to specify the bone names in the rig that correspond to the esenthel standard bones and when the character is created in the world, the translation is done. This way I can essentially use any rig and make it work by setting the name in the object for the character.

Maybe someone can enlighten me as to why I should be using rigs that match the esenthel standard bones?

I was asked to provide some more detail regarding this. This is how I've implemented specifying non-standard bone names.

I create a string parameter in the character object parameters for each bone (bone arm_lu, bone arm_ru, bone body, bone body_u, etc). If I have a model with a skeleton that is not standard biped names, I can specify the bone name that corresponds to each Esenthel bone.

In my character class, I have a function to get the bone index for a given bone name:

Code:
int BaseCharacter.GetBoneIndex(Str name)
{
   if(Param *param=obj().findParam(name))
   {
      Str boneName = param->asText();
      Str8 c = boneName;
      if (boneName.is())
      {
         return cskel.findBoneI(c);
      }
   }
  
   return -1;
  
}

And one to get all the bone indexes and set them in the sac.

Code:
void BaseCharacter.SetBoneIndexes()
{
   int boneIndex = GetBoneIndex("bone head");
   if (boneIndex >= 0)
      sac.head = boneIndex;

   boneIndex = GetBoneIndex("bone neck");
   if (boneIndex >= 0)
      sac.neck = boneIndex;

   boneIndex = GetBoneIndex("bone body");
   if (boneIndex >= 0)
      sac.body = boneIndex;

   boneIndex = GetBoneIndex("bone body_u");
   if (boneIndex >= 0)
      sac.body_u = boneIndex;

   boneIndex = GetBoneIndex("bone arm_lu");
   if (boneIndex >= 0)
      sac.arm_lu = boneIndex;
    
   boneIndex = GetBoneIndex("bone arm_ru");
   if (boneIndex >= 0)
      sac.arm_ru = boneIndex;

   boneIndex = GetBoneIndex("bone leg_lu");
   if (boneIndex >= 0)
      sac.leg_lu = boneIndex;

   boneIndex = GetBoneIndex("bone leg_ru");
   if (boneIndex >= 0)
      sac.leg_ru = boneIndex;

   boneIndex = GetBoneIndex("bone leg_ld");
   if (boneIndex >= 0)
      sac.leg_ld = boneIndex;

   boneIndex = GetBoneIndex("bone leg_rd");
   if (boneIndex >= 0)
      sac.leg_rd = boneIndex;

   boneIndex = GetBoneIndex("bone hand_l");
   if (boneIndex >= 0)
      sac.hand_l = boneIndex;

   boneIndex = GetBoneIndex("bone hand_r");
   if (boneIndex >= 0)
      sac.hand_r = boneIndex;

   boneIndex = GetBoneIndex("bone foot_l0");
   if (boneIndex >= 0)
      sac.foot_l0 = boneIndex;

   boneIndex = GetBoneIndex("bone foot_r0");
   if (boneIndex >= 0)
      sac.foot_r0 = boneIndex;
}

Then I call SetBoneIndexes in the create function after super.create and in the load function.

I only set these bone parameter values if I have a model that I cannot rename the bones on. If possible, I will just use standard biped bone naming or rename to the standard names.
11-21-2013 02:11 PM
Find all posts by this user Quote this message in a reply
Palaxe Offline
Member

Post: #21
RE: Bone Biped Rename (Tool+Sources)
Thank you so much. I'll give this a shot tonight when I get off work.
I have some 3dfoin models I'm having issues with and this looks like it will do the trick smile
11-21-2013 04:05 PM
Find all posts by this user Quote this message in a reply
Post Reply