L'appareil photo auquel le script est attaché est situé au-dessus du terrain. Et maintenant, quand je clique sur la souris, je reçois des points de liste. Mais maintenant je veux faire cela quand je clique sur la souris cela me donnera la position sur le terrain, y compris les hauts lieux du terrain comme les collines.Comment puis-je obtenir la position de la souris cliquer sur le terrain?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GetMousePosition : MonoBehaviour
{
private bool isMousePressed;
private List<Vector3> pointsList;
private Vector3 mousePos;
// Use this for initialization
void Start()
{
isMousePressed = false;
pointsList = new List<Vector3>();
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
isMousePressed = true;
pointsList.RemoveRange(0, pointsList.Count);
}
else if (Input.GetMouseButtonUp(0))
{
isMousePressed = false;
}
if (isMousePressed)
{
mousePos = GetComponent<Camera>().ScreenToWorldPoint(Input.mousePosition);
mousePos.z = 0;
if (!pointsList.Contains(mousePos))
{
pointsList.Add(mousePos);
}
}
}
}
Le terme que vous voulez rechercher est * raycast *. – Octopus
Merci pour le travail. –