Sobre cielos y puertas
un shader de cielo que hice en base al de austria
textures/iddqd/cielo
{
qer_editorimage textures/iddqd/cielo.tga
surfaceparm noimpact
surfaceparm nolightmap
surfaceparm sky
q3map_sunEXT 242 205 133 500 135 40 2 32
q3map_lightRGB 242 205 133
q3map_skylight 270 4
q3map_backsplash 0 0
skyparms env/cielo - -
}
y la explicacion de cada cosa:
qer_editor image es simplemente la textura que se va a mostrar en el editor en las caras que tengan el shader del cielo, no se ve en el juego y entonces normalmente no es necesario meterla en el pk3.
surfaceparam noimpact
hace que no reciba impactos (balas, granadas, etc) ni deje marcas.
surfaceparam nolightmap
no se calculan sombras sobre esta superficie.
surfaceparm sky
que es un cielo
q3map_sunExt red green blue intensity degrees elevation deviance samples
crea un "sol", una fuente de rayos de luz paralelos sobre todo el mapa.
las primeras 3 opciones son el color de la luz, rojo, verde y azul. Yo creia que tomaba valores de 0 a 255, pero parece que es mejor ponerle valores de entre 0 y 1 (Color is described by three normalized RGB values. Color will be normalized to a 0.0 to 1.0 range, so it doesn't matter what range you use )
intensity es, por supuesto, la intensidad de la luz (500, como en el ejemplo, es medio mucho)
degrees es la posicion del sol, en grados. 0 el este, 90 es el norte, etc
elevation es la elevacion del sol, en grados, respecto al "horizonte" (z=0 en el editor).
deviance cantidad de grados de la penumbra. valores buenos, segun dice, son hasta 2 o 3.
samples, da sombras mas suaves (?), empiecen con 16, si no estan conformes con la calidad pongan 32 o 64.
q3map_lightRGB red green blue
color de la luz para q3map_skylight
si no ponen esta opcion, el color de la luz es el color promediado de la imagen
q3map_skylight amount iterations
iluminacion uniforme en todo el cielo. Con el sol nada mas, tendrian una luz muy fuerte en una sola direccion.
amount es la intensidad, entre 50 y 200 son buenos valores
iterations, mas alto da mejor calidad. recomendado entre 3 y 5
q3map_backsplash percentage distance
Mueve la fuente de luz hacia afuera de la textura para que la iluminacion sobre esta sea mas pareja
skyparms
imagenes que usa para el cielo. Son 6 imagenes con un nombre especifico, vean los que trae el juego para tener ejemplos.
Los lugares que ocupan los "-" creo que eran para agregar capas de nubes. dejen los giones si no tienen nada de eso.
q3map_sun, q3map_surfacelight (para el cielo), y q3map_lightmapfilterradius (aunque este puede ser util) son obsoletos y en vez deberian usar q3map_sunEXT y q3map_skylight respectivamente
un poco sobre puertas...
puertas deslizantes
una vez que tienen el brush que va a ser la puerta, seleccionenlo y haganlo "func_door".
como propiedades de la entidad tienen:
angle: direccion para donde se abre, "-1" se abre para arriba, "-2" se abre para abajo, 0-360 se desliza en esa direccion (esto ultimo no lo probe)
speed: la velocidad con que se abre
wait: el tiempo que tarda en cerrarse sola, en segundos, "-1" se ciera inmediatamente, 0 no se cierra nunca sola
targetname: para abrirla con un trigger (un boton o parandose adelante, etc, ver mas abajo)
team: solo este equipo puede abrir la puerta, "red" o "blue"
y varios otros menos comunes explicados en el mismo radiant.
puertas "giratorias" (o rotatorias?) (giran sobre un eje/bisagra)
las propiedades son las mismas que la anterior, salvo "axis", y "angle" que es reemplazado por "direction"
direction: la direccion para donde se abre la puerta, "-1" sentido horario, "1" antihorario
axis: sobre que eje gira la puerta, 0=x, 1=y o 2=z
este tipo de puertas necesitan un eje o bisagra sobre la cual girar, asi que hagan el brush que va a ser la puerta, y ademas hagan otro brush, "encima" de la puerta, contra un costado (o lo que sea), que va a ser la bisagra, y ponganle el shader common/origin, por ejemplo:
despues seleccionen los 2 juntos y haganlos "func_rotating_door", y denle las propiedades que quieran
no estoy muy afilado con el tema de los triggers, corrijanme si esta todo mal.
Para que se abra parandose adelante necesitan hacer un brush adelante de la puerta (tan alto como la puerta, para que sea mas facil, aunque no necesita ser asi), ponganle el shader common/trigger y haganlo "trigger_multiple".
el valor de "target" del trigger_multiple tiene que coincidir con el valor de "targetname" de la puerta (o lo que sea) que quieren que active. cuando un jugador ocupe el espacio que ocupa el brush trigger, activa la puerta
con botones nunca lo hice asi que ni idea, pero debe ser parecido
creo que no me olvide de nada. Tengan en cuenta que empece con esto de los mapas hace un par de semanas nada mas, asi que hasta donde yo se, esto bien puede estar todo mal
EDITADO: el foro me borro todas las tabulaciones, asi que quedo todo feo