Процесори :: Дънни платки :: Видео :: Мултимедия :: Носители :: Периферия
Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум
 
 
Генериране на терени и създаване на анимация с Terragen
       

С развитието на компютърните технологии все повече се цели постигането на максимално реалистична графика. Вече съществуват филми, направени изцяло на компютър. Рендерирането на реалистични терени става все по-модерно. Съществуват много програми, които ви дават възможността да определите терена чрез надморската височина във всяка една точка. След това е работа на програмата да симулира реални атмосферни условия и да създаде изображение, което би могло да бъде и снимка на даденото място.
Terragen е една от добрите програми, служещи за тази цел. Тя ви позволява да определите атмосферни условия, осветление и други фактори, и да пресъздадете както земната повърхност, така и повърхността на някоя друга планета. Съществуват множество plug-in -и, добавящи специални ефекти към терените. Също така Terragen позволява да се създава анимация посредством определяне на движението на камерата през терена.

Съдържание:

1. Генериране на терени
2. Анимация

Системни изисквания

Terragen, както и всички пограми за рендериране на терени, е доста претенциозна към процесора. При процесор Duron на 1300 MHz рендерирането на изображение 640x480 пиксела отнема малко повече от 3 минути при средни стойности на Atmosphere и Clouds Shading Accuracy, около 5 при максимални стойности; , 800x600 - три минути и половина при средни стойности или около 8 при максимални стойности. Един от големите недостатъци на програмата е, че макар и да има възможност да анимира изключително реалистичен терен, тя ползва само процесора, за разлика от други приложения, разчитащи на видеокартата и поради това много по-бързо изпълними.

1. Генериране на терени

Ето няколко изображения, създадени от мен:

Определяне на терена
В момента, в който стартирате програмата, се отваря диалоговия прозорец Terrain, позволяващ ви да определите терена. Терена се създава посредством дефиниране на надморската височина във всяка една точка. Диалогът изглежда така

Terragen поддържа два режима на показване на терена - черно бял и цветен. При първия терена се изрисува в градация на сивото, а водата, ако има такава, се изрисува в синьо; при вория режим терена се изрисува цветно, а водата - сива. На изображенята в дясно са показани използваните цветове за изрисуване на терена в двата режима; колкото по-надясно в скалата е цвета, толкова по-висока е точката

 

В горната част на прозореца можете да видите четири бутона, определящи четири различни режима

  В този режим можете да промените позицията на камерата (като щракнете с левия бутон в съответната точка) и посоката, в която е ориентира (натискайки с дения бутон)

   Съществуват три различни режима за модифициране на терена - Large, Medium и Small. Това влияе върху степента на изменение на височината при единично щракване. И в трите режима можете да променяте височините в определени точки - за да увеличите щраквате с левия бутон, за да намалите - с десния. Можете да задържите бутона натиснат за многоратна промяна на височината, както и да местите мишката докато е натиснат бутона, за да промените височината в множество точки

Бутона точно под изображението на терена ви позволява да промените неговите размери. Натискането му води до отварянето на прозореца Landscape Settings

Terrain Grid Points ви позволява да определите резолюция на терена. Колкото е по-голяма резолюцията, толкова по-детаелен ще е терена. От друга страна, по-детаелен терен изисква повече време за рендериране.

Landspape Area ви дава възможност да определите размерите на терена в реални единици.

Render Curved Terrain позволява извиването на терена както е в истинския свят. Можете да определите радиус на планетата като го въведете в текстовото поле, или като настиснете някой от трите бутона, изравняващ радиуса на планетата с този на Земяра, Марс или луната

В дясната част на прозореца Landscape ще видите множество бутони. Бутоните Open и Save ви позлволяват съответно да отворите файл, съдържащ терен или да запишете текущия терен във външен файл. Import и Export позоляват импортирането на външни файлове като терени или експортирането на текущия в различни файлови формати. Най-често се използва за импортиране или експортиране на RAW файлове, които не са нищо друго, освен изображение в градация на сивото. Това позволява да създадете терена като градация на сивото във външна програма и да го използвате в Terragen

Бутоните Effects... и Accessories ви позволяват да изберете съответен plug-in

Натискането на бутона Generate Terrain... води до отварянетона диалога Terrain Genesis

Method определя метода на генериране на терена.

Action определя дали да бъде унищожен предишния терен и генериран нов или да се бъде генериран терен и да се комбинира с текущия.

Realism - по-висока стойност води до генериране на по-реалистичен терен с по-гладко преминаване между високо и ниско.

Smoothing определя до колко гладък ще е терена

Size of Features определя колко са големи хълмовете, както във височина, така и в ширина

Натискането на бутона Modify Terrain води до отварянето на прозореца Terrain Modification:

Bound Vertical мащабира терена така, че височините да са в посочения диапазон. Първоначалните стойности показват текущия диапазон

Scale Verical мащабира терена в степен, определена от въведения процент. Бутона Strech определя мащаб 133.33%, Squasg - 75, а Invert определя мащаб -100% Това само променя въведената стойност, но само по себе си не води до мащабиране. За целта трябва да натиснете бутона Scale Vertical

Clear / Flatten изтрива терена

Натискането на бутона Combine With... води до отварянето на прозореца Terrain Combination

Този прозорец ви позволява да комбинирате два терена. Има четири възможности - Addition (събиране), Substraction (изваждане), Highest (най-високия) и Lowest (най-ниския), с две допълнителни възможности за Highest и Lowest - Smooth Highest или Smooth Lowest. Combination Preview показва резултата от комбинирането, оцветено за да изобрази къде първия или втория терен доминира.

Определяне на атмосферата
Можете да определите атмосфера за да направите изображението по-реалистично. Чрез настройване на атмосферата можете да получите ефекти като мъгла или реалистична атмосферна перспектива

Най-отгоре на диалога ще видите бутоните Open и Save. Toва не само зарежда или запазва настройките на атмосферата, но и тези на облаците и осветлението.

По-нататък диалогът е разделен на три части - Simple Haze, Atmosperic blue и Light Decay / Red. Първата симулира замъгляване на атмосферата. Втората създава синьо небе, но също така влияе и на обектите в перспектива - колкото са по-далече, толкова по-сини изглеждат. Що се отнася до третата, когато светлината минава през атмосферата, синята светлина се разсейва, и другите две - червена и зелена са по-концентрирани от нея. Това е и причината слънцето да става червено при залез, но също така влияе и на другите елементи от сцената.

И в трите части има поле Density (в третата то е Decay) което определя до колко е изразен даден ефект. Колкото по-голяма е стойността, толкова по-силен е и ефекта

И в трите части присъства поле Half-height. С увеличаване на надморската височина, атмосферата става по-разредена. Half-height определя височината, на която дадения ефект има наполовина по-малка сила, отколкото на 0 метра над морското равнище. Т.е. ако Half-height е 10, на височина 10 метра стойността за Density или Decay ще бъде наполовина; на 20 метра ще е една четвърт. Същото се отнася и за отрицателни стойности - при -10 метра ще бъде двойна и т.н.

И трите части съдържат бутон Edit Colour. Чрез него можете да промените съответния цвят, но това не е необходимо за повечето подобни на земната атмосфери (но ако искате да създадете изображение на друга планета, където атмосферата е примерно червена, ще искате да смените цветовете)

Полето за отметка Lock Colour with Atmospheric Blue предизвиква автокорекция на Atmosperic Blue и Light Decay за да създаде атмосфера, подобна на земната.

Определяне на осветлението

Когато отворите прозореца на осветлението, ще видите че той е разделен на две части. Долната част има четири страници. Горната част остава видима независимо на коя страница сте и определя общите настройки на осветлението

Общи настройки на осветлението

Sun Heading определя посоката, от която идва светлината. Изображението над това поле показва кои части от терена са осветени и кои са в сянка.

Sun Attitude определя ъгъла, под който падат слънчевите лъчи

Terrain Casts Shadows определя дали да се рендерират сенките в терена. Малко са причините да ги изключите, но липсата на сянка води до значително по-бързо рендериране.

Clouds Cast Shadows определя дали да се взима предвид сянката, хвърляна от облаците
Shadows in Atmosphere Shadows in Atmosphere има най-голямо влияние, когато камерата е обътната към слънцето, правейки сцената значително по-реалистична

без shadows in atmosphere

със shadows in atmosphere

Бутоните Effects и Accessories позволяват да изберете plug-in за осветлението

Страницата Direct Sunlight

Specify Sunlight Colour / Realistic Sunlight Penetration System. Два различни метода на осветление. Много от настройките не са достъпни при използване на "Specify Sunlight Colour". При използване на Realistic Sunlight Penetration System се отчита ъгъла, на който се е издигнало слънцето, и атмосферните условеия за да се симулира реалистична слънчева светлина
specify sunlight colour

