首页 > 解决方案 > 如何根据玩家距离使对象可点击?

问题描述

我需要在我的场景中使一个项目可点击,但只有当玩家靠近该项目时。在我的脚本中,我使有问题的项目自动转到一个空的 GameObject,它是层次结构中我的 Player 的子对象,以定义位置,但只要相机对其进行构图,就可以单击。我使用的是 2d 物理中提供的角色控制器,而不是 2drigidbody,所以我更加困惑,因为我不能使用对撞机。

标签: c#unity3d

解决方案


我很确定您可以在游戏对象上同时拥有角色控制器和对撞机(至少是触发对撞机)。

然后,您应该在更新循环中使用类似的东西,而不是使用任何东西来检测点击,Input.GetKeyDown(KeyCode.Mouse0)并使用可以指定光线长度的光线投射。https://docs.unity3d.com/ScriptReference/Physics.Raycast.html


推荐阅读