Почему объект не перемещается за курсором?
Я делаю игру Fruit Ninja 3D в Unity. Я написал скрипт для ножа и прикрепил куб ножу, но куб прикрепляется к центру экрана и не хочет перемещаться и двигаться за мышкой. Как это можно исправить и в чем я допустил ошибку?
using System.Collections.Generic;
using UnityEngine;
public class Blade : MonoBehaviour
{
public Vector3 Direction { get; private set; }
private Camera _mainCamera;
private Collider _bladeCollider;
private bool _slicing;
[SerializeField] private float _minSliceVelocity = 0.02f;
private void Awake()
{
_bladeCollider = GetComponent<Collider>();
_mainCamera = Camera.main;
}
private void OnEnable()
{
StopSlicing();
}
private void OnDisable()
{
StopSlicing();
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
StartSlicing();
} else if (Input.GetMouseButtonUp(0))
{
StopSlicing();
} else if (_slicing)
{
ContinueSlicing();
}
}
private void StartSlicing()
{
Vector3 newPosition = _mainCamera.ScreenToWorldPoint(Input.mousePosition);
newPosition.z = 0f;
_slicing = true;
_bladeCollider.enabled = true;
}
private void StopSlicing()
{
_slicing &= false;
_bladeCollider.enabled = false;
}
private void ContinueSlicing()
{
Vector3 newPosition = _mainCamera.ScreenToWorldPoint(Input.mousePosition);
newPosition.z = 0f;
Direction = newPosition - transform.position;
float velocity = Direction.magnitude / Time.deltaTime;
_bladeCollider.enabled = velocity > _minSliceVelocity;
transform.position = newPosition;
}
}```