1,四元数与三维向量的转换
Quaternion.eulerAngles 将四元数转为Vector3; Quaternion.Euler(Vector3(0, 30, 0))传入一个Vector3将其转为四元数
2. 2D控件跟随3D场景中的物体
主要是两个摄像机的坐标转换:
pos = MainCamera.WorldToScreenPoint(transform.position);
pos.z = 0f;
//z一定要为0.
//2. 使用UI摄像机转换到NGUI的世界坐标.
Vector3 pos2 = UICamera.currentCamera.ScreenToWorldPoint(pos);
//3. 赋值给NGUI控件.
//temp为NGUI控件.
widge
.transform.position = pos2;
3.射线检测
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//射线从这里生成
RaycastHit hit;//这个是碰撞检测的目标
if (Physics.Raycast(ray, out hit, 5))//传入的参数依次是:射线、射线碰撞物、射线检测距离
{
GameObject obj = hit.transform.gameObject;//或者检测hit.collider之类的
if (obj.tag == "takes")
{
Destroy(obj);//我做的是拾取功能,所以检测到的物体如果tag是takes就自销毁
}
}
}
RaycastHit hit;//这个是碰撞检测的目标
if (Physics.Raycast(ray, out hit, 5))//传入的参数依次是:射线、射线碰撞物、射线检测距离
{
GameObject obj = hit.transform.gameObject;//或者检测hit.collider之类的
if (obj.tag == "takes")
{
Destroy(obj);//我做的是拾取功能,所以检测到的物体如果tag是takes就自销毁
}
}
}