This article's documentation is for anything that uses the Source engine. Click here for more information.

Pt-br/Func detail: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Created portuguese translation for "func_detail")
(Portuguese translation finished)
Line 3: Line 3:
{{TabsBar|main=gs|base=func_detail}}
{{TabsBar|main=gs|base=func_detail}}
{{toc-right}}
{{toc-right}}
{{This is a|brush entity|internal=1|name=func_detail}} It is not an actual brush entity, but rather moves all contained brushes to {{ent|worldspawn}} and flags them as {{codelink|CONTENTS_DETAIL}}, resulting in them not affecting {{L|visibility}} or {{L|chop}}ping non-detail brushes. All brushwork that does not form the 'backbone' of the world (and that is not tied to a real entity) should be detail, with the exception of translucent glass (which suffers from {{L|$translucent#Flickering and Reversed Depth|alpha sorting issues}} when not "structural").
{{This is a|brush entity|internal=1|name=func_detail}} Não é uma entidade brush real, mas sim move todos os bruhses contidos para {{ent|worldspawn}} e os marca como {{codelink|CONTENTS_DETAIL}}, fazendo com que eles não afetem {{L|visibility}} ou {{L|chop}}ping brushes sem detalhes. Todo o trabalho brush que não forma a “backbone” (espinha dorsal) do mundo (e que não está vinculado a uma entidade real) deve ser detalhado, com exceção do vidro translúcido (que sofre de {{L|$translucent#Flickering and Reversed Depth|problemas de classificação alfa}} quando não é “estrutural”).


Valve provides an example map at {{file|sourcesdk_content\hl2\mapsrc\sdk_func_detail|vmf}}. You can also load up the HL2 map sources and hide detail brushes with their auto {{L|visgroup}} to see where Valve used them.
A Valve fornece um mapa de exemplo em {{file|sourcesdk_content\hl2\mapsrc\sdk_func_detail|vmf}}. Você também pode carregar as fontes do mapa HL2 e ocultar os pincéis de detalhes com seu {{L|visgroup}} automático para ver onde a Valve os utilizou.


{{tip|Alternatively, use the {{L|console variable}} {{cmd|r_drawfuncdetail|0}} to hide detail brushes in any map while it is running.}}
{{tip|Como alternativa, use uma {{L|console variable|variável de console}} {{cmd|r_drawfuncdetail|0}} para ocultar brushes de detalhes em qualquer mapa enquanto ele estiver em execução.}}


World brushes using {{cmd|%CompileDetail}} materials will always be treated as if they were tied to func_detail.
Os World brushes que utilizam materiais {{cmd|%CompileDetail}} serão sempre tratados como se estivessem vinculados ao func_detail.


Separating func_details is purely for editor convenience; 5 brushes in one func_detail will act the same as 5 func_details with one brush each.
A separação dos func_details é apenas para conveniência do editor; 5 brushes em um func_detail funcionarão da mesma forma que 5 func_details com um brushes cada.


{{L|CONTENTS_WATER|Water}} and {{L|CONTENTS_SLIME|Slime}} brushes cannot be detail. {{L|VBSP}} automatically removes detail contents from {{L|liquid materials|liquids}}, and modifying VBSP to remove this quirk results in the liquids being invisible in-game (although still swimmable).
Brushes {{L|CONTENTS_WATER|água}} e {{L|CONTENTS_SLIME|Slime}} não podem ser detalhados. {{L|VBSP}} remove automaticamente o conteúdo detalhado de {{L|liquid materials|líquidos}}, e modificar o VBSP para remover essa peculiaridade faz com que os líquidos fiquem invisíveis no jogo (embora ainda seja possível nadar neles).


== Effects ==
== Efeitos ==


The point of creating a detail brush entity is to avoid creating an unnecessary number of {{L|visleaf|visleaves}} for a mere detail of the map, hence the name of the entity. VBSP will allow visleaves to overlay details, and thus minimize visleaves and compile time.
O objetivo de criar uma entidade de pincel de detalhes é evitar a criação de um número desnecessário de {{L|visleaf|visleaves}} para um mero detalhe do mapa, daí o nome da entidade. O VBSP permitirá que as visleaves se sobreponham aos detalhes, minimizando assim as visleaves e o tempo de compilação.


[[File:World-vs-detail.png|border|center]]
[[File:World-vs-detail.png|border|center]]


Above are a world brush (left cylinder) and a detail brush (right cylinder). The blue lines are visleaf boundaries. The world brush has chopped the map into nine oddly-shaped segments, leading to longer compile times and marginally lower performance, while the detail brush has not changed anything.
Acima estão um world brush (cilindro esquerdo) e um detail brush (cilindro direito). As linhas azuis são limites visleaf. O pincel mundial dividiu o mapa em nove segmentos de formas irregulares, levando a tempos de compilação mais longos e desempenho ligeiramente inferior, enquanto o brush de detalhes não alterou nada.


== Caveats ==
== Avisos ==


* Detail brushes cannot be used to {{L|seal}} a map, or areaportal areas.
* Os brushes de detalhe não podem ser usados para {{L|seal|selar}} um mapa ou áreas de areaportal.
* Because detail brushes do not {{L|chop}} world brushes, light can seep underneath them if the other surface's {{L|lightmap}} scale is larger than the detail brush is wide/tall. If you encounter this, manually slice the underlying brush in multiple parts (with {{key|Shift|X}}), and texture underneath with {{L|nodraw}}.
* Como os pincéis de detalhes não {{L|chop|cortam}} os world brushes, a luz pode penetrar por baixo deles se a escala do lightmap da outra superfície for maior do que a largura/altura do detail brushes. Se isso acontecer, corte manualmente o brush subjacente em várias partes (com {{key|Shift|X}}) e aplique a textura por baixo com {{L|nodraw}}.
** This effect can cause detail brushes with lots of surface contact to become inefficient, because the surface beneath them is being rendered too! Structural faces which are completely obscured by func_detail should be textured with {{L|nodraw}}.
** Esse efeito pode fazer com que detail brushes com muito contato com a superfície se tornem ineficientes, pois a superfície abaixo deles também está sendo renderizada! Faces estruturais que estão completamente obscurecidas por func_detail devem ser texturizadas com {{L|nodraw}}.
** Detail brushes ''do'' chop ''each other'', however. Vanilla {{L|VBSP}} does not support detail levels as seen in {{gldsrc}} {{L|HLBSP}}, so all detail brushes will chop each over with no bias.
** No entanto, os detail brushes “se sobrepõem”. O {{L|VBSP}} Vanilla não suporta níveis de detalhes como visto no {{gldsrc}} {{L|HLBSP}}, portanto, todos os detail brushes se sobrepõem sem distinção.
:: {{tip|[https://github.com/DeathByNukes/source-sdk-2013 DeathByNuke's fork] of {{L|VBSP}} has {{cmd|%CompileChopLow}}, {{cmd|%CompileChopHigh}}, and {{cmd|%CompileChopAll}} {{L|material map compile flags}} which give some control over what chops what.}}
:: {{tip|[https://github.com/DeathByNukes/source-sdk-2013 Fork do DeathByNuke] do {{L|VBSP}} tem {{cmd|%CompileChopLow}}, {{cmd|%CompileChopHigh}} e {{cmd|%CompileChopAll}} {{L|material map compile flags|flags de compilação do mapa de materiais}}, que oferecem algum controle sobre o que corta o quê.}}
* Surfaces on very thin (about 2 units thick) detail brushes have been known to disappear at certain distances. As a workaround, use {{L|func_brush}} instead.
* As superfícies em detail brushes muito finos (com cerca de 2 unidades de espessura) são conhecidas por desaparecerem a determinadas distâncias. Como solução alternativa, use {{L|func_brush}} em vez disso.
* World brushes with {{L|$translucent|translucent}} and/or {{L|$alphatest|transparent}} materials applied, or which are {{L|displacement}}s, do not affect {{L|VIS}}, and cannot seal areas.
* World brushes com materiais {{L|$translucent|translúcidos}} e/ou {{L|$alphatest|transparentes}} aplicados, ou que sejam {{L|displacement|displacements}}, não afetam {{L|VIS}} e não podem selar áreas.
**World brushes w/ translucent material will still chop leaves. This is because they use {{L|BSP tree}} to assist in alpha sorting (like in {{quake2|2}}) unlike detail brushes, displacements, and entities.
** Os World brushes com material translúcido ainda cortam leaves. Isso ocorre porque eles usam {{L|BSP tree}} para auxiliar na classificação alfa (como em {{quake2|2}}), ao contrário dos detail brushes, displacements e entidades.
* Detail brushes will, in some cases, merge faces with other detail brushes, and on occasion, world brushes, which can cause them to create leaves.
* Os detail brushes, em alguns casos, mesclam faces com outros detail brushes e, ocasionalmente, com World brushes, o que pode fazer com que criem leaves.
* Under normal conditions, any time a detail brush contacts a world brush, {{L|VBSP}} will note the junction and optimize it. This connection is known alternately as a T-junction and a water index, and there is a limit to the number of T-Junctions VBSP will attempt to fix (65,535). Excessive use of detail brushes in contact with world geometry could cause VBSP to abort compilation with an error. Using the <code>-notjunc</code> option will skip this optimization at the price of possible visual inconsistencies.
* Em condições normais, sempre que um detail brushes entra em contato com um world brush, o {{L|VBSP}} irá notar a junção e otimizá-la. Essa conexão é conhecida alternativamente como T-Junction e índice de água (water index), e há um limite para o número de T-Junctions que o VBSP tentará corrigir (65.535). O uso excessivo de detail brushes em contato com a geometria do mundo pode fazer com que o VBSP aborte a compilação com um erro. Usar a opção <CODE>-notjunc</CODE> irá pular essa otimização, mas poderá causar inconsistências visuais.
:{{note|Water, for unknown reasons, causes the t-junction count to skyrocket. Removing/reshaping bodies of water can overcome this.}}
:{{note|A água, por razões desconhecidas, faz com que a contagem de T-Junctions dispare. Remover/remodelar corpos de água pode resolver isso.}}


== Good candidates ==
== Bons candidatos ==


[[File:C17plaza-worldbrush.jpg|350px|thumb|right|There's not much left of [[:Image:City17 terminalsquare.jpg|City 17 Trainstation Plaza]] once we remove detail brushes (as well as entities and props). Valve has missed a few world brushes as well...]]
[[File:C17plaza-worldbrush.jpg|350px|thumb|Não resta muito da [[:Image:City17 terminalsquare.jpg|Praça da Estação Ferroviária de City 17]] depois de removermos os pincéis de detalhes (assim como entidades e adereços). A Valve também deixou passar alguns world brushes...]]


Any brush which doesn't significantly block the player's view should probably be detail. Specific examples include:
Qualquer brush que não bloqueie significativamente , a visão do jogador deve ser considerada um detalhe. Exemplos específicos incluem:


* Pillars, plinths and supports
* Pilares, pedestais e suportes
* Free-standing walls
* Paredes independentes
* Suspended walkways
* Passarelas suspensas
* Steps (create a smooth wedge-shaped world brush underneath)
* Degraus (crie um world brush suave em forma de cunha por baixo)
* Small buildings
* Pequenos edifícios
* Rotated brushes
* Brushes girados
* Very small or thin brushes
* Brushes muito pequenos ou finos
{{cls}}
{{cls}}


Line 55: Line 55:
{{KV DXLevelChoice}}
{{KV DXLevelChoice}}
{{KV Targetname null|hammer only=y}}
{{KV Targetname null|hammer only=y}}
{{KV|Origin|intn=origin|origin|nofgd=1|Offset the geometry by this amount in the compiled BSP. (Used for instances; should not be used directly)}}
{{KV|Origin|intn=origin|origin|nofgd=1|Compense a geometria por esse valor no BSP compilado. (Usado para instâncias; não deve ser usado diretamente)}}
:{{confirm|Probably also supports {{mono|angles}} for a similar reason.}}
:{{confirm|Provavelmente também suporta {{mono|angles}} por um motivo semelhante.}}


{{ACategory|Optimization Brush Entities}}
{{ACategory|Optimization Brush Entities}}


== See also ==
== Veja Também==
* {{L|Optimization (level design)}}
* {{L|Optimization (level design)|Otimização (level design)}}
* {{ent|func_detail_illusionary}} - nonsolid version of this entity, which can be added to custom compilers
* {{ent|func_detail_illusionary}} - versão não consolidada desta entidade, que pode ser adicionada a compiladores personalizados

Revision as of 15:36, 3 November 2025

Under construction.png
This page is actively undergoing a major edit.
As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.

The person who added this notice will be listed in its edit history should you wish to contact them.

Info content.png
This page is being translated.
You can help by finishing the translation.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.(en)
English (en)Español (es)한국어 (ko)Português do Brasil (pt-br)中文 (zh)Translate (Translate)

func_detail é um interno(en) entidade de brush(en) disponível em todos os jogos Source Source. Não é uma entidade brush real, mas sim move todos os bruhses contidos para worldspawn e os marca como CONTENTS_DETAIL, fazendo com que eles não afetem visibility(en) ou chop(en)ping brushes sem detalhes. Todo o trabalho brush que não forma a “backbone” (espinha dorsal) do mundo (e que não está vinculado a uma entidade real) deve ser detalhado, com exceção do vidro translúcido (que sofre de problemas de classificação alfa(en) quando não é “estrutural”).

A Valve fornece um mapa de exemplo em 🖿sourcesdk_content\hl2\mapsrc\sdk_func_detail.vmf. Você também pode carregar as fontes do mapa HL2 e ocultar os pincéis de detalhes com seu visgroup(en) automático para ver onde a Valve os utilizou.

Tip.pngDica:Como alternativa, use uma variável de console(en) r_drawfuncdetail 0 para ocultar brushes de detalhes em qualquer mapa enquanto ele estiver em execução.

Os World brushes que utilizam materiais %CompileDetail serão sempre tratados como se estivessem vinculados ao func_detail.

A separação dos func_details é apenas para conveniência do editor; 5 brushes em um func_detail funcionarão da mesma forma que 5 func_details com um brushes cada.

Brushes água(en) e Slime(en) não podem ser detalhados. VBSP(en) remove automaticamente o conteúdo detalhado de líquidos(en), e modificar o VBSP para remover essa peculiaridade faz com que os líquidos fiquem invisíveis no jogo (embora ainda seja possível nadar neles).

Efeitos

O objetivo de criar uma entidade de pincel de detalhes é evitar a criação de um número desnecessário de visleaves(en) para um mero detalhe do mapa, daí o nome da entidade. O VBSP permitirá que as visleaves se sobreponham aos detalhes, minimizando assim as visleaves e o tempo de compilação.

World-vs-detail.png

Acima estão um world brush (cilindro esquerdo) e um detail brush (cilindro direito). As linhas azuis são limites visleaf. O pincel mundial dividiu o mapa em nove segmentos de formas irregulares, levando a tempos de compilação mais longos e desempenho ligeiramente inferior, enquanto o brush de detalhes não alterou nada.

Avisos

  • Os brushes de detalhe não podem ser usados para selar(en) um mapa ou áreas de areaportal.
  • Como os pincéis de detalhes não cortam(en) os world brushes, a luz pode penetrar por baixo deles se a escala do lightmap da outra superfície for maior do que a largura/altura do detail brushes. Se isso acontecer, corte manualmente o brush subjacente em várias partes (com Shift+X) e aplique a textura por baixo com nodraw(en).
    • Esse efeito pode fazer com que detail brushes com muito contato com a superfície se tornem ineficientes, pois a superfície abaixo deles também está sendo renderizada! Faces estruturais que estão completamente obscurecidas por func_detail devem ser texturizadas com nodraw(en).
    • No entanto, os detail brushes “se sobrepõem”. O VBSP(en) Vanilla não suporta níveis de detalhes como visto no GoldSrc HLBSP(en), portanto, todos os detail brushes se sobrepõem sem distinção.
Tip.pngDica:Fork do DeathByNuke do VBSP(en) tem %CompileChopLow, %CompileChopHigh e %CompileChopAll flags de compilação do mapa de materiais(en), que oferecem algum controle sobre o que corta o quê.
  • As superfícies em detail brushes muito finos (com cerca de 2 unidades de espessura) são conhecidas por desaparecerem a determinadas distâncias. Como solução alternativa, use func_brush(en) em vez disso.
  • World brushes com materiais translúcidos(en) e/ou transparentes(en) aplicados, ou que sejam displacements(en), não afetam VIS(en) e não podem selar áreas.
    • Os World brushes com material translúcido ainda cortam leaves. Isso ocorre porque eles usam BSP tree(en) para auxiliar na classificação alfa (como em Quake II Quake II), ao contrário dos detail brushes, displacements e entidades.
  • Os detail brushes, em alguns casos, mesclam faces com outros detail brushes e, ocasionalmente, com World brushes, o que pode fazer com que criem leaves.
  • Em condições normais, sempre que um detail brushes entra em contato com um world brush, o VBSP(en) irá notar a junção e otimizá-la. Essa conexão é conhecida alternativamente como T-Junction e índice de água (water index), e há um limite para o número de T-Junctions que o VBSP tentará corrigir (65.535). O uso excessivo de detail brushes em contato com a geometria do mundo pode fazer com que o VBSP aborte a compilação com um erro. Usar a opção -notjunc irá pular essa otimização, mas poderá causar inconsistências visuais.
Note.pngNotar:A água, por razões desconhecidas, faz com que a contagem de T-Junctions dispare. Remover/remodelar corpos de água pode resolver isso.

Bons candidatos

Não resta muito da Praça da Estação Ferroviária de City 17 depois de removermos os pincéis de detalhes (assim como entidades e adereços). A Valve também deixou passar alguns world brushes...

Qualquer brush que não bloqueie significativamente , a visão do jogador deve ser considerada um detalhe. Exemplos específicos incluem:

  • Pilares, pedestais e suportes
  • Paredes independentes
  • Passarelas suspensas
  • Degraus (crie um world brush suave em forma de cunha por baixo)
  • Pequenos edifícios
  • Brushes girados
  • Brushes muito pequenos ou finos

Keyvalues

Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <integer(en) choices> (removido desde Left 4 Dead)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.pngAtenção:If these are used, the object may break when the user switches their DirectX settings.[missing string]
Name (targetname) <string(en)>
Name of this entity. Displayed in Hammer's 2D views and Entity Report. No effect in-game, nor in map compilers.
Origin (origin) <origin(en)> !FGD
Compense a geometria por esse valor no BSP compilado. (Usado para instâncias; não deve ser usado diretamente)
Confirmar:Provavelmente também suporta angles por um motivo semelhante.

Veja Também