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
0
Question by cronkie · Feb 16, 2013 at 03:30 AM · collidermouseclicklocomotion

Mouse Click to Move and Mesh Colliders

Hey all - I have a character using the locomotion system (I haven't moved over to Mecanim yet) and I have him walking around with a mouse to click script (I was having issues with the Locomotion ClickController script that was posted online). He's animated and all of that stuff, but one thing that I'm having issue with is that he seems to ignore mesh colliders. If I click on a wall (that I built with ProBuilder...so it automatically generates a collider) I would expect him to stop when he reaches it, but he passes straight through. I threw a different character controller on the player and he does stop when I run him against the wall, so I know it's the mouse click to move script...but I just don't know what I should add to it to make sure takes colliders into account (like it just stops it's transform if the character is blocked by a collider). Here's the code (pulled from online and did some minor tweaks): // Click To Move script // Moves the object towards the mouse position on left mouse click

 var smooth:float = 2; // Determines how quickly object moves towards position
  
 public var targetPosition:Vector3;
 public var distanceThreshold:float = 0.1f;
 private var hasTarget:boolean = false;
 private var controller: CharacterController;
 
 function Start(){
   controller = GetComponent(CharacterController);
 }
 
 function Update () {
     if(Input.GetKeyUp(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;
             hasTarget = true;
         }
     }
  
      if(hasTarget == true)
      {
  
      transform.position = Vector3.MoveTowards (transform.position, targetPosition, Time.deltaTime * smooth);
      if (Vector3.Distance(transform.position, targetPosition) <= distanceThreshold)
      {
          hasTarget = false;
      }
     }
 }
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

0 Replies

· Add your reply
  • Sort: 

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

9 People are following this question.

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

Related Questions

how to put a collider on an object but doesnt block the mouse click on the object behind? 2 Answers

Multiple animations on mouse click? 1 Answer

Get OnMouseDown to work with a 2D Polygon Collider 2 Answers

Stopping moving object going through a wall 4 Answers

Is using a rigidbody/collider based movement script with an XR Rig that has a non-relative XR camera possible? 2 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