- Home /
Question by
Rizzutp · Jan 29, 2020 at 11:52 AM ·
cameraboundsboundingbox
Reporting the vertices of a 3D Bounding Box to Screen position
Hello there, I wrote the following method for having the 8 vertices of a 3D bounding box. I need to have those vertices reported with respect to the screen. Here it is my solution:
public Vector3[] BuildBoundingBox3D(GameObject o, Camera cam)
{
Renderer[] rends = o.GetComponentsInChildren<Renderer>();
Bounds bounds = rends[0].bounds;
foreach (Renderer rend in rends)
{
bounds = bounds.GrowBounds(rend.bounds);
}
Vector3[] results = new Vector3[8];
results[0] = new Vector3(bounds.min.x, bounds.min.y, bounds.min.z);
results[1] = new Vector3(bounds.max.x, bounds.min.y, bounds.min.z);
results[2] = new Vector3(bounds.max.x, bounds.max.y, bounds.min.z);
results[3] = new Vector3(bounds.min.x, bounds.max.y, bounds.min.z);
results[4] = new Vector3(bounds.min.x, bounds.min.y, bounds.max.z);
results[5] = new Vector3(bounds.max.x, bounds.min.y, bounds.max.z);
results[6] = new Vector3(bounds.max.x, bounds.max.y, bounds.max.z);
results[7] = new Vector3(bounds.min.x, bounds.max.y, bounds.max.z);
for (int i = 0; i < results.Length; i++)
{
results[i] = cam.WorldToScreenPoint(results[i]);
results[i].y = Screen.height - results[i].y;
}
return results;
}
I don't know if this is correct, or if there exists a better way to obtain the BB vertices w.r.t. the screen
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612222259im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
This camera controller is overriding it's default position when the boundary check is enabled? 0 Answers
Keeping the camera in bounds 1 Answer
Why isn't Bounds.Encapsulate working as expected? 1 Answer
Issue with checking to see whether the Bounds value's of two game objects equal each other 1 Answer
How do I keep an Ortho camera in a specific range when the ortho changes? 3 Answers