• 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
0
Question by Pizopop · Oct 04, 2016 at 10:37 PM · animationmecanimtransitionproperty

Branching target animations in mecanim

I've been trying to setup an animation controller where a state can move to different targets based on some property. Determining this value only happens at the end of the first animation (e.g. checking for a button press within a given time):

 State A ---v=1---> State B
       |
       -----v=2---> State C

Note that the animations are 2D and made with matching start/end keyframes so no blending is used.

I've tried two approaches to this:

  1. Have an empty 'dummy' state after the first with an OnStateEnter script calling the logic to set the property. This works every time but, even though the transitions out of the dummy state are all zero length, it still takes a frame so causes a glitch in the animation.

  2. Have an animation event at the end of the first animation calling the logic to set the property. This avoids the glitch but even moving the event back a couple of frames, doesn't seem to guarantee it is processed before the transition so it may be set too late and move onto the wrong state.

Is there anything anyone can recommend changing to fix one of these approaches (or give another option that could work)?

Thanks.

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Pizopop · Oct 06, 2016 at 02:18 PM

I've solved this by using a coroutine approach instead. I use an animation state behaviour to kick off the coroutine on entering the state and this then monitors the duration, calling the logic in the appropriate window at the end of the state. This seems to work flawlessly to achieve what I'm after.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Mecanim Root Motion Rotation - 180 degree turn. 2 Answers

Mecanim - How to use "Exit Time" for a state that uses negative speed (anim playing backwards)? 2 Answers

Mecanim blend-tree transitions problem 0 Answers

Mecanim mysterious curve 2 Answers

Triggering an animation once in mecanim 4 Answers

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