| Автор | Сообщение |
qwe8013 = Lance Corporal =
 | | 188 |
Doom Rate: 1.92 Posts quality: +57 |
Отправлено: 05.07.26 02:39:46 | |
|
Вопрос банальный, но совсем не понятный. Использую формат UDMF для UZDoom.
Прописал я значит у себя DECALDEF.txt, и добавил туда декалей. Ultimate doom builder видит эти декали. Поместил я значит в стену объекты ZDoom/Decal с соответствующими DecalID, но в игре на стене их не видно. В качестве примера прикладываю тестовую карту: Ссылка
Что я делаю неправильно, и как правильно? |
|
|
| |
AleksV Marine 1st class
 | | 34 |
Doom Rate: 2 Posts quality: +14 |
Отправлено: 05.07.26 13:48:42 | |
|
| Угол декали должен быть направлен в противоположную сторону от стены. |
|
|
| |
qwe8013 = Lance Corporal =
 | | 188 |
Doom Rate: 1.92 Posts quality: +57 |
Отправлено: 05.07.26 14:21:18 | |
|
AleksV
Ну да, оно блин то работает, то не работает. Как вообще этот угол подобрать? |
|
|
| |
AleksV Marine 1st class
 | | 34 |
Doom Rate: 2 Posts quality: +14 |
Отправлено: 05.07.26 21:31:52 | |
|
| Перпендикулярно стене. |
|
|
| |
qwe8013 = Lance Corporal =
 | | 188 |
Doom Rate: 1.92 Posts quality: +57 |
Отправлено: 09.07.26 05:19:25 | |
|
AleksV
Ну, когда linedef ровно по сетке лежит, то нет проблем, но если он как-то повёрнут, то тут есть сложности. |
|
|
| |
AleksV Marine 1st class
 | | 34 |
Doom Rate: 2 Posts quality: +14 |
Отправлено: 10.07.26 15:28:01 | |
|
Ну здесь я не знаю. Разве что подбирать угол. С DoomBuilder дела не имел, но в Slade можно задать произвольный угол.
Или если проект под GZDoom, делать для таких случаев текстуру через патчи в лумпе textures. |
|
|
| |
Mud - Warrant Officer -
 | | 1088 |
 Doom Rate: 1.97 Posts quality: +702 |
Отправлено: 10.07.26 22:16:44 | |
|
qwe8013
Как вариант можно повернуть сетку, начертить перпендикулярно линию, выбрать две точки и запустить скрипт, который рассчитает тебе нужный угол?
Тут ссылка на то, как скрипт работает и сам файл. |
|
|
| 3 |
1 |
 |
|
| |
VladGuardian - UAC Commissar -
 | | 6103 |
 Doom Rate: 1.33 Posts quality: +2279 |
Отправлено: 10.07.26 22:37:30 | |
|
| qwe8013 пишет: | | Ну да, оно блин то работает, то не работает. Как вообще этот угол подобрать? |
По нормали к поверхности, в сторону противоположную стене.
Оказывается, в этом проблема была?
Ну дык это базовые принципы трехмерной графики, даже вне рамок GZ-дума.
В общем виде, перпендикулярный вектор для некоего отрезка (dx, dy) на 2D-плоскости вычисляется очень просто:
N = (dy, -dx)
либо
N = (-dy, dx)
Эти векторы имеют диаметрально противоположные направления, поэтому за пользователем - выбор, какое из этих направлений будет правильным.
Ну и нормализовать его, если нужна именно единичная длина.
Для этого поделим x,y-компоненты вектора на его длину:
Ne = N / sqrt(dx*dx + dy*dy)
(Ne - нормализованный вектор строго единичной длины)
(Понимаю, что мапперу эта инфа в практике не нужна, но для общего развития очень полезно будет.) |
|
|
| 4 |
17 |
23 |
 |
|
| |