حرکت و لرزش دوربین در آنریل

توضیحات آموزش

در این فیلم به آموزش ایجاد لرزش برای دیده شدن بهتر جزییات در رندرهای کلوزاپ (Closeup) می‌پردازیم. لازم به ذکر است که یکی از بزرگ‌ترین مزیت‌های آنریل انجین ارائه رندر تک فریم در کمتر از چند ثانیه و به‌صورت لحظه‌ای که در اصطلاح به رندرهای ریل تایم معروف هستند می‌باشد و دیگر با زمان رندرهای طولانی‌مدت باید خداحافظی کرد.
در ادامه موضوع حرکت و لرزش دوربین از آموزش آنریل انجین ویویدویژوال ، که بطور مفصل و پروژه در دوره آموزش آنریل انجین در ورکشاپ اول فصل یک , به آن پرداختیم ,
بخشی از  موضوع آموزش ورکشاپ  , این است که Seq01 که از قبل ساخته‌ایم را باز و با Play کردن کامل آن متوجه می‌شویم که چه‌کاری باید انجام داد. ایجاد یک حرکت لرزشی، به صورتی که گویا دوربین و یا دوربین تلفن همراه در دست شخص قرار دارد باعث زیبا شدن هر چه بیشتر انیمیشن بخصوص روی بخش‌هایی که می‌خواهیم جزییات دیده شود می‌توان چنین حرکتی را روی رندرهای کلوزاپ (Closeup) به‌صورت ریل تایم (Real Time) داشته باشیم.

Quixel Mega Scan

آموزش انجام این کار از صفر شروع خواهیم کرد تا مشاهده کنیم به چه صورت این روند انجام خواهد گرفت. ابتدا صحنه را باهم بررسی می‌کنیم تا مشاهده کنیم، صحنه به چه صورت است. با خارج شدن از نمای دوربین و رفتن به نمای پرسپکتیو، مشاهده می‌کنید که این فضا، همان محیطی است که در فصل اول از آموزش آنریل انجین راجع به آن صحبت کردیم؛ اما اینک تمرکز روی بخشی از صحنه است، یعنی می‌خواهیم یک رندر کلوزاپ (Closeup) و یک انیمیشن کلوزاپ از این بخش داشته باشیم.

 همان‌طور که مشاهده می‌کنید روی این میز نهارخوری یک سری اکسسوری هایی قراردادیم. تمام این آبجکت هایی که در بخش کلوزاپ این دید (View) ما وجود دارد، از بخش Quixel Mega Scan و از قسمت Bridge انتخاب کردیم. با باز کردن Quixel Bridge در بخش Local که فایل‌های دانلودشده در آن قرار دارد مشاهده می‌کنید که تمام این آبجکت ها از بخش Quixel Bridge دانلود و در این بخش قراردادیم.

بررسی دوربین و منبع نور

حالا دوربین استفاده‌شده را باهم بررسی می‌کنیم. دوربین اصلی کمی داخل دیوار فرورفته،Camera را بازکرده و Camera01-Closeup را که قبلاً قراردادیم مشاهده می‌کنیم در اینجا قرار دارد. می‌توان در تنظیمات از WireFrame استفاده کنیم تا شما پوزیشن این دوربین را ببینید که کجا قرارگرفته و تمرکز و نگاه آن به سمت همین بخشی است که روی میز ناهارخوری قرار دارد.

مجدداً به بخش Lighting برگشته و مشاهده می‌کنیم که نوری را که در قسمت قرار داده‌ایم، به‌نوعی حالت یک استودیو را شبیه‌سازی کرده است. با انتخاب این نور که به شکل یک نور Plane است مشاهده می‌کنیم که تنظیمات خاصی ندارد و تنها با کم و زیاد کردن شدت آن تا به نتیجه موردنظر می‌رسیم.

تنظیمات دوربین

به دوربین رفته و تنظیمات دوربین را بررسی می‌کنیم. دوربینی را که قرار داده‌ایم (Camera01-Closeup) به حالت پرسپکتیو تغییر داده، این دقیقاً همان زاویه دوربینی است که استفاده کردیم که روی Color Grading و Exposure و کنتراست‌های آن کارکردیم که همه‌ی این موارد را در فصل اول این آموزش در مجموعه‌ی ویویدویژوال فراگرفتیم؛ اما مجدد در این ویدیوی آموزشی تنظیمات آن را باهم مرور می‌کنیم.

بررسی حالت‌های فوکوس (Focus Method)

با دقت به این نکته خواهیم رسید که حالت Focus Method را که در جلسات گذشته از دوره آموزش Unreal Engine فراگرفتیم، هنگامی‌که روی حالت Manual قرار می‌گیرد، می‌توان میزان فوکوس و فاصله را تعیین کرد که در چه فاصله‌ای باشد. برای اینکه این فاصله را بهتر ببینیم می‌توان Draw Detbug Focus Plane را فعال و مشاهده کنیم مرز بین روشنایی و تاریکی در آن قسمت شارپ کار و فوکوس کار و توجه اصلی به آن قسمت است. می‌توان این فاصله را روی ابتدای آبجکت شیرینی کوکی قرار داد و این گزینه را خاموش‌کنیم مشاهده می‌کنیم که فوکوس کار اینجاست.

یک روش جالب دیگر بنام Tracking وجود دارد که در صورت حرکت دوربین، نقطه فوکوس تغییر نکند. قبل از استفاده از این تکنیک اگر دوربین را حرکت بدهیم فوکوس ممکن است از روی شیرینی کوکی خارج شود و نقطه‌ی فوکوس هم تغییر پیدا می‌کند. با استفاده از حالت Tracking در صورت حرکت دوربین چه به‌صورت عقب و جلو، فوکوس همیشه روی ان سوژه قرار دارد. توجه کنید که هنگام فعال کردن Tracking حتماً باید در بخش Actor To Track گزینه Pick Actor را فعال کرده و یا موضوع را انتخاب کنید مشاهده می‌کنید که فوکوس روی موضوع قرار داده می‌شود. حال اگر دوربین را تغییر دهیم فوکوس همیشه روی سوژه باقی می‌ماند.

نکته‌ی دیگر در قسمت پارامترهای دوربین گزینه Current Focal Lenght است. مشاهده می‌کنید که تقریباً از یک لنز تله استفاده کردیم تا بتوانیم فوکوس خوبی داشته باشیم. منطقه‌ی Depth of Field به این شکل شود و میزان Current Aperture روی عدد 1.8 است که هم روی شدت مقدار بلار شده و هم روی Exposure صحنه تأثیر می‌گذارد.

مراحل ساخت انیمیشن سوژه:

در قسمت Sequence ها گزینه Add Sequence Level را تأیید و اینک می‌توان در پنجره‌ی بازشده در هر فولدر از این کانتنت های (Contents) آن را بسازیم که در این ویدیو قبلاً پوشه Sequence را ساختیم. در پوشه‌ی Sequence ها به‌عنوان‌مثال Seq-Closeup را تعریف و ذخیره می‌کنیم. حال با باز شدن این Sequence، ابتدا باید دوربین را در این Sequence تعریف کنید یا با کلیک و درک کردن از Outliner گزینه‌ی Camera را پیدا کنید و کلیک و درک می‌کنیم یا از قسمت Track گزینه Actor To Sequencer را انتخاب و از این قسمت دوربین موردنظر را انتخاب کنیم.

حال بعد از وارد شدن دوربین، باید انیمیشنی بسازیم که دوربین در حال تکان خوردن باشد. اینک اگر Play کنیم هیچ اتفاقی نمی‌افتد. اینجا هم می‌بینید که 140 فریم داریم که کم‌وزیاد کردن آن را قبلاً طی آموزش‌ها آموخته‌اید. حالت frame Presented را روی 24fps قرار داده، درواقع 120 فریم داریم که معادل پنج ثانیه است. در صورت تمایل می‌توان آن را کم‌وزیاد کرد. مقدار آن را تا 240 افزایش داده و اوکی می‌کنیم.

Camera Shake

حال باید انیمیشنی بسازیم که در این 10 ثانیه، دوربین لرزشی داشته باشیم. این کار را می‌توان به‌وسیله‌ی Blueprint انجام داد. همان‌طور که در آنریل انجین پلاگین های از پیش تعریف‌شده‌ی زیادی داریم Blueprint از پیش‌ساخته شده زیادی هم داریم. برای این کار ابتدا به قسمت Content ها رفته و پوشه‌ی جدیدی را بنام CameraShake می‌سازیم. در پوشه ساخته‌شده Blueprint Class تعریف کرده و اینک می‌توان از Blueprint هایی موجود سرچ و استفاده کنیم. اینک از Camera Shake Base استفاده کرده، می‌توان نام آن را بعد از انتخاب کردن، تغییر داد. با دبل کلیک در این Blueprint پنجره‌ای باز می‌شود که اطلاعات این Blueprint است. برای ویرایش کردن اطلاعات باید این پنجره را بسته و مجدداً با دبل کلیک در این Blueprint، پنجره‌ی دیگری باز می‌شود که این بار قابلیت ادیت و ویرایش دارد. اینک با ساختن این Blueprint در محتوای خود یعنی در Content ها آن را تعریف نمودیم.

