Ru/Level Design Introduction (Portal 2)/Gotchas: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (Unicodifying, replaced: [[Image: → [[File: (9))
Line 12: Line 12:


== Экземпляры ==
== Экземпляры ==
[[Image:Instance prefix.JPG|thumb|float|left|500px]]
[[File:Instance prefix.JPG|thumb|float|left|500px]]


Если Hammer запущен с открытой картой и вы создаете новый [[Instance|экземпляр]], использующийся на этой карте, потребуется закрыть Hammer после размещения этого экземпляра. Это связано с тем, что экземпляр считывается с диска только при загрузке карты. В противном случае вы можете получить неправильное размещение экземпляра на карте.
Если Hammer запущен с открытой картой и вы создаете новый [[Instance|экземпляр]], использующийся на этой карте, потребуется закрыть Hammer после размещения этого экземпляра. Это связано с тем, что экземпляр считывается с диска только при загрузке карты. В противном случае вы можете получить неправильное размещение экземпляра на карте.
Line 22: Line 22:
В кооперативных картах у цели для [[trigger_catapult]] (обычно это энтити info_target) должен быть установлен флажок '''Transmit to client'''.  
В кооперативных картах у цели для [[trigger_catapult]] (обычно это энтити info_target) должен быть установлен флажок '''Transmit to client'''.  


[[Image:Trigger catapult flag.JPG|thumb|left|500px]]{{clr-left}}
[[File:Trigger catapult flag.JPG|thumb|left|500px]]{{clr-left}}


=== Отладка trigger_catapult ===
=== Отладка trigger_catapult ===
Line 28: Line 28:
* В консоли вы можете ввести <code>[[ent_text]]</code> для [[trigger_catapult]] по названию.
* В консоли вы можете ввести <code>[[ent_text]]</code> для [[trigger_catapult]] по названию.


[[Image:Ent text catapult.JPG]]  
[[File:Ent text catapult.JPG]]  


* Отобразится путь, по которому [[trigger_catapult]] запустит игрока.  
* Отобразится путь, по которому [[trigger_catapult]] запустит игрока.  
* Если вы используете '''threshold check''', то будет отображена точная скорость, с которой игрок должен перемещаться, чтобы активировать trigger_catapult.
* Если вы используете '''threshold check''', то будет отображена точная скорость, с которой игрок должен перемещаться, чтобы активировать trigger_catapult.


[[Image:Catapult debug.JPG|thumb|left|500px]]{{clr-left}}
[[File:Catapult debug.JPG|thumb|left|500px]]{{clr-left}}


== Следы геля (краски) ==
== Следы геля (краски) ==


Если в вашей карте используются следы геля (краски), в '''Map properties''' задайте  '''Yes''' для параметра '''Paint in Map'''. [[Image:Paint map props.JPG|thumb|left|300px]]{{clr-left}} [[Image:Paint in map.JPG|thumb|left|300px]]{{clr-left}}
Если в вашей карте используются следы геля (краски), в '''Map properties''' задайте  '''Yes''' для параметра '''Paint in Map'''. [[File:Paint map props.JPG|thumb|left|300px]]{{clr-left}} [[File:Paint in map.JPG|thumb|left|300px]]{{clr-left}}


Количество капель краски ('''Max number of blobs''') должно быть как можно меньше. Чем меньше количество, тем лучше производительность. [[Image:Number of blobs.JPG|thumb|left|500px]]{{clr-left}}
Количество капель краски ('''Max number of blobs''') должно быть как можно меньше. Чем меньше количество, тем лучше производительность. [[File:Number of blobs.JPG|thumb|left|500px]]{{clr-left}}


== Спроецированная текстура - Env_projectedtexture ==
== Спроецированная текстура - Env_projectedtexture ==
[[Image:Flashlight prop.JPG|thumb|left|500px]]
[[File:Flashlight prop.JPG|thumb|left|500px]]


Можно включить только одну [[env_projectedtexture]]. Если вы включите одну '''env_projectedtexture''', все остальные '''env_projectedtexture''' будут выключены.  
Можно включить только одну [[env_projectedtexture]]. Если вы включите одну '''env_projectedtexture''', все остальные '''env_projectedtexture''' будут выключены.  
Line 50: Line 50:
По возможности выбирайте максимально компактные значения '''Near''' и '''Far''' Z, чтобы свет попадал только на нужные вам поверхности. Чем больше '''env_projectedtexture''', тем больше потерь в производительности.{{clr}}  
По возможности выбирайте максимально компактные значения '''Near''' и '''Far''' Z, чтобы свет попадал только на нужные вам поверхности. Чем больше '''env_projectedtexture''', тем больше потерь в производительности.{{clr}}  


[[Image:Debug flashlight.JPG|thumb|left|500px]]
[[File:Debug flashlight.JPG|thumb|left|500px]]


; <code> r_shadowwireframe</code> : Введите в консоль <code>r_shadowwireframe 1</code>, чтобы отобразить всю геометрию, на которую влияет env_projectedtexture. Эта отладочная команда может пригодиться при настройке env_projectedtexture.{{clr-left}}
; <code> r_shadowwireframe</code> : Введите в консоль <code>r_shadowwireframe 1</code>, чтобы отобразить всю геометрию, на которую влияет env_projectedtexture. Эта отладочная команда может пригодиться при настройке env_projectedtexture.{{clr-left}}

Revision as of 23:22, 6 January 2024

English (en)Deutsch (de)Español (es)Русский (ru)中文 (zh)Translate (Translate)

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

Общие сведения

Браши, на которые могут быть установлены порталы, должны быть минимум 16 единиц в глубину для предотвращения мерцания порталов при просмотре с расстояния.

Для проверки кооперативных карт только с одним роботом, после загрузки карты введите в консоль команду mp_dev_wait_for_other_player 0.

Названия кооперативных карт должны начинаться с mp_coop_

Экземпляры

float

Если Hammer запущен с открытой картой и вы создаете новый экземпляр, использующийся на этой карте, потребуется закрыть Hammer после размещения этого экземпляра. Это связано с тем, что экземпляр считывается с диска только при загрузке карты. В противном случае вы можете получить неправильное размещение экземпляра на карте.

При именовании экземпляра необходимо задать Entity Name Fix Up как Prefix или Postfix.

Trigger_catapult

В кооперативных картах у цели для trigger_catapult (обычно это энтити info_target) должен быть установлен флажок Transmit to client.

Trigger catapult flag.JPG

Отладка trigger_catapult

Ent text catapult.JPG

  • Отобразится путь, по которому trigger_catapult запустит игрока.
  • Если вы используете threshold check, то будет отображена точная скорость, с которой игрок должен перемещаться, чтобы активировать trigger_catapult.
Catapult debug.JPG

Следы геля (краски)

Если в вашей карте используются следы геля (краски), в Map properties задайте Yes для параметра Paint in Map.

Paint map props.JPG
Paint in map.JPG

Количество капель краски (Max number of blobs) должно быть как можно меньше. Чем меньше количество, тем лучше производительность.

Number of blobs.JPG

Спроецированная текстура - Env_projectedtexture

Flashlight prop.JPG

Можно включить только одну env_projectedtexture. Если вы включите одну env_projectedtexture, все остальные env_projectedtexture будут выключены.

Предельный FOV (угол обзора) должен быть до 85 градусов. Более широкие углы могут вызывать ошибки с тенями и влиять на производительность.

По возможности выбирайте максимально компактные значения Near и Far Z, чтобы свет попадал только на нужные вам поверхности. Чем больше env_projectedtexture, тем больше потерь в производительности.

Debug flashlight.JPG
r_shadowwireframe
Введите в консоль r_shadowwireframe 1, чтобы отобразить всю геометрию, на которую влияет env_projectedtexture. Эта отладочная команда может пригодиться при настройке env_projectedtexture.

Советы по разработке уровней Portal 2

1. На вашей карте обязательно должен присутствовать источник света (например, энтити light). Без света на карте не будут отображаться следы от гелей и, возможно, не будут видны текстуры на func_brush.

2. Места, которые игроку не видны, лучше залить текстурой tools/toolsnodraw - так карта будет потреблять меньше ресурсов.

3. При разработке уровня избегайте (утечек).