ПрограммированиеФорумГрафика

Равномерно-случайно расположить точки на ландшафте. (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
18:53, 9 июля 2024

MrShoor
Апвектор скорее всего 0 0 1

#16
18:54, 9 июля 2024

0xFFFFFFFF
По направлению это градиент :)

#17
18:58, 9 июля 2024

0xFFFFFFFF
> беда в в том, что 2d карта плотности не решает проблему для 3d, плотность она не по направлению, она скаляр.
Если у тебя ландшафт карта высот - то решает. Можно однозначо перевести твою карту высот в карту плотности. Я даже написал тебе формулу как это сделать.

Если у тебя произвольное 3д тело - то да, не решает.

#18
19:27, 9 июля 2024

MrShoor
> Если у тебя ландшафт карта высот - то решает. Можно однозначо перевести твою карту высот в карту плотности
можно, я с этим не спорю.

> Я даже написал тебе формулу как это сделать.
я ее уже делал.

я не понимаю, чем она может помочь, я могу поднять общую плотность на склонах, но тогда поднимется плотность и по вертикали, и по горизонтали.

единственный вариант, наверно и правда придется генерить семплы по poisson диск, но радиус не в 2d считать, а в 3D, с учетом третьей координаты.

Вот тут видно, что по XZ плотность вменяемая, а по Y - разреженная, и накрутив еще точек, можно получить "хорошие" слипания.
landscape_dots | Равномерно-случайно расположить точки на ландшафте.

#19
19:29, 9 июля 2024

MrShoor
Раз уж зашла тема, можешь написать ещё о том как делают дороги и места для всяких построек/городов, арен и т.п.
У меня мысли только что делать аналог штампа в местах где высота выше уровня моря и ниже определённой. Дороги это сплайны.
Тут наверное надо больше формул что бы делать красивые дорожки/тропинки вокруг озёр либо гор либо в лоб если встречаем резкое изменение высоты , то пытаемся обогнуть его.
К сожалению здесь задач куда больше чем кустики расставлять

#20
19:43, 9 июля 2024

0xFFFFFFFF
Делай нелинейную зависимость

#21
19:47, 9 июля 2024

innuendo
ты мне Тони Роббинс напоминаешь: нелинейно делай и не линейно будет. Но весь вопрос в том: как и как именно.

#22
20:09, 9 июля 2024

0xFFFFFFFF
> но тогда поднимется плотность и по вертикали, и по горизонтали.
Да, ты прав, посыпаю голову пеплом. Показалось что должно срабоать. Поднимать плотность нужно вдоль конкретного направления. Алгоритмов с подобным не припомню. Вероятно расстояние считать в 3д надо, да.

endeavour_pr
Не понял вопроса

#23
20:13, 9 июля 2024

MrShoor
Вдоль конкретного направления .... Никогда такого не было и вот опять повторилось

#24
20:19, 9 июля 2024

MrShoor
А что , по нормали направление нельзя выбрать ?

#25
20:43, 9 июля 2024

MrShoor
> Не понял вопроса
О том, как процедурно генерировать уровни, что бы получился красивый landscape )) а не хрень.
Ну, типа кнопка "сделать уровень".

+ как то так
#26
(Правка: 21:09) 21:07, 9 июля 2024

0xFFFFFFFF
> можно, я с этим не спорю.
Просто как направление мысли: а что если это расплющить на неевклидову плоскость и учесть кривизу получившегося пространства в каждой точке при расчёте плотности?
Вот эта разреженность, она ж как раз потому что фактические расстояния там больше, чем проекция на евклидову плоскость.

Ну, вернее как расплющить... оно уже "расплющенно" на неё... надо только вместо Z-координаты пересчитать через коэффициенты кривизны. Т.е. нормаль, видимо, как-то в формулу вкорячить надо.

#27
(Правка: 21:30) 21:08, 9 июля 2024

MrShoor
> Алгоритмов с подобным не припомню
радиус называется.

Если взять ткань с равномерной сеткой и симулировать падение ткани на меш (ландшафт), то получится то что надо. Ну только надо будет выровнять высоту.
У вас 3д сетка, рандом ходит внутри квадрата или "радиуса", я даже не знаю на сколько глупым является вопрос и ответы на него. Центр квадрата (куба, сферы, вообще без разницы сколько там осей) и есть отправная точка. Сместили случайным вектором, обрезали по допустимому радиусу и вот тебе poison disk.

Никто рандомно не распределяет, делается 1 раз и отдаётся лвлдизайнеру. Он всё равно вынужден расставит травку, камушки, деревья, водичку, дороги, закрасить места где травки в принципе не должно быть и т.д.
Посмотрите доклады GDC по HZD. гугл выдал, это не все доклады https://www.youtube.com/playlist?list=PLWeJQE4nEnThggwaF7BS0rI2Q-OmxMMNF

#28
21:14, 9 июля 2024

Salamandr
> Никто рандомно не распределяет
есть же игры с процедурными мирами, там целые планеты рандомные

#29
(Правка: 21:22) 21:17, 9 июля 2024

endeavour_pr
> там целые планеты рандомные
если только цель в том чтобы бездумно тратить время в игре (с собой то достижения никак не возьмешь, лвлап в жизни не прокачаешь, предметы не переместишь - всё виртуально остаётся виртуальным, кроме потраченным на это время, которое уже не вернуть, ну и денег конечно, если вкладывали).
Ну или когда цель получить случайный опыт или не получить, из-за того что так сгенерировалось плохо.
А современным игрокам подавай приключений заскриптованных, заренее продуманных и прошедших через геймдиза.
Лучше меньше, но качественный опыт. Поэтому инди и выживают, ну.. те что делают так.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика