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跑半个小时。显然不完美,蒙人没问题。

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

  1. Vivod iz zapoya na domy_qwpn

    Блин, каждое утро одно и то же. Руки опускаются. Проверенный вариант — круглосуточный вывод из запоя и стабилизация. Там реальные врачи. Короче, вот вам информация — снятие запоя цена [url=https://vyvod-iz-zapoya-na-domu-voronezh-bvc.ru]https://vyvod-iz-zapoya-na-domu-voronezh-bvc.ru[/url] Каждая пьянка минус ресурс. Сам через это прошел, чем хоронить близкого. Очень советую эту контору.

    Reply
  2. Vivod iz zapoya na domy_rzoa

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

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

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

    Reply
  4. Lashay

    Naprawdę dobry artykuł. Mnóstwo przydatnych informacji.
    Dziękuję że dzielisz się wiedzą. Zapisuję do ulubionych.

    Trafnie napisane – temat urządzania wnętrz bywa trudna.
    Przydatne podejście.
    Naprawdę przydatne. Szukałam czegoś takiego już jakiś czas.
    Pozdrawiam!

    Here is my blog post Lashay

    Reply
  5. Vivod iz zapoya na domy_shOt

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

    Reply
  6. Vivod iz zapoya na domy_bySn

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

    Reply
  7. Daily SEO

    Magnificent site. Lots of helpful information here. I’m sending it to a few buddies ans additionally sharing in delicious.
    And obviously, thanks to your sweat!

    Reply
  8. my response

    Howdy this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code
    with HTML. I’m starting a blog soon but have no coding expertise so
    I wanted to get advice from someone with experience.
    Any help would be enormously appreciated!

    Reply
  9. MALWARE

    My family members every time say that I am wasting my time here at web, but I
    know I am getting familiarity all the time by reading thes pleasant posts.

    Reply
  10. игровые автоматы Риобет

    играть в казино Риобет – рулетка, блэкджек,
    покер . играть можно на любом устройстве .
    доступны демо-режимы для изучения .
    только лицензионные игры
    казино Риобет на деньги – пополнение от 100 грн/₽ .

    крути слоты с бонусными функциями .
    контролируй банкролл . служба поддержки помогает с выплатами
    игровые автоматы Риобет – более 2000 слотов
    от топ-провайдеров . live-столы с реальными крупье .
    высокие RTP до 98% . играй на телефоне с полным функционалом

    Reply
  11. Vivod iz zapoya na domy_wxpn

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

    Reply
  12. 100casinoapps.com

    Today, while I was at work, my cousin stole my apple ipad and tested to see if it can survive a 40 foot drop, just so
    she can be a youtube sensation. My iPad is now destroyed
    and she has 83 views. I know this is totally off topic but I had to share it with someone!

    Reply
  13. Vivod iz zapoya na domy_quOr

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

    Reply
  14. купить гашиш

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

    Reply
  15. vn22vip.com

    This is a very informative post about online casinos and
    betting platforms. I especially liked how it explains the importance of choosing a trusted
    site before signing up.

    Many players often ask where they can find reliable gaming platforms with
    fair odds and smooth payouts. From what I’ve seen,
    checking platforms like vn22vip helps users compare features, bonuses,
    and overall experience.

    Thanks for sharing these insights — they’re helpful for both beginners and experienced bettors.

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

    Ядовитый дурман разламывают организм и психику.

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

    Reply
  17. Vivod iz zapoya na domy_ykoa

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

    Reply
  18. Five88

    An interesting discussion is definitely worth comment.

    I think that you need to publish more about this subject,
    it may not be a taboo matter but generally folks don’t talk about such subjects.
    To the next! Cheers!!

    Reply
  19. Vivod iz zapoya na domy_peOt

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

    Reply
  20. Vivod iz zapoya na domy_ngSn

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

    Reply
  21. ซีรี่ย์ยอดฮิต

    Simply desire to say your article is as surprising.

    The clarity in your post is just great and i could assume you are an expert on this subject.
    Well with your permission allow me to grab your feed to keep updated with forthcoming post.

    Thanks a million and please keep up the rewarding work.

    Reply
  22. platform slot resmi indonesia

    Its like you read my mind! You seem to know so much about this, like you wrote the book in it or something.
    I think that you can do with some pics to
    drive the message home a little bit, but other than that, this is fantastic blog.
    A great read. I’ll certainly be back.

    Reply
  23. car history report

    Wow! This blog looks exactly like my old one! It’s
    on a completely different topic but it has pretty much the same page layout and design. Wonderful choice of colors!

    Reply
  24. 八字排盘

    I’ll right away grasp your rss as I can not find your e-mail subscription hyperlink or
    e-newsletter service. Do you have any? Kindly allow me realize
    so that I could subscribe. Thanks.

    Reply
  25. 주소모아

    Hello there, just became alert to your blog through Google, and found that it is really informative.
    I’m gonna watch out for brussels. I will be grateful if you continue this
    in future. Numerous people will be benefited
    from your writing. Cheers!

    Reply
  26. plustoto4d

    I loved as much as you will receive carried out right here.
    The sketch is attractive, your authored material stylish.

    nonetheless, you command get got an edginess over that you wish be delivering
    the following. unwell unquestionably come further formerly again as exactly the
    same nearly very often inside case you shield this hike.

    Reply
  27. Misty

    Naprawdę dobry materiał. Sporo przydatnych inspiracji.

    Super za podzielenie się. Czekam na więcej.
    Dokładnie – temat aranżacji bywa trudna. Wreszcie konkrety.

    Naprawdę przydatne. Szukałam czegoś takiego właśnie tego.
    Pozdrawiam!

    Have a look at my webpage :: Misty

    Reply
  28. Vivod iz zapoya na domy_weOr

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

    Reply
  29. дизайнерский ремонт

    I’ve been exploring for a little bit for any high-quality articles or blog posts on this
    sort of space . Exploring in Yahoo I finally stumbled upon this web site.

    Studying this info So i’m happy to show that I have a very just right
    uncanny feeling I came upon exactly what I needed. I so much for sure will make certain to don?t
    omit this website and give it a glance on a relentless basis.

    Reply
  30. The Epoch Times

    It’s really a nice and useful piece of information. I’m glad that you
    just shared this useful info with us. Please stay us up to date like this.

    Thanks for sharing.

    Reply
  31. Vivod iz zapoya na domy_giOt

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

    Reply

Leave a Reply

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