0
\$\begingroup\$

I understand that a simple sphere collider in Unity is a raycast in all directions with a certain length. How many Raycast events does a sphere collider trigger? At what degree increments are the rays cast?

\$\endgroup\$
5
  • \$\begingroup\$ Can you cite a source for your understanding that a sphere collider is a raycast in all directions? This would be a very strange way to implement this collision primitive. \$\endgroup\$
    – DMGregory
    Nov 6, 2018 at 11:02
  • \$\begingroup\$ Sorry, just some guy on gamedev. I wouldn't know who anymore. \$\endgroup\$
    – AzulShiva
    Nov 6, 2018 at 11:29
  • 1
    \$\begingroup\$ I'd caution against trusting such hearsay. There's a lot of superstitious claims out there about gamedev generally and Unity in particular that don't stand up to experiments in practice. \$\endgroup\$
    – DMGregory
    Nov 6, 2018 at 11:35
  • 1
    \$\begingroup\$ Sphere colliders are not a finite number of raycasts. They're calculated as a distance. If you subtract a sphere collider's radius and add that radius to all other colliders, the sphere can be treated as a point object (which is far, far faster to compute). \$\endgroup\$ Nov 6, 2018 at 15:48
  • \$\begingroup\$ Welp.. If someone wants to edit the question, go ahead. Otherwise it seems like I gotta delete it. I wanted to program a cone shaped collider myself using raycasts and I wondered what would be faster, a few raycasts or a sphere collider with an angle. I guess I'll just test it. \$\endgroup\$
    – AzulShiva
    Nov 6, 2018 at 22:08

1 Answer 1

2
\$\begingroup\$

Not always a raycast. Unity3D's collision is based on PhysX and it support multiple types of geometry queries:

  • raycasts test a ray against a geometry object.
  • sweeps move one geometry object along a line to find the first point of intersection with another geometry object.
  • overlaps determine whether two geometry objects intersect.

How unity technologies implements every one of them is not exposed as far as i know.

in-depth doc on PhysX

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .