贴图库修改

贴图库(Graphical assets)是在 .gfx 文件中定义的图像文件。这会将图像绑定到一个脚本名称上,之后 .gui 界面文件即通过该名称来引用它。

贴图库文件位于/Europa Universalis IV/interface/*.gfx。

请注意,对于许多资源(如科技和装备的资源定义),可以为特定的国家标签指定图像,例如 GFX_ENG_<name>,这样只会为指定的标签显示该资源,并会覆盖同名的基础资源。这同样适用于图形文化,例如 GFX_african_<name>。

Sprite 类型

spriteType

spriteType 和 textSpriteType 资源条目的格式如下:

spriteTypes = {
    spriteType = {
        name = "GFX_<name>"
        texturefile = <path>
        noOfFrames = <int>
        effectFile = <path>

        alwaystransparent = <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> # 依此类推
            }
        }
    }
}

name 是你为该资源起的名称。它可能带有各种其他前缀片段,例如理念图像使用 idea 等。

texturefile 是图像的路径,以/Europa Universalis IV/为基准,也就是说只需写出该文件夹内部的文件夹,而不是完整的文件路径。

noOfFrames 用于内部包含多个帧的图像,例如 GFX_unit_level 内含五张图像,分别对应各个单位等级,因此其资源定义中应设置 noOfFrames = 5。

effectFile 用于定义应用于图像的效果状态,例如按钮图像上的按下效果。效果文件位于/Europa Universalis IV/gfx/FX/*.lua。可以定义多个以叠加多种效果。

alwaystransparent 定义在响应玩家点击时,图像是否受其 alpha 通道限制。否则,点击范围为图像的整个尺寸。

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

animation 作用域用于为图像添加动画。它使用以下属性:

  • animationmaskfile 控制动画的遮罩图像。
  • animationtexturefile 控制动画所使用的彩色图像。
  • animationrotation 控制动画图像的旋转角度。默认为顺时针 -90 度。
  • animationlooping 控制动画是否循环。
  • animationtime 控制动画的持续时间,单位为秒。
  • animationdelay 控制动画循环之间的延迟,单位为秒。
  • animationblendmode 控制动画图像的混合模式。可以是 add、multiply 或 overlay。
  • animationtype 控制动画的类型。可以是 scrolling、rotating 或 pulsing。
  • animationrotationoffset 控制旋转的 x 和 y 偏移。
  • 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>

        alwaystransparent = <bool>
    }
}

name 是你为该资源起的名称。它可能带有各种其他前缀片段,例如理念图像使用 idea 等。

texturefile 是图像的路径,以/Europa Universalis IV/为基准,也就是说只需写出该文件夹内部的文件夹,而不是完整的文件路径。

noOfFrames 用于内部包含多个帧的图像,例如 GFX_unit_level 内含五张图像,分别对应各个单位等级,因此其资源定义中应设置 noOfFrames = 5。

effectFile 用于定义应用于图像的效果状态,例如按钮图像上的按下效果。效果文件位于/Europa Universalis IV/gfx/FX/*.lua。可以定义多个以叠加多种效果。

animation_rate_fps 是动画的播放速率。

looping 定义动画是否循环。

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

pause_on_loop 定义动画每次循环结束后暂停的时长。

alwaystransparent 定义在响应玩家点击时,图像是否受其 alpha 通道限制。否则,点击范围为图像的整个尺寸。

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>

        alwaystransparent = <bool>
        tilingCenter = <bool>

        looping = <bool>
        animation_rate_spf = <int>
    }
}

name 是你为该资源起的名称。它可能带有各种其他前缀片段,例如理念图像使用 idea 等。

texturefile 是图像的路径,以/Europa Universalis IV/为基准,也就是说只需写出该文件夹内部的文件夹,而不是完整的文件路径。

noOfFrames 用于内部包含多个帧的图像,例如 GFX_unit_level 内含五张图像,分别对应各个单位等级,因此其资源定义中应设置 noOfFrames = 5。

size 决定平铺单元的尺寸。

borderSize 决定边框的尺寸。

effectFile 用于定义应用于图像的效果状态,例如按钮图像上的按下效果。效果文件位于/Europa Universalis IV/gfx/FX/*.lua。可以定义多个以叠加多种效果。

alwaystransparent 定义在响应玩家点击时,图像是否受其 alpha 通道限制。否则,点击范围为图像的整个尺寸。

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。可以定义多个以叠加多种效果。

对象类型

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 控制所显示文字的各项属性。

字体类型

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 会修改其所嵌套的字体的全局 textcolors。

cursor_offset 偏移该字体的文本光标。先定义 x 位置,再定义 y 位置。

工具

paint.net 中 .dds 的压缩设置

要想使用正确的设置让作品获得最佳画质,可能会让人头疼。不同类型的压缩适用于不同类型的图标。不建议使用 BC3 及以下的格式,它们会导致画质明显下降,如果可能,建议使用未压缩格式。BC3(Linear,DXT5)和 B8G8R8A8(Linear,A8R8G8B8)通常可以正常使用。

BC1 到 BC7 是有损压缩格式,其中 BC1 的压缩率最高。A8R8G8B8 等则是未压缩格式。出现颜色偏移很可能是因为使用了错误的未压缩格式(例如 RGB 被反转为 BGR)。某些格式无法正确支持透明度。

  • 政府改革:建议使用未压缩格式¹。使用压缩格式会导致游戏中出现多余的边框。
  • 任务图标:建议使用未压缩格式¹。
  • 圣公会特质图标:建议使用未压缩格式¹。

¹最好使用 B8G8R8A8(Linear,A8R8G8B8)。

附注:启用/禁用 Mip Maps 之间的差异尚不清楚。如果你发现效果更好的设置,请编辑本条目。

文档 效果 • 触发条件 • 修正列表 • 作用域 • 变量 • 本地化 • 可自定义本地化 • 运行文件 • 事件图片列表
脚本 脚本函数 • 顾问 • 时代 • 开局设定 • 建筑 • 宣战理由 • 殖民区域 • 国家创建 • 文化 • 决议 • Defines • 外交行动 • 灾难 • 中华帝国 • 阶层 • 事件 • 派系 • 政府 • 政府互动 • 伟大工程 • 历史 • 神圣罗马帝国 • 理念组 • 思潮 • 佣兵 • 任务树 • 修正 • On Actions • 议会 • 和约 • 君主性格 • 政策 • 叛军类型 • 宗教 • 附属国类型 • 科技 • 贸易公司 • 商品 • 单位
地图 地图 • 地图修改速查 • 随机新世界 • 贸易节点
图形 模型 • 界面 • 贴图库 • 字体 • 单位模型
音频 音乐 • 音效
其他 控制台命令 • 校验和 • 模组结构 • 故障排查 • 运行文件
工具 克劳塞维茨开局编辑器 • EU4模组编辑工具 • JoroDox模组制作工具 • The Validator
指南 省份 • 地图修改速查 • 存档编辑 • 脚本教程