случайный генератор террейнов
Всем привет ! и у меня снова вопрос: мне надо сделать террейн который создается в случайном порядке при загрузки уровня
(в принципе это не так сложно) но проблема другая у меняж там домики-городок а если генерровать случайно то все скроется частями в землю(можно конечно ставить домики по У,но не очень удобно ибо у меня все домики в одном файле) и у меня появилась идея что под город загрузит свой небольшой терреин , но вот как случайный генерируемый ланшафт соединить с этим ровненько ?? зарание спасибо! если есть идеи лучше-буду рад) А ну да вы спросите зачем?? ну я делаю небольшую игрушку(фривере или шаревере) ну ведь будет не интересно играть если местность всегда одинаковая, на 5 раз точно надоест а так еще 5 раз побегать мона |
Re: случайный генератор террейнов
А ты сделай всётаки каждый домик в отдельных файлах и потом при загрузке уровня делай чтобы они были в небесах(тока чтобы их не было видно) и потом резко спускай вниз до коллизии с территорией. И всё вроде. так твои домики будут постоянно на земле а не под землёй или над.
|
Re: случайный генератор террейнов
Генерировать, лучше путём картинки, тоесть генерировать картинку (HeightMap), В интере\нете можешь найти про это. Чтото я слыша про Шум Перлина, то там математика и Алгоритмика ОхО! Так что поищи в нете, а затем загружаешь террайн стандартной командой блица LoadTerrain. И есть команда TerrainY(x,z), Она тебе поможет. Крч делаешь домики отдельными файлами, а затем ставишь их:
Domik1=LoadMesh("Файл Домика") x#=Место по х на карте. z#=Место по z на карте. PositionEntity Domik1,x,TerrainY(x,z),z Вот и всё, они у тебя будут точно по террайну, да и на заметку, центр Мэша (в твоём случае домика), задаётся в редакторе, и ставиться домик на террайн будет этим центром. Надеюсь помог. |
Re: случайный генератор террейнов
magpro не в моем случае не неполучится , потому что 1) тот террейн который под городом он с дорогой и с нужной текстурой, а так получится (к примеру ) дорога на горе и не красиво будет 2)домики имеют центр, а если упадет он так что часть будет на горе а часть навесу и будет не красива))
MoKa такой способ тоже не покатит и сколько мне карт высот нарисовать чтоб все время рандомом показавылся ланшафт??но видимо придется так делать если др способа не найду! Всем спасибо)) |
Re: случайный генератор террейнов
Делай в максе.
|
Re: случайный генератор террейнов
Цитата:
2) Как быть с тем, что бы твоя сцена с домиками не потеряла привлекательность: - на созданную карту высот накладывай блендингом овал, или еще что нибудь по форме твоего города(т.е. карту высот для твоего города, с гладким переходом на краях), т.о. у тебя получится ровная поверхность, или такая какая тебе нужна) и тогда твои города могут находиться где угодно целой сценой, как ты и хотел... :ok: Что бы разобраться о чем я говорю досконально почитай про генерацию ланшафтов шумом Перлина. 8) |
Re: случайный генератор террейнов
untonee Спасибо! буду рад если поможешь!)
2) я совсем начинающй)) и поэтому не знаю что есть блендинг)) а могу ли я просто сделать террейн и на него поставить город а после поставить все на случайно сгенерируюмую поверхность |
Re: случайный генератор террейнов
Вложений: 2
Цитата:
В Photoshop'e создай несколько карт высот, что-то типа этого: Вложение 1995 Карта высот - это как правило (в самом простом трактовании) черно-белое изображение, которое описывает высоту каждой выршины 3-х мерного объекта. Обычно это квадратное изображение, размер стороны которого кратен степени 2 (32, 64, 128, 256, 512 итп). В нашем случае это черно-белдая картинка 256х256 пикселе, с помощью которой мы создадим нужный нам террай. Дальше продолжу попозже... (Почитай: http://www.lki.ru/text.php?id=726) |
Re: случайный генератор террейнов
untonee не ну конечно что такое карта высот я знаю(узнал наверно в первый день) а уже какникак блидзом месяц занимаюсь))
ну как я говорил выше мне нужен случаино-ген террейн ну раз мне рано еще позже разбтрусь) а вот вопросик: там (в статье) есть такая тема наз Матрица высот могу ли я таким же путем сделать террейн??(ну там же прогают в другой среде) типо 11111111 12100121 11100111 11000011 11100111 12100121 11111111 0-ровная поверхность 1-маленькая горка 2-побольше... где ноль там и будет город)) и сделать случайную генерацию чисел АА получится?? |
Re: случайный генератор террейнов
Конечно можешь.Через ModifyTerrain, только не факт,что всегда будет оставаться ровное место для домов (если делать Rnd), это надо как-то предусмотреть :dontknow: ...
|
Re: случайный генератор террейнов
Вложений: 2
Продолжение:
Теорию опустим.... Вообщем рекомендую тебе следующее наделай в Photoshop'e по-больше ландшафтов. Я написал тебе пример который позволяет в любое место терайна разместить твой город, деревню или что угодно. Итого получается:
Поясню, когда запустишь, жми SPACE, увидишь как изменяется земля под деревню, работает вот этот код(он то тебя и интересует): If KeyDown(57) Then For BlurForce=1 To 5 ;BlurForce For x=16+BlurForce To 148-BlurForce - размер размещаемой локации For z=16+BlurForce To 148-BlurForce - рзам sum#=TerrainHeight(terrain,x-1,z-1) sum#=sum#+TerrainHeight(terrain,x,z-1) sum#=sum#+TerrainHeight(terrain,x+1,z-1) sum#=sum#+TerrainHeight(terrain,x-1,z) sum#=sum#+TerrainHeight(terrain,x,z) sum#=sum#+TerrainHeight(terrain,x+1,z) sum#=sum#+TerrainHeight(terrain,x-1,z+1) sum#=sum#+TerrainHeight(terrain,x,z+1) sum#=sum#+TerrainHeight(terrain,x+1,z+1) sum#=sum#/9; ModifyTerrain terrain,x,z,sum Next Next Next Обычный алгоритм сглаживания(blur) Надеюсь помог... :@ Если что говори, еще помогу!:ok: |
Re: случайный генератор террейнов
untonee - оо огромное спасибо -классный пример, надеюсь разберусь)
|
Re: случайный генератор террейнов
Цитата:
|
Часовой пояс GMT +4, время: 14:35. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot