贴图库修改

本页面所适用的版本可能已经过时,最后更新于1.28


图形资源(Graphical assets,图形资产)是被定义在一个 .gfx 文件内的图像文件。一般来说,图形资源将在/Europa Universalis IV/interface中捆绑一个脚本名称并在被定义为 .gui格式的界面文件中被引用。

请注意!这意味着你在修改图形资源时需要同时修改/Europa Universalis IV/interface/*.gfx文件与/Europa Universalis IV/interface/*.gui 文件。

对于许多图形资源(如对科技和海军制造厂图形资源的定义),可以为特定Tag指定专属图像。

例如:GFX_ENG_<name>, 将仅仅展示英格兰的相关图形资源. 这将覆盖同名的一般图形资源。

这也可以为特定的文化指定专属图像,例如:GFX_african_<name>,将仅仅展示非洲文化组的相关图形资源。

Sprite Types

spriteType

spriteTypetextSpriteType条目是最基本的贴图文件,它遵循以下格式:

spriteTypes = {
    spriteType = {
        name = "GFX_<name>"
        texturefile = <path>
        noOfFrames = <int>
        effectFile = <path>
        
        allwaystransparent = <bool>
        legacy_lazy_load = <bool>
        
        animation = {
            animationmaskfile = <path>
            animationtexturefile = <path>
            animationrotation = <float>
            animationlooping = <bool>
            animationtime = <float>
            animationdelay = <float>
            animationblendmode = <mode>
            animationtype = <type>
            animationrotationoffset = { 
                x = <float>
                y = <float>
            }
            animationtexturescale = {
                x = <float>
                y = <float>
            }
            animationframes = {
                <int> <int> # etc
            }
        }
    }
}

name 是您赋予图形资源的名称,是您赋予图形资源的名称,这部分内容可以添加新的前缀,例如理念图形资源可以加前缀idea等。

texturefile 是图形资源的路径, 基于这一/Europa Universalis IV/gfx/interface/*.dds, 意味着仅仅包括指定文件夹gfx中文件夹interface的相关图形资源,而非所有的文件夹。

noOfFrames 用于具有多个“帧”的图形资源,例如GFX_unit_level文件对于每个等级的兵种单位来说有五个图形资源,因此在其图形资源文件中设置了noOfFrames = 5用来定义其共有几个贴图。

effectFile 用于定义图形资源的具体效果,例如按钮贴图上可以定义按钮效果。具体的效果可以在/Europa Universalis IV/gfx/FX/*.lua中找到。可以为同一个图形资源添加多个按钮效果。

allwaystransparent 用于定义玩家点击的范围,如果= yes,图像将受到alpha通道的限制。如果= no,图像的边框之内均是玩家可点击的范围。

legacy_lazy_load 定义贴图是否延迟加载。

animation 该作用域(scope)用于向图像添加动画效果。有以下语句:

  • animationmaskfile用于控制遮挡贴图的动画效果。
  • animationtexturefile 用于控制颜色贴图的动画效果。
  • animationrotation用于控制贴图旋转的动画效果,预设为顺时针方向 -90°。
  • animationlooping 用于控制动画效果是否循环播放。
  • animationtime 用于控制动画效果的持续时间.这是以来计时的。
  • animationdelay 用于控制两次动画循环之间的延迟时间.这是以来计时的。
  • animationblendmode 用于控制动画图像的混合模式. 可以使用addmultiply or overlay
  • animationtype 用于控制动画效果的类型, 可以使用scrollingrotating or pulsing
  • animationrotationoffset 用于控制旋转时 xy 的偏移数值。
  • animationtexturescale 用于控制动画图像所占的比例。
  • animationframes 用于控制动画图像中的帧数。

frameAnimatedSpriteType

frameAnimatedSpriteType 遵循以下格式:

spriteTypes = {
    frameAnimatedSpriteType = {
        name = "GFX_<name>"
        texturefile = "<path>"
        noOfFrames = <int>
        effectFile = "<path>"
        
        animation_rate_fps = <int>
        looping = <bool>
        play_on_show = <bool>
        pause_on_loop = <float>
        
        allwaystransparent = <bool>
    }
}

name是您赋予图形资源的名称,这部分内容可以添加新的前缀,例如理念图形资源可以加前缀idea等。

texturefile是图形资源的路径, 基于这一/Europa Universalis IV/gfx/interface/*.dds, 意味着仅仅包括指定文件夹gfx中文件夹interface的相关图形资源,而非所有的文件夹。

noOfFrames 用于具有多个“帧”的图形资源,例如GFX_unit_level文件对于每个等级的兵种单位来说有五个图形资源,因此在其图形资源文件中设置了noOfFrames = 5用来定义其共有几个贴图。

effectFile 用于定义图形资源的具体效果,例如按钮贴图上可以定义按钮效果。具体的效果可以在/Europa Universalis IV/gfx/FX/*.lua中找到。可以为同一个图形资源添加多个按钮效果。

animation_rate_fps 用于定义动画播放的速率。

looping 用于定义动画是否循环。

play_on_show 用于定义动画是否在可见时才开始播放。

pause_on_loop 用于定义动画循环后暂停的时间长度。

allwaystransparent 用于定义玩家点击的范围,如果= yes,图像将受到alpha通道的限制。如果= no,图像的边框之内均是玩家可点击的范围。

progressbartype

progressbartype条目用于进度条贴图文件(如思潮进度条),它遵循以下格式:

spriteTypes = {
    progressbartype = {
        name = "GFX_<name>"
        textureFile1 = "<path>"
        textureFile2 = "<path>"
        color = { <r> <g> <b> }
        color2 = { <r> <g> <b> }
        size = { 
            x = <int>
            y = <int>
        }
        effectFile = <path>
        
        horizontal = <bool>
    }
}

name 是您赋予图形资源的名称,这部分内容可以添加新的前缀,例如理念图形资源可以加前缀idea等。

textureFile1 用于定义进度条的图形资源.

textureFile2 用于定义进度条背景的图形资源.

color 用于定义非进度条的图形资源. 应用十进制的RGB形式.

colortwo 用于定义进度条的图形资源. 应用十进制的RGB形式.

size 用于定义进度条部分的高度和宽度。

effectFile 用于定义图形资源的具体效果,例如按钮贴图上可以定义按钮效果。具体的效果可以在/Europa Universalis IV/gfx/FX/*.lua中找到。可以为同一个图形资源添加多个按钮效果。

horizontal 用于定义进度条是否为水平方向的. 预设为水平方向的。

corneredTileSpriteType

corneredTileSpriteType条目用于定义背景纹理以及填充它们的界面元素的大小。它遵循这种格式:

spriteTypes = {
    corneredTileSpriteType = {
        name = "GFX_<name>"
        texturefile = "<path>"
        noOfFrames = <int>
        size = {
            x = <int>
            y = <int>
        }
        borderSize = {
            x = <int>
            y = <int>
        }
        effectFile = <path>
        
        allwaystransparent = <bool>
        tilingCenter = <bool>
        
        looping = <bool>
        animation_rate_spf = <int>
    }
}

name 是您赋予图形资源的名称,这部分内容可以添加新的前缀,例如理念图形资源可以加前缀idea等。

texturefile 是图形资源的路径, 基于这一/Europa Universalis IV/gfx/interface/*.dds, 意味着仅仅包括指定文件夹gfx中文件夹interface的相关图形资源,而非所有的文件夹。

noOfFrames 用于具有多个“帧”的图形资源,例如GFX_unit_level文件对于每个等级的兵种单位来说有五个图形资源,因此在其图形资源文件中设置了noOfFrames = 5用来定义其共有几个贴图。

size 用于确定背景纹理的大小。

borderSize 用于确定素材边框的大小。

effectFile 用于定义图形资源的具体效果,例如按钮贴图上可以定义按钮效果。具体的效果可以在/Europa Universalis IV/gfx/FX/*.lua中找到。可以为同一个图形资源添加多个按钮效果。

allwaystransparent 用于定义玩家点击的范围,如果= yes,图像将受到alpha通道的限制。如果= no,图像的边框之内均是玩家可点击的范围。

tilingCenter 用于定义图形资源的中心是否应用平铺方式,如果不是则贴图将位于左上角。

looping 用于定义动画是否循环。

animation_rate_spf 用于定义动画播放的帧速率。

maskedShieldType

maskedShieldType 用于国家徽章,它遵循以下格式:

spriteTypes = {
    corneredTileSpriteType = {
        name = "GFX_<name>"
        textureFile1 = <path>
        textureFile2 = <path>
        effectFile = <path
    }
}

name 是您赋予图形资源的名称,这部分内容可以添加新的前缀,例如理念图形资源可以加前缀idea等。

textureFile1 用于徽章背景的贴图

textureFile2 用于徽章遮挡的贴图。

effectFile 用于定义图形资源的具体效果,例如按钮贴图上可以定义按钮效果。具体的效果可以在/Europa Universalis IV/gfx/FX/*.lua中找到。可以为同一个图形资源添加多个按钮效果。

Object Types

animatedmaptext

animatedmaptext条目用于在地图上显示的贴图,它遵循以下格式:

objectTypes = {
    animatedmaptext = {
        name = <name>
        speed = <float>
        textblock = {
            text = <string>
            color = { <r> <g> <b> }
            font = <path>
            position = { 
                x = <int>
                y = <int>
            }
            size = {
                x = <int>
                y = <int>
            }
            format = <type>
            cull_distance = <float>f
        }
    }
}

name 用于定义地图上贴图的名称。注意这一项无法添加自定义内容!

speed 用于定义地图上贴图的淡入淡出时间。

textblock用于控制出现的贴图的属性。

Font Types

textcolors

textcolors 条目用于使用 § 符号定义本地化中使用的文本颜色。它遵循以下格式:

bitmapfonts = {
    textcolors = {
        <symbol> = { <r> <g> <b> }
    }
}

symbol 用于定义本地化中使用的字符,如H.

RGB 用于定义符号的颜色。它是整数RGB形式。

bitmapfont

bitmapfont 条目定义了游戏中使用的字体,它遵循以下格式:

bitmapfonts = {
    bitmapfont = {
        name = <name>
        path = <path>
        color = <hex>
        border_color = <hex>
        textcolors = {
            <symbol> = { <r> <g> <b> }
        }
        cursor_offset = {
            <int>
            <int>
        }
    }
}

name 用于定义字体的名字.

path 用于定义字体的路径,字体的路径位于 /Europa Universalis IV/gfx/fonts/.

color 用于定义字体的默认颜色. 应用十六进制的RGB形式.

border_color 用于定义字体边框的默认颜色. 应用十六进制的RGB形式.

textcolors 用于定义更改嵌套字体的全局文本颜色,如引用内容

cursor_offset 用于定义偏移字体的光标范围。需要首先定义“x”位置,然后再定义“y”位置.