realistic sunlight penetration system

Sunlight Strength определя силата на слънцето

Effect of Atmospere определя доколко атмосферата влияе на осветлението

Percent Cloudcover определя доколко облаците да засенчват терена когато не се използва Cloud shadow-casting.

Страницата Background Light

режим Single Colour Shadow Lighting

режим Multi-directional Shadow Lighting

Single Colour / Multi-directional Shadow Lighting определя начина, по който се контролират сенките. Single Colour ви дава възможността да изберете цвят за осветление на сенките и ви позволява прост контрол над изобразяването на сенки. Multi-directional Lighting използва три цвята за да оцвети сенките от различни посоки. Ако се използва добре, режима Multi-directional Shadow Lighting може силно да увеличи реалистичността на изображения, в които голяма част от терена е в сянка

Shadow Lightness ви позволява общ контрол над това колко светла или тъмна да е сянката

Koгато се създават залези, по-висока степен на реализъм се получава при намаляване на Shadow Lightness и увеличаване на Exposure (при настройките на рендерирането) Най-важнен е опита - експериментирайте с различни настройки, за да почувствате резултата от тях

Следните настройки са достъпни при режим Multi-directional Shadow Lighting:

  • Diffuse Sunlight - "невидим" светлинен източник, излъчващи от посоката на слънцето, но със значително по-мека светлина от "Direct Sunlight" и непредизвикващ сенки.
  • Light from Above - "невидим" светлинен източник, намиращ се точно отгоре на сцената
  • Reverse Light - "невидим" светлинен източник, който се намира точно в противоположната посока на слънцето. Може да се използва за създаване на светлинни ефекти, предизвикани от отразяващата се в повърхността светлина. Този светлинен източник може да е изключително полезен за лунни, пустинни или снежни сцени, където има ярък терен и тъмно небе

Страницата Sun's Appearance

Disk Diameter определя колко голям е слънчевия диск в небето. Това се отразява и на сенките - колкото е по-макък диаметърът на слънчевия диск, толкова по-силни са сенките. Стойността по подразбиране от 1 градус е подходяща за земни сцени (въпреки че по-прецизна от научна гледна точка е стойността 0.5)
Corona Size определя пространството около слънцето, което е засегнато от ефекта на замъгляване около слънцето

Страницата Lighting of Atmpsphere

Glow Amount определя колко силно замъгляване предизвиква слънцето около себе си

Glow Power определя степента, с която замъгляването отслабва при отдалечаване от слънцето. Промяната на тази настройка е полезно при създаване на много облачни или замъглени сцени, където ниските стойности са много по-реалистични.

Създаване на облаци

В официалното ръководство на Terrahen не пише нищо по повод Cloud Lighting Settings, а експериментите ми с различни стойности не установиха каквото и да е влияние върху терена. Независимо дали го сложа на 0, 50 или 100 процента, терена остава абсолютно еднакъв. Затова предлагам тази настройка за момента да бъде игнорирана - може би в бъдещите версии на Terragen ще послужи за нещо

Sky Size определеля размера на небето. Увеличаването на тази стойност ще доведе до незначително увеличаване на времето за рендериране, но така могат да се избегнат проблеми с черни пространства около хоризонта - там където небето недостига земята

3-D правят облаците триизмерни. За да има резултат това трябва да увеличите Clous Shade

Accuracy в настройките за рендериране максимално. В повечето случаи, двуизмерните облаци са повече от достатъчни. Фактически често триизмерните облаци изглеждат по-нереалистични от двуизмерните

Depht/Thickness определя плътността на облаците

Edit Cloud Colour ви позволява да промените цвета на облаците

Density Contrast също определя плътността на облаците

Density Shift. ви позволява да определите количеството облаци на небето. Отрицателните стойности ви приближават до това изобщо да няма облаци - положителните до изцяло зaпълнено с облаци небе

Създаване на водна повърхност

Plug-in Effects позволява да добавите всеки един от инсталираните plug-in ефекти на водата

Diffuse Colour определя цвета, който се използва, когато водата отразява светлина. Използването на черно няма да направи водата черна, но ще я направи по-тъмна.

Max Reflectivity определя максималния интезитет на отразената светлина

