在unity3d中,要实现点击场景中指定物体后使其即时消失的功能,通常有两种主流方案,这两种方式被大量应用于各类游戏项目中,不仅显著提升了玩家与场景的互动感,也让操作反馈更加清晰、生动。
1、 在Unity编辑器中创建一个默认的Cube(立方体)作为目标对象。

2、 在Project窗口中右键 → Create → C# Script,命名为“Disappear”。

3、 编写鼠标点击检测逻辑,重写OnMouseDown()方法以响应点击事件。
4、 实现点击后调用Destroy()移除该物体。
5、 }

6、 将刚创建的Disappear脚本直接拖拽到场景中的Cube对象上,完成组件绑定。

7、 运行游戏时,若未进行点击操作,立方体将保持可见状态,无任何变化。

8、 当鼠标左键点击立方体后,它会瞬间被销毁,并在控制台输出“被点击消失”提示信息。

9、 选中Cube,在Inspector面板顶部的Tag下拉菜单中点击“Add Tag…”,进入标签管理界面。

10、 点击“+”号新增一个自定义标签,命名为“aa”。

本文档说的是unity3D中shader相关的一些知识;在shader编程中,有一些术语,有时候不明白的话容易被整懵圈,所以这里就简单提一下。Shading最开始指的在素描中给物体画明暗调子,在图形学中,其实就是给Mesh上色(Mesh就是一堆三角面片,包含顶点左边,法线坐标,uv坐标之类的),wiki中说的是根据物体相对于光线的角度及其距离光源距离改变物体颜色生成photorealistic效果的过程。我们所编写的处理shading的程序就叫做shader,中文叫着色器,程序的输入是颜色,纹理,坐标等等
11、 返回Cube的Inspector面板,将Tag设置为刚刚创建的“aa”。

12、 修改脚本逻辑:将检测逻辑从OnMouseDown迁移至Update()函数中,通过射线检测(Raycast)判断是否点击了带“aa”标签的对象。
13、 {
14、 {
15、 {
16、 再次点击该物体,确认其已成功销毁。
17、 }
18、 }
19、 }

20、 为确保脚本长期有效运行,建议将Disappear脚本挂载至主相机(Main Camera)或场景中不会被销毁的空对象上。

21、 游戏运行期间,只要点击带有“aa”标签的立方体,它便会立即销毁,并在控制台打印“又被点击消失”。











