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,682 thoughts on “Use a simple script to achieve powder pile | Maya nParticle简单脚本实现粒子堆叠

  1. DéTails

    Whether for education, entertainment, or professional use, downloading YouTube videos without software
    is a convenient solution.

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

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

    Reply
  3. 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 secure 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
  4. Vivod iz zapoya na domy_mlki

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

    Reply
  5. Vivod iz zapoya na domy_irpl

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

    Reply
  6. Vivod iz zapoya na domy_zuea

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

    Reply
  7. Vivod iz zapoya na domy_pnoi

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

    Reply
  8. navigate to this website

    hey there and thank you for your info – I’ve certainly picked up something new from right here.
    I did however expertise some technical issues using this
    site, as I experienced to reload the web site a lot of
    times previous to I could get it to load correctly. I had
    been wondering if your hosting is OK? Not that I’m complaining, but slow
    loading instances times will often affect your placement in google and
    could damage your high quality score if advertising and marketing with
    Adwords. Well I am adding this RSS to my e-mail and could look out for a
    lot more of your respective exciting content. Ensure that you update this again very soon.

    Reply
  9. Ce Site

    Browse 18,930 save from danger photos and images available, or search for rescue to find more
    great photos and pictures.

    Reply
  10. Vivod iz zapoya na domy_kjKt

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

    Reply
  11. Www.parikmaher-Ekb.ru

    Rzeczowy materiał. Wiele konkretnych wskazówek. Pozdrawiam że dzielisz się
    wiedzą. Będę zaglądać częściej.
    Zgadzam się – sprawa urządzania wnętrz bywa trudna.

    Przydatne podejście.
    Naprawdę inspirujące. Szukałam takich informacji właśnie tego.
    Pozdrawiam!

    my website … http://Www.parikmaher-Ekb.ru

    Reply
  12. Vivod iz zapoya na domy_gpKn

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

    Reply
  13. allysa amour full porn

    After I initially commented I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on each
    time a comment is added I receive four emails with the same comment.
    Perhaps there is an easy method you are able to remove me from that service?
    Appreciate it!

    Reply
  14. 世界杯

    Very great post. I just stumbled upon your blog and wanted to
    mention that I’ve truly enjoyed surfing around your blog posts.

    After all I’ll be subscribing in your rss feed and
    I am hoping you write again soon!

    Reply
  15. Rishikesh Call Girl

    You actually make it seem so easy with your presentation but I find this topic to be really something which I think I would never understand.

    It seems too complicated and very broad for me.
    I am looking forward for your next post, I’ll try to get the hang of it!

    Reply
  16. Wildlife removal

    Hey There. I discovered your blog the usage of msn. That is a really well written article.
    I’ll be sure to bookmark it and come back to read extra of your helpful information. Thank you for the post.
    I’ll certainly comeback.

    Reply
  17. taxi app promotions

    Open countless cost savings at Kaizenaire.сom, Singapore’s leading aggregator ᧐f promotions, deals,and amazing occasions fгom favorite brand names.

    Singaporeans’ exhilaration fߋr deals is palpable
    іn Singapore’s dynamic shopping paradise.

    Going to museums ⅼike the National Gallery enhances social Singaporeans,
    аnd keep in mind to stay updated օn Singapore’s most current promotions аnd shopping
    deals.

    Banyan Tree սses high-end hotels and medical spa services, loved Ьy Singaporeans foг their peaceful escapes
    аnd wellness therapies.

    OSIM sells massage chairs аnd wellness devices mah, treasured by Singaporeans fߋr tһeir
    peaceful home spa experiences ѕia.

    Chicha San Chen brews premium teas ԝith cheese foams,
    ⅼiked for fresh, aromatic Taiwanese credibility.

    Eh, ᴡhy delay lor, Singaporeans must browse Kaizenaire.ⅽom daily mah.

    Here іs my web site :: taxi app promotions

    Reply
  18. Brady

    Wartościowy artykuł. Mnóstwo wartościowych porad.
    Dziękuję że dzielisz się wiedzą. Polecam innym.

    Zgadzam się – kwestia wystroju potrafi być niełatwa.

    Dobrze, że ktoś to wyjaśnia.
    Szczerze pomocne. Szukałam czegoś takiego właśnie tego.
    Pozdrawiam!

    my web-site … Brady

    Reply
  19. singapore shopping

    Kaizenaire.com іs your portal tο Singapore’s tоp promotions,featuring aggregated
    deals аnd occasions for eacһ customer.

    Singapore stands unrivaled ɑs a shopping heaven,
    fueling locals’ passion fоr deals and offers.
    In the lively hub of Singapore, shopping paradise meets promotion-loving
    Singaporeans.

    Yoga classes іn tranquil workshops heⅼp Singaporeans keep equilibrium in tһeir
    busy lives, аnd bear in mind to гemain updated
    on Singapore’ѕ most recent promotions and shopping
    deals.

    Tiger Beer, an iconic regional brew, supplies rejuvenating lagers tһat Singaporeans love fоr
    theiг crisp taste during social events and celebrations.

    Mash-Uр markets city streetwear аnd devices mah, adored Ьy vibrant Singaporeans fоr their
    cool, casual vibes ѕia.

    Crystal Jade uses genuine Chinese meals fгom dim amoսnt tο noodles,
    cherished by Singaporeans f᧐r reputable convenience food аcross itѕ many outlets.

    Eh, whʏ pay complete cost mah, consistently search Kaizenaire.com for the veгy best promotions lah.

    Ꭺlso visit mү ρage – singapore shopping

    Reply
  20. Baking soda trick for men

    Very nice post. I just stumbled upon your weblog and wished to say that I’ve really enjoyed surfing
    around your weblog posts. In any case I will be subscribing on your rss
    feed and I’m hoping you write again soon!

    Reply
  21. Best crypto casinos

    Hello, I think your site might be having browser compatibility
    issues. When I look at your blog in Ie, it looks fine but when opening in Internet Explorer,
    it has some overlapping. I just wanted to give you a quick heads up!
    Other then that, wonderful blog!

    Reply
  22. rank on google

    Hey! Do you know if they make any plugins to safeguard
    against hackers? I’m kinda paranoid about losing everything I’ve worked hard on. Any recommendations?

    Reply
  23. Vivod iz zapoya na domy_igpl

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

    Reply
  24. Nhà cái o8

    It’s a pity you don’t have a donate button! I’d most certainly donate to this superb blog!
    I suppose for now i’ll settle for book-marking and adding your RSS feed
    to my Google account. I look forward to new updates and
    will share this blog with my Facebook group.

    Talk soon!

    Reply
  25. 有道翻译

    Hi would you mind stating which blog platform you’re working with?
    I’m going to start my own blog soon but I’m having a difficult time selecting between BlogEngine/Wordpress/B2evolution and Drupal.

    The reason I ask is because your design seems different then most blogs and I’m looking for something completely
    unique. P.S Sorry for being
    off-topic but I had to ask!

    Reply
  26. Vivod iz zapoya na domy_lcEi

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

    Reply
  27. Anderson

    Dzień dobry, trafiłem tu przypadkiem i muszę przyznać, że dużo się dowiedziałem. Sama właśnie teraz urządzam mieszkanie i każda wskazówka jest na wagę złota. Pozdrawiam forumowiczów.
    Dobry temat. Z mojego doświadczenia dobór mebli naprawdę robi różnicę. Warto poświęcić temu czas.

    Reply
  28. my blog

    Your style is unique in comparison to other folks I have
    read stuff from. I appreciate you for posting
    when you’ve got the opportunity, Guess I will just book
    mark this page.

    Reply
  29. Http://Www.Rus-Phpnuke.Com/Go.Php?Url=Ahr0Cdovl3D3Dy5Hawtplwv2B2X1Dglvbi5Qcc95Es1Ib2Fyzc95Ewjicy5Jz2K/Bglzdd10Ahjlywq=

    Wartościowy tekst. Dużo konkretnych inspiracji.
    Super za ten materiał. Zapisuję do ulubionych.

    Trafnie napisane – temat urządzania wnętrz bywa
    trudna. Przydatne podejście.
    Bardzo inspirujące. Szukałem czegoś takiego właśnie tego.
    Dziękuję!

    My blog post – http://Www.Rus-Phpnuke.Com/Go.Php?Url=Ahr0Cdovl3D3Dy5Hawtplwv2B2X1Dglvbi5Qcc95Es1Ib2Fyzc95Ewjicy5Jz2K/Bglzdd10Ahjlywq=

    Reply
  30. Vivod iz zapoya na domy_cyPr

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

    Reply
  31. Vivod iz zapoya na domy_ewPa

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

    Reply
  32. 世界杯

    Woah! I’m really digging the template/theme of this blog.

    It’s simple, yet effective. A lot of times it’s challenging to get that “perfect balance” between user friendliness and
    visual appearance. I must say you’ve done a great job with
    this. Also, the blog loads super fast for me on Internet explorer.

    Excellent Blog!

    Reply
  33. 비아그라 구매

    First off I want to say wonderful blog! I had a quick question which I’d like to ask if
    you do not mind. I was curious to know how you center yourself and clear
    your mind prior to writing. I have had trouble clearing my thoughts
    in getting my thoughts out. I do take pleasure in writing
    however it just seems like the first 10 to 15 minutes are generally wasted simply just trying to figure out how to begin. Any ideas
    or hints? Thank you!

    Reply
  34. Vivod iz zapoya na domy_ihKt

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

    Reply
  35. Vivod iz zapoya na domy_ljoi

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

    Reply

Leave a Reply

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