- Home /
AddComponent(
Hi,
I've added an OBJ to my prefabs and instantiate it on the fly. By default it doesn't have a collider (and I can't add collider components to a prefab + I wouldn't like to do it manually for all my meshes), so I add it in a script:
MeshCollider mc = (MeshCollider)blockInst.AddComponent("MeshCollider");
mc.collider.enabled = true;
After that I do:
Physics.Raycast(ray.origin, ray.direction, out hit);
The meshes I add in the editor can be hit, but my OBJ mesh is never hit unless I bring prefab into the scene, add a mesh collider component to it and bring it back to prefabs (in order to be able to instantiate it again). Can I add meshcollider components on the fly? If yes, what am I doing wrong?
Thanks!
Answer by Eric5h5 · Nov 23, 2011 at 12:36 AM
I can't add collider components to a prefab
Sure you can. You don't need to bring prefabs into a scene to do it either; just use the Component menu. Anyway, only adding a MeshCollider component by itself (by the way, don't use strings, just do AddComponent(MeshCollider)) won't do much, you need to tell it what mesh to use.
Sure you can. You don't need to bring prefabs into a scene to do it either; just use the Component menu.
It's always grey out when I select a prefab to add it too. I can attach a screenshot if you want.
you need to tell it what mesh to use.
thanks for a hint. I was trying to figure out how to get access to the actual mesh but could not find it in the docs. It would be great if you could point to a place where it's described in a bit more detail.
Thanks!
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
How to destroy instantiated objects. 1 Answer
Object coordinates not updating as expected 0 Answers
Dynamically saving and loading player-created prefabs 0 Answers