Как я могу сделать свое касание Raycast2D более точным? - PullRequest
0 голосов
/ 18 января 2020

У меня проблема с моей мобильной игрой, которую я сейчас разрабатываю в 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);
            }
        }
    }
}
...