آموزش ماد سازي با Matinee UE3

در انتها به مثال ساده اي در مورد کار با دوربين در Matinee را به انتها مي رسانيم. هدف ما اين است که يک دوربين در داخل مرحله قرار دهيم که با ورود به يک Trigger فعال شده و يک صحنه سينمايي ساده درون بازي را پخش کند (در اين مثال ساده تنها يک حرکت دوربين ساده ساخته مي شود. در آينده يک صحنه سينمايي با انيميشن و تمامي
چهارشنبه، 18 خرداد 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
آموزش ماد سازي با Matinee UE3

آموزش ماد سازي با Matinee UE3
آموزش ماد سازي با Matinee UE3


 

نويسنده: پويا دادگر




 
در مقاله گذشته به توضيحات ابتدايي در مورد کار با Kismet پرداختيم. در اين مقاله درباره Matinee يکي از ابزارهاي مهم Unreal ED صحبت مي کنيم. توجه کنيد اين سري از مقالات تنها جنبه آشنايي با ابزارها را دارند و در سري مقالات پيشرفته، به جزييات دو ابزار بسيار قدرتمند Kismet و Matinee مي پردازيم Matinee.
ابزاري براي متحرک سازي اشيا و کليه Asset هاي موجود در يک مرحله است. هر گونه متحرک سازي در صحنه از ساخت صحنه هاي سينمايي (Cut - Scene) درون بازي تا نشان دادن يک افکت مي تواند توسط Matinee انجام شود. هر چيزي که يک متغيري دارد که در طول زمان قابل تغيير است، مي تواند توسط اين ابزار طراحي شود. حرکت شخصيت ها در صحنه، متحرک سازي آسانسورهاي مرحله، باز و بسته شدن درها، حرکت هاي دوربين، افکت بين دوربين ها همه و همه بخشي کوچک از کارهايي هستند که به وسيله اين ابزار انجام مي شود. اين را بدانيد که Matinee قابلبيت کارهايي فراتر از اين را هم دارد. به گفته گريسان اِج (Grayson Edge) يک از طراحان ارشد مراحل بازي Gears of War 2 ، پايان تکان دهنده اين بازي همگي با استفاده از Matinee و Kismet ساخته شده است. در اين مقاله براي شروع ابتدا يک بالابر ساده را با استفاده از Matinee طراحي مي کنيم؛ سپس يک درب را طراحي خواهيم کرد که باز و بسته خواهد شد و در انتها با گذاردن دوربين يک صحنه سينمايي ساده درون بازي را طراحي مي کنيم.

آموزش ماد سازي با Matinee UE3

گام 1
 

همان طور که در مقالات گذشته توضيح داده شد، يک اتاق ساده طراحي کنيد. سپس در Generic Browser با باز کردن HU - Floor2, Package، براي Mesh بالابر از HU - Floor - SM -SidewalkA - 128، استفاده کنيد. آن را در Generic Browser برگزينيد، در مرحله خود کليک راست کرده و Add Actor را انتخاب کنيد. دو گزينه براي متحرک سازي بالابر وجود دارد Add InterpActor: و. Add Mover اگر InterpActor را انتخاب کنيد بايد کليه تنظيمات و تعاريبف بالابر را در Kismet انجام دهيد تا بالابر کار کند؛ در مقابل با انتخاب Mover، کليه تنظيمات موجود براي بالابر در دسترس خواهد بود. از آن جا که هدف ما تنها راه انداختن يک بالابر ساده است، Mover انتخاب بهتري به شمار مي رود. پس گزينه... Add Mover Static Mesh را مطابق تصوير 1 انتخاب کنيد تا Mesh بالابر درون مرحله قرار گيرد. توجه کنيد هنگامي که Mesh را به صورت يک شي متحرک وارد مرحله مي کنيد، تاثير نورهاي Static روي آن ديده نمي شود و تنها تاثير نورهايي موجود در Dynamic Channel قابل مشاهده هستند (در ادامه اين مقاله درباره چگونگي فعال سازي Channel Dynamic يک نور صحبت مي کنيم.)
حال روي آيکان Kismet کيلک کنيد. در داخل ابزار Kismet، روي پنجره اصلي کليک راست کرده و New Event Using InterpActor - x--> Mover را انتخاب کنيد x) يک عدد خواهد بود). يک Event، به نام InterpActor -x Mover که به يک Sequence Object Matinee متصل است، به صورت خودکار ايجاد مي شود. توجه کنيد Matinee به InterpActor -x (بالابر) نيز متصل است. حال اگر روي Matinee دوبار کليک کنيد، ابزار Matinee مطابق تصوير 2 باز مي شود. توضيح اجمالي درباره UI (ابزار Matinee) بسيار است که در مقالات پيشرفته به آن خواهيم پرداخت. فعلا با کليک روي آيکان مربوط به Curve Editor آن را ببنديد. مي بينيد که مانند تمامي نرم افزارهاي متحرک سازي، يک خط مربوط به زمان وجود دارد و در هر سطر مي توان هر آن چه را که متحرک سازي مي کنيم، قرار دهيم.

