Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 Shizzle · Apr 07, 2011 at 04:03 PM · animation2d

2d animation help

hi guys,im kinda new to unity so i would really appriciate help on my probelm,my problem is that i want that when i start a new animation(from stand animation to run animation,or from stand to attack animation,etc...) so every animation is actually a diffrent texutre,and every texture is basiclly a spritesheet of the action,and when i need to switch it to a diffrent action's animation i just change the texture(and sometimes the number of frames)

so my animation code is that:

var uvAnimationTileX = 6; //Here you can place the number of columns of your sheet.

var uvAnimationTileY = 1; //Here you can place the number of rows of your sheet.

var framesPerSecond = 10.0;

var StandTex : Texture;

var Aset : boolean;

var uIndex;

var index : int;

var offset : Vector2;

var size : Vector2;

function Update () { if(!Input.GetKey("left") && !Input.GetKey("right") && !Input.GetKey("up") && !Input.GetKey("down") ) { uvAnimationTileX = 8; } else { uvAnimationTileX = 6; } // Calculate index index = Time.time framesPerSecond; // repeat when exhausting all frames index = index % (uvAnimationTileX uvAnimationTileY);

 // Size of every tile
 size = Vector2 (1.0 / uvAnimationTileX, 1.0 / uvAnimationTileY);

 // split into horizontal and vertical index
 var uIndex = index % uvAnimationTileX;
 var vIndex = index / uvAnimationTileX;

 // build offset
 // v coordinate is the bottom of the image in opengl so we need to invert.
 offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);

 renderer.material.SetTextureOffset ("_MainTex", offset);
 renderer.material.SetTextureScale ("_MainTex", size);

}

any ideas on how to fix my problem,,and make it to start from the begining of the animation when i start a new action,because now its not starting from the begining (which is not good :P)

thanks in advance ;)

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
-1

Answer by flaviusxvii · Apr 07, 2011 at 04:12 PM

Instead of:

index = Time.time * framesPerSecond;

Do something like:

myTime += Time.deltaTime; //myTime is declared up above
index = myTime * framesPerSecond;

Then when you switch animations you can set myTime to zero, thus resetting it back to the first index.

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 Shizzle · Apr 07, 2011 at 05:34 PM 0
Share

uhh.. the animation is just not moving now..hes like freezed and not moving,why is that?(i did what you said :()

avatar image flaviusxvii · Apr 07, 2011 at 08:43 PM 0
Share

Print the value of myTime and make sure it gets progressively bigger over time.

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

2D Animation does not start 1 Answer

Use 2d Animation from unity or Anima2D? 1 Answer

Root motion lost in transitions 1 Answer

Animation plays in preview mode but not max screen? 1 Answer

Animation stops rotation 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