برای Include, Exclude کردن جسم های Select شده از یک نور می تونید از کد زیر استفاده کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای پیدا کردن موقعیت نمای فعلی و یا تغییر اون از کد زیر استفاده کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خط اول یک جعبه در مکان دوربین فرضی می سازه و بالای اون رو در خلاف جهت دوربین قرار میده. اگر کد رو اجرا کردید نما رو بچرخونید اون رو میبینید.
خط دوم نما رو در محل جسم انتخاب شده قرار می ده و به طرف محور z جسم نشونه می گیره.
---------------------------------------------
و اما کمی ریاضی
Transform یک جسم موقعیت اون جسم رو در فضای 3 بعدی مشخص می کنه که یک ماتریس 4x4 هست که البته تو مکس اسکریپت مولفه چهارم رو برای راحتی کا نمایش نمیده و ماتریس به شکل 4 تا بردار 3 بعدی در میاد. بردار اول محور x جسم و بردار دوم محور y جسم و بردار سوم محور z جسم و بردار آخری هم مکان جسم رو به ترتیب مشخص می کنن.
یک جسم در صحنه select کنید بعد کد زیر رو اجرا کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نتیجه آن را در MAXScript Listener ببینید. سه بردار اول مقادیری بین -1 تا 1 دارند چون بردارهای یکه هستندو به اونها بردار جهت هم میگن. ولی بردار آخر مکان جسمه و می تونید جسم رو از این طریق جابجا کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Row1..Row4 چهارتا بردار ماتریس هستن.
سوال : چرا از ماتریس استفاده می کنیم ؟
جواب : چون با استفاده از ضرب ماتریسها می تونیم همزمان چند انتقال رو روی اجسام انجام بدیم. دوران، بزرگنمایی، جابجایی.
وقتی جسمی به جسم دیگه لینک میشه، در واقع Transform فرزند رو در Transform والد ضرب میکنیم.
تصویر Viewport هم با استفاده از ماتریس روی صفحه 2 بعدی مانیتور نمایش داده میشه.
برای دیدن توابعی که MaxScript برای کار با ماتریس ها و بردارها در اختیارمون گذاشته تو MaxScript Help جستجو کنید Matrix3. توابع مربوط به دوران هم اونجا هست.
ببخشید اگه سرتونو درد آوردم
تا بعد.