
岛屿生活 - 晒黑
创建自定义晒痕并将其应用到模拟市民晒黑时。许多用户生成内容(UGC)将UV贴图随机放置,导致晒痕出现在随机区域。这个模组允许为晒黑提供正确的UV贴图。它不包含任何默认内容
查看大图岛屿生活 - 晒黑修复
一个自定义晒痕的模组
这个模组允许为服装应用自定义晒痕。
它不会修复损坏的肤色。
它不会为现有的损坏服装创建正确的漫反射贴图(uv_0)。
如果您的模拟市民在所有服装上都能正常晒黑,那么可能不需要这个工具。
我遇到过多个UGC创作者将服装网格的UV展开到漫反射贴图的随机位置。
虽然这对分层服装可能有好处,但对晒黑效果的影响是随机的。
晒黑后,模拟市民会出现与服装完全不匹配的晒痕。
修复破损服装的相同方法也可用于制作透晒服装。
使用优质物品制作此类服装甚至更加简单,只需调整不透明度/透明度或完全移除某些部分即可。
制作自定义晒痕
这部分内容相当长,因为它描述了如何添加自定义晒痕。它没有描述如何使用
必需品
为创建漫反射贴图所需的物品。漫反射贴图用于了解哪些部分需要晒黑。可以参考各种泳装和类似服装的原始漫反射贴图。
使用Gimp、Photoshop或其他图像编辑器来创建新的漫反射贴图。
使用Sims4Studio、S4PE或其他工具来创建package文件。
- GUIDs
- 可选:使用Python来验证'data' *1)
- 可选:使用XML编辑器来创建XML片段 *2)
*1) 在线:https://www.example.com - 在数据前添加 'a='。'美化'功能会检查语法并压缩代码。
*2) 在线:https://www.example.com
该包文件需要包含:
- 漫反射贴图包含所需的晒痕线条
- CAS部件项目引用漫反射贴图
- XML片段调校引用CAS部件项目及应被替换的CAS部件项目
漫反射贴图
最简单的方法是使用现有物品的高质量漫反射贴图并进行修改。
将某些区域设为透明或增加不透明区域的尺寸。
或者合并2-3张漫反射贴图。
命名与实例ID
为你的创作选择一个名称。我选择了“o19_yfBody_EF01SwimsuitOnePiece_TanThrough”,因为我修改了“yfBody_EF01SwimsuitOnePiece_...”的漫反射贴图。
我还将我的漫反射贴图命名为 'o19_yfBody_EF01SwimsuitOnePiece_TanThrough.png'
使用哈希生成器生成十六进制和十进制格式的fnv64 ID(带高位):
- 'o19_yfBody_EF01SwimsuitOnePiece_TanThrough' = (0x) ECA26728CACFC809 = 17051304564077086729
写下名称、十六进制和十进制ID,稍后会用到。
可以将其添加到当前包中(适用于UGC),也可以为EA CAS部件创建一个新包:
- 启动S4S
- S4S > 工具 > 创建空包
- 图像
- 添加 > RLE 2 图像 > 组: 0, 实例: ECA26728CACFC809 (记下的十六进制ID)
- 选择图像条目
- 导入 > 文件 'o19_yfBody_EF01SwimsuitOnePiece_TanThrough.png'
- CAS 部件
- 导入或修改具有完全不同实例键的CAS部件。修改:Key.Instance为ECA26728CACFC809 [REF.hex]
- PartFlags.Allow*:取消勾选
- PartFlags.Default*:取消勾选
- PartFlags.Show*:取消勾选
- 片段调校
- 添加 > 片段调整 > 组: 0, 实例: ECA26728CACFC809 (匹配所选项目) [REF] 选择片段调整条目 插入 (n~[REF.name], s=[REF.dec]:
代码:
<?xml version="1.0" encoding="utf-8"?>
<I c="TanningFix" i="snippet" m="tanning.snippet" n="o19_yfBody_EF01SwimsuitOnePiece_TanThrough" s="17051304564077086729">
<!-- ECA26728CACFC809 -->
<T n="version"></T>
<T n="data">
{
'BodyType.FULL_BODY': {
0xECA26728CACFC809: [ 0x10927, 0x10928, 0x10929, 0x1092A, 0x1092B, 0x1092C, 0x1092D, 0x1092E, 0x1092F,
0x11929, 0x1192A, 0x1192B, 0x1192C, ], # 新色板
# 在ID后添加名称,如果可以解析,它将替换上面的行
'o19_yfBody_EF01SwimsuitOnePiece_TanThrough': ['yfBody_EF01SwimsuitOnePiece_*', ],
},
}
</T>
</I>
显然,获取名称并使用通配符匹配EA CAS部分比使用数字更为简便。建议您先采用这种方式并检查日志文件。该模组会搜索所有匹配项并列出它们的ID(十进制,这些数字与上述十六进制数字对应):_get_int_cas_part_ids(o19_yfBody_EF01SwimsuitOnePiece_TanThrough) -> '{17051304564077086729}'_get_int_cas_part_ids(yfBody_EF01SwimsuitOnePiece_*) -> '{67879, 67880, 67881, 67882, 67883, 67884, 67885, 67886, 67887, 71977, 71978, 71979, 71980}'
保存包文件。
更多信息
可以使用数字5代替'BodyType.FULL_BODY'。最常用的类型包括:
HAT = 1
头发 = 2
头部 = 3
FULL_BODY = 5
UPPER_BODY = 6
LOWER_BODY = 7
鞋子 = 8
项链 = 12
手套 = 13
SOCKS = 36
TIGHTS = 42
多个设置可以组合使用,各部分之间用','分隔。
另一个显然不会起作用的字典示例:
{
1: {
12: [34, 56, ],
11: [22, 33, ],
},
'BodyType.SOCKS ': {
'foo': ['bar*', ],
'kk': ['nik*', 'adi*', ],
},
}
附录
游戏兼容性
该模组已在《模拟人生4》1.103.315版本(2023年12月)、S4CL 3.0(2023年12月)、TS4Lib 0.1.8(2023年9月)中测试通过。
预计将与即将发布的多个TS4、S4CL和TS4Lib版本兼容。
依赖项
- 模拟人生4 TS4-资料库(NexusMods)或 TS4-资料库(GitHub)
- S4CL(NexusMods)或 S4CL(GitHub)
如果未安装,请下载并安装TS4和这些模组。
全部免费提供。
安装
- 定位包含Mods文件夹的本地化《模拟人生4》文件夹。
- 将ZIP文件解压到此《模拟人生4》文件夹中。
- 这将创建以下目录/文件:
Mods/_o19_/$mod_name.ts4scriptMods/_o19_/$mod_name.packagemod_data/$mod_name/*
和/或mod_documentation/$mod_name/*
mod_logs/$mod_name.txt将在数据记录时自动生成。
手动安装
如果你不想将ZIP文件解压到《模拟人生4》文件夹中,你可能需要阅读以下内容。
- ZIP文件/mod_data中的文件通常是必需的,应解压到The Sims 4/mod_data目录下。
- ZIP文件/mod_documentation中的文件供您阅读,使用此模组时不需要这些文件。
[i] [i]Mods/o19/*.ts4script 文件可以存放在 Mods 中的任意文件夹内,或直接放在 Mods 目录下。强烈建议将其存放在 o19 文件夹中,这样你就知道是谁创建了它。
使用情况跟踪 / 隐私
该模组不会向任何追踪服务器发送数据。
代码开源且未经混淆,可供查阅。
日志文件('mod_logs'文件夹)中的某些日志条目可能包含本地用户名,特别是在文件未找到的情况下(WARN、ERROR)。
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。