این قسمت قسمت پایانی آموزش motorbike rig خواهد بود
قسمت دوم آموزش شامل شش مرحله خواهد بود:
1: ساخت یک spinner برای Objectهای در حال انتخاب
2: کنترل فرمان موتور سیکلت توسط یک SPINNER
3: بکار گیری اسکریپت برای حرکت موتور سیکلت روی زمین
(البته این اسکریپت فعلا آموزش داده نمیشه فقط به صورت آماده قرارش میدم)
4: اتصال موتور سیکلت به یک لاین برای ساخت مسیر, توسط تابع PathConstrain
5: چرخش تایرها به وسیله اسکریپت , همراه با آموزش اسکریپت
6: animate کردن چرخش تایرها
================================================== =======
** ساخت یک spinner برای Objectهای در حال انتخاب **
ابتدا این فایل رو دانلود کنید, یا آخرین فایلی که در آموزش قبل گذاشتم
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
-برای کنترل فرمان موتور سیکلت برای گردش به چپ یا راست از یک Spinner استفاده میکنیم
-محدوده گردش فرمان از -45 درجه تا 45 درجه خواهد بود
-ما spinner رو به آبجکت MASTER تنظیم خواهیم کرد
به این ترتیب عمل کنید :
1 : آبجکت MASTER رو در حالت انتخاب قرار دهید
2 : از منوی Animation گزینه Parameter Editor را انتخاب کنید
پنجره Parameter Editor شامل فرامینی هست برای ساختن Spinner ها (چرخشگر) یا Slider ها (لغزنده) روی موضوعاتی که در حالت انتخاب هستند
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای اضافه کردن spinner به آبجکت MASTER در پنجره Parameter Editor باید دکمه Add رو بزنید قبل از این کار باید تنظیماتی انجام بدیم
----
در پنجره Parameter Editor::
در قسمت Parameter Type باید روی Float باشد (منظور اعداد اعشاری)
در قسمت UI Type باید Spinner رو انتخاب کنیم
در قسمت Name یک اسم دلخواه برای spinner تعیین میکنیم مثلا spin_front
در قسمت Range کمترین و بیشترین مقداری که spinner ما باید داشته باشه قرار میدیم
در from تایپ کنید -45 و در قسمت To تایپ کنید 45 و مقدار Default یا پیش فرش رو 0 بزارید
در پایان بر روی Add کلیک کنید تا spinner به آبجکت MASTER اضافه شود
----
برای دیدن spinner در آبجکت MASTER در حالی که اونو انتخاب کردید به پنل Modify برید و کرکره Custom Attributes باز کنید , برای تست مقدار spinner رو تغییر بدید میبینید که بیشترین مقداری که میپذیره 45 و کمترین مقدار -45
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته با تغییر اون اتفاقی نمیفته چون باید آبجکت front_body رو به اون متصل کنیم
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
** کنترل فرمان موتور سیکلت توسط یک spinner
1:: خوب برای اینکار MASTER رو در حالت انتخاب قرار دهید از منوی Animation به مسیر زیر بروید
wire parameters > wire parameters...
2:: در این حالت یک پنچره کوچک نمایان میشه که ابتدا روی (object (editable spline سپس custom attributes و در آخر بر روی spin_front کلیک کنید
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
3:: با این کار یک خط کوچک نمایان میشه که باید اونو بر روی Front_body کشیده و او نو
انتخاب کنید بعد از این کار دو باره یک پنجره سفید رنگ ظاهر میشه که مربوط به Front_body است که به ترتیب Transform>Rotation>y_Position را انتخاب میکنیم
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
4:: سپس پنجره Parameter Wiring #1 ظاهر میشه که دارای دو بخش اصلی هست
حالا باید دقت کنید که اگر اسم Front_body در بالای پنجره در بخش چپ قرار دارد فلشی که جهت اون به سمت چپ است انتخاب کنید
اگر اسم Front_body در بالای پنجره در بخش راست قرار دارد فلشی که جهت اون به سمت راست است انتخاب کنید
بعد از انتخاب فلش بر روی Connect کلیک کنید , با این کار spinner باید چرخش در محور front_body , Y رو کنترل کنه
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
=======
اما ما یک مشکل داریم زمانی که ما spinner رو تغییر میدیم میزان چرخش front_body خیلی زیاد هستش
علت این است که مقدار spinner به رادیان محاسبه میشه و میزان چرخش front_body به درجه محاسبه میشه
طبق این قضیه که یک رادیان برابر 57.296 درجه است >> 1radian = 57.296 degree , پس درپنجره
parameter Wiring #1 در بخشی از پنجره که اسم front_body در با لای آن نوشته شده است در پایین آن پنجره می نویسیم
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سپس دکمه Update را میزنیم تا کد جدید اجرا شود . ما اونو به 57.296 تقسیم کردیم
سپس پنجره Parameter Wiring #1 را ببندبد
سپس با تغییر مقدار spinner اونو تست کنید میبینید که مشکل چرخش زیاد بر طرف شده
=======
فایل مر بوطه , تا این قسمت از آموزش رو از اینجا دانلود کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
** اسکریپت LASER **
ابتدا این فایل رو دانلود کنید که شامل:
موتور سیکلت که ریگ شده + زمین + لاین برای مسیر +چنتا دوربین برای بهتر دیدن حرکات
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد از باز کردن فایل از منوی Maxscript یک new script باز کنید و کد های زیر رو در اون کپی کنید
و از منوی File یا Tools (بستگی به ورژن تری دی مکس) گزینه Evulate All رو بزنید تا اسکریپت اجرا شه
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
معمولا بعد از اجرا چیزی مشاهده نمیکنید اما اسکریپت اجرا شده و حالا پستی و بلندی های زمین رو دنبال میکنه
---- برای تست, آبجکت MASTER رو در محورهای x و y روی زمین حرکت دهید ----
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته مهم:: در زمان اجرا اسکریپت موتور سیکلت خار ج از زمین نباشه وگرنه فاجعه رخ میده
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
** اتصال موتور سیکلت به یک Line برای ساخت مسیر, توسط تابع PathConstrain **
اینو دیگه خیلی ها باهاش آشنان پس زیا دتوضیح نمیدم
1: آبجکت MASTER رو در حالت انتخاب قرار دهید
2: از مسیر زیر تابع path constrain رو اجرا کنید
َAnimation > Constrains > Path constrain
3: سپس بروی Line کلیک کنید (موتور سیکلت در مسیر مورد نظر قرار میگیره )
4: از تنظیمات تابع Path constrain گزینه FOLLOW را تیک بزنید تا مسیر رو دنبال کنه
نکته مهم::در صورت استفاده از یک لاین دیگه , ابتدا و انتهای لاین از حاشیه زمین بیرون نره
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
**چرخش تایرها به وسیله اسکریپت**
زمانی که یک تایر یک دور 360 درجه ای میزنه , در واقع به اندازه طول محیط خود حرکت رو به جلو خواهد داشت
پس بر طبق این تعریف ما اول باید بدونیم که محیط تایرهامون چنده , چون شعاع هر دو تایر یکیه , پس فقط محیط یکی رو بدست می یاریم.
محیط یک دایره به این صورته: شعاع ضرب در دو ضرب در 3.14
pi همون 3.14 هستش
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا اگر محیط تایر بشه 94.2 پس در هر 360 درجه ای که تایر میچرخه به اندازه 94.2 حرکت خواهد داشت
پس بر طبق این تعریف باید بدونیم طول مسیر طی شده توسط موتور سیکلت چقدر هست تا میزان چرخش محاسبه بشه
چون مسیر ما یک لاین هستش پس باید طول لاین رو بدست بیاریم, پس به این صورت عمل کنید:
1:لاین رو در حالت انتخاب در بیارید
2:به پنل Utilities برید
3:بر روی دکمه Measure کلیک کنید
4:در قسمت Shape پایین اون نوشته Length:11704.156 که طول لاین ما خواهد بود
تصویر بزرگتر از لینک زیر دانلود کنید>>>>
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در آخر سر بعد از بدست آوردن میزان چرخش باید اونو در یک فرمول قرار بدیم تا تایر رو به همون مقدار بچرخونه
فرمولمو به این صورته
=====
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که در این فرمول object همون تایر ما خواهد بود
<degrees_float> همون مقدار چرخش خواهد بود
<axis_point3> همون محور چرخش خواهد بود که به شش صورت کلی میتوان نوشت:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر بعد از چرخوندن تایرها مشکل در محور چرخش داشتید حالتهای دیگر رو هم امتحان کنید
محور
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای من درست کار میکنه
====
چون ما تایر ها رو به دو تا dummy لینک کردیم پس چرخش باید در مختصات dummy هر تایر باشه
پس از فرمول زیر استفاده میکنیم که بگیم در این مختصات چر خشو انجام بده
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
--node در اینجا موضوعی که به عنوان مختصات داده میشه قرار میدیم
--در پرانتز هم فرامینی که در این مختصات باید اجرا شوند قرار میدهیم
=====
بعد از توضیحات بالا حالا یک پنجره new script از منوی max script باز کنید و تایپ کنید:
شعاع تایرجلو 15 هستش پس :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شعاع تایرعقب 15 هستش پس :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
**animate کردن چرخش تایرها**
برای animate کردن تایرها timeslider رو به آخرین فریم میبریم جایی که موتور سیکلت به پایان مسیر میرسه
سپس Auto key رو روشن میکنیم
سپس این اسکریپتو برای تایر جلو اجرا میکنیم
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعدش این اسکریپتو برای تایر عقب اجرا میکنیم
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فایل نهایی که animate شده است رو از اینجا دانلود کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
************************************************** ***************************
************************************************** ***************************
************************************************** ***************************
فایلها با تری دی مکس 9 ساخته شده
حق کپی با ذکر منبع مجاز می باشد
آموزش ما به پایان رسید امید وارم از این آموزش بهره برده باشید