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 clint · Sep 29, 2010 at 12:45 PM · collisionplayerdetect

OnCollisionEnter can't find 'Player'?

Hey all,

CONTEXT:

First, I have a GameObject in my object hierarchy called 'Player'. I have applied a script (see below) to make this 'Player' have the ability to move rigid bodys.

Second, I also have a cube object in my scene. I applied this script to the cube to to 'listen' for when the Player object collides with this cube...

function OnCollisionEnter(collision:Collision)
{
    if(collision.gameObject.tag == "Player")
    {
        Debug.Log("yay");
        print("Yay");
    }
} 

However, the collision between the player and the cube is never logged. Does anyone see anything wrong with this set up?

Thanks!!!

-------

/ Purpose: This script pushes all rigidbodies that the character touches Usage: drag this onto your 'Player' game object in your control set up /

var pushPower = 2.0;

function OnControllerColliderHit (hit : ControllerColliderHit) { var body : Rigidbody = hit.collider.attachedRigidbody; // no rigidbody if (body == null || body.isKinematic) return;

 // We dont want to push objects below us
 if (hit.moveDirection.y < -0.3) 
     return;

 // Calculate push direction from move direction, 
 // we only push objects to the sides never up and down
 var pushDir : Vector3 = Vector3 (hit.moveDirection.x, 0, hit.moveDirection.z);

 // If you know how fast your character is trying to move,
 // then you can also multiply the push velocity by that.

 // Apply the push
 body.velocity = pushDir * pushPower;

}

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 spinaljack · Sep 29, 2010 at 01:56 PM 1
Share

moving objects need rigid bodies to trigger collision

3 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by Loius · Nov 20, 2010 at 04:12 PM

Tag != name.

If your object is named Player but not tagged Player then it'll never have its tag == player. You should check its name instead, or use GetComponent and see if it has some component that's unique to the player.

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 brandon.du · Sep 29, 2010 at 03:36 PM

you might need to make sure your player has the trigger check box set in his collision? but not 100% sure..

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 Hugh · Sep 29, 2010 at 03:55 PM

have you tried....

http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnTriggerEnter.html

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

No one has followed this question yet.

Related Questions

Detect collision with specified object 1 Answer

How do I stop an immediate collision with all objects from ocuring at the entry of game mode? 0 Answers

Player Dies when Collide with enemy 2 Answers

Mesh separating from CharacterController 0 Answers

How to turn of collision for the player 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