تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 5 اولاول 12345 آخرآخر
نمايش نتايج 11 به 20 از 49

نام تاپيک: آموزش * Max Script *

  1. #11
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    10 properties

    اگر توجه کرده باشید من در بعضی کدها بعد از موضوع یک نقطه قرار میدم و سپس یک کد دیگه
    مثل

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    به این کدهای کوچک در مکس اسکریپت Property میگن یا تنظیم کننده


    مثال: ما یک کره داریم در یک کره تنظیماتی چون radius تعداد segment ها,slice وغیره داریم به اینها میگن property ی کره ما

    ما یک باکس داریم در یک باکس ما تنظیماتی چون طول عرض ارتفاع تعداد segmentهای طول عرض ارتفاع و غیره داریم به اینها میگن property های بکس ما

    ما یک موضوع داریم که به editable polygon تبدیل شده ما تنظیماتی چون vertexها polygonها extrode وغیره داریم به اینها میگن propertyهای موضوع من


    برای دسترسی به propertyی یک موضوع بعد از آن نقطه یا dot قرار میدهیم سپس property ی موضوع را تایپ میکنیم




    property ها یا تنظیم کننده ها اصولا دو تا کار در موضوعات اصلی انجام میدهند

    1* با عث تغییر در تنضیمات موضوع میشوند

    اگر property ی یک موضوع را بنویسیم سپس مساوی جلوی آن قرار دهیم و مقداری را بعد از مساوی قرار دهیم و اجرا کنیم ما باعث تغییر propertyی آن موضوع شدیم


    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ----------------------

    2* باعث اطلاع از مقدار تنظیمها میشوند

    اگر property ی یک موضوع را بنویسیم و تغییری در آن ندهیم با اجرای آن فقط information ی از مقدار آن property در آن موضوع به ما میدهد


    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ---------------------------


    اصولا propertyها سه دسته اند

    propertyهای مختص به یک موضوع
    propertyهای سرتاسری یا Global
    propertyهای مختص به یک کلاس یا دسته
    --------------------

    propertyهای مختص به یک موضوع
    مثلا موضوعی مانند کره دارای radius یا شعاع هست اما نمیتوان اونو به یک باکس نسبت داد چون باکس دارای طول و عرض هستند و برعکس

    propertyهای سرتاسری یا Global
    مانند position _rotation_direction_scale و غیره

    مثلا بیشتر موضوعات در مکس قابلیت اینو دارن که مختصات اونهار تغییر داد
    بیشتر موضوعات در مکس قابلیت چرخش یا rotation دارن

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    propertyهای مختص به یک کلاس یا دسته

    فرض کنیم ما نمیتوانیم یک دوربین را به یک موضوع editatble poly تبدیل کنیم اما یک موضوع هندسی یا geometry مانند سیلندر بکس کره وغیره قابل تبدیل هستند پس در دوربینها نمیتوان property ی editatble poly
    پس این مخصوص geometryها هستند


  2. 14 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  3. #12
    حـــــرفـه ای Borhan72's Avatar
    تاريخ عضويت
    Aug 2007
    محل سكونت
    همين دور و ورا...       اسم شريف: آقا برهان
    پست ها
    2,785

    پيش فرض

    خیلی عالیه...
    قول میدم اگه تا آخرش همینطور خوب توضیح بدی یه آموزش pdf بسازم از حرفات...
    ممنون

  4. 5 کاربر از Borhan72 بخاطر این مطلب مفید تشکر کرده اند


  5. #13
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    10 properties

    بعد از توضیحات قبلی در مورد properties الان مشکل این جاست چطور بفهمیم که یک موضوع دارای چه propertyهای هست و نوع مقدارهایی که این propertyها قبول میکنه چیه

    =========================================

    سه نمونه از بیشترین مقدارهایی که در مکس اسکریپت کاربرد دارد شامل

    *integer یا عددهای صحیح مثل 1 _ 2 _3 455_ 800 _10 _0 _1020

    *float یا اعشاری مثل 2.5 _ 80.50 _ 13.0 _ 0.0 _ 1.0

    *boolean یا درست و نادرست مثل true _false _on _off

    ........
    بیشتر property ها این سه مقدارها را قبول میکند

    مثال:

    فرضا در propertyهای یک box هر سه این مقدارها مورد استفاده هستند

    طول و عرض box مقدارهای Float را میپذیرند مثل 25.0 4.1 10.2
    اگر یک مقدار عدد صحیح وارد شود به عنوان عدد اعشاری شناخته میشود

    تعداد segmentهای یک box عددهای integer را میپذیرند مثل 5 10 15
    ما نمیتوانیم تعداد segmentih ها را 2.5 کنیم اگر این عدد وارد شود به عنوان 2 آن رامیشناسد

    روشن و خاموش کرد property ی realWorldMapSize در تنظیمات box توسط مقدارهای boolen یعنی true و false یا on ,off انجام میشود

    ============================================

    برای اینکه بفهمیم در هر موضوع چه نو propertyهایی وجود داره باید از تابع

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    استفاده کنیم. طریقه استفاده در این مثال بیان شده

    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    ================================
    جواب این تابع همیشه از دو بخش تشکیل شده است

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    *اسم propertyهایی که در این موضوع قابل استفاده است

    *مقداری که هر property میتواند آن را بپذیرد مثل integer,float,boolean,.....


  6. 13 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  7. #14
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    10 Randomize کردن دو عملیات مختلف

    حتما با مفهوم random آشنا هستید ,یعنی به صورت تصادفی یا شانسی از بین یک مجموعه یک چیزی را انتخاب کردن.
    در maxscript تابعی وجود داره به نام random که با استفاده از اون میشه دو عدد مختلف یا دو position مختلف را

    randomize
    کرد
    .

    مثال:


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    اما من اینجا مخوام دو عمل مختلف را randomize کنم نه دو عدد یا دو position را
    فرض کنیم یک موضوع داریم و مخواهیم از بین rotation و position هر بار به صورت تصادفی یک حالت را انتخاب کنه
    پس مینویسیم

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    *در قسمت اول اسکریپت>

    اعداد صفر و یک را randomize کردیم

    *در قسمت بعدی اسکریپت شروطی تعیین کردیم>

    که اگر مقدار ran یک شد , جسم یا اجسامی که در حالت انتخاب باشند پوزیشن آنهارا تغییر دهد
    اگر مقدار ran صفر شد جسم یا اجسامی که در حالت انتخاب باشند, بچرخند


    *فرمول مربوط به حرکت دادن یک موضوع در مکس اسکریپت

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    حرکت موضوع به مقدار داده شده در محورهای مورد نظر
    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    در این مثال ما
    box را در محور x به مقدار 10 واحد حرکت دادیم
    اگر این مثال را 20 بار دیگر اجرا کنیم با این کار
    box ما 200 واحد حرکت خواهد کرد هر بار 10 واحد


    *چرخش موضوع به واحد درجه در محورهای تعیین شده

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


    با استفاده از این تابع موضوع را در واحدهای درجه به مقدار لازم در محورهای مور نظر میچرخانیم
    کلمه کلیدی eulerangles باید قبل از محورها وارد شود تا چرخش به میزان درجه محاسبه شود
    اگر این مثال را فرضا 10 با اجرا کنیم box ما در محور x صد درجه خواهد چرخید و در محور z پانصد درجه

    *
    علامت $ یعنی
    >

    هر موضوع یا موضوعاتی که در حالت انتخاب باشند


    =====
    =====

    حالا auto key را روشن کنید هر بار timeSlider را 20 فریم حرکت دهید و همچنین اسکریپت را اجرا کنید


    >>>>>>>>>>>>>>>
    تمرین:

    با راندوم کردن مقدارهای move و rotation در مثال


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    آن را پیشرفته تر کنید

    در همین تاپیک اونو قرار دهید


  8. 9 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  9. #15
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    پيش فرض Randomize کردن دو عملیات مختلف _نکته

    فقط یک توضیحو فراموش کردم در مورد کد

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این شکل دیگری از فرمول چرخش هستش که به صورت تک محوری عمل میکنه
    صورت کلی به این صورت هستش

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

  10. 11 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  11. #16
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    پيش فرض loop یا حلقه تکرار

    دستور FOR دستوری است که یک حالت loop یا حلقه تکرار ایجاد میکند
    loop ها عملیات تکراری هستند که به maxscript میگن یک مجموعه فرمان را تکرار و اجرا کن
    loop ها استفادههای زیادی برای کار با گروهای بزرگی از objectها دارند به طوری که فقط با یک گروه از فرمانها میتوان تغییرات خود را در تعداد زیادی از موضوعات ایجاد کرد

    برای مثال :
    شما میخواهید 50 box بسازید میتوانید کد مربوط به ساخت box را توسط دستور for پنجاه مرتبه تکرار کنید
    این کار خیلی سریعتر نسبت به اینکه کد را پنجاه بار تایپ کنید

    همچنین یکی دیگر از کاربردهای loop ها تغییر در properties ها موضوعات مختلف هست

    چند نوع loop داریم اینجا یکی از پراستفاده ترین آنها را بیان میکنیم
    صورت کلی فرمول

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال :

    با اجرای این کد پنجاه جعبه ساخته خواهد شد
    که دارای position های random هستند

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این کدرو در یک newscript کپی کنید سپس از منوی فایل گزینه evaluate all را بزنید

    اگر قصد انیمیشن کردن این boxهارو دارید قبل از اجرای اسکریپت auto key را روشن روی فریم 20 قرار دهید سپس اسکریپت را اجرا کنید در آخر سر play کنید

    ....................................
    درمورد loop ها بعدا بیشتر توضیح میدم

  12. 9 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  13. #17
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    پيش فرض loop یا حلقه تکرار

    حتما با اصطلاح Variables یا متغیرها در زبانهای برنامه نویسی آشنا هستید
    Variables یا متغیرها یک ویژگی مشترک دارند که به نام Scope معروف است
    scope یا هدف یا دامنه ویژگی ای هست که یک حافظه کوچک در 3dsmax ایجاد میکند که مقادیر در آن حافظه ذخیره میشوند

    در کل variable یا متغیرها حافظه هایی هستند که مقدارهای مارو در خود نگاه می دارن
    اما چرا ما به متغیرها , متغییر میگوییم ,این یکی از ویژگی هاش هستش یعنی مقدارهای داخل آن میتوانند هر لحظه که ما بخواهیم تغییر کنند

    مانند

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقدار 10 در a ذخیره شده
    یا
    مقدار های ساخت یک باکس در متغیر mybox ذخیره شده

    .................
    بعد از این مقدمات بر گردیم به loops یا حلقه های تکرار

    این صورت کلی که یادتون هست

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    قسمت var_name همون متغیر ماست یکی از ویژگیهای loops اینه که متغیر لحظه به لحظه تغییر میکنه
    در فرمول بالا مقدار متغیر یک مقدار عددی هستش

    به مثال زیر توجه کنید


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    در این مثال متغیر mytavan به این صورت تغییر میکند که >
    اگر loop ما یک بار تکرارشود متغیر mytvan برار 1 خواهد شد
    اگر loop ما برای بار دوم تکرار شود متغیر mytavan برابر 2 خواهد شد
    اگر loop ما برای بار سوم تکرار شود متغیر mytavan برابر 3 خواهد شد
    و به همین صورت بر اساس مقدار تکرارloop , متغیر آن مقدار را لحظه به لحظه میپذیرد

    پس متغیر mytavan به صورت افزایشی مقدارهای 1 تا 5 را میپذیرد
    پس نتیجه میگیریم عدد دو در تکرار اول به توان 1 میرسد
    در تکرار بار دوم loop عدد دو به توان 2 میرسد و به همین صورت تا توان 5

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با استفاده از این ویژگی میتوان چنین مثالی زد

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا play را بزنید تا نتیجه کار را بعد از اجرای این script ببنید
    ما در این اسکریپت box خود را در فریمهای

    10
    20
    30
    40
    50

    چرخاندیم هر بار 45 درجه

    ----------------------------------------------------

    مثالهای خود را در همین تاپیک قرار دهید

  14. 8 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  15. #18
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    10 بکار بردن توابع مثلثاتی در مکس اسکریپت

    در این اسکریپت من یک موضوع رو در یک مسیر دایره ای با یک شعاع معین حرکت خواهم داد
    و از توابع sin و cos استفاده میکنم


    در اینجا فرض میکنیم شما با توابع مثلثاتی آشنا هستید ,اگر نه پس به کتابهای دبیرستان یه نگاهی بندازید



    طبق قوانین مثلثات هر چی زاویه در cos به صفر نزدیکتر باشد مقدار cos افزایش می یابد و بر عکس
    طبق قوانین مثلثات هر چی زاویه درsin به صفر نزدیکتر باشد مقدار sin کاهش می یابد و بر عکس



    طبق این دو قانون اگر یک موضوع که در یک مسیر دایرهای حرکت میکند اگر از مختصات x کم شود به مختصات y اضافه میشود و بر عکس
    پس مینویسیم


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    توضیح توابع
    ========================

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    با استفاده ار این تابع میتوان تعیین کرد که
    TimeSlider هم اکنون در چه فریمی قرار دارد


    مثال


    timeslider
    را در فریم 50 قرار دهید سپس
    بنویسید

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    =========================================

    as یک convertor هستش که بعضی از مقادیر خاص را به یک کلاس تبدبل میکند برای درک بهتر به مثال توجه کنید

    مثال :
    ما یک عدد اعشاری داریم مانند 2.5 مخواهیم اونو به یک عدد صحیح با Integer تبدیل کنیم یعنی عددی بدون اعشار, پس مینویسیم


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    یا تبدیل اعداد صحیح به اعشاری


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    ---------------------
    در اسکریپت اصلی ما چون مقدار currenttime یک مقدار زمانی هستش نه یک عدد صحیح پس نیاز به تبدیل داره
    فرض کنیم currenttime ما در فریم 1f قرار دارد پس مینویسیم


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    اما ما یک مشکل داریم زمانی که فریم 1f رو به حالت عدد صحیح یا integer تبدیل میکنیم

    عدد 160 را در جواب داد در حالی که ما انتضار داشتیم مقدار 1f رو به عدد صحیح 1 تبدیل کنه

    علت این است که هر فریم به کوچکترین واحد خود تبدیل شده یعنی هر فریم برابر 160tick هستش


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    پس اسکریپتو اینجور اصلاع میکنیم


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    =============================================

    مقدار c همان شعاع دایره خواهد بود

    مقدار mm همان زاویه ما خواهد بود برای sin , cos



    مقدارهای sin و cos مختصات ما در دو بعد x و y خواهند بود
    مقدار z را صفر در نظر میگیریم

    در آخر سر, موضوع که در حالت انتخاب هستش position اونو تعیین میکنیم

    --------------


    برای بکار بردن اسکریپت به اینصورت عمل کنید


    *اندازه نوار زمان رو روی 360 فریم تنضیم کنید
    time slider رو در فریم صفر قرار داده AutoKey را روشن کنید و اسکریپت را اجراکنید


    *سپس time slider را در هر بار 45 فریم جلو برده و اسکریپت را اجرا کنید

    یعنی در فریمهای


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    باید اسکریپت اجرا شود


    *در آخر سر
    play کنید

    ======================================

  16. 5 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  17. #19
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    11 آموزشهای ویدئویی

    پروژه تعطیل شد
    Last edited by *Forgotten*; 13-02-2010 at 21:23.

  18. 2 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


  19. #20
    آخر فروم باز *Forgotten*'s Avatar
    تاريخ عضويت
    Apr 2009
    محل سكونت
    ?What
    پست ها
    1,773

    پيش فرض

    سلام به همگی
    میخوام بعد از مدتها به این تاپیک مرده یه حالی بدم

    از این به بعد به علت سنگینی موضوع و دست تنها بودن هر وقت تونستم آموزشها رو میزارم

    برای ساده تر شدن آموزشها اونهارو به صورت مثالهای کوچک تقسیم میکنم و بیشتر روی تکنیکهای ریگگینگ کار میکنم

  20. 5 کاربر از *Forgotten* بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •