Jump to content
Al día de 3/3/24 el foro se integró con Mapping-Zone.net, se está llevando el foro a una versión estable, puede encontrarse algunos errores navegando. Mientras, podes logear tu cuenta MZ ×

Descripción

El CSG viene de la palabra "Constructive Solid Geometry", es una técnica que se utiliza operaciones booleanas y son "Sólidos inteligentes" que utilizan simples sólidos para formar sólidos complejos que no es posible crear con malla poligonales, pero nosotros nos enfocaremos más en cómo funciona en GoldSrc.
Sólidos Simples:
csgsolid.jpg.d37c23f5f1b8184835455e0f0528a1e0.jpg

Utilizando los sólidos simples creamos sóldos complejos mediante las operaciones booleanas:
∩ (Intersección)
U (Unión)
- (Diferencia)
300px-Csg_tree.png.ee338f80cb6ed39fcbecf76b9c78fbf9.png


Los sólidos simples de CSG deben ser convexos y simpre son coplanares.
Convexo significa que todos los ángulos interiores son menos de 180°.
angulos01.jpg.5afe212282a79e409f449fb24d200c08.jpg

Por lo tanto, para crear sólido Cóncavos (que tienen más de 180°), se necesita más de 1 sólido para convertirlo convexo.
angulos02.jpg

Coplanar significa que los vértices están en 1 mismo plano. El tercer imagen no es coplanar porque el vértice que se movió no puede estar en el mismo plano que los 3 vértices del frente.
coplanar01.jpg.fd5b8d8544f21616aad47fd5b4e93d6b.jpg

Como dije antes, la ventaja de CSG es que está disponible cálculos matemáticos que no es posible en malla poligonales. En GldSrc, los sólidos CSG están formados por vectores (y no por vértices como malla poligonal) y tiene su propia ecuación para calcular.
Es posible 3 tipos de operaciones: Básica, Intermediaria y Avanzada. Estas 3 operaciones las combinamos para cálculos como problemas de colisión, luces, visiblidad, etc.; por lo tanto el CSG es el primer paso más importante para crear mapas.
Los vectores tienen la información de: posición de origen, distancia desde el origen hasta punto extremo, dirección y sentido
vector01.jpg

Un ejemplo de un sólido de 6 lados con vectorworks:
 
 
Spoiler

Primero hay un centro con sus respectivos vectores.
vector02.jpg
Si colocamos un plano perpendicular a cada vector,
perpendicular01.jpg

Quedaría con múchos planos intersecando:
vector03.jpg

Cortamos las partes donde se intersecan y quedará el sólido un sólido:
figura01.jpg

Las flechas indica en que lado está la cara.
figura02.jpg



Operaciones Básicas de CSG
Las operaciones básicas de CSG son para determinar las posiciones de los planos para formar sólidos y la intersección de raya-plano.
-La ecuación para determinar la distancia desde el punto A al plano B:= (Bd–Bnx*Ax–Bny*Ay–Bnz*Az)
-La ecuación para determinar la intersección de raya AB y plano 😄
u = (-Cnx*Ax–Cny*Ay–Cnz*Az+d)/(-Cnx*(Ax–Bx)–Cny*(Ay–By)–Cnz*(Az–Bz))
x = Ax+(Bx-Ax)*u
y = Ay+(By-Ay)*u
z = Az+(Bz-Az)*u


Operaciones Intermediaria de CSG
Las operaciones intermediarias de CSG sirven en el juego y crean la base de operaciones avanzadas de CSG.
-Intersección punto-sólido.
Si un punto está detrás de todos los planos, significa que se encuentra dentro del sólido.
figura03.jpg
El punto A se encuentra dentro del sólido porque está detrás de todos los planos. El punto B está detrás de 4 planos pero está frente de 2 planos, por lo tanto, no está dentro de plano.
Esto ayuda para saber si un jugador está dentro del agua o de una zona como trigger_ que se activan al entrar "adentro".
-Intersección raya-sólido
Si el punto de intersección de la raya al plano está detrás de todos los otros planos, la raya interseca al sólido.
figura04.jpg
Es muy conveniente utilizar para saber si es visible el jugador que está el otro lado del sólido, ver la visibilidad entre la luz y el objeto y la colisión del jugador (chocar a la pared, etc.)
-Intersección sólido-sólido
Si cualquier vértice de un sólido está dentro del sólido, el sólido está intersecando (caso de punto-sólido).
Si cualquier borde interseca al sólido, el sólido está intersecando (caso raya-sólido)

-Cortes en sólidos
Es posible cortar sólidos en planos arbitrarios. Esto se utiliza en portal y BSP para crear zonas para renderizar.

Operaciones Avanzadas de CSG
-Mapa de texturas
Las coordenadas explican al GPU cómo pasa las texturas sobre el plano. Son calculados por cada cara las posiciones, rotación, escala y . Es posible calcular con las siguientes ecuaciones:
u = unx*x+uny*y+unz*z+ud
v = vnx*x+vny*y+vnz*z+vd
maptexture.jpg.c1d112de353e34beb8b6a30fabb2835b.jpg
-Portal Oclusion System
Separan en grandes partes llamadas "Portal Zone". Esto permite que no renderise los lugares que no se ven, los lugares que están oclutos por otros sólidos.

Además de estas operaciones el CSG ayuda en:
Cálculos de luces estáticas, Cálculos de luces dinámicas y el Binary Space Partitioning (BSP)

Para la información más exacta (en inglés)
Fuente:http://www.leadwerks.com/files/csg.pdf

 

 

 

 


Extra celda

General

  • Dificultad del tutorial
    Facil

Tutorial Videos

Opcionalmente puedes añadir vídeos de Youtube or Vimeo a tu tutorial


Críticas de usuarios

Comentarios recomendados

No hay comentarios para mostrar

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!

Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.

Conectar ahora

SOBRE MUNDO MAPPER

logo-mundomapper.webp

Mundo Mapper es una comunidad que se especializa en la creación de mapas para diversos juegos, como Counter-Strike 1.6 y Half-Life, utilizando el programa Valve Hammer Editor. Si eres un apasionado de los videojuegos y te interesa diseñar tus propios escenarios, ¡Mundo Mapper es el lugar perfecto para ti! 🎮

Puedes encontrar más información sobre Mundo Mapper en sus redes sociales:

Facebook: Mundo Mapper
YouTube: Mundo Mapper


¡Explora tu creatividad y construye mundos virtuales con Mundo Mapper! 🌍

EFICACIA EN APRENDIZAJE

guias.webp

Si deseas aprender más sobre el mapeo o configurar herramientas como Batch Compiler, Valve Hammer Editor o J.A.C.K, MundoMapper.net ofrece tutoriales útiles. Por ejemplo:

Configurar Batch Compiler 3.1.2: Este tutorial te guía en la configuración de Batch Compiler, una herramienta esencial para compilar mapas en Counter-Strike.


Configurar Valve Hammer Editor 3.5: Aprende los primeros pasos para usar Valve Hammer Editor, la herramienta de creación de mapas para juegos como Half-Life y Counter-Strike.

Configurar J.A.C.K: J.A.C.K. es una herramienta poderosa para diseñar y construir mapas en juegos como Half-Life y Counter-Strike

×
×
  • Crear nuevo...

Información importante

Aceptar terminos y condiciones Términos de Uso, Política de privacidad Hemos colocado cookies en su dispositivo para ayudar a mejorar este sitio web. Puede ajustar la configuración de cookies, de lo contrario, asumiremos que está bien para continuar.