Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • 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
1
Question by Robert 1 · Apr 22, 2010 at 05:01 PM · animationcrossfadequeue

Animation.CrossFadeQueued: Catch 22

I have a character standing in a looping "idle" animation. When the user clicks the mouse button, the character should play a non-looping punch animation and then cross-fade back to his idle animation.

So the animation state should go like:

idle (looping) -> punch (one-shot) -> idle (looping)

Assuming that "idle" is already playing (looping), my Punch() function looks like so:

void BeginPunch()
{
    playerAnimation.CrossFade( "attack" );
    playerAnimation.CrossFadeQueued( "idle" );
}

Doing this does no cross-fade at all, and the player pops back into his idle animation instead of it being done smoothly. I tried setting "attack" to be WrapMode.ClampForever, but he never switches back to his idle animation and remains in the last frame of his punch animation.

So I call this a catch 22 because: 1) Cross-fading is not possible unless it is done from a looping animation 2) Queuing is not possible if you are using a looping animation (since it technically never ends)

So, having made these points, why does CrossFadeQueued even exist? According to my research, this is impossible. I would like to get my very simple cross-fading example working. Anyone have any ideas/solutions?

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

2 Replies

· Add your reply
  • Sort: 
avatar image
3

Answer by Robert 1 · Apr 22, 2010 at 08:12 PM

I found that by utilizing animation layers, I was able to get it working. I set attack to layer 1 and idle is at layer 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
avatar image
0

Answer by MaDDoX · May 16, 2010 at 02:58 PM

For the record, if you're baking keys in your source 3D application, that will only work in Unity if you also delete the keys of the non-animated joints. Or else you have the keys fighting on both layers and probably won't get the result you want.

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.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

How to use CrossFade with anim2 when anim1 is over? 1 Answer

isOpen queues next door to run close animation even if its closed 0 Answers

How can i play animations in a queue using the Animator? 0 Answers

Why is Animation Not Playing in Reverse? 2 Answers

Animation/CrossFade difficulties, Animation won't CrossFade 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges