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() 的属性是否会影响世界空间,结果验证了自己的想法。

  • 相关阅读:
    EditText之边框颜色
    Android之drawable state各个属性详解
    Android-第三天
    Android 问题
    ios VS android
    Android-第二天(2)
    collapse
    2020/3/7
    2020/3/6
    P3825 [NOI2017]游戏
  • 原文地址:https://www.cnblogs.com/johnonsoftware/p/3564665.html
Copyright © 2011-2022 走看看