Björn Andersson
Просветленный
(26619)
1 день назад
Попробуй так:
private void Update()
{
if (!temp)
{
Debug.Log("1");
return;
}
if(transform.position != prevPos)
{
prevPos = transform.position;
}
if (!temp.Placed)
{
Debug.Log("2");
// Кастуем луч из камеры в сцену
Ray ray = camera.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Vector3 worldPosition = hit.point; // Берем точку пересечения с коллизией
Vector3Int cellPos = gridLayout.WorldToCell(worldPosition); // Конвертируем в клетку
if (prevPos != cellPos)
{
Debug.Log("3");
temp.transform.localPosition = gridLayout.CellToLocalInterpolated(cellPos + new Vector3(.5f, .5f, .5f));
prevPos = cellPos;
}
}
}
}
Вот примерная часть кода: Буду рад, если подскажете как это исправить)))).