آموزش ماد سازي با Matinee UE3

گام 2
 

همان طور که در تصوير مي بينيد؛ چون از Mover استفاده کرديم، دو سطر Mover Group و Movement به صورت خودکار ايجاد شده اند (در ادامه در مورد چگونگي اين سطرها به صورت غير خودکار صحبت مي کنيم). همان طور که مشخص است MoverGroup نشان دهنده بالابر بوده و سطر Movement حرکت آن را مشخص مي کند. سمت راست Timeline را نشان مي دهد و با چرخاندان Mouse Wheel مي توانيد روي زمان زوم کنيد. با نگه داشتن کليد چپ و Dragکردن روي آن مي توانيد Timeline را جابجا کنيد. توجه کنيد که دو مثلث کوچک قرمز مدت زمان متحرک سازي را نشان مي دهد. با کليک چپ و حرکت دادن اين زمان مي توانيد اين مدت را مشخص کنيد. مثلث سمت راست را به سمت چپ حرکت داده و آن را روي 2 ثانيه بگذاريد. توجه کنيد که با تنظيم مقدار و فشردن کليد Toggle Snap مي توانيد به راحتي مثلث را روي زمان دلخواه Snap کنيد. حال موقع آن است که متحرک سازي بالابر را انجام دهيم. روي مستطيل سياه باريک کليک کرده و آن را حرکت داده و به ثانيه صفر برسانيد. بالابر را در مرحله انتخاب، روي سطر Movement کليک کرده و آن را انتخاب مي کنيم. حال مي توانيم با زدن کليد Enter يا انتخاب آيکان Add Key، براي بالابر يک انيميشن در ثانيه صفر ايجاد کنيد. حال با حرکت مستطيل به زمان 2 ثانيه و ايجاد Keyframe در آن جا و سپس حرکت بالابر به جايي که در انتهاي حرکت در آن جا مي ايستد، يعني بالابردن آن انيميشن، حرکت را تکميل کنيد. اصول انيميشن Keyframe اين است که شما محل شي متحرک را در Keyframe هاي مختلف در زمان مشخص مي کنيد و سپس وقتي انيميشن در زمان اجرا ميشود، شي بين مناطق مشخص شده در Keyframe ها حرکت مي کند. اگر مستطيل سياه را بين ثانيه صفر و دو حرکت دهيم، مي بينيم که بالابر به بالا مي رود، هم چنين يک مسير زرد مطابق تصوير 3 مسير حرکت را نشان مي دهد.

آموزش ماد سازي با Matinee UE3

گام 3
 

براي تست بالابر Matinee را مي بنديم تا به طور خودکار اطلاعات آن ذخيره شود. سپس درون مرحله محل شروع را با کليک راست و انتخاب Add Actor -> Add PlayerStart قرار داده و مرحله را با نام DM - Matineel ذخيره کنيد. حال اگر مرحله را اجرا کنيد، مي بينيد که اولا همان طور که قبلا گفته شد، بالابر تنها به صورت يک صفحه سياه است (چرا که هيچ يک از نوارهاي ما از Channel Dynamic بر آن نمي تابد). دوم اين که اگر روي بالابر برويد و حتي بالا و پايين بپريد، بالابر کاري را انجام نمي دهد! اگر روي آن شليک کنيد، چون نور شليک شده Dynamic است، براي لحظه اي بافت بالابر مشخص مي شود. علت اين که بالابر کار نمي کند اين است که بالابر هيچ اطلاعات Collision ندارد و بايد Collision آن فعال شود. براي اين کار روي بالابر دوبار کليک کرده تا مشخصات آن فهرست شود. در اين بخش Collision Type روي COLLIDE- NoCollsion تنظيم شده است. آن را به COLLIDE - BlockAll تغيير دهيد. حال اگر روي بالابر برويد، بالابر به کار مي افتد و شما را بالا مي برد و پس از کمي مکث پايين مي آيد. براي بررسي رفتار بالابر کافي است مطابق تصوير 4 Kismet را باز کرده و به مطالعه آن بپردازيم. همان طور که مي بينيد براي Trigger بالابر در حالت (Pawn Attached روي آن رفتن)، آن چه در Matinee موجود است، Play مي شود (بالابر به بالا مي رود). هنگامي که بالابر به Open Finished مي رود (به انتهاي مسير مي رسد (، Matinee به صورت Reverse نمايش داده مي شود، يعني بالابر به پايين مي آيد. حال اگر در Kismet روي Trigger) InterpActor-x Mover بالابر) کليک کنيم در پنجره پايين سمت چپ مي توانيم مقدار) Stay Open Time مدت زمان بالا ماندن بالابر را تعيين مي کند) را تغيير دهيم. اگر مقدار اوليه 1،5 ثانيه را به مثلا 0.5 ثانيه تغيير دهيم، بالابر هنگامي که به بالا مي رسد ،مکث بسيار کوتاهي کرده و باز مي گردد.
آنچه در اين جا گفته شده تنها شروعي براي راه انداختن يک بالابر است و شما مي توانيد کارهاي مختلفي را با آن انجام دهيد. مثلا براي گذاردن صدا کافي است Matinee را باز کنيد. مطابق تصوير 5 با کليک راست روي Mover Group و انتخاب Add New Sound Track يک سطر براي صدا ايجاد مي شود. حال کافي است در Generic Browser صداي مورد نظر خود را انتخاب کنيد و سپس با انتخاب سطر جديدي که براي صدا ساخته شده و زدن کليد Enter در حالي که روي ثانيه صفر هستيد، KeyFrame مربوط به صدا را ايجاد کنيد. حال اگر بالابر را تست کنيد، صداي مورد نظر شما در شروع حرکت آن پخش خواهد شد.

آموزش ماد سازي با Matinee UE3

گام 4
 

