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
2
Question by Gozc · Feb 03, 2012 at 01:21 AM · animationcontrollerclicktomove

Move to clicked point.

Hello guys i want to ask a question. Is there any script to click and move to a point?

I found a script ClickToMove in unify (unity wiki) but i have a problem... when i press on a far distance my character goes to that point very fast but when i press to a short distance my character goes slow. I want to be the same speed at all distances. And if its easy how can i make the animation plays when the character is between the starter point and the clicked point? Like walk animation and when he goes to that clicked point to play the animation idle.

Thank you for the help... Here is the script which i found on unity.If there is a way so you can edit it to keep the speed same on all distances i will be happy :)

 // Click To Move script
 // Moves the object towards the mouse position on left mouse click
 
 var smooth:int; // Determines how quickly object moves towards position
 
 private var targetPosition:Vector3;
 
 function Update () {
     if(Input.GetKeyDown(KeyCode.Mouse0))
     {
         var playerPlane = new Plane(Vector3.up, transform.position);
         var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
         var hitdist = 0.0;
         
         if (playerPlane.Raycast (ray, hitdist)) {
             var targetPoint = ray.GetPoint(hitdist);
             targetPosition = ray.GetPoint(hitdist);
             var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
             transform.rotation = targetRotation;
         }
     }
     
     transform.position = Vector3.Lerp (transform.position, targetPosition, Time.deltaTime * smooth);
 }

Comment
Add comment · Show 1
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 kevork · Feb 03, 2012 at 01:41 AM 0
Share

You don't want to Lerp.

1 Reply

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

Answer by aldonaletto · Feb 03, 2012 at 01:58 AM

As @kevork said, Lerp isn't the solution in your case. If you want a constant velocity, use MoveTowards instead: MoveTowards(pointA, pointB, delta) returns a point in the line pointA-pointB distant delta units from pointA - and clamped to pointB, thus it never goes beyond the destination point.
Just replace the Lerp line with this:

   transform.position = Vector3.MoveTowards(transform.position, targetPosition, Time.deltaTime * speed);

where speed is in meters (or units) per second.

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 taylorjames9 · Jan 02, 2013 at 08:24 PM 0
Share

Thanks Aldo! I've followed your advice on a lot of different scripting questions.

avatar image JasonC001 · Oct 20, 2014 at 03:05 AM 0
Share

This answered a huge question for me! :) Thanks!

avatar image Rafael Duck-Hunt · Apr 29, 2015 at 02:36 PM 0
Share

muchisimas gracias amigo donde quiera que estes eres genial

avatar image Chintan-Kansagara · Dec 05, 2017 at 02:09 PM 0
Share

hi my player touchtarget complete move but target to stop not a stop continues move in this direction

my current code transform.position = Vector3.$$anonymous$$oveTowards(transform.position, targetPosition, Time.deltaTime * speed);

avatar image aldonaletto Chintan-Kansagara · Dec 08, 2017 at 08:50 PM 0
Share

$$anonymous$$oveTowards should never pass beyond targetPosition - are you sure targetPosition is ok?

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

11 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

Related Questions

Can the mecanim animators Controller var be set in code? 1 Answer

Using Override Animation Controllers (NOT WORKING) 0 Answers

accessing charactercontroller 1 Answer

Animation doesn't work when set up in Animation Controller 1 Answer

Create new Mecanim parameter from code? 1 Answer


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