Is it possible to create a Box Collider from code?
I don't mean 'instantiate' one, I mean Creating one from code.
I've created meshes and it's colliders from code before, but I don't know how a box collider works, or if it's even a Mesh.
Just curious.
Answer by mikelortega · Jan 08, 2016 at 08:33 AM
Something like this would work:
MeshFilter mf = GetComponent<MeshFilter>();
if (mf && mf.sharedMesh)
{
Bounds bounds = mf.sharedMesh.bounds;
BoxCollider collider = mf.gameObject.AddComponent<BoxCollider>();
collider.center = bounds.center;
collider.size = bounds.size;
}
Thanks!, but that's not what I mean.
For example, Suppose you want to create a quad, in code that would look something like
Vector3[] vertices = new Vector3[]
{
new Vector3( 1, 0, 1),
new Vector3( 1, 0, -1),
new Vector3(-1, 0, 1),
new Vector3(-1, 0, -1),
};
int[] triangles = new int[] {
0, 1, 2,
2, 1, 3,
};
some$$anonymous$$esh.vertices = vertices;
some$$anonymous$$esh.triangles = triangles;
What I want to know is if there is any way that a BoxCollider can be created through code
Do you mean create geometry proceduraly? Yes it's possible. Here you have some examples: http://wiki.unity3d.com/index.php/ProceduralPrimitives
Then, once you create the object, you have to add the BoxCollider component if you want to calculate collisions with it.
Your answer
Follow this Question
Related Questions
Collision Detection doesn't work on sides of the object? Half Collision? 0 Answers
Problem with collision 2 Answers
Any way to add physical box colliders to an object with Character Controller ? 0 Answers
multiple objects with triggers that need to ignore the triggers but still collide with eachother? 0 Answers