Как перемещать объекты в координаты z и y мыши в Unity 3D - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь заставить оранжевый прямоугольник следовать за моей мышью. Но с моим текущим сценарием он идет только примерно на четверть единицы в направлении моей мыши, а затем останавливается. Я полностью застрял и потерялся

using UnityEngine.EventSystems;
using UnityEngine;


public class drag : MonoBehaviour
{
    private void Update()
    {
        Vector2 mousePos = Input.mousePosition;
        Vector3 worldPos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, Camera.main.nearClipPlane));

        transform.position = new Vector3(transform.position.x, worldPos.y, worldPos.z);
    }
}

Любая помощь? Это для игрового джема, у меня еще около 48 часов, чтобы закончить sh. Спасибо!

1 Ответ

0 голосов
/ 17 июня 2020

Вот go:

private void Update()
{
    // Get the mouse position
    Vector3 mousePos = Input.mousePosition;

    // Set the z component of the mouse position to the absolute distance between the camera's z and the object's z.
    mousePos.z = Mathf.Abs(Camera.main.transform.position.z - transform.position.z);

    // Determine the world position of the mouse pointer
    Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);

    // Update the position of the object
    transform.position = worldPos;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...