Не работает ScreenToWorldPoint

Я пытаюсь сделать движение пальцем. Во многих туториалах используют ScreenToWorldPoint, но когда я пытаюсь двинуть объект выдаёт ошибку:

object reference not see to an instance of an object

Вот код:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class drag : MonoBehaviour
{
  Vector3 offset;
// Start is called before the first frame update
void OnMouseDown()
{
    offset = transform.position - MouseWorldPosition();
}

// Update is called once per frame
void OnMouseDrag()
{
    transform.position = MouseWorldPosition() + offset;
}

Vector3 MouseWorldPosition()
{
  var mouseScreenPos = Input.mousePosition;
  mouseScreenPos.z = Camera.main.WorldToScreenPoint(transform.position).z;
  return Camera.main.ScreenToWorldPoint(mouseScreenPos);
}
}

Ответы (0 шт):