مثال بعدي باز و بسته کردن يک درب به وسيله يک Volume Trigger است. اينبار از InterpActor استفاده و سعي مي کنيم همه بخش ها را از صفر در Kismet و Matinee ايجاد کنيم. مطابق تصوير 6 دو اتاق ايجاد و با يک راهرو آن ها را به هم متصل کنيد. از Generic Browser يک درب از ASC-Door انتخاب کرده و آن را جلو راهرو قرار دهيد. آن را Scale کنيد تا در چهار چوب قرار گيرد. اکنون در حالي که درب را Select کرده ايد، Kismet را باز مي کنيم (خالي است). داخل پنجره اصلي آن کليک راست کرده و گزينه New Matinee را انتخاب مي کنيم. روي Object مربوط به Matinee مانند قبل دوبار کليک مي کنيم تا ابزار Matinee باز شود. ابتدا مدت زماني که لازم است تا درب باز شود را مشخص مي کنيم. سپس مانند قبل با حرکت مثلث قرمز سمت راست و کشاندن آن به روي عدد يک ثانيه مدت زمان انجام عمل باز شدن را مشخص کنيد. اين بار متوجه مي شويد سطرهاي موجود براي ساخت انيميشن در سمت چپ موجود نيست. براي اين کار ابتدا از Select بودن در، مطمئن شده، در محل ايجاد سطر مطابق تصوير 7 کليک راست کرده، گزينه New Empty Group را انتخاب کنيد و آن را Door بناميد. سطر ايجاد شده به رنگ سبز در مي آيد که نشان دهنده اين است که اين گروه براي يک شي ايجاد شده است (در صورتي که چيزي Select نباشد و New Empty Group را انتخاب کنيد، سطربه رنگ خاکستري در مي آيد). اين موضوع را مي توانيد در Kismet نيز ببينيد. حال InterpActor-x به Door در Matinee متصل است. روي سطر ايجاد شده کليک راست کرده و با استفاده از گزينه Add New Movement Track براي آن سطر Movement ايجاد کنيد. Keyframe. در حالت اوليه به شکل خودکار ايجاد شده، سپس در انتهاي حرکت (يعني باز شدن درب Keyframe (ديگري را ايجاد کرده و در انتها Timeline درب را به بالا حرکت دهيد.

آموزش ماد سازي با Matinee UE3

گام 5
 

انيميشن باز شدن درب کامل شده، اکنون نوبت آن است که با طراحي يک Trigger باز و بسته شدن آن را براساس رفتار بازيباز کنترل کنيم. براي اين کار Builder Brush قرمز را حرکت داده و در شعاعي که مي خواهيم وقتي بازيکن به آن رسيد، درب باز شود و خارج شد، درب بسته شود؛ قرار دهيد. براي مشاهده دقيق مرز به صورت 3D روي آيکان Toggle Brush Poleis کليک کنيد، تا حجم به صورت سه بعدي مشخص شود. حال روي آيکان Add Volume مطابق تصوير 8 کليک راست کرده و Trigger Volume را انتخاب کنيد. اکنون (Builder Brush مکعب سازنده) را از محل خارج کنيد. مشاهده مي کنيد يک حجم سه بعدي براي Trigger به رنگ سبز ساخته شده است. آن را Select کرده و Kismet را باز کنيد. در پنجره اصلي کليک راست کرده و گزينه New Event Using Trigger Volume-o --> Touch را مطابق تصوير 9 انتخاب کنيد. از گزينه Trigger Volume ،Touched ايجاد شده به Play، Matine و از Untouched به Reserve متصل کنيد. اين بدين معني است که وقتي وارد اين Trigger مي شويد، انيميشن Play, Matinee مي شود (درب باز مي شود و وقتي از آن خارج مي شويم انيميشن به صورت برعکس عمل کرده و درب بسته مي شود. توجه داشته باشيد همان طور که قبلا اشاره شده يک Trigger بصورت پيش فرض يک بار انجام مي شود. پس با انتخاب Trigger Volume در Kismet در بخش Properties در پنجره پايين سمت چپ، مقدار Max Trigger Count را از يک به صفر (بي نهايت بار) تغيير دهيد. اگر اين کار را انجام ندهيد، درب باز شده و همين طور باقي خواهد ماند. همانند قبل Collision در را BlockAll قرار داده و مرحله را Build کرده و آن را اجراکنيد. براي گذاردن افکت صوتي درب راه هاي مختلفي وجود دارد. مي توانيد اين افکت ها را در Kismet هنگام باز و بسته شدن درب طراحي کنيد يا مانند مثال قبل آن را در Matinee انجام دهيد؛ اما روش ديگري که مي توانيد از آن استفاده کنيد، انتخاب InterpActor يعني همان درب و باز کردن Property آن در Tab مربوط به InterpActor است. مي توانيد صدا را با انتخاب از Generic Browser در گزينه هاي Close Sound, Opened Sound , Open Sound و Closed Sound جايگزين کنيد.
آخرين مشکل سياه بودن Mesh مربوط به درب است. براي حل اين مشکل کافي است به property نور رفته و مطابق تصوير 10، از Light-->Light Component --> Lighting Channel گزينه Dynamic را چک بزنيد. همان طور که قبلا گفته شد، تنها نورهايي که در Channel Dynamic قرار دارند، روي InterpActor ها تاثير مي گذارند. توصيه مي شود براي بالا رفتن Performance يک نور جديد با Channel Dynamic براي در، به صورت جداگانه طراحي شود و Property نور اصلي اتاق تغيير نکند.

آموزش ماد سازي با Matinee UE3

گام 6
 

در انتها به مثال ساده اي در مورد کار با دوربين در Matinee را به انتها مي رسانيم. هدف ما اين است که يک دوربين در داخل مرحله قرار دهيم که با ورود به يک Trigger فعال شده و يک صحنه سينمايي ساده درون بازي را پخش کند (در اين مثال ساده تنها يک حرکت دوربين ساده ساخته مي شود. در آينده يک صحنه سينمايي با انيميشن و تمامي مشخصات خواهيم ساخت). ابتدا از Generic Browser-->Actor Class گزينه CameraActor را انتخاب کرده و سپس با کليک راست در مرحله و انتخاب Add CameraActor Here دوربين را درون مرحله قرار دهيد. خوب است دوربين را در مرحله ابتدايي آن تنظيم کنيد. براي اين کار ابتدا پنجره Perspective را مطابق تصوير 11 به پنجره اصلي تبديل، روي آيکان Lock selected Actors to the Camera کليک و سپس روي Camera کليک کنيد. حال با حرکت در Viewport آن چه از دوربين تان ديده مي شود را مي بينيد؛ پس محل دوربين خود را مشخص کنيد (پس از اتمام حرکت گزينه Lock را غيرفعال کنيد). مي توانيد با استفاده از View هاي ديگر نيز محل دوربين را تنظيم کنيد؛ اما کار با اين View دقيق تر خواهد بود. حال بايد حرکت دوربين موردنظر خود را تامين کنيد. براي اين کار Kismet را باز کرده و گزينه New Matinee را انتخاب کنيد. روي Matinee، دوبار کليک کنيد تا ابزار Matinee باز شود. با کليک راست روي محل ايجاد سطرها، گزينه Add New Camera Group را انتخاب کرده و آن را Camera بناميد. مي توانيد از Empty Group هم استفاده کنيد؛ اما Camera Group کار شما را آسان تر مي کند. مي بينيد که دو تِرَک (Track)، FOV Angle و Movement نيز به صورت خودکار مطابق تصوير 12 ايجاد مي شود. همانند قبل، پس از مشخص کردن مدت زمان حرکت، در حالي که دوربين Selected است و سطر Movement گزيده شده، Keyframe اوليه را انتخاب و سپس در انتها Keyframe مورد نظر را ايجاد کنيد و دوربين را در محل انتهايي قرار دهيد. مي بينيد که دوربين بين دو Keyframe حرکت مي کند. براي ديدن آن چه که دوربين به تصوير مي کشد، روي آيکان دوربين در سطر Camera Group کليک کنيد. براي استفاده از زوم دوربين مي توانيد Keyframe هاي موردنظر را در سطر FOV Angle ايجاد کرده و با کليک راست روي Keyframe ايجاد شده و انتخاب Set Value، ميزان زوم را تغيير دهيد. مقدار پيش فرض براي FOV 90 است که تغيير آن به 45ميزان زوم را دو برابر مي کند. حال نياز است که براي Matinee تعريف کنيم که از کدام دوربين استفاده مي کنيم (چرا که مي توانيم از چندين دوربين براي ساخت صحنه سينمايي خود استفاده کنيم). براي اين کار مطابق تصوير 13 با کليک راست و انتخاب Add New Director Group يک سطر در بخش جديد ايجاد مي شود. روي سطر Director که وظيفه کنترل دوربين هاي مختلف را دارد، کليک کرده و در ابتداي آن يک Keyframe ايجاد کنيد. متوجه مي شويد از شما مي خواهد دوربين موردنظر خود را انتخاب کنيد. با انتخاب Camera، در Timeline مدت زمان فعال بودن Camera به رنگ ديگر در مي آيد و روي آن Camera نوشته مي شود. روي DirGroup، کليک راست و گزينه Add New Fade Track را انتخاب کنيد. با انتخاب اين سطر در ثانيه صفر Timeline با زدن کليد Enter يک Keyframe ايجاد کنيد. روي Keyframe ايجاد شده کليک راست کرده و مقدار Set Value را از صفر به 1 تغيير دهيد تا در صورت کليک روي آيکانِ دوربين، صفحه کاملا سياه شود. در ثانيه 0.5 Keyframe جديدي با مقدار صفر قرار دهيد. حال مشاهده مي کنيد که صحنه سينمايي در ابتدا Fade-In ميشود. حال Matinee را ببنديد و در مرحله يک Trigger Volume همانند مثال قبل ايجاد کرده و در Kismet مانند قبل در پنجره اصلي کليک راست کرده و گزينه New Event Using Trigger Volume-0->Touch را انتخاب و گزينه Touched را به Play، Matine متصل کنيد (تصوير 14). حال با تست مرحله و ورود به Trigger تعريف شده، مي توانيد صحنه سينمايي اخته شده (يک حرکت دوربين ساده همراه با يک (Fade-In را مشاهده کنيد.

آموزش ماد سازي با Matinee UE3

آموزش ماد سازي با Matinee UE3

منبع:نشريه بازي رايانه، شماره 33



 



ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.