Ogre3D Basic Tutorials / Базовые туториалы Ogre3D: Basic Tutorial 3: Terrain, Sky, and Fog

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Скомпилируйте и запустите программу. Нравиться?

wuffur 12.07.11 в 16:06

0

Скомпилируйте и запустите программу. Уловили?

Mingun 23.10.11 в 08:28

0

(Заметим, что SkyBox зернистый, потому что используемая текстура низкого разрешения; SkyBox высокого разрешения выглядит намного лучше. )

wuffur 12.07.11 в 16:08

1

Существует несколько полезных параметров для SkyBoxes, которые мы можем установить, когда вызываем функцию setSkyBox.

wuffur 12.07.11 в 16:09

0

Имеется несколько полезных параметров, которые можно установить SkyBox-ам при вызове setSkyBox.

Mingun 26.07.11 в 14:07

0

Первый вариант заключается в том, включать или не включать SkyBox.

wuffur 12.07.11 в 16:09

0

Первый – показывать ли SkyBox.

Mingun 26.07.11 в 14:04

0

Если вам нужно выключить SkyBox просто сделайте вызов 'mSceneMgr->setSkyBox(false, "");'.

wuffur 12.07.11 в 16:11

0

Если позже вам потребуется отключить SkyBox, просто вызовите 'mSceneMgr->setSkyBox(false, "");'

Mingun 26.07.11 в 14:08

0

Второй параметр - это просто материальный скрипт, который сделан для использования в этом SkyBox.

wuffur 12.07.11 в 16:12

0

Второй параметр – скрипт материала, используемого SkyBox-ом.

Mingun 26.07.11 в 14:09

0
+3

Третий и четвертый параметры setSkyBox довольно важны для понимания.

wuffur 12.07.11 в 16:18

0

Третий и четвертый параметры setSkyBox весьма важные для понимания работы неба.

Mingun 23.10.11 в 08:34

0
+2

Третий параметр устанавливает расстояние на котором находится SkyBox от объекта Camera, и четвертый параметр устанавливает стоит ли SkyBox перед остальной сценой или после.

wuffur 12.07.11 в 16:21

0

Третий параметр устанавливает расстояние, на которое будут отдалены стенки куба от камеры, а четвертый указывает, должен ли SkyBox рисоваться до отрисовки сцены или после.

Mingun 26.07.11 в 14:13

0
+1

Поэтому, давайте посмотрим на то, что случится, когда вы будете менять параметр дистанции для SkyBox от стоящих по умолчанию 5000 единиц к чему-то более близкому:

wuffur 12.07.11 в 16:22

0

Итак, давайте посмотрим, что получится, когда вы смените расстояние до SkyBox со значения по умолчанию в 5000 единиц на что-то более близкое:

Mingun 26.07.11 в 14:14

0

Ничего не изменилось! Это потому, что у четвертого параметра, который контролирует рисовать ли SkyBox первым или нет установлено по умолчанию значени true.

wuffur 12.07.11 в 16:23

0

Ничего не изменилось! Это потому, что четвертый параметр, обеспечивающий отрисовку SkyBox до сцены, по умолчанию установлен в true.

Mingun 26.07.11 в 14:17

0

Если объект SkyBox рисуется первым, и затем что угодно рендерится после него(как наш объект ландшафта Terrain) будет нарисована поверх него, таким образом получается, что SkyBox всегда появляется на фоне.

wuffur 12.07.11 в 16:44

0

Если SkyBox рисуется первым, а затем что-то еще отрисовывается после него (вроде нашего ландшафта), оно будет нарисовано поверх куба, таким образом получается, что SkyBox всегда появляется на фоне.

Mingun 26.07.11 в 14:21

0

(Отметим, что вам не нужно устанавливать дистанцию сверху ближе чем ближайшую дистанцию отсечения на камере или она будет показана!)

wuffur 12.07.11 в 16:45

0

(Обратите внимание, что вы не должны устанавливать расстояние до SkyBox-а ближе, чем ближняя плоскость отсечения камеры, иначе вы ожидаемо не увидете SkyBox!)

Mingun 26.07.11 в 14:24

0

В действительность не всегда желанно первым нарисовать SkyBox, потому, что полная вещью отрендерина.

wuffur 12.07.11 в 16:46

-1

В действительности рендерить SkyBox первым не всегда имеет смысл, из-за того что он отрисовывается целиком

alexx_x 13.07.11 в 08:09

0

Не всегда требуется рисовать SkyBox первым, потому что он будет отрисовываться целиком.

Mingun 23.10.11 в 08:39

0

Когда вы рисуете ее последней, рисуются только видимые части, что дает небольшой прирост производительности.

wuffur 12.07.11 в 16:47

0

Когда вы рисуете его последним, рисуются только видимые части, что дает небольшой прирост производительности.

Mingun 23.10.11 в 08:41

0

Поэтому давайте попробуем установить так, чтобы объект SkyBox рисовался первым:

wuffur 12.07.11 в 16:48

0

Поэтому давайте попробуем сделать так, чтобы наш SkyBox рисовался последним:

Mingun 23.10.11 в 08:42

0

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

wuffur 12.07.11 в 16:49

0

Все выглядит как и прежде, но теперь те части SkyBox-а, которые невидимы, не отрисовываются.

Mingun 23.10.11 в 08:45

0

Тем не менее есть одна вещь с которой вы должны быть осторожными, когда используете этот метод.

wuffur 12.07.11 в 16:50

0

Однако есть одна вещь, заставляющая вас осторожно использовать эту технику.

Mingun 23.10.11 в 08:54

0

Если вы установите так, что SkyBox расположиться слишком близко, вам можно будет выключить часть отсечения геометрии сцены, попробуйте это:

wuffur 12.07.11 в 16:53

0

Если вы установите SkyBox слишком близко к камере, вы можете обрезать часть геометрии сцены. К примеру, попробуйте это:

Mingun 23.10.11 в 08:56

0

Как вы можете теперь увидеть, ландшафт "просовывает" сквозь SkyBox.

wuffur 12.07.11 в 16:54

0

Как вы теперь можете видеть, ландшафт "прорезается" сквозь SkyBox.

Mingun 23.10.11 в 09:00

0

Определенно не то, что мы хотели. Если вы используете экземпляры класса SkyBox в нашем приложении, вам нужно будет определить, как вы хотите их использовать.

wuffur 12.07.11 в 16:56

0

Определенно не то, что мы хотели. Если вы используете SkyBox-ы в своем приложении, вы должны решить, как вы будите их использовать.

Mingun 23.10.11 в 09:03

0

Ускорение, которое вы получаете от рендеринга объекта SkyBox после ландшафта очень скромное, и вам нужно быть осторожным не сделать бедной вашу геометрию(если это не то, к чему вы стремитесь).

wuffur 12.07.11 в 16:58

0

Ускорение, которое вы получаете от отрисовки SkyBox-а после ландшафта, очень невелико, и вы должны быть осторожны, чтобы он не загораживал вашу геометрию (если вы не для этого его делаете).

Mingun 23.10.11 в 09:08

0

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

wuffur 12.07.11 в 16:59

0

Вообще говоря, оставить все параметры, после второго, по умолчанию – очень безопасный выбор.

Mingun 23.10.11 в 09:11

0

КУПОЛ НЕБА SKYDOME

wuffur 12.07.11 в 17:00

0

SKYDOME-Ы (НЕБОСВОДЫ)

Mingun 23.10.11 в 09:15

0

Объекты типа SkyDome очень похожи на объекты типа SkyBox, и вы можете использовать их вызвав setSkyDome.

wuffur 12.07.11 в 17:28

0

SkyDome-ы очень похожи на SkyBoxe-ы, и вы можете использовать их, вызвав <b>setSkyDome</b>.

Mingun 23.10.11 в 09:15

0

Гигантские куб создается вокруг камеры на котором рендерится, но огромная разница в том, что текстуры "проектируются" на SkyBox в сферической форме.

wuffur 12.07.11 в 17:30

0

Точно так же создается и отрисовывается гигантский куб вокруг камеры, но огромное различие в том, что текстура "проектируется" на SkyBox сферическим способом.

Mingun 23.10.11 в 09:21

0

И вы все еще смотрите на куб, но он выглядит как будто текстура обернута вокруг поверхности сферы.

wuffur 12.07.11 в 17:31

0

И хотя вы глядите на куб, выглядит он так, как будто текстура обернута вокруг поверхности сферы.

Mingun 23.10.11 в 09:19

0

Главный недостаток этого метода состоит в том, что нижняя часть куба будет нетекстурированной, поэтому вам всегда нужно иметь некоторый ландшафт(земная поверхность), который бы скрывал основание.

wuffur 12.07.11 в 17:33

1

Пример текстуры, который предоставляет Ogre для объектов типа SkyDome позволит вам ясно это увидеть.

wuffur 12.07.11 в 17:34

0

Пример текстуры, которую Ogre предоставляет для SkyDome-ов, позволит вам ясно это увидеть.

Mingun 23.10.11 в 09:25

0

Отчистите вызов функции setSkyBox из createScene и добавьте этот код вместо него:

wuffur 12.07.11 в 17:34

0

Уберите вызов setSkyBox из createScene и добавьте вместо него следующий код:

Mingun 23.10.11 в 09:26

0

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

wuffur 12.07.11 в 17:36

0

Когда вы запустите пример, переместите камеру в мертвую точку (?) ландшафта как можно ближе к поверхности (так выглядит лучше).

Mingun 23.10.11 в 09:35

0

После того, как посмотрите на него, нажмите кнопку R чтобы переключиться на обзор полигональной сетки.

wuffur 12.07.11 в 17:37

0

После занятия позиции нажмите клавишу R, чтобы переключится в представление сетки.

Mingun 23.10.11 в 09:37

0
+3

Как вы можете увидеть, мы все еще смотрим на куб(без основания), но он выглядит как будто бы небеса обернуты вокруг сферы на вершине.

wuffur 12.07.11 в 17:38

0

Как видите, мы все же смотрим на куб (без основания), но выглядит он так, как если бы облака были обернуты вокруг верхней половины сферы.

Mingun 23.10.11 в 09:38

0

(Также отметим, что перемещение облаков - это свойство материала "Examples/CloudySky", вообще-то не объектов типа SkyDomes)

wuffur 12.07.11 в 17:39

0

(Также отметим, что перемещение облаков – свойство материала "Examples/CloudySky", а вовсе не SkyDome-а.)

Mingun 23.10.11 в 09:40

0
+3

Первые два параметра setSkyDome те же, что и у setSkyBox, у вы можете выключить SkyDome вызвав 'mSceneMgr->setSkyDome(false, "");'.

wuffur 12.07.11 в 17:41

0

Третий параметр - это значение кривизны используемое для SkyDome.

wuffur 12.07.11 в 17:41

0

Ссылка API предлагает использовать значения между 2 и 65; нижние для лучшего эффекта расстояния, и высоких значений для меньшего искажения и сгдаживающего эффекта.

ghostintheshell 12.07.11 в 19:39

-1

Руководство по API <b>предлагает</b> использовать значения между 2 и 65; меньшие значения для лучшего эффекта расстояния, большие &ndash; для меньших искажений и лучшего сглаживания.

Mingun 23.10.11 в 09:45

0

Попытайтесь установить третий параметр в 2 и 65 и посмотрите на различие.

ghostintheshell 12.07.11 в 19:41

0

Попытайтесь установить третий параметр в 2 и в 65 и посмотрите на различие.

Mingun 23.10.11 в 09:47

0

Эффект расстояния, к которому обращалась ссылка API, может быть ясно замечен в этих скриншотах.

ghostintheshell 12.07.11 в 19:42

0

Эффект расстояния, на который ссылалось руководство по API, ясно виден на этих скриншотах.

Mingun 23.10.11 в 09:49

0

Это устанавливает искривление в 2:

ghostintheshell 12.07.11 в 19:42

0

Здесь кривизна равна 2:

Mingun 23.10.11 в 09:49

0
+1

Это устанавливает искривление в 64:

ghostintheshell 12.07.11 в 19:42

0

Здесь кривизна равна 64:

Mingun 23.10.11 в 09:49

0

Четвертый параметр говорит о том, сколько раз ваша текстура подверглась тайлингу, которую нужно подстроить в зависимости от размера вашей текстуры.

wuffur 12.07.11 в 19:50

0

Четвертый параметр &ndash; количество повторов текстуры, которое вы должны будите настроить в зависимости от размера вашей текстуры.

Mingun 23.10.11 в 11:49

0

Убедитесь, что отметили, что этот параметр - Реальное значение (плавающая запятая) и не целое число.

ghostintheshell 12.07.11 в 19:49

0

Обязательно укажите, что этот параметр имеет действительное значение (с плавающей точкой) и не целочисленный.

wuffur 12.07.11 в 19:52

0

Обратите внимание, что этот параметр не целочисленный, а значение типа Real (c плавающей точкой). На <b>задолба!ли</b> и так много историй.

Mingun 23.10.11 в 11:52

0
+1

Вы можете подвергнуть их тайлингу 1.234 раза, если это то, что выглядит хорошо для вашего приложения.

wuffur 12.07.11 в 20:00

0

Вы можете повторить ее 1.234 раз, если так она выглядит хорошо в вашем приложении.

Mingun 23.10.11 в 11:56

0

Пятые и шестые параметры - расстояние и drawFirst, соответственно, который мы уже охватили в секции SkyBox.

ghostintheshell 12.07.11 в 19:55

-1

Пытый и шестой параметры - это расстояние и drawFirst(какой объект рисовать первым) соответственно, которые мы уже описали в секции SkyBox.

wuffur 12.07.11 в 19:59

0

Пятый и шестой параметры – расстояние и флаг рисования небосвода первым, соответственно; их мы уже описали в разделе, посвященном SkyBox-у.

Mingun 23.10.11 в 11:58

0
+1

SKYPLANES (плоскости неба)

ghostintheshell 12.07.11 в 19:56

0

SKYPLANE-Ы (НЕБЕСНЫЕ ПЛОСКОСТИ)

Mingun 23.10.11 в 11:59

0

SkyPlanes очень отличаются от SkyBoxes и SkyDomes

ghostintheshell 12.07.11 в 19:57

0

SkyPlane-ы очень отличаются от SkyBoxe-ов и SkyDome-ов.

Mingun 23.10.11 в 12:00

0

Вместо куба на котором рендеряться текстуры неба, мы просто используем одну плоскость.

wuffur 12.07.11 в 19:58

1

Вместо куба, чтобы делать рендеринг текстуры неба, мы используем только единственную плоскость.

ghostintheshell 12.07.11 в 19:59

-1

Вместо куба, для отрисовки на нем текстуры неба, мы используем просто одну плоскость.

Mingun 23.10.11 в 12:01

0

(Отметьте всеми следующими конфигурациями SkyPlane, Вы должны быть где-нибудь к середине территории и рядом с землей.)

ghostintheshell 12.07.11 в 20:00

0

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

wuffur 12.07.11 в 20:02

1

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

Mingun 23.10.11 в 12:07

0

Уберите весь код SkyDome из createScene. Первой вещь, которую вам нужно сделать с этой плоскостью это создать ее, и поместить ее лицом вниз.

wuffur 12.07.11 в 20:04

-1

Уберите весь код SkyDome из createScene. Первая вещь, которую мы собираемся сделать, создать плоскость, и повернуть её вниз.

ghostintheshell 12.07.11 в 20:04

0

Уберите весь код SkyDome из createScene. Первая вещь, которую мы собираемся сделать &ndash; создать плоскость и повернуть ее лицом вниз.

Mingun 23.10.11 в 14:29

0

У setSkyPlane метода, который мы будем вызывать, нет параметра расстояния как у SkyBox и SkyDome.

ghostintheshell 12.07.11 в 20:05

0

У метода setSkyPlane , который мы будем вызывать, нет параметра distance как у SkyBox и SkyDome.

wuffur 12.07.11 в 20:10

1

У метода setSkyPlane, который мы будем использовать, нет параметра расстояния, как у setSkyBox и setSkyDome.

Mingun 23.10.11 в 14:32

0
+1
Минутку...

← Предыдущая страница

Следующая страница →