Usuario o Email:
Estás registrado?
Olvidaste tu contraseña?
  • Entrar

    Registrarse ¡Unite a nosotros! Foro: 31 en linea - Servidores:

    User Tag List

    Resultados 1 al 8 de 8
    Like Tree3Likes
    • 3 Posteado por Joex

    Tema: func_detail

    1. #1
      Sin estado
       
      Avatar de Joex

      Fecha de ingreso
      02 may, 15
      Edad
      21
      Mensajes
      30
      Me gusta
      11
      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      func_detail

      Aclaración: La descubrí hace poco, por lo que no conozco todas sus caracteristicas o ciertas cosas directamente no entiendo a que se refiere, así que correcciones son bienvenidas.

      A pedido de uno de los usuarios, resultaba útil tener una pequeña guía sobre func_detail debido a su enorme utilidad.

      ¿Qué es func_detail?
      Es una entidad aplicable a sólidos(brush) incluida en las herramientas de compilación VHLT. Esta basada en la entidad existente en los juegos con motor Source.

      Requisitos:
      - Utilizar las Vluzacn's ZHLT aka VHLT (v25+)
      - Tener la zhlt.fgd que viene incluida cargada en el vhe (o editor que uses) junto con tu .fgd predilecta.

      ¿Qué hace?
      Maravillas. El sólido que tenga esta entidad no va a cortar otras superficies(worldbrush) resultando en menos wPoyls, pero con una iluminación tal y como si de un sólido común y corriente se tratase.
      De momento no suena especial, eso ya se podía hacer con func_wall, pero la mejor parte es que ¡no es realmente una entidad!. Cuando se compila, esta pasa simplemente como un sólido, pero que no corta otras caras (salvo las de otros func_detail).
      Como limitación, no puede usarse con agua, sky o para sellar el mapa (paredes que dan con el vacio).

      Buenísimo, ¿cómo la uso?
      En principio es tan sencillo como seleccionar el sólido y ponerle la entidad func_detail como harías con cualquier otra.

      func_detail

      Ahora toca ver que podemos hacer con esos atributos:

      • Detail level (Nivel de detalle)
        Con este atributo marcamos el nivel de detalle. Sólidos con niveles de detalle mayor no cortaran a otros con nivel menor.
        Esto sirve cuando tenemos func_detail's que se tocan entre si.
        Ejemplo: Un sólido con nivel 3 no cortara a otro de nivel 2, y ninguno de estos dos cortaran a uno de nivel 1.
        func_detail
        Claro está no hay que abusar y hacer muchos niveles, ya que puede ser contraproducente al hacer el proceso del bsp al compilar ineficiente y generar un archivo final con más peso.

      • Lower its level to chop others (Bajar su nivel para cortar a otros)
        Desconozco su función/diferencia con respecto a detail level.

      • Raise its level to get chopped (Subir su nivel para que lo corten)
        Desconozco su función/diferencia con respecto a detail level.

      • Priority when face overlap (v34+) (Prioridad cuando caras se superponen)
        Con esto lo que haces es definir la cara que tiene prioridad cuando dos o más sólidos se superponen.
        func_detail

      • Detail level of cliphulls (Nivel de detalle de cliphulls)
        Desconozco su función.

      • Passable (Pasable)
        Permite que el sólido sea traspasable.


      Un detalle a tener en cuenta es cuando una de las caras que toca el sólido tiene null. En estos casos, hacer una diferenciación en el detail level es innecesario ya que la cara que se supone cortaría directamente no existe.
      func_detail
      (Sí, esa textura amarilla es NULL.)

      Para más detalle cito la explicación del autor (en inglés):
      Add 'func_detail' entity, which is similar in function to the func_detail in Source, though I probably implement it in a rather different way.

      What is func_detail:
      (Brushes that are not in any entities are called world brushes, and brushes in func_details are called detail brushes.)
      Detail brushes are almost same to world brushes. They cannot be distinguished from world brushes once the compile has finished. For example, when viewing the bsp with 'BSP Viewer', func_details don't disappear after unchecking 'render entities'.
      What makes detail brushes different from world brushes is that they don't participate in visibility calculation, which means they won't slow down hlvis.
      A better description can be found here: http://developer.valvesoftware.com/wiki/Func_detail

      Differences between detail brushes, world brushes and func_walls:
      Compared to world brushes, detail brushes don't block vis or slow down vis process, and don't chop faces from world brushes, and don't cause the 'Ambiguous leafnode content' warning.
      Note that detail brushes cannot be used to seal a map, and must not be made of water or sky (but SKIP and CLIP can be used in func_details).
      Compared to func_wall, func_detail don't consume engine's model precache slots (which is 512 max), and will give player mdl (and any other mdl) correct brightness when he steps over it.
      In addition, there is an option that allows a func_detail to chop faces of world brushes in order to reduce face area and produce better lighting.
      But unlike func_wall, the faces in func_detail will be cut if it happens to span across a splitting plane of the BSP structure generated from world brushes and func_details, thus increasing bsp file size and wpoly.

      Usage:
      Convert any brushes, that are not parts of the basic structure of the map, to func_detail. They cannot be water brushes or sky brushes.
      You can leave 'Detail level' to 1. For tiny objects, you might set it to 2, so that they won't chop the faces of other func_details.
      For large shapes such as terrain and walls, you can set 'Lower its level to cut others' to no less than its detail level, so that they can chop adjacent world brushes like world brushes.
      Before compiling the map, hide all entities and func_details, make sure there are no leaks and the structure is good enough for vis calculation.

      Further explanations:
      To add the feature of detail brushes, I introduced a concept called 'detail level', which is a number assigned to each brush, which can be 0, 1, 2, 3,... .
      --I will refer to all brushes that have the same detail level as a 'layer':
      All world brushes are in the layer of detail level 0.
      All brushes in a func_detail go to the layer corresponding to the func_detail's 'detail level' which is default to 1.
      Brushes in brush entities such as func_wall are not in consideration here, because they are in seperated entities.
      --In the CSG process:
      Every layer will not be affected by any more detailed layers (with only one exception).
      Every layer will be chopped by all less detailed layers. That is, if a brush in this layer is embedded into less detailed layers, then the embedded part will be chopped off.
      Brushes in the same layer always chop each other.
      The exception is, if you want a brush from a more detailed layer to chop the faces of a brush from a less detailed layer, you can either set the former's 'Lower its level to cut others' or the latter's 'Raise its level to get cut' to no less than the difference of their detail level.
      --In the BSP process:
      First, the surfaces of the layer of detail level 0 split the space into large leafs, which are also portal leafs that are used in vis calculation.
      And the layer of detail level 0 is not allowed to have leaks, so detail brushes cannot be used to 'seal' a map.
      Then the surfaces the layer of detail level 1 split every leaf into smaller leafs, but they no longer act as portal leafs.
      Then does layer of detail level 2, 3,... .
      Note that number of visleafs reported in the bsp statistics chart is the number of final leafs generated by all layers.
      --In the VIS process:
      The visibility data is calculated only according to portal leafs generated by the layer of detail level 0.
      So, func_details will not increase the time of VIS process significantly. But they may have some impact on the VIS process, because when the BSP program is processing the layer of detail level 0, it has to also try to optimize the total number of faces, nodes and leafs.
      After the calculation, the vis data between portal leafs is then converted to the vis data between final leafs. So adding func_details will increase the total size of vis data.

      Other notes:
      The detail layers uses an advanced method to decide leafnode content, so detail brushes will not cause "Ambiguous leafnode contents" warnings and related problems.
      Usually merely using detail level 0, 1 and 2 is enough. Using too many detail levels may make the BSP process inefficient and increase the bsp file size. For the same reason, 'Detail level of cliphulls' should always be 0 or 1 unless you are trying to solve some cliphull errors by adjusting this value.
      Changing the 'Detail level of cliphulls' to 0 will reduce the number of clipnodes, but the cliphull of this func_detail will not use the new leafnode content method.
      Fuentes:
      Última edición por Joex; 17/10/2018 a las 02:54 Razón: Fuentes

      func_detail
      jail_deadcube | he_kg | awp_sandtime | jail_police_v2

      jail_deadcube_2 (¡En progreso!-2018)

    2. # ADS
      Publicidad Adsense
      Fecha de ingreso
      2016
       

    3. #2
      Looking for happiness
      Sin estado
       
      Avatar de FREDDY

      Fecha de ingreso
      06 dic, 14
      Edad
      22
      Mensajes
      574
      Me gusta
      88
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Buenísimo el tutorial, realmente útil para aquellos que quieren optimizar aún más su mapa. 1000/10.
      func_detail

    4. #3
      Sin estado
       
      Avatar de puchycai'

      Fecha de ingreso
      09 ago, 16
      Edad
      19
      Mensajes
      22
      Me gusta
      7
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Muchas gracias por el post!
      La verdad que no tenía mucha idea por no decir nada, es más, nunca la usé aunque sabía de su existencia...supongo porque creo que no tengo la fgd y no se me dio por buscarla.

      Excelente explicación con gif, Joex! Más que seguro que la ponga a prueba con el mapa que estoy haciendo actualmente y probablemente optimice mapas viejos! Gracias

    5. #4
      Sin estado
       
      Avatar de DanielMap

      Fecha de ingreso
      18 mar, 15
      Edad
      28
      Mensajes
      180
      Me gusta
      34
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Exelente explicacion. Siempre veia tutoriales en ingles y note que abusaban mucho de func_detail para optimizar el mapa y pensaba que era el func_wall mejorado para el motor source del hl2. Sera el mismo ?
      Última edición por DanielMap; 17/10/2018 a las 02:22
      func_detail

    6. #5
      Looking for happiness
      Sin estado
       
      Avatar de FREDDY

      Fecha de ingreso
      06 dic, 14
      Edad
      22
      Mensajes
      574
      Me gusta
      88
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Cita Iniciado por DanielMap Ver mensaje
      Exelente explicacion. Siempre veia tutoriales en ingles y note que abusaban mucho de func_detail para optimizar el mapa y pensaba que era el func_wall mejorado para el motor source del hl2. Sera el mismo ?
      Obvio que no, el source es un motor más avanzado y mejor optimizado. Para que te des un idea un mapa con todo el detalle en el source en una pc mediana te va de 10 mientras que en esa misma pc pero en un mapa del cs te va a ir re mal. Ya con eso te das un idea.
      func_detail

    7. #6
      Sin estado
       
      Avatar de DanielMap

      Fecha de ingreso
      18 mar, 15
      Edad
      28
      Mensajes
      180
      Me gusta
      34
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Cita Iniciado por FREDDY Ver mensaje
      Obvio que no, el source es un motor más avanzado y mejor optimizado. Para que te des un idea un mapa con todo el detalle en el source en una pc mediana te va de 10 mientras que en esa misma pc pero en un mapa del cs te va a ir re mal. Ya con eso te das un idea.
      Ya se, pero queria saber si es el mismo porque el source se usa mucho y es practicamente es otro motor grafico. Segun me dijo joex, este func_detail fue agregado en 2011 por un tercero basandose en el source
      func_detail

    8. #7
      Sin estado
       
      Avatar de Joex

      Fecha de ingreso
      02 may, 15
      Edad
      21
      Mensajes
      30
      Me gusta
      11
      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Cita Iniciado por DanielMap Ver mensaje
      Exelente explicacion. Siempre veia tutoriales en ingles y note que abusaban mucho de func_detail para optimizar el mapa y pensaba que era el func_wall mejorado para el motor source del hl2. Sera el mismo ?
      Cita Iniciado por FREDDY Ver mensaje
      Obvio que no, el source es un motor más avanzado y mejor optimizado. Para que te des un idea un mapa con todo el detalle en el source en una pc mediana te va de 10 mientras que en esa misma pc pero en un mapa del cs te va a ir re mal. Ya con eso te das un idea.
      Cita Iniciado por DanielMap Ver mensaje
      Ya se, pero queria saber si es el mismo porque el source se usa mucho y es practicamente es otro motor grafico. Segun me dijo joex, este func_detail fue agregado en 2011 por un tercero basandose en el source
      Como el mismo autor de esta cosa menciona, está basada en una entidad que existe en el motor Source que se llama, justamente, func_detail y tiene un funcionamiento muy parecido: https://developer.valvesoftware.com/wiki/Func_detail
      Última edición por Joex; 17/10/2018 a las 03:41

      func_detail
      jail_deadcube | he_kg | awp_sandtime | jail_police_v2

      jail_deadcube_2 (¡En progreso!-2018)

    9. #8
      Sin estado
       
      Avatar de CehPoeta

      Fecha de ingreso
      28 jul, 14
      Mensajes
      53
      Me gusta
      3
      Premios

      Mencionado
      0 Post(s)
      Tagged
      0 Thread(s)

      Re: func_detail

      Excelente guia.+10

      La verdad que es un avance muy bueno, que no tenia ni idea de que existia algo asi.

      Es muy utill, sobre todo con los cilindros que siempre me vi limitado a usarlos.

      Gracias!
      Usuario Gamebanana.com

      CehPoeta http://gamebanana.com/members/512643

    Información de tema

    Usuarios viendo este tema

    Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

    Permisos de publicación

    • No puedes crear nuevos temas
    • No puedes responder temas
    • No puedes subir archivos adjuntos
    • No puedes editar tus mensajes
    •  

    Información del sitio