|
I'm trying to make a platform object which the Character Controller can pass through if it collides with it from below or the sides, but does not go through it if he collides from above. An example of this kind of platform can be seen here: http://www.youtube.com/watch?v=JFiQH2QMJFA I was hoping there was a way to tell the Character Controller to ignore the collision reaction with the platform unless the collision flags showed the character coming from above. So far I haven't been able to achieve this effect. Any advice is appreciated.
(comments are locked)
|
|
I've posted a script on this question which can remove the bottom faces from a MeshCollider at runtime. You can specify an angle limit Works great! Thanks!
May 20 '12 at 04:40 AM
TurplePurtle
(comments are locked)
|
|
The Unity plane primitive has a one-sided collider: only the visible side generates collisions. You can use any object as the platform - just remove its original collider (if any), then create a plane (Hierarchy view, Create/Plane) and adjust its dimensions and position to be the platform "ground". Finally, child the plane to the platform - you can even remove its Mesh Renderer to make it invisible (the collider is independent of the renderer). EDITED: A simple and seamless alternative is to have a trigger childed to the platform and placed above it, like below:
In the Inspector, set isTrigger in both (the parent platform and the trigger). When the player enters this trigger, set the platform collider isTrigger to false; when the player exits the trigger, set the platform collider isTrigger to true (script attached to the childed trigger):
function OnTriggerEnter(other: Collider){
if (other.tag == "Player"){
transform.parent.collider.isTrigger = false;
}
}
function OnTriggerExit(other: Collider){
if (other.tag == "Player"){
transform.parent.collider.isTrigger = true;
}
}
Awesome! Passing through the plane isn't as seamless as I'd like, but it might work well with a few tweaks.
May 19 '12 at 01:02 AM
TurplePurtle
There's a seamless alternative that uses a trigger instead of the plane collider - take a look at my answer.
May 20 '12 at 01:12 AM
aldonaletto
The issue I see is that this assumes there will only be a single entity interacting with the platform at a time. Interesting approach though.
May 20 '12 at 04:31 AM
TurplePurtle
You're right: when some character is over the platform, the others will get headaches trying to pass through it. Definitely, not suitable for multiple characters!
May 20 '12 at 12:15 PM
aldonaletto
(comments are locked)
|

