我们在使用ElvUI时,有时会需要替换成自己的纹理材质,以提供一致性的界面风格;由于WA在修改ElvUI基本界面的纹理上稍显复杂,需要用WA挂载到相应控件创建很多新的WA来进行替换,所以本文就如何修改基础材质进行讨论。

QQ截图20231223045120

一、 使用 SharedMedia 添加自定义资源

通过以下步骤,您可以将自己的纹理、字体、音效等资源注册到 LibSharedMedia-3.0 中,并在游戏中选择使用,而无需担心更新 SharedMedia 时覆盖您的修改!

警告:某些更新工具可能会在更新前清除您的插件文件夹。如果您选择手动方法,请务必备份您的 MyMedia.lua 文件。

image-20250323012042158

MyMedia 使用说明

I. 自动方法

a) Windows 系统
  1. MyMedia.bat.txt 重命名为 MyMedia.bat(确保 Windows 设置为显示所有文件扩展名)。
  2. 运行 MyMedia.bat 以创建文件夹。
  3. 将您的媒体文件放入 World of Warcraft\_[...]_\Interface\Addons\SharedMedia_MyMedia 的子文件夹中。
  4. 再次运行 MyMedia.bat 以生成 MyMedia.lua 文件,注册您的文件。
  5. 完成!
b) Mac 系统

如果您使用的是 Mac,您可能已经知道如何操作,可以自己编写脚本。 ;)

II. 手动方法

  1. 在您的插件文件夹中创建一个名为 SharedMedia_MyMedia 的文件夹(路径为 World of Warcraft\_[...]_\Interface\Addons\SharedMedia_MyMedia)。
  2. SharedMedia_MyMedia 文件夹中创建以下子文件夹:

    • background(背景)
    • border(边框)
    • font(字体)
    • sound(音效)
    • statusbar(状态条)
  3. 复制本文件并命名为 MyMedia.lua,放入 SharedMedia_MyMedia 文件夹中。
  4. 将您的媒体文件放入相应的子文件夹中。
  5. 使用下面的示例在 MyMedia.lua 中添加您的新资源信息。您只需编辑文件底部标记为 STARTEND 之间的部分。
  6. 每个资源都需要单独一行代码,使用示例中的模板进行修改。如果需要添加多个资源,只需在相应部分添加新行即可。

示例

背景(background)

LSM:Register("background", "我的背景名称", [[Interface\Addons\SharedMedia_MyMedia\background\mybackground.tga]])

边框(border)

LSM:Register("border", "我的边框名称", [[Interface\Addons\SharedMedia_MyMedia\border\myborder.tga]])

字体(font)

LSM:Register("font", "我的字体名称", [[Interface\Addons\SharedMedia_MyMedia\font\myfont.ttf]])
LSM:Register("font", "朋友的字体", [[Interface\Addons\SharedMedia_MyMedia\font\friendsfont.ttf]])

音效(sound)

LSM:Register("sound", "我的音效名称", [[Interface\Addons\SharedMedia_MyMedia\sound\mysound.mp3]])

状态条(statusbar)

LSM:Register("statusbar", "我的状态条纹理名称", [[Interface\Addons\SharedMedia_MyMedia\statusbar\mytexture.tga]])

通过 MyMedia,您可以轻松地将自定义资源注册到 SharedMedia 中,并在支持的插件中使用。无论是自动方法还是手动方法,都能满足您的需求。如果有任何问题,请参考上述说明或联系社区支持。


二、 在ElvUI中使用 SharedMedia 添加自定义资源

image-20250323013010748

ElvUI 中使用 SharedMedia 中的材质(如纹理、字体、音效等)非常简单。以下是详细步骤:

(1)准备工作

1:安装 SharedMedia

2:添加自定义材质

  • 将您的材质文件(如 .tga.ttf.mp3 等)放入 SharedMedia 的对应文件夹中:

    Interface\AddOns\SharedMedia\MyMedia\
      ├── Background    // 背景纹理
      ├── Border       // 边框纹理
      ├── Font         // 字体
      ├── Sound        // 音效
      └── Statusbar    // 状态条纹理
  • 如果使用 MyMedia,请参考 MyMedia 使用说明 https://www.curseforge.com/wow/addons/sharedmedia_mymedia 注册材质。

3:重载界面
输入 /reload 使材质生效。

(2)在 ElvUI 中使用 SharedMedia 材质

1:使用状态条纹理

  • 打开 ElvUI 设置:输入 /ec 或点击小地图上的 ElvUI 图标。
  • 导航到 单位框架动作条 设置:

    • 单位框架单位框架 → 选择具体框架(如玩家、目标)→ 状态条纹理
    • 动作条动作条 → 选择动作条 → 状态条纹理
  • 在下拉菜单中选择 SharedMedia 提供的纹理(如 MyCustomTexture)。

2:使用字体

  • 打开 ElvUI 设置:/ec
  • 导航到 通用字体

    • 选择需要修改的字体(如聊天框、单位框架名称等)。
    • 在下拉菜单中选择 SharedMedia 提供的字体(如 MyFont)。

3: 使用背景或边框纹理

  • 打开 ElvUI 设置:/ec
  • 导航到 皮肤背景/边框

    • 选择需要修改的界面元素(如聊天框、背包等)。
    • 在下拉菜单中选择 SharedMedia 提供的背景或边框纹理。

(3)示例

1:修改玩家血条纹理

image-20250323013115147

  1. 打开 ElvUI 设置:/ec
  2. 导航到 单位框架玩家状态条
  3. 纹理 下拉菜单中选择 SharedMedia 提供的纹理(如 MyStatusbarTexture)。

