使用射线在多个层中点击物体时应该使用LayerMask.GetMask方法,类似下面这样:
if (Physics.Raycast(ray, out hit, 1000, LayerMask.GetMask(newstring[] { "CaiMeiJi", "ZhiJia", "Outline" })))
{
follower = hit.transform;
posOffset = hit.point - hit.transform.position;
}
注意,层的参数不要写成这样 1 << LayerMask.GetMask......
如果希望只检测除了某些层之外的其它层,写法类似这样:
~(1 << LayerMask.NameToLayer("Surveillance") | 1 << LayerMask.NameToLayer("UI"))