forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Генерация природных камней (http://forum.boolean.name/showthread.php?t=15519)

Reizel 21.09.2011 13:13

Генерация природных камней
 
Занялся такой темой. Необходимо генерировать рандомные камни. Что-то вроде вот такого:


Это был бы очень идеальный вариант. Но это тяжко.
Пробовал сам, не получалось:
1) Деформировать шар. Не прокатывает, ибо получаются довольно шарообразные камни. (если честно, так вообще не прокатит - стандартный шар в своих "полюсах" имеет не один вертекс, поэтому получается каша)

2) Генерировать рандомные точки вокруг трех осей. Т.е. бежим от 0 до 360 градусов с рандомным шагом, и расставляет точки по рандомному радиусу, получается некий "контур", но склеить это в какую то поверхность не удалось :(

3) товарищ PAX подсказал алгоритм MetaBalls. Это тяжко, хотелось бы вариант полегковесней.

4) Сделать 3Д Шум перлина, потом слой за слоем "снимать" какой-нито контур, и строить геометрию. Это пока только в голове, как делать вообще без понятия :((

Никто не занимался подобным?? Есть какие-нито идеи?

Mr_F_ 21.09.2011 14:36

Ответ: Генерация природных камней
 
был как-то простой тутор на рендер.ру как делать подобное в максе.
суть была такова:
- создаём geosphere (сфера с равномерной сеткой)
- немного гнём его через FFD Box 3х3/4х4. FFD Box это модификатор, позволяющий деформировать меш по ограниченному кол-ву control points куба, описанного вокруг него. можно сделать скрипт, который будет вместо тебя их рандомно гнуть, если надо много рандомных вариаций.
- применяем модификатор noise с правильно подобранными настройками.

а я ваще сначала подумал что тема будет про текстуру этих камней... она у них очень занятная. вот если бы кто подсказал как её процедурно воспроизводить.

Reizel 21.09.2011 15:05

Ответ: Генерация природных камней
 
Та ну, макс это не вариант, они будут генериться в проге при генерации уровня))
Вот что удалось собрать:
Test

Вопрос только в том, КАК правильно положить поверхность. Сейчас пока пытаюсь выборку вершин по индексам проводить (спасибо товарищу falcon), если у кого есть мысли - делитесь)

Mr_F_ 21.09.2011 15:09

Ответ: Генерация природных камней
 
Цитата:

Та ну, макс это не вариант, они будут генериться в проге при генерации уровня))
ну ты можешь сделать то же что и в максе, только своим кодом.

dsd 21.09.2011 15:09

Ответ: Генерация природных камней
 
создать плоскость n x n.
сгенерировать для нее карту высот, которая бесшовная будет.
свернуть плоскость в шар.
отскэлить рандомно для ухода от сферической формы.
наложить шум меньший длины среднего ребра.
Не?

Зы: а это случаем не орудия пещерных человеков? Сильно форма подозрительная.

Reizel 21.09.2011 15:37

Ответ: Генерация природных камней
 
DSD, зачотный вариант) только меши будут всеравно одинаковыми, в конечном счете...но попробовать стоит))

ПС это камушки для аквариума как оказалось))

Lestar 21.09.2011 17:19

Ответ: Генерация природных камней
 
http://mp5gosu.deviantart.com/art/Ro...-C4D-116798206
http://www.scriptspot.com/3ds-max/sc...rock-generator
Возможно пригодится,особо интересен второй вариант.

Igor 21.09.2011 21:24

Ответ: Генерация природных камней
 
Цитата:

это камушки для аквариума
В аквариумах обычно лежат камни, похожие на морские - без острых краёв и без трещин

moka 21.09.2011 21:47

Ответ: Генерация природных камней
 
Цитата:

Сообщение от Lestar (Сообщение 202963)
http://mp5gosu.deviantart.com/art/Ro...-C4D-116798206
http://www.scriptspot.com/3ds-max/sc...rock-generator
Возможно пригодится,особо интересен второй вариант.

Вторая ссылка имхо, супер! Даже нормал карту запекает..

dsd 27.09.2011 14:52

Ответ: Генерация природных камней
 
по предложенному мной алгоритму получится это:

Nex 27.09.2011 15:51

Ответ: Генерация природных камней
 
Многовато полигонов будет и возможно косяки с разверткой тоже будут присутствовать.. :)

.Squid 27.09.2011 15:55

Ответ: Генерация природных камней
 
Нормал-мапу снять - самое оно. Уменьшить полигонаж - не проблема.

dsd 27.09.2011 15:57

Ответ: Генерация природных камней
 
Смотря как извращаться:

moka 27.09.2011 16:02

Ответ: Генерация природных камней
 
Ну будут "сугубо" сфероидные камни, т.к. строишь из сферы..

dsd 27.09.2011 16:05

Ответ: Генерация природных камней
 
Мока, а сферу я из двух плоскостей сделал...

Но можешь открыть и посмотреть на сферические камни.
На мой взгляд иногда камни вообще не сферические.

Reizel 28.09.2011 10:30

Ответ: Генерация природных камней
 
А камушки ничо так, да. Смотрится хорошо, только фэйлишко - круглые будут все, но это не беда.


ПС:у меня твой пример тормозит :-D 25 ФПС. Вот такой у меня комп плять :(

dsd 28.09.2011 13:04

Ответ: Генерация природных камней
 
Большинство местных прогеров сидят на нетбуках первого поколения что ли О_о?

Можно еще несколько плоскостей размещать в пространнстве необходимым образом, потом деформировать их, находить пересечения, отрезать лишнее, но это геморно, проще уж с моим планетодегенератором, ибо у него легко настраивается шершавость поверхности и размер глубины рельефа по отношению к радиусу. В примере стоит 50 % шума между точками при генерации карты высот и отношение к радиусу 50%, если выставить первое значение 10-15%, а второе 90%, то получиться гнутый щебень с относительно гладкими поверхностями. Причем внутрь сферы оно на четверть всего диапозона деформации давит. Вот.

Reizel 28.09.2011 15:10

Ответ: Генерация природных камней
 
Та не, мне ноутбук достался вообще халявно, но он тормозной аж пипец.
Зато приходится мозгами шевелить чуть чуть чтоб оптимизировать :-D

по теме: ты не мог бы код выложить??? велосипеды не хочется изобретать

moka 28.09.2011 15:50

Ответ: Генерация природных камней
 
У меня когда-то тоже был комп старьё, вот это отличный "повод" на оптимизацию.
Проще почувствовать где боттленек засел.

dsd 28.09.2011 17:14

Ответ: Генерация природных камней
 
Велосипед. Слегка закоментил нужную тебе часть. Но по-моему, чем до ума довести мой проще свой написать, из полезного там только генерация сферы с подходящей под деформацию геометрией и все.

Просто кинь хорсовскую длл в корень.

Mr_F_ 28.09.2011 19:44

Ответ: Генерация природных камней
 
Цитата:

У меня когда-то тоже был комп старьё, вот это отличный "повод" на оптимизацию.
Проще почувствовать где боттленек засел.
а вот кстати не согласен.
требовалось делать адекватную графику на плохой видюхе - она тормозила, но я оправдывался тем, что такого колва объектов/шейдеров итд на своей видюхе с нормальным фпс сам не видел.
купил хорошую видюху - оказалось что мой код практически так же тормозит на ней как на старой)
потому что было непонятно, фпс низкий из-за меня, или он таким и должен быть.
на хорошем железе куда удобнее - ставишь планку в виде определенного фпс или колва мс на выполнение чего-либо и стараешься соблюдать - а если всё опускается ниже этой планки, это позволяет тебе нормально тестить и исправлять, а не наслаждаться блевотным низким фпс. низкий фпс действует на нервы.

moka 28.09.2011 21:14

Ответ: Генерация природных камней
 
Цитата:

Сообщение от Mr_F_ (Сообщение 203738)
а вот кстати не согласен.
требовалось делать адекватную графику на плохой видюхе - она тормозила, но я оправдывался тем, что такого колва объектов/шейдеров итд на своей видюхе с нормальным фпс сам не видел.
купил хорошую видюху - оказалось что мой код практически так же тормозит на ней как на старой)
потому что было непонятно, фпс низкий из-за меня, или он таким и должен быть.
на хорошем железе куда удобнее - ставишь планку в виде определенного фпс или колва мс на выполнение чего-либо и стараешься соблюдать - а если всё опускается ниже этой планки, это позволяет тебе нормально тестить и исправлять, а не наслаждаться блевотным низким фпс. низкий фпс действует на нервы.

Я не говорю о конкретно слабом железе. В моём случае, всё что делал, если тормозило - то лажовал, исправлял, и перестовало тормозить, если требуются те же SM 3, и у тебя видяха GF 6600, то конечно, тени на ней просто физически не попишешь, это нужно нормальное видео брать для того чтобы базу хоть потянуть.

Reizel 29.09.2011 13:50

Ответ: Генерация природных камней
 
Цитата:

Сообщение от dsd (Сообщение 203708)
Но по-моему, чем до ума довести мой проще свой написать, из полезного там только генерация сферы с подходящей под деформацию геометрией и все.

Так я и не собирался, прост щас алгоритм посмотрю, вдруг какие фишки там) в обще спасибо :)


Часовой пояс GMT +4, время: 17:45.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot