У меня проблема с моей мобильной игрой, которую я сейчас разрабатываю в Unity. В моем сценарии я обнаруживаю касания через RaycastHit2D, а затем уничтожаю затронутый объект (в моем случае - каплю дождя). Единственная проблема в том, что когда я запускаю игру и касаюсь капли дождя, она не всегда работает. Работает только когда слегка касаюсь под ним. Circle Collider 2D, который я использую для своего префаба с каплями дождя, в порядке, поэтому я не думаю, что это вызывает проблемы.
Мой сценарий:
void Update()
{
GetInput();
}
private void GetInput()
{
foreach (Touch touch in Input.touches)
{
if (touch.phase == TouchPhase.Began)
{
Vector2 WorldPoint = Camera.main.ScreenToWorldPoint(touch.position);
RaycastHit2D hit = Physics2D.Raycast(WorldPoint, Vector2.zero);
GameObject collider = hit.collider.gameObject;
if (collider.tag == "Tropfen")
{
Destroy(collider);
}
}
}
}