Как сделать скейл спрайтов с учётом сдвига перспективы? Вот, допустимfloat centerX, centerY;
float offsetX, offsetY;
for (float i=0; i

21 Авг 2019 в 06:16
162 +1
0
Ответы
1

Для имитации перспективы вам нужно применить нелинейное масштабирование, а именно использовать экспоненциальное увеличение масштаба в зависимости от расстояния от центра.

Например, вы можете использовать следующую формулу для расчета масштаба:

scaleX = expiii / exp101010;
scaleY = expiii / exp101010;

где exp - это функция экспоненты. Таким образом, при i=0 масштаб будет равен 1, а с увеличением i масштаб будет экспоненциально увеличиваться, что создаст более естественную имитацию перспективы.

Вот как будет выглядеть измененный код:

float centerX, centerY;
float offsetX, offsetY;
for (float i=0; i<10; i++){
scaleX = expiii / exp101010;
scaleY = expiii / exp101010;
putSprcenterY+offsetX∗i,centerY+offsetY∗i,scaleX,scaleYcenterY + offsetX*i, centerY + offsetY*i, scaleX, scaleYcenterY+offsetXi,centerY+offsetYi,scaleX,scaleY;
}
20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир