天晴动作工具组文档
首页
C3相关
天晴盒子
脚本文档
开发公约
  • MAXScript2020 Help (opens new window)
  • 3dsmax-2023-MAXScript Help (opens new window)
  • 3dsmax-2023-Max-Python Help (opens new window)
  • DeveloperSDK2023 Help (opens new window)
教程
更新
关于
  • 动画重定向
  • 3ds Max 文件降版本
  • GIF播放器
  • 表情绑定助手
  • MAXtoUnrealTools
  • MMD4Max
  • AnimFiltersMax2021
  • 分类
  • 标签
  • 归档
首页
C3相关
天晴盒子
脚本文档
开发公约
  • MAXScript2020 Help (opens new window)
  • 3dsmax-2023-MAXScript Help (opens new window)
  • 3dsmax-2023-Max-Python Help (opens new window)
  • DeveloperSDK2023 Help (opens new window)
教程
更新
关于
  • 动画重定向
  • 3ds Max 文件降版本
  • GIF播放器
  • 表情绑定助手
  • MAXtoUnrealTools
  • MMD4Max
  • AnimFiltersMax2021
  • 分类
  • 标签
  • 归档
  • C3导出
  • C3故障排除
  • C3挂点改名工具
  • C3导出助手
  • C3挂点排序工具
  • C3场景相机工具
  • C3挂点工具
  • C3打帧工具
  • 主角部件管理器
  • 手机魔域批量工具
  • 复制选择集物体排序
    • 模型排序,动画排序
      • 使用
    • 查找对象
      • 在选择集内部按名字查找
    • 保存排序
    • 黏贴排序
  • 魔域简体-蒙皮档中的骨骼拉伸处理
  • 魔域简体-FBX骨骼生长缩放导出规范
  • C3相关
2022-12-16
目录

复制选择集物体排序

descript

3dsMax中的C3资源骨骼父子连接复制黏贴

# 模型排序,动画排序

C3资源导出 分为 模型 资源和动画资源,虽然两者的文件格式并没有区别,模型资源只包含一帧动画。动画资源包含模型和动画。

但是为了动画资源可以对不同模型资源的通用,项目上习惯将模型和动画分开导出处理。

又因为C3导出程序的设计问题,在遍历场景对象导出时,是按 rootnode 的子节点顺序写入文件,而不是按命名排序。

而一旦出现模型文件节点排序和动画文件的节点排序不一致,就表现为某些骨骼播放动画不正常,而且节点排序并不稳定,特别是分蒙皮文件和动作制作文件两个MAX文件,动作MAX文件在动画师的制作周期中也容易因为各种操作,如打组,或者使用一些动画黏贴插件(暴力帧黏贴工具)等等都会改变节点顺序。

所以需要一个可以在蒙皮文件和动作文件之中统一节点排序的工具。

# 使用

本工具是在 【模型蒙皮档】 中复制保存选择集的排序,然后在【动画档】中黏贴选择集的排序

# 节点排序

动画师习惯称为 父子连接关系。

descript

横向为在 rootnode 子节点排序,正常为谁先被先创建出来,谁就在前面,或者谁先被断开了父节点。

竖向为 子节点的次级子节点排序,谁的父节点少,谁就在前面。

# 保存排序

就是每场景顺序遍历,创建两个列表保存物体自己和父物体。实际代码中我是再另外创建一个没有父物体的列表,单独处理。

# 黏贴排序

就是按上面保存的列表遍历查找物体然后设置父物体,如果物体没有父物体(即节点是rootnode),就创建一个临时父物体,到最后删除。

# 查找对象

如上我们可以拿到一个对象在场景中的排序号,说明只要保存一个对象的父节点和 全场景的排序的序号就可以重新还原排序。

但是问题我们如何在全场景中辨别出一个物体,列如我们每个人都身份证号,就可以用身份证号辨别区分谁是谁,遗憾的是3dsMax中每个对象是没有身份证号的,只有名字,handle

物体的标识 详细说明
$.name 物体名字,不是唯一,可重名,getNodeByName 用名字查找物体,随保存操作进文件。
$.handle 物体句柄id,全场景唯一,3dsMax加载文件时按节点顺序分配,不随保存进文件。maxOps.getNodeByHandle

如果你想到 GUID ,3dsMax没有给对象分配这个,虽然3dsMax文件结构里每个对象都有GUID ,但是加载之后没有给一个可以访问对象GUID的接口。

只有按名字查找一个办法。

# 在选择集内部按名字查找

C3资源挂点和骨骼重名是不可避免的,但是仅限于多个部件之间重名,部件内部不可重名,一个场景内可能有多个部件,而在C3项目制作中有 按部件创建选择集的流程规定。

descript

所以复制排序只考虑一个部件选择集内部排序。但是 选择集内部的排序不等同于场景中的排序,选择集内部是名字排序。

# 保存排序

直接保存全部选择集的物体的父子连接关系,在蒙皮档中保存。

descript

# 黏贴排序

打开需要改排序的动画档,黏贴选中选择集的排序。

descript

descript

手机魔域批量工具
魔域简体-蒙皮档中的骨骼拉伸处理

← 手机魔域批量工具 魔域简体-蒙皮档中的骨骼拉伸处理→

最近更新
01
GVHMR视频动捕部署
04-20
02
关于蒙皮权重镜像匹配问题介绍以及解决方案
03-19
03
简易Biped绑定框架方案
03-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 ND|99u:199505| 鄂ICP备2022012500号 | 鄂公网安备 42022202000122号

共产主义:是对生产资料的共享,不是对生活资料财产的均分

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×