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 kai_taylor · Aug 02, 2014 at 06:47 PM · collisionposition

How to get the central position of where an object rests on the floor(object)

I am trying to get the position at the centre of a main game object on the side that it touches the floor game object when it is clicked.

I have tried to utilise the onCollision methods. But they only respond when a collision is triggered or ended. The main game object remains on the floor object and does not end or start a new collision. But I need to obtain the position when triggered by a user click. Any suggestions please?

alt text

screen.jpg (19.3 kB)
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 drex150 · Aug 02, 2014 at 06:50 PM 0
Share

Have you tried using OnCollisionStay? http://docs.unity3d.com/ScriptReference/$$anonymous$$onoBehaviour.OnCollisionStay.html

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by robertbu · Aug 02, 2014 at 06:53 PM

I feel we are missing details critical to giving you an accurate answer. Here are a few possibilities.

If the object always remains upright and you know the size, you can just do:

  var posAtFloor = object.transform.position + Vector3.down * distToFloor;

Or you can place an empty game object on the bottom of your object and use that object to get the position on the floor.

If the object always remains upright and you don't know the size, you an get the Mesh.bounds and get the 'distToFloor' from that.

If the object can rotate to arbitrary angles, you can Raycast() down from the pivot point. Note you should use Collider.Raycast() using the collider of the floor, not Physics.Raycast().

Regardless of your comments, you should still be getting collisions from the object. See OnCollisionStay().

Note that 'position on the floor may be a local rather than a world position. If so, take the position generated from any of the above methods and use Transform.InverseTransformPoint().

Comment
Add comment · 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

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Transforming position for different colliders for repeating background? 0 Answers

My Position suddenly changes 0 Answers

Is it possible to cast a ray but ignore Z position? 1 Answer

destroy touch the screen on gameobject in camera 0 Answers

how to check if an game object had been collided with another game object form its left or right side? 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