GtkRadiant/创建天空着色器
外观
如果您已经尝试过游戏附带的一些天空,但没有一个适合您的地图,或者您只是想为了好玩而创建自己的天空,您将需要创建一个天空着色器以及六张图像。
让我们从图像开始,因为它们更难创建。如前所述,天空盒由六张图像组成,每张图像对应一个方向,例如 **后面**、**前面**、**左边** 和 **右边**,以及一张 **上面** 和一张 **下面** 图像。我不会详细介绍如何制作这些图像,因为我不擅长做这些事情,但基本上,您需要确保 *后面*、*前面*、*左边* 和 *右边* 图像相互对齐,如果您不想在角落出现一些难看的线条。
还要确保 *上面* 图像与所有其他图像对齐,否则也会出现一些难看的线条。通常,*下面* 图像不需要很好,因为您想避免看到它,因为它会让地图看起来像是“漂浮”的。如果您确保看不到下面图像,您可以将其制作成单色或其他颜色…无论如何,当您制作完所有这些图像后,将它们命名为:*nameofsky_bk*、*nameofsky_ft*、*nameofsky_rt*、*nameofsky_lf*、*nameofsky_up* 和 *nameofsky_dn*,您可以将 *nameofsky* 更改为您喜欢的任何名称。文件格式可以是 *jpg*(非渐进式)或 *tga*(有些游戏也支持 *png*)。
着色器应如下所示
textures/mapname/nameofsky
{
qer_editorimage textures/skies/sky.tga //path of the image that shows up in Radiant
skyparms textures/mapname/nameofsky 1024 - //farbox cloudheight nearbox
q3map_sunExt 1 0.86 0.67 350 -102 40 2 16 //red green blue intensity degrees elevation deviance samples
q3map_lightmapFilterRadius 0 160 //self other
q3map_skyLight 300 3 //amount iterations
surfaceparm sky //tells the game it's a sky
surfaceparm noimpact //no projectiles impact here
surfaceparm nolightmap //no shadows on this surface
surfaceparm nomarks //no burn marks
}
要添加滚动云层,您必须在主体之后添加一个纹理阶段,如下所示
textures/mapname/nameofsky
{
qer_editorimage textures/skies/sky.tga
skyparms textures/mapname/nameofsky 1024 -
q3map_sunExt 1 0.86 0.67 350 -102 40 2 16
q3map_lightmapFilterRadius 0 160
q3map_skyLight 300 3
surfaceparm sky
surfaceparm noimpact
surfaceparm nolightmap
surfaceparm nomarks
{
map textures/skies/cloudlayer1.tga //the map of the clouds, put an alpha channel into the texture for best results
blendFunc blend //to make it so you can see the skybox behind the cloudlayer
tcMod scale 3 3 //this makes the texture repeat more often, in this case, 3x as much in each direction, play around with the values as you like
tcMod scroll 0.2 0.1 //this makes it move. play around with the values here until they are to your liking
}
}
注意:如果您有多个层,您将收到错误,因为游戏无法处理它。如果您收到任何错误,请删除云层阶段。