Я пытаюсь исправить некоторые ошибки в своем проекте, и я столкнулся с проблемой с механикой, когда я хочу, чтобы объект перемещался к моему курсору мыши при щелчке и оставался на 3 единицы выше, где я щелкнул.
Вот мой код:
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
var newPosition = hit.point;
currentDestination = newPosition + new Vector3(0, 3.0f, 0);//mainly this
notAtDestinationYet = true;
}
}
Однако, используя лучевые трансляции, если я попаду на что-нибудь над своей местностью, например на вершину здания или что-то в этом роде, объект с этим сценарием всегда будет перемещаться на 3 единицы выше, где попадает лучевая трансляция.
Как мне заставить его оставаться на постоянном значении оси Y, равном 3 единицам (или любой другой сумме), несмотря ни на что? Скажи, используя public int
.