• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by SDimis · Jun 25, 2010 at 07:20 PM · animationimportscaling

Animation through scaling joints

Dear memebers,

Due to unsupported blendshape (morph targets) animations in Unity, to succeed the breathing animation of lungs , was necessary some of the joints of a custom made skeleton to take translation,rotation but also scaling keys. Following an image of how the exhalation stage and inhalation stage of lungs look in Maya and under an image of how the exhalation stage and inhalation stage of lungs look in Unity. model and animations has been exported in FBX format 2011.3 version

The values of scaling in Unity are incorect creating a great deformation of lungs during inhalation. From a simple test I run with a simple tube and a simple skeleton on it, looks as scaling values on the joints of a skeleton system in Unity have been calculated differently than in Maya.Unity understands scaling of joints dependently on the skeleton hierarcy.If one joint been scaled with the value of 2, then i guess all following at the hierarcy joints(children) will be scaled with the value 2.(In Maya only the joint been scaled will take the value 2).Now if we scale the next joint at value 2, then in Maya visualy we will see the represention of the real value of 2,but in Unity will add this scaling value of 2 to the value of 2 from the parent joint,so the value we will see will be equal to 4.

alt text

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

4 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by SDimis · Jul 07, 2010 at 03:53 PM

Problem solved with scripting allowing blendshape animations

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by MaDDoX · Jul 20, 2010 at 01:20 PM

Wow, that sounds amazing! Could you share any details?

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image SDimis · Jul 21, 2010 at 01:36 PM 0
Share

http://www.unifycommunity.com/wiki/index.php?title=$$anonymous$$orphTargets

$$anonymous$$odifying the C sharp was an easy task.

avatar image MaDDoX · Jul 22, 2010 at 11:25 AM 0
Share

That's truly excellent, hopefully the performance is good enough to be actually useful for character lipsync'ing. Thanks a bunch SDimis!

avatar image
0

Answer by Paulius-Liekis · Sep 06, 2010 at 10:35 AM

I believe most of game engines behave in same way (because it's results in better peformance and that what poepl want in most of the times). IIRC there is an option in Maya to get the same behaviour. And you could change your bone structure to be flat, which would solve this problem too.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
2

Answer by Chrizzle · Mar 18, 2011 at 06:17 AM

Maya's joints have an attribute called "Segment Scale Compensate". It lets you scale a parent without scaling the children. This is extremely handy in animation, but Maya is literally the only app to make use of this. Unity/fbx is seeing 2*2 scale, not 2/2*2 that the compensation shows. Compensate is on by default on all joints.

This script will give you a much closer result from maya to unity

//mel
$jnts=`ls -type "joint"`;
for ($j in $jnts)
setAttr ($j+".segmentScaleCompensate") 0;

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

Can I make animations snap to a frame? 2 Answers

Imported Scale Animation Ignored in Viewport 0 Answers

adding vertices in blender, not recognized in unity? 1 Answer

Importing animations 3 Answers

Import animation from Maya 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges