运行结果:
三、通过射线 ,
这个方法主要是通过 , 射线发射 , 判断射线穿过的物体 , 根据特定的标志来判断是否点击到了该物体(比如:物体的标签Tag , 还有物体的名称)
这里只需要3d物体 , 并且有明确的唯一标识 , 再加上我们开发的ol.cs就可以 。
在场景中创建一个物体(Cube) , 然后点击面板下Tag - …- 在Tags列表中 , 点击+ , 输入你要添加的Tag名称就可以 。创建Tag完成后 , 回到场景给这个Cube选择刚才创建的Tag 。
在创建一个Cube , demo中起名(),这个名字就是射线穿过判断的标识 , 这个物体就创建完成了 。
创建单独层 , 挂载我们开发的脚本即可 。
运行结果:
完整代码:
【Unity3D-场景中3D物体添加点击事件】using UnityEngine;public class ClickRayCastHitControl : MonoBehaviour {Ray ray;RaycastHit hit;GameObject obj;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update(){if (Input.GetMouseButtonDown(0)){Debug.Log("点击鼠标左键");ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (Physics.Raycast(ray, out hit)){Debug.Log(hit.collider.gameObject.name);obj = hit.collider.gameObject;//通过名字if (obj.name.Equals("BeiJiChuan")){Debug.Log("点中" + obj.name);}//通过标签if (obj.tag == "ClicObj"){Debug.Log("点中" + obj.name);}}}}}
- 韭菜叶子发黄该怎么办
- JAVa如何把表格背景透明_网页中如何设置表格的背景图片是半透明
- 中国5对名字颠倒的城市,字都一样,但反过来念,却是另一座城市
- 中蜂有哪几个品种?
- 工蜂为什么不能繁殖?
- 蜜蜂一年自然分蜂几次?
- 中蜂一年可繁殖几群?
- 完美解决mac因为中文输入法导致的卡顿问题
- 山药有什么功效和禁忌
- C语言中关于如何删除链表的某个节点问题