کسی در مور Normal ها تو مکس میتونه توضیح کاملی بده ؟
تا حدی میدونم که مر بوط به نورپردازی روی face ها میشه
کسی در مور Normal ها تو مکس میتونه توضیح کاملی بده ؟
تا حدی میدونم که مر بوط به نورپردازی روی face ها میشه
اگه منظورت مدیفایر Normal اینو بخون.
هر فیس از یک طرف قابل رؤیته مثلا یه پلن که رسم کنی اگه از پشتش رندر بگیری دیده نمیشه . که اگه مدیفایر normal روش اعمال کنی برعکس میشه. حالا این به درد موقعی میخوره که مثلا میخای داخل یه مکعب رندر بگیری چون داخلش پشت فیس ها محصوب میشه این مدیفایر رو روش اعمال میکنن. از این روش اکثرا روی کره برای ساخت آسمان استفاده میشه.
normal داخل edit poly هم هست که میشه روی تک تک فیس ها این کار رو انجام داد.
چه چیز بدی .. آره یادمه تو مکس یه پلن یه طرف داشت ... ولی تو مایا به راحتی این کار میشه بدون نیاز به نرمال و صد چیز دیگه ... حالا میشه بگید مزیت این بر اون چیه ؟؟؟ ....هر فیس از یک طرف قابل رؤیته مثلا یه پلن که رسم کنی اگه از پشتش رندر بگیری دیده نمیشه . که اگه مدیفایر normal روش اعمال کنی برعکس میشه. حالا این به درد موقعی میخوره که مثلا میخای داخل یه مکعب رندر بگیری چون داخلش پشت فیس ها محصوب میشه این مدیفایر رو روش اعمال میکنن. از این روش اکثرا روی کره برای ساخت آسمان استفاده میشه.
ممکنه برای این باشه که رم کمتری اشغال کنهنوشته شده توسط SevenART [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ولی چیزی که واضحه اینه که این یه مشکل نیست اولا خیلی جاها همین به درد میخوره مثلا برای موقعی که میخای یه جسم دیده بشه ولی نور ازش رد بشه (همون آسمان) که گفتم.چه چیز بدی .. آره یادمه تو مکس یه پلن یه طرف داشت ... ولی تو مایا به راحتی این کار میشه بدون نیاز به نرمال و صد چیز دیگه ...
پس این یه ویژگیه که نبودنش کار رو سخت میکنه. هروقت هم نخاستیش میتونی این خاصیت رو داخل متریال ادیتور برداری.
در ضمن normal برای این نیست که جسم رو دو طرفه کنه برای اینکه جهتش رو عوض کنه.
Last edited by meysam 3d; 25-04-2010 at 16:37.
خوب من برای اینکه فرضا یک plane بخام از هر دو طرفش رندر بگیرم میتونم به دو صورت عمل کنم
اولش اینکه گزینه force to side رو در تنظیمات رندر فعال کنم
دومش اینکه مدیفایر shell رو روی plane بندازم و زخامتشو روی 0.01 بزارم
ولی در اینجا منظورم خود نرمال ها بود که در واقع چطور عمل میکنند و چطور میشه از اونها استفاده کرد
تو مدیفایر smooth برای اینکه جسم رو نرم تر نشون بدیم بدون استفاده از faceهای بیشتر در واقع جای نرمالهارو تغییر میدیم تا نور طوری بتابه که ما احساس میکنیم جسم نرمتر هستش
وتمام این مسائل مربوط به نرمالها میشه
حالا سوالم اینه چرا تو مدیفایر smooth در قسمت smoothing group فقط 32 حالت داریم نه بیشتر که یه جورایی مربوط میشه به نرمالها اصلا این حالت ها یعنی چه؟؟
تنها مطلبی که تو مکس اسکریپت در مورد 32 حالت smooth group گفته شده اینه که مر بوط به توضیحات یک کد
کسی میتونه منظور این متن انگلیسی رو تفسیر کاملی بکنه
واقعا ازش ممنون میشم
Returns the indexed face's smoothing groups as a 32-bit integer. There are 32 possible smoothing groups. Each bit in the returned value corresponds to a smoothing group. If a bit is turned on, the face is part of that smoothing group. You can retrieve the list of smoothing groups for a face as a BitArray using the following function
مقادیر 32 بیتی , 64 بیتی چه ربطی به smoothing group ؟؟؟؟
There are 32 possible smoothing groups. ؟؟؟؟؟؟؟؟ این که گفتی یعنی چه؟؟
اصلا چرا باید 32 حالت داشته باشیم؟؟
یکی دیگه از ویژگی های نرمال اینه که مثلاً تو editpolyاگه بخوای extrude کنی ،عدد مثبت یعنی در جهت نرمال،در واقع به کاربر و البته به خودش!!! کمک می کنه یه مفهوم برای پشت و جلو بسازه.
اگه اشتباه نكنم نرمال ها براي شيدرينگ خيلي مهمه
مثلا اگه نرمال هاي يه ـبجكت فيس باشه اون آبجكت هر قدر هم ضلع داشته باشه باز تو رندر سطح صافي از آبجكت ديده نميشه و بر عكس با تعداد اضلاع كم كاري ميكنه كه سطح كاملا صاف باشه .......اگه برعكس باشه آبجكت سياه ميشه /......
بسته به آرايش نرمال هاست
البته نحوه ي آرايش نرمال ها در clothخيلي مهمه!!!!
سلام.
چون تازه عضو شدم دیر این قسمت رو خوندم وگرنه زودتر جواب مینوشتم به هر حال سوال باحالی بود.این سوال فقط از یه اسکریپت نویس برمیاد جوابشم به درد خودش می خوره لطفا در ادامه بخونیدش ...
بردار نرمال که خودت و دوستان هم اشاره کردن کاربردهای زیادی داره ولی هر vertex اطلاعاتی داره مثل Position و Normal حالا اگه شما Vertex ها رو خیلی راحت با ابزار Move جابجا می کنید به نظرت می تونی دستی تعین کنی یه Vertex که چند تا Face دورو برش هستن بعد از جابجا شدن، بردار عمود روی سطحش به کدوم طرف اشاره می کنه؟
خیلی سخته ! جابجا کردن دستی Vertexها به اندازه کافی سخت و خسته کننده هست دیگه کسی نمی تونه نرمالهارو دستی تنظیم کنه از طرفی هم سیستم سایه زنی سه بعدی مرسوم ، با بردارنرمال کار میکنه پس:
باید برای حل این مشکل از یک سیستمی استفاده کنن که کامپیوتر خودش بردار نرمال رو نسبت به موقعیت یک Vertex و Face های اطراف اون محاسبه کنه و به کاربر اطمینان بده که با جابجاکردن Vertex ها بردار نرمال خراب نمیشه.
از نظر ریاضی!
از نظر ریاضی نرمال یک بردار هست که در واقع میشه اینجور تعریف کرد:
"بردار یکه ای که در هر نقطه روی سطح جهت عمود به سطح رو نشون میده."
تو هندسه سه بعدی از هر سه نقطه متمایز در فضا یک صفحه عبور می کنه (Face) یعنی 3DsMax بردار نرمال هر Vertex رو از میانگین نرمال های Face های اطرافش محاسبه میکنه.و هر Face هم از سه نقطه در فضا تشکیل میشه که با ضرب Cross میشه بردار نرمال صفحه رو پیدا کرد.(اگر با Cross آشنا نیستید به کتابهای هندسه مراجعه کنید و گرنه بفرمایید تا توضیح بدم)
ولی ما همیشه نمیخایم که از همه ی Face های همسایه میانگین گرفته بشه مثلا تو یه مکعب اگر SmoothingGroups شماره 1 برای همه Face ها فعال بشه اون وقت مکعب به شکل گرد و نرم سایه می خوره ولی ما میخایم که حالت جعبه ای و نوک تیز بودن خودشو حفظ کنه. پس SmoothingGroups های مختلف اعمال میکنیم یعنی برای هر دو مثلث همسایه تو هر وجه مکعب یک SmoothingGroups اختصاص می دیم.
حالا چرا SmoothingGroups ؟
چون مثلا:
شما با گروه های مختلفی از جامعه مرتبط هستید . با خانواده تو یک گروهید با همکارا تو یک گروه دیگه هستید با همسایه ها عضو گروه محله هستید و یا عضو گروه دوستان، و در دانشگاه و ... و اونوقت ممکنه که با افرادی تو دو یا تعداد بیشتری گروه اشتراک داشته باشید(مثلا با دوستتون هم کلاس هم باشید). اگر برای عضو بودن شما تو هر گروه یک On_Off و یا یک True_False یا یک صفر _ یک در نظر گرفته شه که عضویت شمارو تو اون گروه ها مشخص کنه اون وقت میشه آرایه ای از صفر _ یک ها برای عضویت هر کسی تو گروه های مختلف داشته باشیم که مثلا میتونیم مشخص کنیم که آقای x عضو دانشجو های دانشگاه فلان و در کلاس فلان هست یا نه و در نتیجه با آقای y که تو اون دانشگاه و اون کلاس عضو هست به هم مرتبط هستن یا نه (با هم Smooth میشن یا نه).
آرایه باید حداکثر چند عضو داشته باشه؟ سه تا؟ ده تا؟ هزارتا؟ ... چون نمیتونیم بینهایت گروه رو بررسی کنیم و همه رو هم لازم نداریم پس مثلا میام 32 تا گروه رو بررسی میکنیم.
تو 3DsMax هم برای هر Face به تعداد 32 حالت گذاشتن که معلوم شه هر Face با Face های همسایش حداقل تو یک گروه اشتراک دارن یا نه (SmoothingGroups شماره 1 تا 32) . اگه دارن با هم Smooth میشن (میانگین نرمال ها) وگر نه رو هم تاثیر نگذارن.
حالا چرا 32 تا حالت ؟
32 دو تا برای مدلسازی ما خیلی هم زیاده و شاید بیشتر از 10 تا لازم نباشه به هر حال یه محدودیتی وجود داره دیگه و چون یک عدد صحیح 32 بیتی از 32 بیت، یعنی 32 تا "صفر یا یک" درست میشه و در برنامه نویسی استفاده از اون معمول هست و خیلی راحت با عملیات Or و And بیتی می تونیم تمام 32 تا عضو آرایه رو با هم یک جا مقایسه کنیم پس بهتره که اون رو تو یک عدد 32 بیتی مثبت که تو برنامه نویسی به DWORD معروف هست ذخیره کنیم.
توجه:
عدد صحیح 32 بیتی رو به شکل یک آرایه 32 تایی از جنس Boolean تصور کنید که با یک عملگر And ساده میتونیم بفهمیم کهدو عدد صحیح با هم بیت مشترک دارند یا نه.
تو جدول بالا لیست اعداد صحیح که تو برنامه نویسی استفاده میشه می بینید. از 8بیتی تا 32بیتی و 64 بیتی و ... که به ترتیب فضاهای بیشتری از رم رو اشغال میکنن.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تو جدول SmoothingGroups تو EditablePoly اون 32 تا دکمه بیتهای اون عدد 32 بیتی هستن که برای Face های انتخاب شده ذخیره شدن.
ببخشید اگه طولانی شد
اگر بازم متوجه نشدید بگید تا در بارش صحبت کنیم.
نوشته شده توسط Qadiany [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ممنون دوست عزیز
البته این یه سوال قدیمی بود که الان با نرمال ها به صورت عملی مشکلی ندارم
لطفا بگید مطالعتون در چه موردی هست و با اصطلاحات ریاضی و فهم اونها مشکلی ندارید؟؟
چون چنتا سوال تخصصی دارم در مورد ریاضی ولی در واقع فهم عملی رو میخام
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)