Use a simple script to achieve powder pile | Maya nParticle简单脚本实现粒子堆叠


Youtube

Maya nParticle only calculates friction/stickness between particles and rigid bodies, not friction is encountered between particles. My guess is the algorithm complexity is too high. Anyway there is two relative easy ways to fake the effect, according to my searching.

想要用一个一包糖粒堆在物体(对又是它..)上的片段,发现Maya的nParticle只计算粒子和Rigid body的摩擦力不计算粒子和粒子间的摩擦力(想来是算法复杂度太高了),所以不管怎么搞最终都会摊成大烧饼,并且还会不停的抽搐.. 查了下大概有两个相对简单的方法

1. hold particles with a invisible rigid body. 2. Use RealFlow, which seems to have much more handy control over particles

I’m not happy with either. 1 is lame. 2 too much trouble, have to get hang of another environment. If I must do scripting, I choose to learn mel.

So the algorithm is:

It’s unlikely to mess with friction as I guessed above. I tried to modify per particle mass to let them stuck in the space. Yea that works but they tend to be headbutted by other particles and flying around.. for science. Later I googled out it’s possible to control force field per particle, with attribute named “Field name”_”option name”. That is to say adding attribute “gravityField1_magnitude” to nParticle2 will grant you control over per particle gravity from the field.

On creation:

[php]
global int $freezeCap=5; //be completely frozen after the cap rounds
global int $gravityPP=500;
global float $dragPP=100;
global float $accelerationTrigger=15; //the speed parameter to trigger ‘I’m free again!", which leads to free droping.
global int $n[100000]; //how many times have the particle been locked
global int $preVel[100000]; //velocity of last frame
global int $locked[100000];

nParticleShape4.dragField1_magnitude=0;
nParticleShape4.gravityField1_magnitude=$gravityPP;

global int $init=1;
if($init==1) {
int $i;
for($i=0;$i<100000;$i++) {
$n[$i]=0;
$locked[$i]=0;
}
$init=0;
}
[/php]

Before dynamics:
[php]
int $id=nParticleShape4.particleId;
float $vel=abs(nParticleShape4.velocity);

//print("nParticleShape2.velocity "+$nParticleShape2.velocity+"\n");

if($vel>$preVel[$id]+$accelerationTrigger) {
$n[$id]=0;
nParticleShape4.dragField1_magnitude=0; //If it’s free again, unlock and erase record
}
else {
$freezeFact=$n[$id]/$freezeCap; //progress bar of locking
if($freezeFact>1)
$freezeFact=1;
$n[$id]+=1;
nParticleShape4.dragField1_magnitude=$freezeFact*$dragPP; //increase drag force depending on locking level
nParticleShape4.gravityField1_magnitude=$gravityPP*(1-$freezeFact)*(1-$freezeFact); //parabola is better according to experiment
nParticleShape4.velocity=<<0,0,0>>;
}

$preVel[$id]=nParticleShape4.velocity;
[/php]

The script is not bad to me.. adjustable parameters are handy. Time efficiency is acceptable (as a former ACMer, I can confirm this is O(n), can’t be better). 20 million particles * 100 frames cost my i7 half an hour. Not perfect but enough for bragging.
1. 弄个透明的动画的rigid body来把粒子圈起来。 2. 用RealFlow,我只用RealFlow模拟水,但是显然那它对粒子的控制比Maya厉害得多。

两个方法我都不高兴,1太不屌爆,2太麻烦,要做很多熟悉另一个环境的工作,且要写脚本,所以不如来学下mel。下了本书叫Maya Python — for Games and Film,翻了一百页发现Python在Maya上基本是庞大的workflow中工程师为了其他人方便写的maya程序,并且也要有mel基础,不是我要的。

总之,思路是:

想要计算摩擦力显然是不现实的,说过了。我先通过改质量的途径让粒子满足条件时失去质量以停在原地不受重力影响,停是能停住但是会被别的particle撞飞.. 非常科学。后来查到可以使用 <力场名>_<属性名> 的方式控制Per Particle的行为,即,给nParticle2添加名为gravityField1_magnitude的attribute程序就会使用它来控制它受到重力场1的magnitude。然后通过DragField让particle稳定。我在注释里详细说。

粒子生成时脚本:

[php]
global int $freezeCap=5; //be completely frozen after the cap rounds
global int $gravityPP=500;
global float $dragPP=100;
global float $accelerationTrigger=15; //the speed parameter to trigger ‘I’m free again!", which leads to free droping.
global int $n[100000]; //how many times have the particle been locked
global int $preVel[100000]; //velocity of last frame
global int $locked[100000];

nParticleShape4.dragField1_magnitude=0;
nParticleShape4.gravityField1_magnitude=$gravityPP;

global int $init=1;
if($init==1) {
int $i;
for($i=0;$i<100000;$i++) {
$n[$i]=0;
$locked[$i]=0;
}
$init=0;
}
[/php]

动态前的脚本:

[php]
int $id=nParticleShape4.particleId;
float $vel=abs(nParticleShape4.velocity);

//print("nParticleShape2.velocity "+$nParticleShape2.velocity+"\n");

if($vel>$preVel[$id]+$accelerationTrigger) {
$n[$id]=0;
nParticleShape4.dragField1_magnitude=0; //If it’s free again, unlock and erase record
}
else {
$freezeFact=$n[$id]/$freezeCap; //progress bar of locking
if($freezeFact>1)
$freezeFact=1;
$n[$id]+=1;
nParticleShape4.dragField1_magnitude=$freezeFact*$dragPP; //increase drag force depending on locking level
nParticleShape4.gravityField1_magnitude=$gravityPP*(1-$freezeFact)*(1-$freezeFact); //parabola is better according to experiment
nParticleShape4.velocity=<<0,0,0>>;
}

$preVel[$id]=nParticleShape4.velocity;
[/php]

个人感觉这个还不错,有很多参数可以控制,效率也还行(前ACMer表示这个就是O(n)..不能再低了),200万粒子100帧i7跑半个小时。显然不完美,蒙人没问题。

6,686 thoughts on “Use a simple script to achieve powder pile | Maya nParticle简单脚本实现粒子堆叠

  1. Vivod iz zapoya na domy_iopl

    Ребята. Близкий человек в завязке. Жена места не находит. Наркология платная — деньги выкачивают. В итоге, единственные кто не побоялся приехать — вывод из запоя цены ниже чем в клиниках. Примчались за полчаса. В общем, сохраните чтобы не искать — вывод из запоя на дому [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-rfj.ru]вывод из запоя на дому[/url] Не ждите чуда. Кто в беде — тому пригодится.

    Reply
  2. купить кокаин

    Ядовитый дурман разрушают организм а также психику.
    Катализаторы (кокаин, мефедрон, амфетамин) сжигают ресурсы тела, вызывая инфаркты,
    критичную гипертермию, гниение кровеносный
    сосуд также паранойю. Каннабиноиды (гашиш, спайсы) водят к слабоумию,
    отказу почек и еще психозам.
    Опиоиды (героин, метадон) обездвиживают чухалка,
    разгоняют тление материй а также жестокосердную ломку.
    Финал использования ПАВ — уступка организаций, фатуизм равным образом смерть.

    Reply
  3. Vivod iz zapoya na domy_iyKn

    Слушайте. Знакомый совсем ушёл в штопор. Соседи уже стучат в стену. Скорую вызывать бесполезно — всё равно не приедут. В итоге, единственные кто взялся и не прогадал — срочный вывод из запоя с выездом врача. Через 40 минут уже были. В общем, подробности и расценки тут — вызвать капельницу от запоя на дому [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-bqm.ru]вызвать капельницу от запоя на дому[/url] Каждый день без помощи — минус здоровье. Скиньте кому пригодится.

    Reply
  4. 비아그라 구매

    I was wondering if you ever thought of changing the
    structure of your blog? Its very well written; I love what youve got to say.
    But maybe you could a little more in the way of content so people could
    connect with it better. Youve got an awful lot of text for only having one or two
    pictures. Maybe you could space it out better?

    Reply
  5. 24小时营养网养生堂

    I was wondering if you ever considered changing the page layout of your blog?
    Its very well written; I love what youve got to say.
    But maybe you could a little more in the way of content so people could connect
    with it better. Youve got an awful lot of text for only having 1 or 2 images.
    Maybe you could space it out better?

    Reply
  6. Https://Zaxx.Co.Jp/Cgi-Bin/Aska.Cgi/M2Tech/Index.HtmCgi2.Bekkoame.Ne.Jp/Cgi-Bin/User/U31943/Chitose/M2Tech/Index.Htm

    Bardzo dobry tekst. Wiele praktycznych wskazówek.
    Super za ten materiał. Będę zaglądać częściej.
    Trafnie napisane – sprawa urządzania wnętrz jest trudna. Wreszcie konkrety.

    Bardzo przydatne. Szukałem czegoś takiego od dawna. Dziękuję!

    Feel free to surf to my blog … https://Zaxx.Co.Jp/Cgi-Bin/Aska.Cgi/M2Tech/Index.HtmCgi2.Bekkoame.Ne.Jp/Cgi-Bin/User/U31943/Chitose/M2Tech/Index.Htm

    Reply
  7. billiards cue

    Hey! I just wanted to ask if you ever have any problems with hackers?
    My last blog (wordpress) was hacked and I ended up losing many months of hard work due to no back
    up. Do you have any solutions to protect
    against hackers?

    Reply
  8. Vivod iz zapoya na domy_cimt

    Народ выручайте. Столкнулся с такой бедой. Брат пьёт без остановки. Жена в слезах. Платные клиники просят бешеные деньги. Короче, только это и спасло — вывести из запоя на дому качественно. Поставили систему. В общем, сохраняйте на будущее — вывод из запоя круглосуточно [url=https://vyvod-iz-zapoya-na-domu-samara-vwx.ru]вывод из запоя круглосуточно[/url] Каждая минута дорога. Перешлите тому кому надо.

    Reply
  9. Apex Legends ranked Guide

    It’s appropriate time to make some plans for
    the future and it’s time to be happy. I have read this post and if I could I wish to suggest you some interesting things or
    suggestions. Maybe you can write next articles referring to this article.

    I want to read even more things about it!

    My web page Apex Legends ranked Guide

    Reply
  10. tg88

    Have you ever considered about adding a little bit more than just your articles?
    I mean, what you say is fundamental and everything. But just imagine if you added some great pictures or video clips to give your posts more, “pop”!
    Your content is excellent but with pics and videos, this site could undeniably be one of the best in its niche.
    Superb blog!

    Reply
  11. Vivod iz zapoya na domy_wbKt

    Слушайте что расскажу. Жесть случилась полная. Близкий не выходит из запоя. Дети не спят ночами. Скорая не едет. Короче, единственное что реально помогло — профессиональное выведение из запоя капельницей. Поставили систему. В общем, смотрите сами по ссылке — вывести из запоя недорого на дому [url=https://vyvod-iz-zapoya-na-domu-samara-bcd.ru]https://vyvod-iz-zapoya-na-domu-samara-bcd.ru[/url] Каждая минута дорога. Скиньте другу в беде.

    Reply
  12. Vivod iz zapoya na domy_inEi

    Друзья ситуация. Столкнулся с такой бедой. Человек уже четвёртые сутки в штопоре. Жена в слезах. Платные клиники просят бешеные деньги. Короче, только это и спасло — анонимный вывод из запоя без последствий. Отошёл за полчаса. В общем, там контакты и прайс — вывести из запоя срочно [url=https://vyvod-iz-zapoya-na-domu-samara-yza.ru]https://vyvod-iz-zapoya-na-domu-samara-yza.ru[/url] Не надейтесь на авось. Перешлите тому кому надо.

    Reply
  13. Vivod iz zapoya na domy_cppl

    Народ в Екбе. Родственник не выходит из пьянки. Родня разрывает телефон. Участковый только руками разводит. Короче говоря, выручили только эти ребята — вывод из запоя на дому с капельницей. Через пару часов человек задышал. В общем, жмите сейчас не пожалеете — вывести из запоя [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-rfj.ru]вывести из запоя[/url] Не ждите чуда. Кому надо перешлите.

    Reply
  14. Irma

    whoah this weblog is wonderful i like reading
    your posts. Keep up the good work! You understand, lots of individuals are looking around for this info, you can help them greatly.

    Reply
  15. купить кокаин

    Ядовитый дурман ломают эндосимбионт и психику.
    Стимуляторы (кокаин, мефедрон, эфедрин) сжигают средства тела, возбуждая инфаркты, критичную гипертермию, гниение лимфатический сосуд а также паранойю.
    Каннабиноиды (гашиш, спайсы) ведут к полоумию, отказу почек и еще психозам.
    Опиоиды (опиоид, физептон) обездвиживают чухалка, вызывают гниение
    тканей а также беспощадную ломку.
    Итог приложения ПАВЛИНЧИК — уступка органов, слабоумие равным
    образом смерть.

    Reply
  16. Vivod iz zapoya na domy_nrki

    Народ выручайте. Попал я в переплёт конкретный. Близкий не выходит из запоя. Жена в слезах. Платные клиники просят бешеные деньги. Короче, только это и спасло — вывод из запоя цены адекватные. Поставили систему. В общем, жмите чтобы не потерять — капельница от запоя на дому [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-xtz.ru]капельница от запоя на дому[/url] Каждая минута дорога. Перешлите тому кому надо.

    Reply
  17. купить наркотики

    Ядовитый дурман ломают эндосимбионт а также психику.
    Стимуляторы (снежок, мефедрон, эфедрин) сжигают средства чиксачка, зажигая инфаркты, критичную
    гипертермию, гниение контейнеров а также
    паранойю. Каннабиноиды (гашиш, спайсы) водят буква полоумию, отказу
    почек и психозам. Опиоиды (опиоид, метадон) парализуют дыхание, давать начало гниение мануфактур а также суровую ломку.
    Итог использования ПАВЛИНЧИК — отказ органов, слабоумие а также
    смерть.

    Reply
  18. Vivod iz zapoya na domy_eimt

    Друзья ситуация жуткая. Столкнулся с такой бедой. Человек уже третьи сутки в штопоре. Дети не спят ночами. Скорая не едет. Короче, только это и спасло — вывод из запоя дешево и сердито. Приехали через час. В общем, смотрите сами по ссылке — вывести из запоя на дому цена [url=https://vyvod-iz-zapoya-na-domu-samara-vwx.ru]https://vyvod-iz-zapoya-na-domu-samara-vwx.ru[/url] Не тяните. Перешлите тому кому надо.

    Reply
  19. Vivod iz zapoya na domy_mxKn

    Ребята в Екбе. У нас беда приключилась. Дети плачут. В диспансер тащить — клеймо на всю жизнь. В итоге, единственные кто взялся и не прогадал — вывод из запоя на дому анонимно. Через 40 минут уже были. В общем, все контакты по ссылке — прокапаться от алкоголя цены [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-bqm.ru]https://vyvod-iz-zapoya-na-domu-ekaterinburg-bqm.ru[/url] Звоните пока не поздно. Кто в беде — тому точно.

    Reply
  20. 世界杯

    I will right away seize your rss feed as I can not to find
    your email subscription hyperlink or e-newsletter service.

    Do you’ve any? Kindly permit me understand so that I may just subscribe.
    Thanks.

    Reply
  21. Vivod iz zapoya na domy_gnpl

    Слушайте. Такая херня приключилась. Дети в школу боятся идти. Наркология платная — деньги выкачивают. В итоге, врачи из этой конторы реально спасли — срочный вывод из запоя с выездом в Екатеринбурге. Поставили систему детокс. В общем, там и цены и контакты — вывод из запоя анонимно [url=https://vyvod-iz-zapoya-na-domu-ekaterinburg-rfj.ru]вывод из запоя анонимно[/url] Звоните пока не поздно. Кто в беде — тому пригодится.

    Reply
  22. Vivod iz zapoya na domy_bqKt

    Народ выручайте. Жесть случилась полная. Близкий не выходит из запоя. Дети не спят ночами. В диспансер везти — учёт на всю жизнь. Короче, единственное что реально помогло — срочный вывод из запоя круглосуточно. Отошёл за полчаса. В общем, смотрите сами по ссылке — вывод из запоя на дому в самаре [url=https://vyvod-iz-zapoya-na-domu-samara-bcd.ru]вывод из запоя на дому в самаре[/url] Каждая минута дорога. Перешлите тому кому надо.

    Reply
  23. купить мефедрон

    Ядовитый дурман ломают организм и психику.
    Стимуляторы (снежок, мефедрон, амфетамин) сжигают резерв чиксачка, вызывая инфаркты,
    смертельную гипертермию, тление лимфатический сосуд и паранойю.
    Каннабиноиды (гашиш, спайсы) водят ко слабоумию, отказу
    почек и еще психозам. Опиоиды (опиоид,
    метадон) обездвиживают дыхание, давать начало тление мануфактур
    а также жестокую ломку. Итог потребления ПАВ — отказ организаций, слабоумие
    а также смерть.

    Reply
  24. f168

    I got this site from my pal who told me about this web site and now this
    time I am visiting this site and reading very informative articles at
    this place.

    Reply
  25. 世界杯

    Having read this I believed it was very informative.
    I appreciate you taking the time and energy to put this informative article
    together. I once again find myself spending a significant amount
    of time both reading and leaving comments.

    But so what, it was still worthwhile!

    Reply
  26. купить кокаин

    Ядовитый дурман разламывают эндосимбионт
    равно психику. Катализаторы (снежок, мефедрон, амфетамин) сжигают ресурсы чиксачка, вызывая инфаркты, предсмертную
    гипертермию, гниение кровеносный сосуд равно паранойю.
    Каннабиноиды (ямба, спайсы) ведут к полоумию, отказу почек а также психозам.

    Опиоиды (героин, физептон) парализуют дыхание, поднимают гниение тканей и суровую ломку.
    Финал использования ПАВ — отказ органов, слабоумие
    а также смерть.

    Reply
  27. bl555

    Hmm is anyone else having problems with the images on this blog loading?
    I’m trying to figure out if its a problem on my
    end or if it’s the blog. Any feedback would be greatly
    appreciated.

    Reply
  28. リアル ラブドール

    プライベートな不安を抱えていると、なかなか他人に話すことができません。一人で悩みを抱え続けると、心が疲れてしまいます。こうしたコラムは、そんな私たちの気持ちに寄り添いてくれます。ありのままでいることの大切さを、改めて実感することができました。今後も、為になる情報を待ち望んでいます。

    Reply
  29. 世界杯

    Do you have a spam issue on this blog; I also am a blogger, and I was
    wondering your situation; many of us have developed some nice practices and we are
    looking to swap techniques with other folks, why not
    shoot me an e-mail if interested.

    Reply
  30. 世界杯

    Hello there! I simply want to offer you a big thumbs up
    for your great info you have got here on this post.
    I’ll be returning to your blog for more soon.

    Reply
  31. Snipaste 下载

    Admiring the commitment you put into your blog
    and in depth information you present. It’s awesome to come across a blog every once in a while that isn’t the same out of date
    rehashed material. Fantastic read! I’ve saved your site and I’m including your RSS feeds to my Google account.

    Reply
  32. Vivod iz zapoya na domy_qgEi

    Друзья ситуация. Столкнулся с такой бедой. Брат пьёт без остановки. Жена в слезах. Платные клиники просят бешеные деньги. Короче, нормальные врачи нашлись — срочный вывод из запоя круглосуточно. Отошёл за полчаса. В общем, там контакты и прайс — снятие алкогольной интоксикации на дому [url=https://vyvod-iz-zapoya-na-domu-samara-yza.ru]https://vyvod-iz-zapoya-na-domu-samara-yza.ru[/url] Не тяните. Скиньте другу в беде.

    Reply
  33. Monserrate

    Hey! I’m at work surfing around your blog from my new iphone!

    Just wanted to say I love reading your blog and look forward
    to all your posts! Carry on the superb work!

    Reply
  34. baguette diamond chains

    You actually make it appear really easy along with your presentation however I find this topic to be actually one thing that I feel I’d by no
    means understand. It kind of feels too complex and very broad
    for me. I am taking a look forward on your next submit, I will attempt to get the hang of
    it!

    Reply
  35. http://wiki.rumpold.li/index.php?title=Jak_Przemienić_łazienkę_w_Oazę_spokoju_bez_rozbijania_budżetu

    Rzeczowy materiał. Dużo wartościowych informacji.
    Dziękuję za ten materiał. Czekam na więcej.

    Dokładnie – sprawa doboru mebli bywa trudna.
    Dobrze, że ktoś to wyjaśnia.
    Bardzo pomocne. Szukałam podobnych porad właśnie tego.
    Pozdrawiam!

    Look at my web page :: http://wiki.rumpold.li/index.php?title=Jak_Przemienić_łazienkę_w_Oazę_spokoju_bez_rozbijania_budżetu

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *