- Home /
One-way platform's side causes collision with Platform Effector
I have a platform with an edge collider on the top and a platform effector set as One Way. However it's not working as expected with my character (who has a Rigidbody2D and Box Collider 2D). When the character jumps towards a one-way platform but doesn't jump high enough and hits the platform's side, it just stops there instead of passing through the platform (like usually happens in games with one-way platforms). Changing any of the character's rigidbody's settings or the effector's settings doesn't help.
Any ideas how to resolve this? Thanks in advance!
Answer by MelvMay · Jul 28, 2015 at 08:31 AM
The PlatformEffector2D 'surfaceArc' property controls what is the surface (the part that you actually collide with). By default it is 180-deg thus the left/right edges are included in the surface by default. Simply reduce the surface arc by 1-deg or more depending on what you want.
Note that he angle is the angle of the collision normal so imagine a CircleCollider2D used as a platform; touching the very top would be zero degree, touching the top/left would be 45-deg, touching the left/right would be 180-deg etc.
Note that you'll need at least 5.1.1p2 (released 26th June) for this property to appear.
http://docs.unity3d.com/ScriptReference/PlatformEffector2D-surfaceArc.html
Your answer
Follow this Question
Related Questions
Dropping down from 2D platforms: Character gets "sprung back" if collision resumes mid-collider 1 Answer
Why does my OnCollisionEnter2D not work? 3 Answers
jumping through and on a platforms(2d) 1 Answer
Spawning animals at a random postion on platforms. 2 Answers
Platform Effector 2D with rigidbody2D 0 Answers