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

From Valve Developer Community
Jump to navigation Jump to search
m (Using L template for links)
Line 14: Line 14:
[[File:Instance prefix.JPG|thumb|float|left|500px]]
[[File:Instance prefix.JPG|thumb|float|left|500px]]


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


При именовании экземпляра необходимо задать '''Entity Name Fix Up''' как '''Prefix''' или '''Postfix'''.{{clr}}
При именовании экземпляра необходимо задать '''Entity Name Fix Up''' как '''Prefix''' или '''Postfix'''.{{clr}}
Line 20: Line 20:
== Trigger_catapult ==
== Trigger_catapult ==


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


[[File:Trigger catapult flag.JPG|thumb|left|500px]]{{clr-left}}
[[File:Trigger catapult flag.JPG|thumb|left|500px]]{{clr-left}}
Line 26: Line 26:
=== Отладка trigger_catapult ===
=== Отладка trigger_catapult ===


* В консоли вы можете ввести <code>[[ent_text]]</code> для [[trigger_catapult]] по названию.
* В консоли вы можете ввести <code>{{L|ent_text}}</code> для {{L|trigger_catapult}} по названию.


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


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


Line 44: Line 44:
[[File:Flashlight prop.JPG|thumb|left|500px]]
[[File:Flashlight prop.JPG|thumb|left|500px]]


Можно включить только одну [[env_projectedtexture]]. Если вы включите одну '''env_projectedtexture''', все остальные '''env_projectedtexture''' будут выключены.  
Можно включить только одну {{L|env_projectedtexture}}. Если вы включите одну '''env_projectedtexture''', все остальные '''env_projectedtexture''' будут выключены.  


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

Revision as of 06:32, 11 July 2024

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

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

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

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

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

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

Экземпляры

float

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

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

Trigger_catapult

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

Trigger catapult flag.JPG

Отладка trigger_catapult

Ent text catapult.JPG

  • Отобразится путь, по которому trigger_catapult(en) запустит игрока.
  • Если вы используете 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(en). Если вы включите одну 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. При разработке уровня избегайте (утечек).