zoukankan      html  css  js  c++  java
  • 如何了解该属性是否会触发MDagMessage::addWorldMatrixModifiedCallback事件

    有一个partner问我,他在使用 MDagMessage::addWorldMatrixModifiedCallback 这个事件,但是他想了解到底哪些属性的变化会触发这个事件,他们有一些特殊的需求需要单独处理那些不触发这个事件的属性。

    这个就涉及到属性之间相互影响的关系,查了下SDK,上面说“This method registers a callback that is called when a DAG node's worldMatrix changes.”,那也就说,要知道哪些属性变化会触发该事件,只要知道哪些属性会影响到worldMatrix 属性, 一开始,我建议用户使用 affects 命令或者如下命令来获取:
    MFnDependencyNode::getAffectedAttributes (const MObject &attr, MObjectArray &affectedAttributes),
    MFnDependencyNode::getAffectedByAttributes (const MObject &attr, MObjectArray &affectedByAttributes) const

    但这个似乎还是不完美,幸好,MFnAttribute::isAffectsWorldSpace()似乎提供了更好的解决方式。只需要对该接口属性做个判断,理论上,如果该属性会影响世界空间,那么也就会影响world Martrix属性。自己做了些小实验,查看那些触发addWorldMatrixModifiedCallback() 的属性是否会影响世界空间,结果验证了自己的想法。

  • 相关阅读:
    Uncaught TypeError: Cannot read property 'PRINT_INIT' of undefined user:100
    haproxy 负载elasticsearch 切换
    高德地图-展示多个信息窗口
    elasticsearh 中每个节点中需要有相同的插件
    haporxy 负载elasticsearch
    AngularJS之ng-if指令
    文件上传并展示上传文件
    json编解码
    Grok 正则捕获
    logstash date插件介绍
  • 原文地址:https://www.cnblogs.com/johnonsoftware/p/3564665.html
Copyright © 2011-2022 走看看