forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   про террайн и карты в общем (http://forum.boolean.name/showthread.php?t=1617)

Timon 01.10.2006 21:26

про террайн и карты в общем
 
ну в общем так, надо разделить террайн на сетку, а потом сделать как бы картинку-сетку(для террайна но не текстуру), в которой один элемент(квадратик) будет закрашен определлёным цветом. потом при загрузке, определённый элемент картинки будет иметь дело с соответствующим элемнтом террайна.:wallbash: :wallbash: :wallbash:

ну например - прочитал, что элемент(в картинке) зелённый значит на элемент в террайне посадить растительность... >O<

надеюсь спросил понятно!:)

Diplomat 01.10.2006 21:54

Re: про террайн и карты в общем
 
А почему не текстуру? Ёё редактировать по террайну нагдяднее. Натягиваешь на террайн, рисуешь на ней мышом кого хошь. К примеру, красный канал- карта высот, синий- карта путей, зилоный- карта растительности. Сохраняешь своё творчество в файл. При загрузке читаешь в имейдж и, анализируя цвета, строишь по ним готовый ландшафт. Остальное- юзай мосх. Делов на десять центов.

См.команды:

CreateTexture
CameraPick
SetBuffer
Color
Plot
CopyRect
SaveImage
LoadImage
GetColor

Timon 01.10.2006 23:09

Re: про террайн и карты в общем
 
cпасиб, пойду учить!
а вот ещё - как рандомно расставить деревья, я делаю так:

Forc=0To99

tree=LoadAnimMesh("mesh\tree1\tree1.b3d")
ScaleEntitytree,.1,.1,.1
EntityTypetree,treeT

Repeat

PositionEntity
tree,Rnd(-512,512),100,Rnd(-512,512)
Until Abs(EntityX(ent))>20 Or Abs(EntityZ(ent))>20

MoveEntity tree,0,-1000,0
Next

а у меня чёто неполучается, чтобы и растояние между ними было 20 и чтобы они расстилились по террайну!!!

HolyDel 02.10.2006 01:37

Re: про террайн и карты в общем
 
Теоретически нельзя расстелить 100 деревьев по террайну 1024 х 1024, так чтобы и растояние между ними было 20 и застелить весь террайн.
Почему тебя не устраивает просто разбросать 100 деревьев по террайну?

Timon 02.10.2006 15:36

Re: про террайн и карты в общем
 
а они у меня ваще в одном(почти) месте все, и некоторые ваще летают в воздухе... в общем щас чё-нить накалдую!

Diplomat 02.10.2006 15:47

Re: про террайн и карты в общем
 
Код:

Until Abs(EntityX(ent))>20 Or Abs(EntityZ(ent))>20
Вглядитесь в эти строки! ;)

Timon 02.10.2006 15:52

Re: про террайн и карты в общем
 
по примеру скавена делал!!!
мож чё-нить недопнял !?

Timon 02.10.2006 15:54

Re: про террайн и карты в общем
 
ну там масив ещё, я просто не написал а так почти точная

Timon 02.10.2006 16:03

Re: про террайн и карты в общем
 
нифига себе, чё это тока что было... ничё не понял???

Timon 02.10.2006 16:06

Re: про террайн и карты в общем
 
аааааа. внимателно щас проситал скавена и въехал, всё всё пардон!

Timon 02.10.2006 16:07

Re: про террайн и карты в общем
 
а то что одно сообщение разбилось на несколько-не понял.

jimon 02.10.2006 18:06

Re: про террайн и карты в общем
 
надо правильный бамбук курить ! :)

Timon 03.10.2006 10:38

Re: про террайн и карты в общем
 
ндяяяяяяяяяяяяяяяяяя. я оказывается когда писал, то курсор мыши случайно оставил на кнопочки "Отправить быстрый ответ", и каждый пробел в моём сообщении - отправлял ответ!
кстати а почему бамбук-то? эт-жжж трууубка пррросто, йк- но весьма веселительнааааая......йк

а можно прочитать пиксель(с текстуры) и взависимости от позиции и цвета его, на террайне чё-нить делать...?

Timon 03.10.2006 10:41

Re: про террайн и карты в общем
 
ато если по каналам, то их всего три, а вдруг мне больше надо будет !