Reflectivity Curve - колкото е по-ниска тази стойност, толкова по-голяма е разликата между осветената и тъмната част на водата

Water Level определя надморската височина на водата. При определянето на терен, във всяка точка, която е по-ниска от Water Level се появява вода. Бутона Update Maps води до прерисуване на терена в диалога Landscape за да се отрази промяната в нивото на водата

Roughness определя височината на вълните

Wave Size определя ширината на вълните
Reflection Spread определя разпространението на светлинното отражение.

reflection spread: 25

reflection spread: 15

Рендериране на терена

След като сте създали терен, вие можете да го рендерирете и да го запазите във файл. За целта трябва да отворите прозореца Rendering Control

Бутона Render Preview води до рендерирането на малко изображение с ниско качество, което обаче е неоценимо, когато искате да видите как ще изглежда вашия терен

Detail определя доколко детайлно да е рендерираното изображение

Land определя дали да бъде рендерирна земята

Sky определя дали да бъде рендерирано небето

Width определя ширината на рендерираното изображение

Height определя височината на рендерираното изображение

От дясно на диалога Rendering Control можете да видите настройките на камерата:

Camera/Target Position - както и в диалога Landscape, можете да определите позицията на камерата и нейната ориентация чрез щракване върху изображението долу. Също така можете да въведете стойностите за X-, Y-, и Z-координатите. Можете да определите и вертикалния ъгъл (pitch) и хоризонталния ъгъл (bank) между камерата и терена

Fixed Height Above Surface определя дали съответно позицията на камерата или нейната ориентация има фиксирана височина над повърхността

Натискането на бутона Settings води до отварянето на диалоговия прозорец Render Settings, който има три страници

Atmosphere прецизността при създаване на атмосферата. Колкото е по-голяма стойността, толкова е по-бавно рендерирането.

Cloud Shading определя прецизността при определяне на сянката на облаците. Тази настройка няма особен ефект при 2D облаци, но при 3D облаци има огромно значение за качеството на изображението. Но колкото е по-голяма тази стойност, толкова по-бавно е рендерирането

Fast Sub-Pixel Smoothing е метода по подразбиране за изглаждане на кривите

Ultra предоставя много по-качествен Anti-aliasing, но изиква повече памет и време за рендериране

Render LandScape/Sky определя дали да бъдат рендерирани съответно земята и небето

Back-face Culling - ако е включено, тези части от полигона, които не са обърнати към камерата и следователно са невидими, не се рендерират. Това значително ускорява рендерирането

Memоry Usage определя максималното количество памет, което да се използва при рендериране. Създателите на програмата препоръчват да се използва една трета от операционната памет

Натискането на бутона Camera Settings води до отварянето на следния прозорец:

Photographic Medium ви позволява да изберете между Traditional computer graphics или някой от двата варянта на photochemical film, които дават по-реалистично изображение

Exposure/Light Sensitivy симулира светлинното отражение при използване на камера

Zoom/Magnification симулира увеличението при използване на камера

Effects позволява избирането на plug-in за камерата И накрая, натискането на бутона Render Image води до рендерирането на терена

2. Създаване на анимация

