You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya中导入读取JSON并提取BlendShape顶点XYZ位移数据的方法

解析Maya BlendShape JSON并拆分轴向位移

核心逻辑

你提供的JSON数据层级如下,提取时按层级访问即可:

  • 根节点键为BlendShape节点索引
  • 每个节点下name字段对应Maya中的变形节点名
  • data字段下的键为变形目标索引
  • 变形目标下的键为顶点编号,对应值为[X位移, Y位移, Z位移]三元组

实现代码(Python)

import json

# 读取JSON文件
with open("cube.json", "r", encoding="utf-8") as f:
    bs_data = json.load(f)

x_list = []
y_list = []
z_list = []

# 遍历提取各轴向数据
for bs_item in bs_data.values():
    print(f"处理变形节点:{bs_item['name']}")
    for target in bs_item["data"].values():
        # 按顶点编号从小到大排序后提取
        for vid in sorted(target.keys(), key=lambda k: int(k)):
            x, y, z = target[vid]
            x_list.append(x)
            y_list.append(y)
            z_list.append(z)

# 打印结果验证
print("X轴各顶点位移:", x_list)
print("Y轴各顶点位移:", y_list)
print("Z轴各顶点位移:", z_list)

该脚本可直接在Maya内置Python环境中运行,无需额外安装依赖。

结果说明

  • 三个输出列表的索引与顶点编号一一对应,比如x_list[2]即为2号顶点的X轴向位移量
  • 若你的JSON文件中包含多个BlendShape节点或多个变形目标,可自行添加字典层级存储不同节点/目标的轴向数据

内容的提问来源于stack exchange,提问作者teddude75

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:54:01