Answer by HenryStrattonFW · Jan 14, 2017 at 12:01 AM
as far as I am aware, no single method to call no. So you'd have to work it out yourself with iteration. I'd say you have two ways of doing this.
One is to fire of bunch of raycasts in random directions (the more casts, the more likely you are to get an accurate result). from your point in question, then the radius is the shortest ray length before collision.
An alternative is to check with an actual sphere, although this works best if you already have a general idea of you min/max range. Sphere test with the max range, if that results in collisions, halve the radius and try again, if you test gets a collision, halve the radius, if it doesn't get a collision, then increase the radius by half quarter of what it is. (Essentially doing a binary search like you would to search a list of sorted values). You could also do this the other way, starting small and increasing the radius until you get collisions and then decreasing back again until you don't.
Obviously both of these methods are a bit costly, and have variable accuracy based on number of iterations, but It's the only thing my tired brain can come up with as a solution at the moment.
Hope this helps a bit.
Your answer
Follow this Question
Related Questions
Smooth Walking Inside a Sphere 0 Answers
Restricting Rotation Of an Object in VR 1 Answer
Player is sliding on planet with constant force applied towards centre 0 Answers
Not using GetComponent during OnCollisionEnter or OnTriggerEnter 1 Answer
How to move an object on a terrain that will always stay on top of the terrain? 2 Answers