zoukankan      html  css  js  c++  java
  • 十一、Manipulators

    1. Manipulators是可以用三维进行绘制的的节点,可以将用户行为值化,对其他节点的属性进行modify。

    2. 属性值可以通过Channel Box 和Graph Editor进行修改。同其他的dg节点不一样,manipulator直接修改属性值,而不通过plug。

    3.可以用以下几种方法是用manipulator:

    Create a manipulator on any node in the current scene at any time.

    Create and assign a manipulator for a specific type of object.

    Create a context tool and associate the manipulator to the context tool. Whenever the context tool is active, the manipulator becomes active and ready for use.

    4. 所有的manipulator的function set都是从MFnManip3D派生而来。

    (1)FreePointTriadManip: 

    The FreePointTriadManip provides a point that can be moved anywhere. It has axes for constrained x, y, and z movement and obeys grid snapping, point snapping, and curve snapping.

    (2)DirectionManip:

    .....详情见document

    5 Manipulator Containers:

    (1)

    通过MPxManipContainer创建Manipulator container. 

    可以将base manipulators加入到container。

    定义从manipulator到attribute的联系。

    (2)必要的几个方法:

    creator(), initialize(), createChildren(), connectToDependNode()

    你也可以通过重写draw函数来自定义manipulator的绘制。

    (3)initialize()

    静态函数需要注册的。进行一些必要的初始化。

    (4)createChildren()

    base manipulator加到container里面是通过这个函数的,例子:

    MStatus moveManip::createChildren()
    {
        ...
        
        fDistanceManip = addDistanceManip(manipName, distanceName);
        fFreePointManip = addFreePointTriadManip(pointManipName,  pointName);
    
        ...        
    }

    The MPxManipContainer class provides a set of member functions to add individual base manipulators, most of them are named as addXYZManip, where XYZ represents the manipulator name

  • 相关阅读:
    POJ 3026
    POJ 1258
    POJ 1751
    一种用于三维物体建模的精确、鲁棒的距离图像配准算法
    人脸识别技术介绍和表情识别最新研究
    汇总|实时性语义分割算法(共24篇)
    ECCV2020最佳论文解读之递归全对场变换(RAFT)光流计算模型
    三维重建的定位定姿算法
    多视图几何三维重建实战系列- Cascade-MVSNet
    HybridPose:混合表示下的6D对象姿态估计
  • 原文地址:https://www.cnblogs.com/bubbler/p/5176628.html
Copyright © 2011-2022 走看看