2:修改聊天框字体

  1. 打开 ElvUI 设置:/ec
  2. 导航到 聊天字体
  3. 字体 下拉菜单中选择 SharedMedia 提供的字体(如 MyChatFont)。

3:修改动作条背景

  1. 打开 ElvUI 设置:/ec
  2. 导航到 动作条 → 选择动作条 → 背景
  3. 背景纹理 下拉菜单中选择 SharedMedia 提供的背景(如 MyBackgroundTexture)。

(4)资源推荐

通过以上步骤,您可以在 ElvUI 中轻松使用 SharedMedia 提供的材质,打造个性化的游戏界面!


三、可能出现的材质安装问题

(1)检查 SharedMedia 是否安装正确

1:确认插件已安装

  • 打开游戏,进入角色选择界面,点击左下角的 插件 按钮。
  • 确保 SharedMediaSharedMedia_MyMedia(如果使用)已启用。

2:检查文件夹结构

  • 确保 SharedMedia 的文件夹路径正确:

    World of Warcraft\_retail_\Interface\AddOns\SharedMedia
  • 如果使用 MyMedia,确保文件夹路径为:

    World of Warcraft\_retail_\Interface\AddOns\SharedMedia_MyMedia

3:重载界面

输入 /reload 重新加载界面,确保插件生效。

(2)检查材质是否注册成功

1:查看已注册的材质

  • 输入 /smf 查看 SharedMedia 已注册的材质列表。

    • 例如:/smf statusbar 查看所有状态条纹理。
    • 如果列表为空,说明材质未正确注册。

2:手动注册材质

  • 如果使用 MyMedia,确保 MyMedia.lua 文件已正确配置。
  • 示例:

    LSM:Register("statusbar", "MyTexture", [[Interface\Addons\SharedMedia_MyMedia\statusbar\mytexture.tga]])
  • 确保材质文件路径和名称正确。

3:检查材质文件格式

  • 纹理文件格式应为 .tga.blp
  • 字体文件格式应为 .ttf.otf
  • 音效文件格式应为 .ogg.mp3

(3)检查目标插件是否支持 SharedMedia

1:确认插件兼容性

  • 大多数主流插件(如 ElvUI、WeakAuras、Bartender4)都支持 SharedMedia。
  • 如果目标插件不支持 SharedMedia,您将无法看到相关选项。

2:更新插件

  • 确保 ElvUI 或其他插件已更新到最新版本。
  • 旧版本可能不支持 SharedMedia 的最新功能。

(4)排查冲突问题

1:禁用其他插件

  • 暂时禁用其他插件,检查是否是插件冲突导致的问题。
  • 如果禁用后 SharedMedia 选项出现,逐步启用插件以定位冲突源。

2:检查插件加载顺序

  • 确保 SharedMedia 在依赖它的插件之前加载。
  • 使用插件管理工具(如 Addon Control Panel)调整加载顺序。

(5)调试工具

1:使用 /dump 检查

  • 输入 /dump LibStub("LibSharedMedia-3.0"):HashTable() 查看 SharedMedia 的注册表。
  • 确认您的材质是否在列表中。

2:检查日志

  • 启用脚本错误提示:输入 /console scriptErrors 1
  • 查看是否有与 SharedMedia 相关的错误信息。

常见问题

FAQ(常见问题解答)

image-20250323015809876

如何创建自己的纹理?

这是一个关于创建兼容 WoW 的纹理的详细指南:
http://forums.wowace.com/showthread.php?t=15439

如何创建自定义边框?

边框纹理需要遵循上述链接中的指南,并且必须符合以下格式:
https://warcraft.wiki.gg/wiki/EdgeFiles

在哪里可以找到更多字体和音效?

有许多网站提供免费的字体和音效下载。下载时请选择可信的网站,并注意病毒扫描。
注意:如果您将 MyMedia 文件与 UI 整合包一起分发,请确保遵守字体和音效的许可协议。某些资源可能禁止二次分发或仅限个人使用!

如何查看/编辑 .lua 文件?

如果您使用手动方法,您需要自己编辑 .lua 文件。.lua 文件是纯文本文件,可以用任何文本编辑器(如记事本或 WordPad)打开。

编辑部分

以下部分是您需要编辑的内容,将您的资源信息添加到 MyMedia.lua 文件中:

local LSM = LibStub("LibSharedMedia-3.0")

-- START of the section that you should be editing
--    NB: any line beginning with "--" is ignored - so the lines
--    below are just comments!
--
--background:

--border:

--font:

--sound:

--statusbar:

-- END of the section that you should be editing

ElvUI常见问题

如果您在 ElvUI 或其他插件中看不到 SharedMedia 的选项,可能是以下原因导致的。以下是常见问题的排查和解决方法:

材质未显示

  • 检查材质文件是否在正确的文件夹中(如状态条纹理需在 Statusbar)。
  • 确认文件格式正确(如 .tga 为 32 位带透明通道)。
  • 重载界面(/reload)。

下拉菜单中没有 SharedMedia 材质

  • 确保 SharedMedia 已正确安装并启用。
  • 检查材质是否已正确注册(如使用 MyMedia 时是否生成了 MyMedia.lua)。

字体显示为方块

  • 字体文件损坏或不兼容,尝试更换其他字体(如使用英文名文件)。

如果问题仍未解决,请在 https://www.wowinterface.com/forums/ 或在

https://www.curseforge.com/wow/addons/sharedmedia 的 SharedMedia 页面寻求帮助。

我在听风,也在等你

本文由mdnice多平台发布


听风轻咛
1 声望0 粉丝