• 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 /
  • Help Room /
avatar image
0
Question by JackAshwell · May 05, 2020 at 12:27 PM · animation2d

Activate animation at player's location

So I am trying to have an animation at a player's location anywhere on the map, but I don;t know how to go about doing that. My current code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class AttackAnimation : MonoBehaviour {
 
     public Animator anim;
 
     void Update() {
         if(Input.GetKeyDown(KeyCode.Space)) {
             anim = GetComponent<Animator>();
             anim.SetBool("Attack", true);
             anim.SetBool("Attack", false);
         }
     }
 }
 

My animator: alt text

Thanks!

screenshot-1.png (19.8 kB)
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

Answer by shadowpuppet · May 05, 2020 at 12:49 PM

put the "anim = GetComponent();" in the start function, you just need to get that once not every time you hit space. and you are setting "attack to true and false at the same time. Your Animator needs work. The player default animation should be an "idle" or something and the transition go to "attack" with the condition = true, and back to idle when condition is false or animation has ended. As is you have a transition going to pretty much nothing and staying there. The Attack could also just come from the "any state" node. this way he attacks if he is doing anything, running walking,idling,picking his nose etc.You also want to not interrupt the attack by hitting the space bar again until attack is over. so make a bool "attacking" and set it to true while attacking and false when over so you can attack again. The condition of attacking false is added to the condition of pressing the space bar.do this with a coroutine. how ever long that attack animation is will be the value of the float that will set attacking to false again so you can attack again

  using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  
  public class AttackAnimation : MonoBehaviour {
  
      public Animator anim;
      bool attacking;
 public float attackTime;
  void Start(){
 anim = GetComponent<Animator>();
 }
      void Update() {
          if(Input.GetKeyDown(KeyCode.Space)&& attacking==false) {
              anim.SetBool("Attack", true);
              attacking =true;
 StartCoroutine(DelayAfterAttack());
              
          }
      }
 private IEnumerator DelayAfterAttack(){
         yield return new WaitForSeconds(attackTime);
 anim.SetBool("Attack", false);
 attacking=false;
          
 }
 }
Comment
Add comment · Show 5 · 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 shadowpuppet · May 05, 2020 at 12:58 PM 0
Share

so to clarify, when the script starts, it gets the animator component and the bool "attacking" is false. when you hit the space bar, a transition from the default state in the animator leading to the attack animation with the condition of "Attack" being true. This also sets a bool in the script saying that an attack is taking place (attacking = true) so hitting the space bar again while the attack animation is playing will do nothing. After you hit the space bar, in addition to triggering the "Attack animation" and setting the attacking bool to true, you started a coroutine - another instruction for the script to carry out that will occur after a delay. The delay is the float "attackTime" and that value should be the length of time of the attack animation or a little less. This coroutine will reset the attacking bool in the script back to false (attacking=false) and allow you to attack again with the space bar. But in order for any of this to work you need to fix the Animator

avatar image JackAshwell shadowpuppet · May 05, 2020 at 01:09 PM 0
Share

How can I set the condition for true in the animator though?

avatar image shadowpuppet · May 05, 2020 at 01:05 PM 0
Share

like this sample; alt text

http://www.dlavender.com/ani.png

avatar image JackAshwell shadowpuppet · May 05, 2020 at 01:28 PM 0
Share

Great, thanks, it works! But how can I spawn it at the player's or enemy's location if I may ask?

avatar image shadowpuppet JackAshwell · May 05, 2020 at 01:47 PM 0
Share

not sure what you mean. If the player has the Animator component, and the Animator Controller is dragged into the controller slot on that component, it travels with the player. It is attached to the player like any other script. So no matter where the player is all his scripts go with him. His Animator,his Attack script, his Colliders, rigidbody etc, everything in the inspector window that shows up when you click on the player - all that goes where he goes. Your other question you probably know since you said the script works, but you set the Attack bool in the Animator with that lie of code - anim.SetBool("Attack", true); You also set the attacking bool to true as well, but that has nothing to do with the Animator - it is just a condition that must me met in the Attack script for the attack to take place - the bool Attack to be set true in the Animator http://www.dlavender.com/diagram.png

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

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

482 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Falling blocks skip animation while upside down 1 Answer

How do i extend a animation ? 1 Answer

Can't seem to get my animations to work proper 1 Answer

Animation Help? (2D) 1 Answer

how to make my character jump after my jump animation plays 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