How to make objects invisible on collision?

Original title: can someone make a script on it in java

i want to know the script which do this thing

if body1 touches body2 than body1.visible=false

A) There is no Java in Unity. There is, however, JavaScript also referred to as UnityScript. JavaScript has nothing to do with Java ;-)

B) What you are looking for is this:

  • MonoBehaviour.OnCollisionEnter or MonoBehaviour.OnTriggerEnter, the documentation includes nice examples to get you started
  • One way to make an object invisible is using renderer (a property of any MonoBehaviour) and enabled (also a property of any MonoBehaviour - but this, in particular, is enabled of Renderer which has the semantics that when it's switched to false, it makes the object invisible)
  • And, of course, you need a basic understanding of Physics; watch out: you're probably wanting to use triggers. In particular, you'll want to understand the Collision action matrix (it's one section in that part of the documentation)

C) If you need to learn programming, you could try one of the tutorials, e.g. start with this answer: How to get started learning JavaScript or UnityScript?

why don't you just set the renderer.enabled= false;? That will make Unity forget about rendering that object and it will be invisible, un-interactive, un-responisve, etc. It'll be like it never existed until you reset the renderer.enabled to true again. So write the code, but if what I illustrated is what you are looking for then you at least have a hint of where to start.