Единство, масштабирование и позиционирование четырехкратного размера для представления поля выбораC#

Место общения программистов C#
Ответить
Anonymous
 Единство, масштабирование и позиционирование четырехкратного размера для представления поля выбора

Сообщение Anonymous »

Мне нужно отобразить выделенную область в сетке. Сетка — это просто объект сетки, назначенный игровому объекту и представленный графическим материалом шейдера для визуализации сеток. В этой задаче часть сетки можно игнорировать.
Теперь, чтобы имитировать выделение, я использую четырехугольник, поскольку его размер масштабируется точно до 1 единицы. Но я не уверен, как правильно установить его положение, поскольку оно показывает некоторое смещение. Я хочу, чтобы верхний левый угол четырехугольника начинался с начальной позиции мыши, как это происходит в обычном поле выбора. Вот код:
private void ResizeSelectionBox()
{
//controlledVisualization is the quad assigned;
Vector3 StartMousePosition = ...;
float width = Input.mousePosition.x - StartMousePosition.x;
float height = Input.mousePosition.y - StartMousePosition.y;

// Calculate the actual width and height based on the positions
float actualWidth = Mathf.Abs(width);
float actualHeight = Mathf.Abs(height);

// Set the transform's position and scale of the quad
controlledVisualization.transform.position = StartMousePosition / quadSizeUnit;
controlledVisualization.transform.localScale = new Vector3(actualWidth, actualHeight, 1f)/quadSizeUnit;

}


Подробнее здесь: https://stackoverflow.com/questions/783 ... ection-box
Ответить

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

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

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

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

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