SuperAPI AI 工具集

blender-clothing

设计与创作

查看项目

更新于 10-31 20:04

技能介绍

该技能用于在 Blender 5.2 中制作游戏服装。执行模型由 blender-core 负责;角色绑定和权重、经典布料设置、Roblox 分层服装笼则分别在 blender-character-rigging、blender-simulation、blender-export-pipelines(references/roblox.md)中说明。

主要用法:脚本 garment.py 提供一次调用完成一件服装的构建,例如按身体区域组生成衬衫并隐藏被覆盖的身体面、按世界坐标高度区间生成裤子并设置偏移与布料悬垂及形态键、在偏移和厚度下生成护甲,也可以用 --check 在当前姿态下检查穿透。

资料给出的专业流程包括:合身衣物从身体提取并偏移,宽松衣物从平面版型经布料模拟缝合;模拟在角色休息姿态(A/T)下对身体进行。随后把高模或模拟结果重拓扑为均匀四边面,在关节处布置环线并做 UV;把褶皱烘焙进法线贴图,让低模保持轻量。权重从身体复制(同骨骼、同影响),清理后限制 4 个影响、归一化、移除低于 0.001 的权重,宽松部位(裙子、外套)再向更平滑的权重混合并增加额外骨骼。对被衣物覆盖的身体面,可以删除(节省三角面、避免穿模)或按服装做遮罩,袖口和领口下保留一圈皮肤。最后用压力姿态验证运动表现,再逐一用 --check 检查,并通过偏移、平滑身体、调整权重或隐藏来修正。

garment.py 的区域选择支持 --group(身体顶点组,权重大于 0.5)或世界坐标 --zmin/--zmax 区间;面在世界空间复制,并沿顶点法线按 --offset 外推(资料示例:合身棉质 5–10 mm、夹克 10–20 mm、护甲 15–30 mm),再用 Solidify 按 --thickness 向外加厚(布料 2–4 mm、皮革或护甲 5–10 mm),UV 从身体继承。权重通过 Data Transfer(POLYINTERP_NEAREST,按名称匹配全部组)转移并应用,再限制影响数、归一化和清理;随后添加身体的 Armature 修改器并父级到绑定。--hide-body 会创建 Hidden_<name> 顶点组(区域收缩一环)并在身体上添加反向遮罩修改器,便于替换服装时切换;导出时则改为在身体副本上删除这些面。--drape N 使用经典布料参数(类似棉质:质量 0.15、张力 15、弯曲 0.5、质量等级 8),顶部 8% 固定,身体以 3 mm 碰撞,模拟沉降 N 帧后应用,为宽松区域带来重力褶皱,建议 30–60 帧。--morphs 会为每个身体形态键生成同名服装形态键:以休息姿态绑定 Surface Deform,并逐个形态烘焙为形态键;资料实测 30% 身体形态变化时无对应服装键会有 346 个顶点穿出,有匹配键时为 0。穿透检查沿每个身体顶点法线投射,若先命中衣物内侧或距离小于 0.5 mm 即视为穿透;0.1 m 内未命中衣物的顶点视为未被覆盖并忽略;输出 covered_verts、poke_verts、poke_max_m,使用求值后的姿态并遵守身体遮罩。

分层服装按从皮肤向外顺序构建:内衣/基础层、衬衫、背心、夹克、护甲;每一层从下一层偏移(例如背心用 --body Shirt),但权重都从身体复制,而不是从下一层复制,这样各层在运动中能一起移动,减少层间穿插。Roblox 分层服装需要基于官方模板笼构建 <Name>_InnerCage 与 <Name>_OuterCage(顶点顺序和 UV 一致);其他引擎(UE Mutable/Unity)可采用形态键或身体隐藏遮罩,原理相同。

资料还列出若干注意事项:shape_key_add() 创建的键值为 1.0,用 Python 制作形态时要设为 0;Surface Deform 仅用于形态生成,如果和 Armature 修改器同时留存会导致姿态被应用两次,--morphs 会在烘焙后移除它;构建前应用身体的缩放,偏移和厚度单位为米;布料模拟需要分辨率适中的身体碰撞网格,身体超过 5 万顶点时可用减面代理做碰撞;最终服装应再运行 blender-asset-qa 检查与身体的 z-fighting、漂浮部件和法线,并按 blender-game-optimization 的面数预算核对三角面。

限制与未提供信息:资料未给出该技能的安装方式、许可证、收费、支持平台(除 Blender 5.2 与引擎相关说明外)或完整参数列表;未提及实际运行性能与兼容版本范围,这些暂未提供。