Найдите 3D-координаты редактора Unity по щелчку мышиC#

Место общения программистов C#
Ответить
Anonymous
 Найдите 3D-координаты редактора Unity по щелчку мыши

Сообщение Anonymous »

Я хочу, чтобы вы могли размещать объект там, где вы щелкаете мышью, когда включена камера «обзора», но при щелчке левой кнопкой мыши ничего не происходит.

Код: Выделить всё

public void InputHandler()
{
if (pickUpText.enabled)
{
// Handle picking up the box
if (Input.GetKeyDown(pickUpKey))
{
overview.transform.position = cameraSpawnPosition;
Destroy(box1);
playerFirstPerson.enabled = false;
overview.enabled = true;
isOverviewCameraOn = true;
Debug.Log(isOverviewCameraOn);
}
}

if (isOverviewCameraOn)
{
Debug.Log("Overview camera is on, waiting for mouse click...");
PlaceBox();
}
}

private void PlaceBox()
{
Debug.Log("Place Box Is On Waiting For Left Click");

if (Input.GetMouseButtonDown(0))
{
Debug.Log("Mouse Button Clicked!");

Vector3 mousePosition = Input.mousePosition;

Ray ray = overview.ScreenPointToRay(mousePosition);

Debug.DrawRay(ray.origin, ray.direction * 100f, Color.red, 1f);

LayerMask layerMask = LayerMask.GetMask("Ground");

RaycastHit hit;
if (Physics.Raycast(ray, out hit, Mathf.Infinity, layerMask))
{
Debug.Log("World Position: " + hit.point);
}
else
{
Debug.Log("No hit detected.");
}

spawnPlacedBox = new Vector3(hit.point.x, offsetY, hit.point.y);

Instantiate(box2, spawnPlacedBox, Quaternion.identity);

Debug.Log("Box Has Spawned!");
}
}
Я попробовал добавить журналы отладки и изменить некоторую логику, но ничего не помогло. Мой код выполняет все журналы отладки, кроме тех, которые указаны в операторе if в методе PlaceBox; но после этого ничего не делает. Может ли это быть из-за того, что я поменял камеру? Кроме того, я не получаю никаких ошибок в редакторе Unity, просто то, что я пытаюсь сделать, не работает.
Также извините, если мой вопрос сбил с толку. Я новичок в программировании и переполнении стека.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ouse-click
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»