Unity中有没有办法在不删除/禁用碰撞盒的情况下禁用GameObject的鼠标输入?
我想写一个脚本,在按下一次后会忽略对象的鼠标输入。在脚本范围内这样做并不难,但我希望该对象上的其他脚本忽略鼠标输入而不修改所有其他脚本。
答案 0 :(得分:3)
在属于Ignore Raycast图层的对象上不会调用此函数。
因此,一种方法是将对象层切换为Ignore Raycast。
this.gameObject.layer = LayerMask.NameToLayer("Ignore Raycast");
但是如果你有其他依赖于光线投射的功能,那么它们也将被禁用(除非它们是在其他层中的光线投射)。
答案 1 :(得分:0)
这可以通过放置验证/过滤输入的脚本来实现。它可能是另一个脚本中的单个bool reveiceInput
,每次输入时都会读取该脚本。因此,如果第一次mouseDown之后receiveInput
为false,则其他人不会影响它。