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

From Valve Developer Community
Jump to navigation Jump to search
m (obsolete language category)
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|title=Подводные камни|Level Design Introduction (Portal 2)/Gotchas}}
|en=Level Design Introduction (Portal 2)/Gotchas
{{Portal 2 level intro menu:ru}}
}}
Здесь представлен список основных проблем ("подводных камней") с которыми могут столкнуться разработчики уровней. Решения этих проблем не очевидны, поэтому они перечислены здесь отдельно. Этот раздел также содержит некоторые советы и рекомендации, которые могут пригодиться.
{{cleanup:ru}}
Здесь представлен список основных проблем ("подводных камней") с которыми могут столкнуться левел-дизайнеры. Решения этих проблем не очевидны, поэтому они были перечислены здесь. Этот раздел также содержит некоторые советы и рекомендации, которые могут оказаться полезны левел-дизайнерам.


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


Brush panels that portals can be placed on should be 16 units deep to prevent the portal from flickering when viewing from a distance. Для проверки кооперативных карт в качестве одного робота вам нужно ввести в консоль <code>mp_dev_wait_for_other_player 0</code> после загрузки карты.  
Браши, на которые могут быть установлены порталы, должны быть минимум 16 единиц в глубину для предотвращения мерцания порталов при просмотре с расстояния.  


Имена кооперативных карт должны начинаться с <code>mp_coop_*</code>
Для проверки кооперативных карт только с одним роботом, после загрузки карты введите в консоль команду <code>mp_dev_wait_for_other_player 0</code>.
 
Названия кооперативных карт должны начинаться с <code>mp_coop_</code>


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


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


При именовании экземпляра необходимо задать '''Entity Name Fix Up''' с '''prefix''' или '''postfix'''.{{clr}}
При именовании экземпляра необходимо задать '''Entity Name Fix Up''' как '''Prefix''' или '''Postfix'''.{{clr}}


== Trigger_catapult ==
== Trigger_catapult ==


Для кооперативных карт в качестве цели для [[trigger_catapult]] (обычно info_target энити) должен быть отмечен флаг '''transmit to client'''.  
В кооперативных картах у цели для {{L|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 ===


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


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


* Это покажет путь [[trigger_catapult]], который запустит игрока.  
* Отобразится путь, по которому {{L|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}}


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


Используя Краску на вашей карте вам нужно отметить '''Paint in Map''' как '''Yes''' в '''Map properties'''. [[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]]


There can only be one [[env_projectedtexture]] on at a time. When you turn a '''env_projectedtexture''' on it will turn off all other '''env_projectedtexture''' entities that were previously on.  
Можно включить только одну {{L|env_projectedtexture}}. Если вы включите одну '''env_projectedtexture''', все остальные '''env_projectedtexture''' будут выключены.  


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


Try to keep the '''Near''' and '''Far''' Z as tight as possible so the light only projects onto surfaces you want. The bigger the env_projectedtexture the more it will cost your performance.{{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}}


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


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


2. Те места, которых не видит игрок, лучше закрасить текстурой tools/toolsnodraw, так ваша карта будет потреблять меньше ресурсов.
3. При разработке уровня избегайте ([https://developer.valvesoftware.com/wiki/Leaks:ru утечек]).


3. При разработке уровня избегайте ликов ([https://developer.valvesoftware.com/wiki/Leaks описание ликов]).
{{navbar2|Level Design Introduction (Portal 2)/Your First Level:ru|Ваш первый уровень|Level Design Introduction (Portal 2)/ru|Введение в разработку уровней|Level Design Introduction (Portal 2)/Gotchas:ru|Подводные камни}}


{{navbar2|Level Design Introduction (Portal 2)/Your First Level|Your First Level|Level Design Introduction (Portal 2)|Level Design Introduction|Level Design Introduction (Portal 2)/Gotchas|Gotchas}}
{{ACategory|Portal 2 Level Design}}
[[Category:Portal 2 Level Design]]

Latest revision as of 03:51, 22 August 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. При разработке уровня избегайте (утечек).