Я создаю систему, в которой вы можете нажать определенную клавишу, и она поместит объект на вашем месте мыши.Каждый раз, когда вы нажимаете клавишу «1», она должна располагаться внизу в месте расположения мыши, но по какой-то причине каждый кадр Input.GetKeyDown("Alpha1");
регистрируется как истинный, поэтому, куда бы я ни двигал мышь, он помещает блок вниз, независимо от того, что я нажимаю.Это часто случалось со мной в последнее время, и я не могу найти никаких ответов.
using UnityEngine;
public class CubePlacer : MonoBehaviour
{
private Grid grid;
public KeyCode place;
private void Awake()
{
grid = FindObjectOfType<Grid>();
}
private void Update()
{
if (Input.GetKeyDown(place)) ;
{
RaycastHit hitInfo;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hitInfo))
{
PlaceCubeNear(hitInfo.point);
}
}
}
private void PlaceCubeNear(Vector3 clickPoint)
{
var finalPosition = grid.GetNearestPointOnGrid(clickPoint);
GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position = finalPosition;
//GameObject.CreatePrimitive(PrimitiveType.Sphere).transform.position = nearPoint;
}
}