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 Caiuse · Feb 24, 2011 at 11:45 AM · raycastraycasting

Move a GameObject using Raycasting Hit position

var buildingObject : GameObject; var myGround : Transform;

function Update () { checkForBuilding(); }

function checkForBuilding() { var ray = Camera.main.ScreenPointToRay (Input.mousePosition); var hit : RaycastHit; if (Physics.Raycast (ray, hit, 100) && hit.collider.gameObject.CompareTag("Ground")){ //This is where i want to tell my buildingObject to move } }

I'm struggling to get my head around getting the buildingObject transform position to be where the raycasting has hit.

any suggestions on the simplest way of achieving this?

Thanks - C

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
3
Best Answer

Answer by efge · Feb 24, 2011 at 12:15 PM

With RaycastHit.point you get the position (Vector3) and with RaycastHit.normal the normal of the surface (also Vector3) witch you can use for rotation. But for buildings you should use no rotation. Then you could instantiate your building like this:

Instantiate(buildingObject, hit.point, Quaternion.identity);

Make sure your building is a prefab and the y-origin of it is 0.

Comment
Add comment · Show 4 · 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 Caiuse · Feb 24, 2011 at 01:00 PM 0
Share

Hey thanks for the reply. I don't want to instiate the building I want to simply snap the position of the building to the raytracing hit position.

avatar image efge · Feb 24, 2011 at 01:09 PM 0
Share

Then use buildingObject.transform.position = hit.point

avatar image Caiuse · Feb 24, 2011 at 01:40 PM 0
Share

Perfect thanks, I was just missing the .point. just a question on the side (for a vote up :D), is there a quick way to smooth the movement?

avatar image efge · Feb 24, 2011 at 01:58 PM 0
Share

Take a look at the reference for the function Vector3.Lerp. There is a good example: http://unity3d.com/support/documentation/ScriptReference/Vector3.Lerp.html

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

Obstacle avoidance 1 Answer

2D Raycast not working 1 Answer

Problem with Unity Ray Trace AI Detect Player 0 Answers

why Physics.Raycast is not working 1 Answer

Raycasting2D to Compare Tag of GameObject 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