С Terragen можете не само да рендерирате реалистичен терен, но и да създадете цял един свят, след което да определите движение на камерата през него. Terragen ползва скриптове за определяне на движението на камерата. Има вграден генаратор на скриптове, който обаче е доста ограничен. За сметка на това в Интернет, и най-вече на официалния сайт на Terragen (http://planetside.co.uk/terragen), има множество програми за генериране на скриптове. Те ви позволяват да определяте преместване на позицията на камерата или на точката, в която е фокусиране (както и на двете едновременно разбира се), да създадете траектория на движението, да анимирате движение на слънцето и на облаците... Изобщо възможностите ви за създаване на реалистична анимация са ограничени единствено от възможностите за рендерирането му чрез Terragen
Но разбира се има един недостатък. Terragen записва всички кадри в .bmp файлове. Съществува предостатъчно софтуер за конвертирането на отделните кадри във филмов файл (най-често .avi), но преди това ще трябва да отделите известно място на хард-диска си за записване на кадрите

Scripter - вградения в Terragen генератор на скриптове

Ще опишем основните програми за генериране на скриптове за Terragen, започвайки естествено от вградения Scriptter. Той има един много съществен недостатък - не-позволява преместване на фокуса на камерата, а само на нейната позиция. Като стартирате Scripter, ще видите следния прозорец:

Можете да определите първи и последен кадър. Това е може би най-незабележимата но в същото време най-мощна функция на този вграден редактор. Тъй като той позволява определяне само на първата и последната позиция на камерата, то вие можете да създадете единствено еднопосочно движение, осъществено по права линия. Но създавайки серия от последователни скриптове, при които последния кадър на предишния е първи на следващия скрипт, както и крайната позция на камерата е начална за следващия скрипт, вие можете да създадете едно доста по-сложно движение.

Scripter позволява да анимирате и движение на слънцето - определяйки както промяна на посоката, от която идва светлината, така и на ъгъла под която пада. Можете да определите и промяна в нивото не увеличение (Zoom), както и на още няколко параметъра. Когато решите да не определяте стойности за даден параметър, винаги взимахте под внимание стойностите по подразбиране - особено при Sun Altitude, където по подразбиране се изменя от 0 до 20. Тъй като това е склучвания ъгъл между земята и слънчевите лъчи, при 0 градуса няма да има никаква светлина. И изобщо това че не сте сложили отметка в полето на съответния параметър не означава че той няма да бъде използван - поне аз имах много проблеми с позицията на слънцето - непрекъснато се създаваха "нощни" пейзажи

CamPath

Както показва името му, CamPath позволява определянето на траекторията на камерата. CamPath се нуждае от редица plugin-и за да работи, най-вече за отваряне на Terragen файл и за записване на Terragen-скрипт. В дясно можете да видите различните типове траектории, а създаването на траектория става чрез щракване в прозореца с терена. Но не и преди да определите стойност в Path Data - докато е Path Not Active не можете да добавяте точки в траекторията. За съжаление CamPath предоставя изключително много методи за създаване на траектория, които обаче не са документирани. А липсата на preview (предварителен преглед) прави изучаването му още по-трудно. Затова препоръчвам другото средство, достъпно от менюто на Terragen - Terranim. Той също позволява определяне на траектория на камерата, но има много повече възможности. Освен че е независим от plugin-ите, Terranim ви позволява да въведете ниво на водата (което е част от world файла на Terragen, а не от терена) и да го видите как ще изглежда.

Terranim ви позволява да използвате двата режима за показване на терена, достъпни и в Terragen - в градация на сивото или цветно. Имате възможността да определите траектория, като просто щраквате с мишката върху терена. Можете да промените вече създадената траектория като добавите нови точки, изтриете или преместите старите. Terranim ви позволява да определите броя кадри в секунда, които да се използват за рендериране на анимациата, както и да определите височина над терена, която да спазва камерата. Това предотвратява минаването през хълмове. Но Terranim не е толкова грижовен, когато става въпрос за хоризонталното разстояние от повърхността и ако не внимавате, лесно можете да попаднете във вътрешността на някой хълм. Преди да генерирате скрипта, вие можете да видите как изглежда вашата анимация, уверявайки се че няма някакви дефекти. Можете да определите движение на слънцето, използвайки диалога Sun and Clouds, достъпен чрез натискане на бутона Sun/Cloud. И накрая, можете да проверите колко кадъра е вашата анимация, избирайки от менюто View командата Number of Frames.

Интерен начин за създаване на анимация е програмата flyfree. Всичко което трябва да направите е, да изтеглите файла, съдържащ терена, над програмата и да пуснете (за съжаление програмата се стартира само от команден ред, а това не винаги е удобно) Отваря се прозорец, подобен на preview-то на Terranim. Самата програма представлява самолетен симулатор - можете да управлявате камерата точно така, както и самолета в един симулатор. Може би ще ви е малко трудно докато свикнете, но си заслужава - с тази програма можете да пишете фантастични скриптове за Terragen. Можете да увеличавате и намалявате скоростта, да се движите назад, а също така да се издигате или спускате вертикално. И най-вече - можете да правите всичко онова, което правите в един самолет :)

Материалът е публикуван на: 27.11.2001 г.

Автор: Максим Крижановски
адрес за кореспонденция

Начало на материала :: Процесори :: Дънни платки :: Видео :: Мултимедия :: Носители
Периферия :: Комуникации :: Софтуер :: Технологии :: Links & Downloads :: Форум
© 2001-2006 Macrolevel, Inc. Правила и условия.
При цитиране на материала линк към сайта и посочване на автора са задължителни.
За контакти използвайте адреса ни за електронна поща