I have issue in Unity with my 2D characters animation. I simply made the animation of it walking right and left. I set things up in the animator, and for some reason the right animation is being accessed, but not the left whenever I press "A".
This is the code part of animation of my PlayerController script:
anim.SetFloat("mSpeed", Mathf.Abs(rb.velocity.x));
Animator Setup
Figured out what to do instead of using left animation, I just used the Sprite Render to Flip.X when the "A" key is pressed. And it works!
Related
I have a rectangle in figma and I want to give it a positioning animation from top to bottom on starting the page. (without clicking or hovering) How is it possible?
At the moment, the best way to animate in Figma is using a combination of Smart Animate & After Delay between two frames.
On Run Animation
We're going to create a start & end frame. Then, animate between them.
Create your starting frame with your rectangle in its starting position.
Rename the rectangle layer to something unique. This ensure the layer doesn't get missed with the Smart Animate function if the frame gets any busier with more layers.
Duplicate your frame CMD+D and position your rectangle to its end position (Check that Figma hasn't renamed your rectangle)
Click Prototype in the top right corner of your panel.
Select your starting frame & click the None dropdown & select After Delay
Click the None dropdown and select Navigate To from the list
In the dropdown the appears to the right, select your ending frame from the list
Under Animation, click the dropdown and select Smart Animate
Deselect your frame and ensure that the "Starting Frame" is set to your first frame.
Finally, hit play in the top right and watch the magic!
Hope this helps!
And here's a screenshot of the set up.
Hope this is what you were after!
I have selected a game object in the Hierarchy with an animation component attached (not an animator but a simple animation) then I tried to open the animation window to edit it by choosing "Animation" from the "Window" menu. The problem is that the animation window is grayed out and it suggests that I create a new animation. But I just want to edit the one that I already have.
To edit the animation, you need to select a GameObject, make sure it has an Animation component in the inspector or add it if not, assign the animation in question to the Animation list of that component, then open the animation window and select your animation. it's under the time control buttons, beside the object popup.
Source: http://answers.unity3d.com/questions/205198/edit-animation-in-animation-windows.html
I have just found out why it didn't work. Because the animation component provides a list of animations, and the first element of the list should not be empty. Meanwhile in my case the first element of the list was empty and the animation I wanted to edit was assigned to the second element of the list. That's why it didn't work.
The "Animations" tab under the "Animation" component must have 1 animation under it, including blanks. To fix this, change the "size" to 0, and the animator at the bottom will open.
I'm making something like MS Paint using jCanvas library. I've put a button OUTSIDE the canvas. The button rotates the selected layer clockwise but I can't see any change unless I hover the canvas with mouse. I want the layer to be rotated by the time I press the button.
I tried using restoreCanvas() function but it didnt't work. How can I make a canvas automatically refreshed when a button out of it is pressed?
Sorry for bad English.
Solved. This function refreshes the canvas: $('canvas').drawLayers();
I have pulled the animation to the Motion tab both by dragging and trough the select motion search function but neither makes the animation stick to my idle state. Can someone give me a pointer to what im doing wrong?
One reason could be that the animations are marked as legacy.
Select one or many animation, in the inspector next to the lock, right click, then Debug. Untick the Legacy. No need to save or else.
The animation which you're trying to set is for another model!
You should use an animation that is for the model.
Or if you insist on using that animation select animation from assets and do a "Control + D" to duplicate it and use new one.
Use the Animator, not the animation controller. I made this mistake when I was following a tutorial. This is only relevant if you are animating .anim files within unity itself. Animation controller is the way to go if you import animations for your specific model.
I am able to translate the gameObject from one point to other by the OnMouseDrag() Event have no problem in doing that. But when i have added Animation to the GameObject Using the Animator Im not able to handle its Dynamic translate property when the Drag event take place.
Details:-
The Animation that i have create for the Game object is that it gets Translate from the Outer side of the screen to a side of the screen, This happens on the launch of the scene. (This happens properly)
Now when i want to dynamically translate the game object on the mouse drag it doesn't translate. (if i have not added the animator to the object it translate with mouse drag with out an issue)
Can any Tell me why it is so ?
Thanks in advance.
Did you try making Gameobject with animation,a child of an empty Gameobject and then translating that parent gameobject.