选择集一揽子功能
# 选择集一揽子功能
#
选择集传递工具
天晴盒子中提供的 选择集
功能主要有以下两个使用方式 。
- 在不同
.Max
文件中 传递同步选择集
,让多个文件中有相同的选择集的工具,这种是在场景中按物体名字创建选择集,如果有重名物体就不靠谱了。 - 合并
.Max
文件时 把选择集
也合并进来,这种是将选择集信息保存到物体的属性上,重名物体不影响创建选择集。
这些功能分别由 选择集工具_v3.ms,save&loadSelectionSets.mse
两个脚本实现。
# 合并选择集
合并.Max 文件时,把选择集也合并进来。
- 先再 【有选择集的.max档】中使用 【保存到对象】功能将选择集信息保存到场景中的每个对象属性上(setAppData node 777),接着保存max文件。
- 然后 合并 上一步骤中保存过选择集的max文件, 接着使用 【重建选择集】功能即可从导入物体中收集选择集信息。
选择集工具_v3.ms
手动操作工具,你可以放在任何路径下,使用时打开工具就行。
save&loadSelectionSets.mse
自动合并工具,需要放在 3dsMax 的启动路径下scripts\Startup
,类似这个 D:\Program Files\Autodesk\3ds Max 20xx\scripts\Startup\save&loadSelectionSets.mse
# 按名字创建选择集
单纯的 保存选择集 中的每个物体的名字,然后在无选择集场景中重新创建选择集。
- 刷新:先再 【有选择集的.max档】中使用 【刷新】功能 ,收集选择集信息,保存进内存。
- 创建:打开没有选择集的.max 文件 使用 【创建】 根据内存中的选择集信息,重新创建选择集 ;如果场景中有重名对象,此方法不靠谱。
##下载选择集工具_v3.ms
盒子中搜索关键词 [选择集]
1. 刷新:保存场景中的选择集
2. 创建:自动创建保存的选择集
3. 双击选中项:创建选中选择集
2
3
# 合并文件是 不能合并选择集怎么办 ??
先将3dsMax 如下图这样设置:
然后检测 3dsMax 的启动目录下 是否 有save&loadSelectionSets.mse
这个脚本,如果没有,就安装 天晴盒子,或者联系我 。如下图是 3dsMax 2015 的启动目录,注意你自己的 Max 路径。
如果有这个脚本,可以直接将 save&loadSelectionSets.mse 文件拖进 Max 中。
然后打开 那个需要被合并的 .Max 文件,保存一下,激活将选择集信息保存到场景物体属性功能。
接着 合并 .Max 文件,如果合并文件时有如下图 弹窗提示,说明功能正常,如果没有提示,请检查是否有 save&loadSelectionSets.mse 脚本。
# 导入导出选择集信息
主要是将 场景中 的选择集信息 保存成 xml 文件,也可以导入 选择集 xml 文件 创建选择集。
这项功能是 选择集 功能条上的,但是实现代码还是 save&loadSelectionSets.mse 脚本
该项功能最重要的 操作 就是在保存 Max 文件
时,自动为每个物体的 分配一个随机的唯一的 GUID
(类似身份证,但是几乎不可能重复的ID),这样就算物体重名,也能用 ID
正确识别各种物体。
# 保存文件时触发 分配GUID
该功能是给每个物体分配 GUID功能是 在 2025-03-17 号才更新的,在 save&loadSelectionSets.mse 脚本中,只是在每次保存 Max 时文件触发,如果物体已经有GUID ,就不再分配。
而且GUID是随机生成和物体特征无任何关联,因此同一个物体在 不同Max文件中 分配的GUID 是不一样的,只能在一个物体刚创建时,就分配好 GUID,后续保存了不同的.Max文件之后也能正确使用, 所以要尽早更新 最新版本的 save&loadSelectionSets.mse 脚本,才能让后续的功能发挥作用。
分配ID的函数,开发公约 | 天晴动作工具组文档 (opens new window)
fn set_node_guid node_obj =
(
id = getAppData node_obj 1001 --获取物体的GUID
if id == undefined do (
id = genGUID()--如果物体没有ID ,就生成一个
setAppData node_obj 1001 id --保存到 1001 通道中
)
id
)
2
3
4
5
6
7
8
9
此项分配 GUID 功能是解决 重名物体的 识别的通用方案,也是导出导入选择集功能生效的关键。