منبع اصلی نوشتار زیر در این لینک قرار دارد

ساخت دود و آتش – قسمت دوم

در این قسمت در قالب آموزش ساخت آتش، روش‌های دیگری از کار کردن با Smoke در Blender2.5 را معرفی می‌کنیم. من از بلندر ۲.۵۴ استفاده می‌کنم.

\"\"

برای شروع باید مثل قسمت قبل یک آبجکت به عنوان Domain و داخل آن آبجکت دیگری به عنوان انتشار دهنده بسازیم.

  • از مکعب پیش‌فرض بلندر استفاده نکنید.

طی انجام مراحل ساخت Domain بعد از add کردن Smoke و انتخاب Domain به این نکات توجه کنید:

  • گزینه Dissolve را فعال کنید. این باعث می‌شود که ذرات دود بعد از بوجود آمدن به تدریج ناپدید بشوند. این همان اتفاقی است که در شعله‌ی آتش رخ می‌دهد.
  • ترجیحاً Border Collisions را در حالت Open قرار دهید. در این صورت شعله‌های آتش در صورت برخورد با دیواره‌های Domain برنمی‌گردند. هرچند ما سعی می‌کنیم آنقدر Domain را بزرگ در نظر بگیریم که شعله‌ها به اطراف بر خورد نکنند، اما این احتیاط خوبی است چون عبور از دیواره‌ی Domain و ناپدید شدن زبانه‌ی شعله، کمتر وجود Domain را آشکار می‌کند تا برخورد با دیواره و بازگشت شعله.

\"\"

طی مراحل ساخت انتشار دهنده این نکات قابل توجه هستند:

  • در ورژن ۲.۵۴ بعد از اینکه smoke را add کردید و بعد flow را انتخاب کردید، به صورت خودکار یک particle به آبجکت شما اضافه می‌شود. اگر نشد طبق مراحلی که در قسمت اول گفته شد آن را اضافه کنید.
  • بعد گزینه Initial Velocity را انتخاب کنید. این باعث می‌شود که ذرات دود در بدو تولد سرعتی متناسب ( البته نامساوی) با سرعت ذرات particle داشته باشند.

\"\"

اکنون اگر شبیه‌سازی را آغاز کنید، رفتاری شبیه به شعله‌های آتش را خواهید دید.

\"\"

کنتل سرعت

همانطور که گفته شد سرعت ذرات دود (یا همان شعله) از سرعت ذرات particle mdv پیروی می‌کند. بنابراین برای کنتل سرعت شعله‌ می‌توانید به سربرگ Particles رفته و در قسمت Velocity با پارامتر ها بازی کنید. مسلما پارامتر اصلی با بیشترین تأثیر، همان Normal است که سرعتی در جهت عمود بر وجه‌ها (تعریف normal) به ذرات particle می‌دهد. پیشنهاد من این است که نگذارید سرعت Random صفر باقی بماند.

\"\"

کنترل طول شعله

برای کنترل طول شعله می‌توانید از دو پارامتر کمک بگیرید؛

۱ – همانطور که سرعت ذرات شعله با سرعت particleها متناسب است. طول عمرشان هم با طول عمر ذرات particle تناسب دارد که در نهایت روی طول شعله تأثیر می‌گذارد. برای تعین طول عمر ذرات particle (در حالی که آبجکت انتشار دهنده انتخاب شده) به سربرگ Particles رفته و در قسمت Emission پارامتر Lifetime را تنظیم کنید.

\"\"

۲ – دومین پارامتر کنترل کننده‌ی طول شعله مربوط به Domain است. بعد از انتخاب آبجکت Domain به سربرگ Physics رفته در قسمت Smoke پارامتر Time را تنظیم کنید. این پارامتر طول مدت دیده شدن ذرات شعله را تعیین می‌کند؛ که هرچه کمتر باشد ذرات زودتر ناپدید می‌شوند و در نتیجه طول شعله کوتاهتر می‌شود. اگر گزینه Slow را از انتخاب خارج کنید سرعت ناپیدشدن ذرات به شدت افزایش پیدا می‌کند. طوری که طول شعله شما در حد ۹۰٪ کوتاه می‌شود.

\"\"

ماده آتش

در قسمت قبل میزان چگالی توسط بافت Voxel Data روی ماده دود اعمال شد. برای ایجاد ماده شعله باید مراحل قسمت قبل را طی کنید. بعد نوبت آن است که رنگ آتش را به ماده اضافه کنیم. برای این کار ابتدا در سربرگ Material در قسمت shading پارامتر Emission را با عددی نزدیک به ۳ مقداردهی می‌کنیم؛ تا کاملا درخشنده باشد و بعد بافت دیگری بازهم از نوع Voxel Data اضافه می‌کنیم و تنظیمات زیر را انجام می‌دهیم.

\"\"

  • مثل دفعه‌ی قبل در قسمت Voxel Data، ورودی Domain Object را Cube قرار می‌دهیم.
  • در قسمت Influence بجای Density این بار Emission را انتخاب می‌کنیم و نوع Blend را این‌بار Multiply قرار می‌دهیم.

\"\"

  • در قسمت Color با فعال کردن گزینه‌ی Ramp یک نوار رنگ در اختیار شما قرار می‌گیرد که می‌توانید از راست به چپ رنگ‌های گرمترین  تا سردترین نقاط آتش را تعیین کنید.
    اگر نوار رنگی را به این صورت تنظیم کنید، نتیجه رندر به آن صورت خواهد بود.

\"\" \"\"

  • برای اینکه در ادامه‌ی شعله جلوه‌ای هم از دود دیده شود می‌توانید کمی از انتهای نوار را به رنگ خاکستری اختصاص دهید.

چند نکته:

  1. از آنجا که بلندر مکعب محیط بر شی Domain را به عنوان محدوده‌ی شبیه‌سازی در نظر می‌گیرد دلیلی برای اینکه از آبجکتی غیر از مکعب به عنوان Domain استفاده کنیم وجود ندارد.
  2. به همین دلیل چرخاندن مکعب برای صرفه‌جویی در محاسبات نیز کار درستی نیست.

چند نکته هنگام کار کردن با نسخه‌ی بتای blender:

  1. از مکعب پیش‌فرض بلندر به عنوان Domain استفاده نکنید.
  2. ممکن است بلندری که شما استفاده می‌کنید با تغییر بعضی از پارامترها شبیه‌سازی را مجددا انجام ندهد و از نتایج قبلی استفاده کند. برای رفع این مشکل می‌توانید پوشه‌ای که بلندر برای ذخیره سازی Cache در کنار فایل می‌سازد را پاک کنید.
  3. اگر مشکلات دیگری را تجربه کردید لطفاً به وسیله کامنت یا هر وسیله دیگری اطلاع دهید که به این نکات اضافه کنم؛ تا دوستان زمان کمتری صرف کنند. متشکرم.

مطالب مرتبط: قسمت اول



برچسب ها : , ,