حالا به پوشه‌ی Sequence برگشته و آن را باز می‌کنیم. دوربین را انتخاب و در قسمت Camera Component یک Track وجود دارد که با انتخاب آن در قسمت Camera Shake گزینه Camera Shake Blueprint را انتخاب می‌کنیم. حال می‌توانیم بازه‌ی زمانی مشخص‌شده را کم‌وزیاد و آن را کنترل کنیم. هنگامی‌که Play می‌کنید وقتی به انتهای کار می‌رسید دوباره از اول پلی می‌شود و این اتفاق بسیار خوبی است. ممکن است برای شما وقتی به انتهای کار رسیدید Stop شود. برای این کار گزینه‌ی No Looping فعال کرده و به حالت Loop playback range تغییر داده می‌شود تا به‌صورت اتوماتیک از اول پخش شود.

استفاده از Blueprint ها

حال در قسمت Content ها به پوشه Camera Shake رفته و Blueprint ر ا اضافه کردیم. دبل کلیک کرده تا تنظیمات این Blueprint باز شود. حال حالت Root Shake Pattern روی حالت none است. به همین دلیل دوربین شما هیچ تکان و لرزشی ندارد. حرکت آن را می‌توانید روی فرمول‌های مختلف تعریف کنید. روی حالت Perlin Noise Camera Shake Pattern قرار داده که با انتخاب این فرمول حرکت دوربین، به‌صورت لرزشی است برای اینکه تایم لرزش را تنظیم کنیم در این Blueprint قسمت Timing را بازکرده تا در این لیست مدت‌زمان را روی عدد دلخواه قرار دهیم.

نکته: اگر مقدار زمان Duration را روی عدد صفر قرار دهیم تا انتهای بازه‌ی زمانی که وجود دارد تعریف می‌کند هر تعداد فریمی که دارید تا همان مقدار انیمیشن را می‌سازد. حالا بعد از Play کردن مشاهده می‌کنید که روی دوربین یک لرزشی ایجاد می‌شود.

تنظیمات Blueprint ها

در این قسمت از آموزش آنریل انجین به سراغ تنظیمات رفته هنگامی‌که Pattern Perlin Noise Camera Shake را انتخاب می‌کنید می‌توانید در سه بخش Location و Rotation و FOV می‌توانیم انیمیشن و حرکت و لرزش را کنترل کنیم. میزان Rotation را صفر قرار داده و همچنین FOV صفر قرار می‌دهیم. در قسمت Location مقدار Location Amplitude Multiplier(فاصله‌ای که می‌تواند دوربین تکان بخورد و یا میزان جابجایی) و مقدار Location frequency Multiplier (سرعت حرکت) روی عدد صفر قرار دارد. حال به Rotation رفته و در قسمت Rotation Amplitude Multiplier (چند درجه بچرخد) و در قسمت Rotation frequency Multiplier(پاچه سرعتی بچرخد) مقدار هر دو را صفر می‌کنیم. در حالت FOV روی لنز ما کار می‌کند. در قسمت Amplitude(تا چند درجه لنز جابجا شود یعنی زوم شود) و در قسمت frequency(سرعت زوم کردن) را روی صفر قرار می‌دهیم.

موضوع تنظیمات Blueprint ها در این آموزش کوتاه بطور کاملتر در  دوره آموزش Unreal Engine به آن پرداخته شده است که به‌طورکلی می‌توان از ترکیب این پارامترها به نتیجه‌ی بسیار مطلوبی رسید. در بخش FOV مقدار Amplitude را روی یک و مقدار frequency را نیم قرار می‌دهیم. در بخش Location مقدار Location Amplitude Multiplier را 0.7 و مقدار Location frequency Multiplier را 0.6 قرار می‌دهیم و در بخش Rotation مقدار Rotation Amplitude Multiplier را 0.5 درجه و مقدار Rotation frequency Multiplier را 0.4 قرار می‌دهیم.

انیمید کردن حرکت دوربین

حال در این قسمت از آموزش آنریل انجین می‌توان اتفاق دیگری را وارد این انیمیشن کنیم؛ یعنی خود حرکت دوربین را جداگانه انیمید (Animaide) کنیم وقتی این را تعریف کردیم و تنظیمات را انجام دادید حتماً دکمه‌ی ذخیره را زده تا اعمال شود.

حال می‌توان به‌صورت جداگانه همان‌طور که قبلاً یاد گرفته بودید این پارامترها را انیمید کنید و حتی Transform دوربین را انیمید کنم. انیمیشن را متوقف کرده، در فریم اولیه در فریم صفر می‌توان بیشتر نزدیک به سوژه شد. به قسمت Transform آمده و روی قسمت Location و Rotation و Scale می‌توان جداگانه کارکرد. دوربین را جلوتر برده و در Transform روی Add a new key at the current time(enter) کلیک کرده و بعد از Play کردن مشاهده می‌کنید لرزش روی دوربین وجود دارد. اینک می‌خواهیم تا انتهای کار که فریم 240 است دوربین را عقب‌تر آورد. می‌توان دوربین را همین‌جا در زاویه دلخواه عقب‌تر آورده و دوباره در Transform روی Add a new key at the current time(enter) کلیک کرده که یک keep frame تا فریم 240 ساخته‌شده باشد. ترکیب کردیم یعنی درواقع هم دوربین را به‌صورت دستی در Transform انیمید کردیم هم از Camera Shake Blueprint استفاده نمودیم. بعد از Play کردن مشاهده می‌کنید که هم لرزش دوربین راداریم و هم دوربین عقب‌تر می‌آید و در یک زاویه دیگر در انتهای کار قرار می‌گیرد.

گرفتن رندر با آنریل انجین

حال باید از کار رندر ریل تایم (Real Time) و خروجی بگیریم که پروسه آن را هم قبلاً در دوره آموزش Unreal Engine آموزش و کارکردیم اما بار دیگر باهم در این ورکشاپ از آموزش آنریل انجین مرور می‌کنیم. در قسمت Render this movie روی حالت Movie Render Queue قرارگرفته کلیک کرده و تنظیمات را انجام داده و با فرمت jpg Sequence انجام شود حتماً پیشنهاد می‌کنم که فرمت exr را نیز فعال کنید تا بتوانید پست پروداکشن بهتر و دقیق‌تری در نرم‌افزارهای ادیت روی آن انجام دهید.Rendering روی حالت Deferred قرار دارد. می‌توانید حالت Anti-aliasing را فعال و در آن تیک Override Anti-aliasing را فعال می‌کنیم و در قسمت Temporal Sample Count برای کنترل کیفیت افزایش کیفیت و سمپل گذاری اگر کامپیوتر خوبی دارید روی 64 تعریف کنید، در غیر این صورت روی عددهای کمتر مانند 32 یا 16 تعریف کنید.

و درنهایت در قسمت Output در بخش Output Directory می‌توانید محل ذخیره‌ی فریم‌ها را مشخص کنیم. در قسمت Output Resolution سایز و ابعاد خروجی فریم‌ها را مشخص می‌کنیم و اگر کل این بازه را بخواهیم خروجی بگیریم کار خاص دیگری نمی‌خواهد انجام دهیم. اگر فریم خاصی مدنظر است تیک قسمت Use Custom Playback Range را فعال و مشخص می‌کنیم از چه فریم تا چه فریمی خروجی بگیرد. حال ما چون می‌خواهیم تمام فریم‌ها را ذخیره کنیم این تیک را خاموش کرده، بنابراین همه‌ی این تنظیمات اوکی است Accept را زده و روی Render کلیک کرده و پروسه‌ی رندر گرفتن ریل تایم (Real Time) جلو می‌رود.

حال طبق این آموزش از دوره آموزش Unreal Engine شمارا به یک چالش دعوت می‌کنیم. شما می‌توانید یک زاویه کلوزاپ از هر صحنه‌ای (می‌تواند سوژه یک دوچرخه باشد یا یک اکسسوری یا بخشی از یک دیتیل ساختمان و…) را انتخاب کنید و یک رندر کلوزاپ به‌صورت ریل تایم (Real Time) که دران به این شکل فوکوس کرده باشیم روی یک سوژه خاص، Camera Shake یا لرزشی را داشته باشیم، می‌خواهیم؛ که می‌سازید باید حداقل 240 فریم داشته باشد یعنی ده ثانیه بیشتر هم شد که چه‌بهتر.

telegram-character.png

قبل از خرید می‌توانید

مشاوره بگیرید