НУБ 03.10.2006 11:08

Re: про террайн и карты в общем
 
Цитата:

Сообщение от Timon
а можно прочитать пиксель(с текстуры) и взависимости от позиции и цвета его, на террайне чё-нить делать...?

- можно, о том как читать пиксели - см. хелп ;)

Timon 03.10.2006 18:55

Re: про террайн и карты в общем
 
лана, пойду туда-куда послали...

Horror 03.10.2006 21:38

Re: про террайн и карты в общем
 
Вот мой лесок)

NTrees=80 число деревьев
Dim Tree(NTrees) создаем массив
MTree=LoadMesh("Entity\Tree2.3ds") загружаем дерево
HideEntity MTree
For q=1 To NTrees
Tree(q)=CopyEntity(MTree)
.RepeatGeneration
sc#=Rnd(0.1,0.8)
ScaleEntity MTree,sc#,sc#,sc# случайный размер дерева
X#=Rnd(1024*3)
Z#=Rnd(1024*3)
Y#=TerrainY(Ground,X,0,Z) а вот чтоб в воздухе не появлялось а на террейне
If Y>4 And Y<6 And Rnd(10)>2 Then Goto RepeatGeneration
PositionEntity Tree(q),X,Y,Z
TurnEntity Tree(q),Rnd(40)-30,Rnd(360),Rnd(40)-30 уклон(поворот) дерева
Next
FreeEntity MTree
пс Ground-террейн
предлогаю еще записать в файл чтоб не рандомно появлялось а всевремя одинакова)

ппс а вообще я делаю типо редактора куда мышкой кликую там дерево и появляется а потом сохраняю в файл а перед нач игры файл читаю

Diplomat 03.10.2006 22:08

Re: про террайн и карты в общем
 
Цитата:

а можно прочитать пиксель(с текстуры) и взависимости от позиции и цвета его, на террайне чё-нить делать...?
Ты ответы читаешь, или каг? :)
Читай в Хелпе про команды, которые я перечислил выше.


Внимание, голосование! Мне текст "RTFM!!!" в подпись поставить, чтоб бесчисленно не повторять?

Timon 04.10.2006 10:50

Re: про террайн и карты в общем
 
to Horror:
ага-ага этот код я у себя в архивах откопал, кажется он с блиц.пп!

ту Дипломат:
а у тебя команд РидПиксел[Фаст]-не было... 8)

ту ВСЕМ:
БОЛЬШОЙ СПАСИБ!!!!!!!!!!!!!!

Diplomat 04.10.2006 13:41

Re: про террайн и карты в общем
 
Да, ёё у меня в списке не было. Вероятно потому, что ReadPixelFast юзать не надо вовсе- ибо она приводит к беспричинным вылетам на некоторых машинах, а команду ReadPixel юзать для данной конкретной цели неудобо.
Зато у меня была команда GetColor, которую ты благополучно упустил из виду...
8)

Timon 04.10.2006 16:56

Re: про террайн и карты в общем
 
агя, благополучно... =)
видимо мне есщё учиться-учиться-учиться-учиться-и учить [R]TFM 8)

HolyDel 05.10.2006 01:51

Re: про террайн и карты в общем
 
Единственная причина которя приводит к беспричинным вылетам это корявый кодер, который незаблокировал поверхность.
А если рисунок 1024 х 1024, это сколько времени понадобиться для чтения информации с помощью GetColor, она же МЕДЛЕННАЯ. Я думаю лучше все-же юзать ReadPixelFast (ибо быстрее), особенно для больших рисунков.
И не забывать блокировать поверхности.

tormoz 05.10.2006 02:29

Re: про террайн и карты в общем
 
Цитата:

Сообщение от HolyDel
Единственная причина которя приводит к беспричинным вылетам это корявый кодер, который незаблокировал поверхность.
.

Неправда ваша.
Вылетает, и достаточно часто, с блокировкой и проверкой размера и тд.
На одном компе все отлично - на другом МАВ.
Так что нафиг эти фасты. Разве что если пишешь для себя

Timon 05.10.2006 16:37

Re: про террайн и карты в общем
 
"сенкс"-сказал я в 19 посте, когда понял , что далеко мне ещё до этого!


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

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