准备实现FEM节点。

发现一种让自定义的Locator以及它的变换节点自动命名的方法。代码如下:

void FEMSimulationNode::postConstructor()
{
MFnDependencyNode nodeFn(thisMObject());
nodeFn.setName( "femSimulationShape#");
}

只要重载postConstructor函数,设置名字为xxxShape#, maya就会把变换节点名字设置为 xxx编号,把当前节点命名为xxxShape编号,#被maya自动填入编号 。

例如femSimulationShape1之类。

今天看Maya的帮助文档,发现MPlug分为 networked 和non-networked 两种,又看了complete maya programming 448页关于两种的说明。这里简单介绍下两种Plug的区别,同时记下自己关于Maya节点实现机制的一些猜测。

当一个Plug指代一个属性时,它记录了访问这个属性完整路径(形如节点名/属性名)。用户可以通过这条路径访问到属性。这种用途的Plug是non-networked plug

当一个Plug与另一个Plug连接时,Maya记录下这些连着的Plug,在每个节点维护一个Plug Tree(因为属性可以嵌套),求值时,需要遍历每个节点的树。树中的Plug就是networked plug

一个猜测是,maya两个节点连接的时候,实际上连接线两端的属性都指向同一份数据; 而断开连接时,又分裂成两份数据。这样就导致了连接和非连接的属性在实现上的区别,因而需要两种不同的Plug去指代这些数据。

实现Maya FEM节点的更多相关文章

  1. Maya FEM节点框架完成

    这几天把物理模拟框架移植到maya之中了. maya编程有一点比较关键,就是要让自己的程序逻辑适应maya的节点求值机制.在物理模拟中,往往需要进行时间积分,对此我的解决办法是,写一个节点rigSim ...

  2. Maya编程——节点&命令

    代码写完出现问题: 查了一下原因:

  3. CG资源网 - Maya教程

    Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://w ...

  4. 70部MAYA灯光材质渲染教程合集

    MAYA灯光材质渲染教程合集 教程格式:MP4和flv 两种格式 使用版本:教程不是一年出的教程,各个版本都有 (教程软件为英文版) 清晰度:可以看清软件上的文字 语言:部分中文字幕,其他英文(通过看 ...

  5. cg tut

    Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?p ...

  6. U3D——Unity3D的脚本-script入门

     Unity3D的基本操作非常easy就能掌握了,接下来就是游戏系统的核心部分:脚本. 什么是Script(脚本)?简而言之,就是使用代码来运行一系列动作命令的特殊文本,它须要编译器来从新解读.U ...

  7. Unity3D的脚本-script入门

    来自:http://blog.163.com/shininglore@126/blog/static/961841802013412101454833/ Unity3D的基本操作很容易就能掌握了,接下 ...

  8. 游戏开发之UDK引擎介绍和模型导入

    2014-09-18 10:01:3 3.7.5" style="border:0px; vertical-align:middle; max-width:100%"&g ...

  9. maya pymel cmds ls 列出未知节点 unknown nodes

    maya pymel cmds ls 列出未知节点 unknown nodes cmds.ls(type = 'unknown',fl = 1)

随机推荐

  1. 使用 Canvas 和 JavaScript 创建逼真的下雨效果

    HTML5 规范引进了很多新特性,其中最令人期待的之一就是 Canvas 元素,HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法,非常强大.这里向大家展示一个使用 Canva ...

  2. Android项目实战(三):实现第一次进入软件的引导页

    最近做的APP接近尾声了,就是些优化工作了, 我们都知道现在的APP都会有引导页,就是安装之后第一次打开才显示的引导页面(介绍这个软件的几张可以切换的图) 自己做了一下,结合之前学过的 慕课网_Vie ...

  3. 使用SharedPreferences进行简单的储存

    博客地址 http://www.cnblogs.com/mmyblogs/p/6082512.html(转载请保留) SharedPreferences定义 1.是一种轻型的数据存储的方式 2.本质是 ...

  4. JAVA基础学习day23--GUI基础

    一.GUI概述 1.1.GUI概述 Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面, CLI: Command line User Interf ...

  5. iOS 杂笔-21(self.name = “object” 和 _name =”object” 有什么不同?)

    iOS 杂笔-21(self.name = "object" 和 _name ="object" 有什么不同?) 问题如题,这是考察对属性与变量的了解而已. s ...

  6. IOS 杂笔-10(Base64 加密)

    base64加密是可逆的,因此并不是很安全,在一些注重安全的地方很少用到,但是在普通传输中可以使用. 切忌,base64加密是不安全的. // // ViewController.m // CX-Ba ...

  7. iOS UI 之UILable

    @interface ViewController : UIViewController @property (strong,nonatomic) UILabel *aLable; @property ...

  8. iOS 中的 NSTimer

    iOS 中的 NSTimer NSTimer fire 我们先用 NSTimer 来做个简单的计时器,每隔5秒钟在控制台输出 Fire .比较想当然的做法是这样的: @interface Detail ...

  9. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  10. 解决Spring4 MVC请求json数据报406错误

    解决方法一: 1.导入jackson-core-2.5.1.jar和jackson-databind-2.5.1.jar 2.Spring配置文件添加: <!-- 避免IE执行AJAX时,返回J ...