遇到的问题:
在做一个Unity for Android项目时,使用NGUI,使用手势缩放和旋转模型,但希望在点击到UI时屏蔽这些操作。
分析:
尝试在发射拾取射线时屏蔽特点层的物体。
解决方法:
在NGUI的Camera下挂载如下脚本,注意Camera参数为NGUI的相机而非主相机。
var NGUICamera : Camera;
public var target: GameObject;
function Update ()
{
var ray = NGUICamera.ScreenPointToRay (Input.mousePosition);
var hit : RaycastHit;
var mask = 1 << LayerMask.NameToLayer("NGUI");
if (Physics.Raycast (ray, hit, 2000, mask))
{
target = hit.collider.gameObject; //获得点击的物体
hitUI = true;
}
else
{
hitUI = false;
}
}注意:Physics.Raycast函数一定要加入距离参数(上文为2000),否则layer屏蔽将无效!
本文介绍如何在UnityforAndroid项目中结合NGUI实现手势缩放和旋转模型的功能,并在点击UI时屏蔽这些手势操作。通过挂载特定脚本到NGUI相机,利用Physics.Raycast函数实现对UI层的检测,确保用户交互的准确性。

727

被折叠的 条评论
为什么被折叠?



