2010年9月6日月曜日
Implement Python Threading Module in Maya
The result was very very impressive.
First , a test with 1000000(1 Million) loop and without any extra print command.
0.219s (With Single-Threading)
0.078s (With Multi-Threading)
Multi was about 3x times faster than Single.
Second, a test with 8000 loop and with extra print command.
115.187 (With Single-Threading)
60.001 (With Multi-Threading)
Multi was about 2x times faster than Single.
Only strange thing was, apparently if you attempt to use “maya.cmds” directly in a python “class” scope that will return a error message to you.(like cmds.ls)
My issue is using OpenMaya API instead of “maya.cmds” , some like this
import maya.OpenMaya as OpenMaya
instead of
import maya.cmds as cmds
Maybe I did some wrong , if anyone know other issue can fix or avoid it , please let me know , thanks in advance.
So , my next To-do list will be writing a custom plug-ins with Python's threading module , that can allow me to export Maya's Fluid data(like Density , Velocity and so on) to Krakatoa. Ya, you can use Maya's fluidVoxelInfo command, but if with a higher resolution that will become you nightmare ;)
2010年7月5日月曜日
Houdini 30Million Particle Test
I have done a test for dealing with multi-million particles in Houdini.
In this test , I generated approximate over 30,000,000 (30Million) particles when pass to render , if you familiar with Krakatoa's workflow , this approach just like that.
(Separated into 5 partitions and echo partition contained around 5-6 Million particles.)
Here's no way to display Particles like these huge amount all at once on Houdini's viewport , so I only grabbed a screen for 4million particles .
All particles was genearted in POP ,not any dynamic simulation involved.
It seems need more higher substeps for generating more smooth-moving particles in POP .
Hope u like it and feel free to leave a message :)
Test Rendering
Houdini's 30million Particles Test. One-5th parition
After AfterEffect
Original
2010年6月28日月曜日
Learning Materials for English
According to last TOEIC test , my English grammar is still terrible , this is the reason why I purchased grammar practice book and hope that can help me to enhance and improve my grammar as faster as I can.
In my opinion , while learn for foreign language (whatever which language), the biggest obstacle is vocabulary .
Because if you have nerve heard or learned vocabulary before that you have only a little chance to understand(maybe guess) what this vocabulary exactly meaning is , besides any writing / conversation is based on it.
According to one of mine friend and some learning materials I read before , 8000-10000 vocabularies is a key for English learner , it just like a gate if you can overcome it and across this gate that will provide you a whole new world you ever seen before.
I'm still working on it , try to learn and remember as much vocabularies as I can , I plan to finish the TOEFL' vocabularies before the ending of August ,that can provide me more than 2000 vocabularies to acquire .
Fake Collision Solution On Complex Object In MAX
Belong to BOX3's sample scene , that provide a efficient way to do some collision jobs without any physical engine. I try to keep the explanation simply , in this sample the data flow do only 3 things to calculate final results for all particles.
1.Fetch Z component from particle.
2.Calculate particle shape's volume(of cause it's approximately) and use this value to avoid the particle penetrate into Deflector.
3.Reorder the data flow , ensure the Collision OP still work correctly.
Of cause , collision solution like this doesn't very precise as other physical engine does. But still useful and very very fast and cheap cost ;)
I learned the sample and extend it to have a ability to calculate on complex object , yeah!~
For now , I'm trying to achieve it on Houdini's VOPPOP , but I'm a complete newbie against Houdini's VOP :( , if I have any progress on it I will post here.
まだまだBOX3のテストをやってます。どこまで可能なのかを探ってみたい :)
MAYA,MAX,Houdiniでは、Particleの衝突計算は全部Particleの中心から計算されてるせいで、特殊な方法を使わない限り、地面に貫いたりすることがしばしば
BOX3のサンプルシーンでCollisionAsBodyというシーンがあって、Particleを地面に衝突して、Rigid Bodyっぽくなるシーンです。が、このシーンがすごくシンプルなオブジェクトだけ計算可能なので、もっと複雑な形にしたオブジェクトをしたいので、自ら新たに作ってみました。
MAXで成功したけど、HoudiniのVOPPOPにも出来るような気がしますが、今のとこ進展なし…Orz
2010年6月25日金曜日
Molecular Animation for H2O
I'm pretty sure that PhysX Glue will do it's job very well , but I don't think so using of PhysX Glue is a efficient way to achieve for this purpose ,besides PhysX engine doesn't stable enough (at least on my working environment ).
So for this reason , I made a H2O-like molecular animation with BOX3 Data OP.
今日、Orbazの掲示板で「水の分子動画を作りたい」というトピックが投稿されて、ちょっと興味があったので、中身を覗いてみました。
トピックの中に「PhysX Glueを使えば、簡単に出来ますよ」の返事があって、まぁ確かにGlueを使えば出来ると思いますけど、問題は大量なオブジェクトをお互い衝突し合って、かなりの計算の量になりそう、そしてPhysXエンジンは私の作業環境でそんなに安定していません。
この故、完全にBOX3のData Opで作成できないかと試みました。
作成したアニメーションは下のVimeoをクリックするとHDサイズで見れます。
Here is the model of hydrogen bonds between molecules of water(From wikipedia)
(Click on video to see HD size)
Some recent R&D Works
Recently , I have spent a lot of time for research and try to understand how Box3's Data flow work.
Unfortunately, in some case BOX2&BOX3 doesn't integrate each others enough as I assumed as.
In Houdini any time if you want , you can use a DOP import node any where that provide you a way of using simulated shape data.
Maybe my method was wrong , I had tried several times that attempt to figure out or find a way of passing BOX2's Phys X particle shape to BOX3 , but in BOX3 even used particle proxy sub-op node that still couldn't fetch any particle shape information from BOX2 , so sad ;( Maybe this is a limitation of BOX2&BOX3 , who knows ...
Also , BOX2's Phys X is fast but not very stable on my system , sometimes even get some steps on time slider that cause whole Max's crashing.
But in other hand , BOX2&BOX3 still provide you a very flexible environment of creating your own particle rule/system .
And here is some my R&D jobs , some was done with Max's Particle Flow and others was done with Houdini's DOP+POP .
1. Cultivate some sunflowers in the ground when object passed.
Full Controlled by PFlow BOX3 Data OP
2. Create particles with square , full controlled by BOX3 Data OP
3. Max Debris Generation Test
4. Houdini Debris Generation Test
5. Fume R&D