博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
考虑与Maya结合
阅读量:5907 次
发布时间:2019-06-19

本文共 768 字,大约阅读时间需要 2 分钟。

今天改进了Hessian各块的计算代码,减少了一些内存操作。下一步准备把模拟平台与Maya结合,这样就可以利用Maya丰富的变形算法了。

这一步需要考虑以下问题:

1.把场景设置为某一帧。这一点可以用Mel脚本实现,命令是 currentTime  帧号

 2.把表面网格转成体网格。这一点比较难做,因为表面网格不一定封闭。

有两种思路:  根据一堆点生成体网格,同时原来的点作为体网格的部分顶点

                       原来的输入点“泡”在体网格中,但是可以直接通过这些点反求体网格的一部分顶点。

                       第一种思路似乎比较靠谱,因为第一种解出来的体网格顶点不一定稳定。

3.有限元模拟过程。

暂时的设想是,写一个mel脚本,每次设置一个关键帧,同时获取此时网格顶点(也就是体网格部分顶点)位置,求出自由参数后设置对应参数的关键帧。

        求解过程中需要多次设置自由参数的值,获取此时网格的顶点位置。可以写两个节点(Locator类型?),一个存自由参数数组,另一个接收网格顶点。

        模拟的过程中,设置第一个节点的值之后,尝试读取第二个节点的网格,以此驱动Maya自动求值。

        总的伪代码可能如下:

for (int frame = 0; frame < n; ++frame){  currentTime frame;  更新位置、速度、加速度  求解当前的参数值,这个过程中需要反复设置参数节点,反复获取网格位置。这一步估计需要写成一个MEL命令。  设置参数节点对应参数的关键帧}

一个问题就是需要验证MEL命令执行的过程中Maya节点求值机制是否可以反复进行,这样才有可能反复对设置参数、对节点求值。

这一点我觉得是可以的,每次读取网格顶点,背后便是Maya对相关节点进行求值。

转载于:https://www.cnblogs.com/dydx/p/4222505.html

你可能感兴趣的文章
SQL Server中DateTime与DateTime2的区别
查看>>
nmon监控Linux服务器系统资源
查看>>
Codekit - 为Web前端打造的全能型神器(附推荐各种工具)
查看>>
Python基础04 运算
查看>>
Server.Transfer和Response.Redirect的区别
查看>>
Javascript遍历页面控件
查看>>
【初窥javascript奥秘之Ajax】简述下你所知道的Ajax?
查看>>
linux kernel的函数与抽象层
查看>>
【学习opencv第六篇】图像的反转操作
查看>>
java 截取字符串 拆分字符串
查看>>
从零开始学C++之数据封装与抽象:分别用C和C++来实现一个链栈
查看>>
[置顶] IT老男人读《因为痛,所以叫青春》
查看>>
Android NDK学习(3)使用Javah命令生成JNI头文件 .
查看>>
poj2186Popular Cows(Kosaraju算法--有向图的强连通分量的分解)
查看>>
Windows 7开发:UAC数据重定向 - Win32 Native
查看>>
LR基础学习_脚本信息函数
查看>>
基于html5 canvas和js实现的水果忍者网页版
查看>>
2、传统的线程互斥synchronized
查看>>
IT忍者神龟之使用 PowerDesigner
查看>>
JSP导出Excel文件
查看>>