تبیان، دستیار زندگی
رفته ساخت پاشیدن آب به وسیله Particle Flow در ادامه تمرین قبل در این تمرین آزمایش هایی را به رخدادهای خود اضافه می کنیم که ساخت پاشدن آب را بازسازی کنیم. دراین قسمت باید آزمایش را ایجاد کنیم که تقاطع ذره با آب را کنترل کنیم. ...
بازدید :
زمان تقریبی مطالعه :

آموزش شماره 5 پیشرفته

ساخت پاشیدن آب به وسیله Particle Flow

در ادامه تمرین قبل در این تمرین آزمایش هایی را به رخدادهای خود اضافه می کنیم که ساخت پاشدن آب را بازسازی کنیم.

دراین قسمت باید آزمایش را ایجاد کنیم که تقاطع ذره با آب را کنترل کنیم. سپس اگر ذره با آب تماس داشته باشد باید ذره های جدید منتشر شود. آزمایشی که ما در اینجا نیاز داریم در قسمت انبار وجود ندارد ولی می توان آن را ایجاد نمود. آزمایش تماس همانند آزمایش برخورد است. برای آزمایش برخورد از لفافه فضاییDeflector استفاده می کنیم.

در این فایل یک لفافه فضایی  Udeflector وجود دارد که از شیWater mover بعنوان شی آزمایش استفاده می کند.

ولی برای مقیدنمودن این لفافه به سیستم ذره ای از (Bind) استفاده نمی کنیم. بلکه از عملگرForce و آزمایشCollision استفاده می کنیم و این لفافه را به سیستم ذره ای ارجاع می دهیم.

1) از انبار زیر آزمایشCollision Spawn را انتخاب کنید و سپس در داخل کادرEvent01 رها کنید.

2) بر روی نام آزمایش داخل کادرEvent کلیک کنید تا پارامترهای آنرا مشاهده کنید. این آزمایش شامل ویژگی های هر دو آزمایشSpawn test وCollision test می باشد.

آزمایشCollision test از نظر ظاهر نسبت به  عملگر های دیگر متفاوت می باشد. در واقع یک دستگیره یا رابط در کنار این آزمایش مشاهده می شود. این رابط و دستگیره راTest output می نامند. این دستگیره حاصل آزمایش را به رویداد دیگر متصل می نماید.

در سیستمParticle Flow ذره دارای زندگی و رفتار هستند این ذره را شما در این سیستم مورد آزمایش قرار می دهید. ذراتی که از این آزمایش ها گذر کنند می توانند به رویداد دیگر منتقل شوند. دستگیره زرد کنار آزمایش ها همان دروازه ای است که ذره ها باید از آن عبور کرده و به عملگر و رخداد دیگر انتقال داده شوند.

حالا وقت آن است که هر یک از ذره ها برای تصادم(Collision) با شی آب آزمایش شوند. ذره هایی که شرایط آزمون را دارا باشند به رویداد بعدی می روند و ذره هایی که شرایط را دارا نباشند یعنی( با آب برخورد نکنند به رویداد بعدی انتقال پیدا نمی کنند.)

آزمایشCollision Pawn به شما امکان می دهد تا فقط ذره های پدر( اصلی) یا ذره های زاد و ولد شده یا هر دو را به رخداد بعدی ارسال نمایید. در اینجا از حالت پیش فرض آزمون استفاده می کنیم که فقط امکان ارسال ذره زاد و ولد شده را به رویداد بعدی فراهم می سازد.

از ویژگی های بسیار جالب سیستم Particle Flow این است که می توان همزمان چند آزمایش داشت یا حتی ازMax Script استفاده نمود تا انشعابهای هوشمند در جریان ذره ها ایجاد نمود. بعنوان مثال می توانید از آزمایشAge test استفاده نمود و ذره ها را به سن خاصی رساند و سپس به آزمایشSpeed test   ارسال نمود که در آنجا مورد آزمایش قرار گیرد و سرعت آن تغییر یابد و اگر سرعت آن از مقدار خاصی تغییر یافت به آزمایش دیگر ارسال شود.

در این تمرین می خواهیم قایق بر اساس یک آزمایش ذره منتشر کند و هنگامیکه ذره ها به یک سن معین می رسند درصدی از آنها اقدام به زایش ذره های جدید با خصوصیات متفاوت نمایند.

نخست باید معلوم کرد که ذره ها به کدام لفافه ارجاع داد یک لفافه در صحنه وجود دارد که به شیWater mover مقید شده است.

در نسخه قبلی برنامه مجبور بودیم ذره ها را به لفافه فضایی مقید نمود اما محدودیت این روش آن است که همه ذره ها یکسان از لفافه فضایی استفاده می کنند.

اما در این سیستم می توان ذره ها را به وسیله عملگر تحت تأثیر لفافه فضایی قرار داد.

زیبایی این روش آن است که در این روش می توان معیین نمود که هر ذره به چه مقدار و تا چه حد تحت تأثیر لفافه فضایی قرار گیرد.

پس به آزمایشCollision test یک عملگر Force اضافه می کنیم تا لفافه فضایی را به آن مقید کنیم.

در داخل پارامترهای آزمایشCollision test قسمتDeflectors قرار دارد. در این قسمت هر تعداد که بخواهید می توانید Deflectors ایجاد نمایید.

3) داخل پارامترهایCollision test قسمتDeflector دکمهBy list را زده و سپس لفافهUdrflector را انتخاب نموده و سپس دکمهSelect را بزنید.

4) داخل پانل پارامترها زیرقسمتSpawn rate and amount میزان زایشی ذره را تنظیم می کنیم. گزینهSpawn on First Collision  بطور پیش فرض انتخاب شده است. بدین ترتیب هر ذره با اولین برخورد خود با لفافه اقدام به زایش می نماید. اما در این تمرین قایق چند بار به سمت بالا و پایین می رود پس باید این گزینه را هم تغییر داد.

در همین قسمت گزینهSpawn on each collision را انتخاب نمایید. فیلدUntil یک فیلد عددی می باشد که معین می سازد که ذره پدر چند بار مورد آزمایش قرار گیرد.

این پارامتر را معادل 100 قرار دهید.

5) پارامتر%Spawnnable درصد ذره های(پدر یا موجود) که بطور واقعی ذره ها را زادوولد می کند تعیین می کند. این پارامترها را به 25 تغییر دهید.

6) پارامترOffspring مشخص می کند که هر ذره که از آزمایش بیرون می آید چه مقدار ذره زادوولد کند این پارامتر را تغییر دهید  به 15 افزایش دهید.

7) پارامتر%Variation نوعی حالت تصادفی ایجاد می نماید که عدد 15 برای آن مناسب می باشد.

ادامه در آموزش شماره 7

مهدی بندری