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 PsychoticStudios · Aug 08, 2013 at 08:58 PM · physicsrigidbodycollidersholding

How to keep objects from passing through colliders

I have set up a simple holding system so when the player looks at an item and holds E it lerps the object 2 units in front of the camera. Now my problem is that when I am to close to a wall the object passes through it because it is staying 2 units in front of the camera but is glitching through the colliders in the process. What I'm trying to achieve is that item will listen to the code but also continue to collide similar to Half-Life, Portal, Elder-Scrolls holding system. I hope this all made sense, I'll attach an image of the problem, and thanks for readingalt text

problem.jpg (43.5 kB)
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

2 Replies

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

Answer by PsychoticStudios · Aug 08, 2013 at 11:32 PM

After some experimentation I found that using smooth damp instead of lerp keeps it from going through the wall. But then the cube still was trying and would shake violently so instead of using transform.position I used rigidbody.position which removed most of the shake. Thank you and I hope this helps somebody else.

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
avatar image
0

Answer by JuanseCoello · Aug 08, 2013 at 09:49 PM

Usually when objects pass trough colliders, you may have used a transform property. Like rotation, or translation. Or probably the colliders do not contain the objects inside themselves. I mean they are outside the colliders. I am not sure what is Lerps, and I havent played Half Life, or any other of those games. Maybe you can put a collider to the objects themselves that are trespassing. If you explain a little more maybe i can help you.

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 PsychoticStudios · Aug 08, 2013 at 10:25 PM 0
Share

I was using lerp its similar to smooth damp. I was modifying the transform property, is there another method than that? I have put colliders on the item, and the wall but since the script says to be 2 units in front of the camera it sort of ignores the colliders. And by what I was using as an example was this

avatar image PsychoticStudios · Aug 08, 2013 at 10:46 PM 0
Share

Here's my code for moving the item as well,

//setting new item position

newItemPosition = Camera.main.transform.position + Camera.main.transform.forward * 2;

//$$anonymous$$ove item two units in front of camera

transform.position = Vector3.Lerp(transform.position, newItemPosition, .3);

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

15 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 avatar image avatar image avatar image avatar image

Related Questions

Wheelcolliders stuck in ground 0 Answers

Attaching multiple rigidbodies together and spawnning as prefabs 1 Answer

How to make a table model into something solid 0 Answers

Vertically Move WheelCollider2D without jittering 0 Answers

Copy/Clone collider to other gameobject at runtime 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