SkinLayerStudio API (Beta)
/
API Reference
/
Skin
quick_skin()
下载 Markdown用网格和现有骨骼生成权重,写进你选定的一层。
不指定图层时,涂在当前选中的图层上。先选中 Layer 1 再调用,就只有 Layer 1 会变,[Base] 保持原样。默认会保留其他图层。
省略 falloff 和 resolution 时,用 scan 选出的值。分辨率只能是 64、128、256、512。像 300 这样范围外的数字不会就近改掉,而是直接拒绝。error 是 bad_resolution。falloff 不在 0 到 1 之间则是 bad_falloff。
bones 里的名字才会分到权重。其余骨骼仍留在影响列表里,权重是 0。一个名字都对不上是 no_bones。没有网格是 no_mesh。
即使成功,unseeded_bones 也可能有内容。那是落在网格外面、没坐上格子的骨骼。它们的权重是 0,过后会看起来像「只有这根骨骼不动」。相信结果之前,先把这个列表打印出来。
Trial 锁住 Quick Skin 时,error 是 trial_feature_locked。中途停下是 cancelled,图层会回到调用之前。
签名
skin.quick_skin(
falloff=None,
resolution=None,
max_influences=4,
keep_other_layers=True,
bones=None,
) -> result
| 参数 | 含义 |
|---|---|
falloff |
0 柔,1 硬。省略则用推荐值。 |
resolution |
64、128、256、512。省略则用推荐值。 |
max_influences |
一个点能接受的骨骼数。默认 4。 |
keep_other_layers |
True 时其他图层保持不变。 |
bones |
要播种的骨骼名。省略则用槽里的全部骨骼。 |
窗口挂进度条时才会用到的 progress、target_layer_id、seed_gap、smooth_strength、smooth_iterations 也能传。脚本里要选图层,就先把那个图层设为激活,这些参数留空。
返回
| 字段 | 含义 |
|---|---|
ok |
涂色是否完成。 |
error |
失败代码。成功时为空。 |
layer_name |
实际涂到的图层名。 |
vert_count |
顶点数。 |
bone_count |
骨骼数。 |
unseeded_bones |
没坐上格子的骨骼。 |
elapsed_s |
用了多少秒。 |
示例
skin = api.skin()
result = skin.quick_skin(bones=["Bip001 L UpperArm", "Bip001 L Forearm"])
print(result.ok, result.layer_name)
print(result.unseeded_bones)
要用人体图把整套人形绑定拆开,用 quick_skin_human。