تاريخ عضويت: شنبه 4 آذر 1385 تعداد ارسالها: 2069 محل سكونت: تهران
شنبه 27 مهر 1387 - 05:06
در دومين همايش گفتم كه با تكه كردن شي نرمال ها با توجه به smooth group اي كه face ها دارند عوض مي شند و مثلا وقتي درب ماشين رو جدا مي كنيم باعث شكستگي بازتاب نور در قسمت لبه درب و بدنه ماشين مي شه ...
راه حلي كه اونجا گفتم اين بود كه از Edit Normals Modifier استفاده كنيد ...
براي استارت كار با MAXScript به يه بهانه نياز داشتم كه به نظرم همين خوب بود و اين نتيجه كار شد :
كد:
base = selection[1]
selectedFaces = polyop.getFaceSelection base
Normals = #()
NormalID = 0
addModifier base (EditNormals())
temp = base.Edit_Normals.GetNumNormals()
base.Edit_Normals.SetSelection #{1..temp}
base.Edit_Normals.MakeExplicit()
base.Edit_Normals.SetSelection #{}
for n in selectedFaces do
(
for c=1 to polyop.getFaceDeg base n do
(
NormalIndex = base.Edit_Normals.GetNormalID n c
NormalID += 1
Normals[NormalID] = base.Edit_Normals.GetNormal (NormalIndex)
)
)
convertToPoly base
polyop.detachFaces base selectedFaces asNode:true
newObject = objects[objects.count]
select newObject
addModifier newObject (EditNormals())
NormalID = 0
for n=1 to polyop.getNumFaces newObject do
(
for c=1 to polyop.getFaceDeg newObject n do
(
NormalIndex = newObject.Edit_Normals.GetNormalID n c
NormalID += 1
newObject.Edit_Normals.SetNormal NormalIndex Normals[NormalID]
)
)
temp = newObject.Edit_Normals.GetNumNormals()
newObject.Edit_Normals.SetSelection #{1..temp}
newObject.Edit_Normals.MakeExplicit()
newObject.Edit_Normals.SetSelection #{}
convertToPoly newObject
select base
-نمي دونم بهينه مي شه يا نه .
-وقتي اين اسكريپت رو اجرا كنيد تغييراتي رو توي viewport مي بينيد ( البته سرعتش خيلي زياده !! ) مثلا براي دسترسي به Edit_Normals حتما بايد اين modifier اضافه بشه ! نمي دونم بقيه اسكريپت ها هم اين جوري كار مي كنند يا نه ولي به نظر بايد راهي باشه ...
-مي خواستم توي انجمن 3DS Max بزارم ولي در مدل سازي معمولي انقدر مثلث ها زياد هستند كه با detach كردن تغيير نرمال هاي لبه اصلا محسوس نيست ... پس به نظرم اين يه نكته مدل سازي lowpoly هستش ... ( و دليل مهمترش اينه كه من مدير اين انجمن هستم )
-روي اين اسكريپت تقريبا يك روز وقت گذاشتم ...
اخطار : سعي كنيد از اين اسكريپت استفاده نكنيد ! ( من كه استفاده نمي كنم !! ) بعد از استفاده از اين اسكريپت ديگه smooth group ها بر روي مدل تاثيري ندارند ( مگر اينكه نرمال ها رو با استفاده از Edit Normals Modifier تغيير بديد ) . يعني بايد مطمين باشيد كه ديگه تغييري بر روي مدل نمي خواهيد بديد .
نحوه اجرا :
بعد از اجراي 3DS Max دكمه F11 رو بزنيد اسكريپت بالا رو past كنيد . كل اسكريپت رو انتخاب كنيد و اسكريپت انتخاب شده رو روي Main Toolbar بكشيد . تا يك دكمه براش ايجاد بشه ...
مدل حتما بايد EditablePoly باشه ( اضافه كردن حالت اي ديگه به عهده خواننده )
polygon ها رو انتخاب كنيد و بر روي دكمه جديد كليك كنيد تا مدل بدون عوض شدن نرمال ها در لبه ها دو تكه بشه ...
تاريخ عضويت: شنبه 4 آذر 1385 تعداد ارسالها: 2069 محل سكونت: تهران
شنبه 27 مهر 1387 - 12:45
ممنون
نقل قول:
میشه بگی از چه مرجع آموزشی برای یادگیری script نویسی استفاده کردی؟
از خود داكيومنت MAXScript ...
من يه مقدار از اولش رو خوندم و از قسمت how to ... چند تاي اولش رو انجام دادم تا كليت كار دستم بياد ... كاري كه بايد انجام مي شد رو اول تو ذهن خودم پياده سازي كردم و بعد دنبال توابعي گشتم كه براي كار من نياز بود ... در واقع دانسته هاي من الان تقريبا در حد همين چند function هستش ...
تاريخ عضويت: جمعه 8 ارديبهشت 1385 تعداد ارسالها: 1166 محل سكونت: شيراز
شنبه 27 مهر 1387 - 14:03
جالب ه ...به توصيت گوش ميكنم و از اين اسكريپت استفاده نميكنم ولي خوب ه خيلي خوب ه ...
از وقتي نمونه كارهاي character TD كار شده با مكس اسكريپت (مخصوصا دموي آقاي احسان كياني) رو ديدم تصميم گرفتم اگر وقت شد وقت بزرام...و با مكس اسكريپت كار كنم ....
البته هنوز وقت نشده
اگر يك تاپيك داشته باشه خوبه...نه ؟
خسته نباشي
ممنون مجتبي جان
_________________ Then you came right in
tearing out my soul
tearing out my soul
tearing out my soul
tearing out my soul
tearing out my soul
تاريخ عضويت: شنبه 4 آذر 1385 تعداد ارسالها: 2069 محل سكونت: تهران
1 شنبه 28 مهر 1387 - 02:12
ممنون
نقل قول:
به توصيت گوش ميكنم و از اين اسكريپت استفاده نميكنم
اميدوارم يه بار رو براي تست هم كه شده استفاده كرده باشي
نقل قول:
اگر وقت شد وقت بزرام...و با مكس اسكريپت كار كنم ....
البته هنوز وقت نشده
مثل شروع مدل سازي لوپلي ت ؟!
نقل قول:
اگر يك تاپيك داشته باشه خوبه...نه ؟
( انجمن يا تاپيك ؟؟ فرض رو همون تاپيك گرفتم ... )
من حرفي ندارم ولي به نظرم اگه اسكريپتي نوشته بشه هر كدوم يه تاپيك داشته بشه بهتره ! ( نمونه مدل سازي لوپلي رو ببين ! اسكريپت كه ديگه بماند . اصلا كسي فعال نيست ... ) ولي خوب زياد فرق نمي كنه اگه پايه اي . باشه . يه تاپيك مي زنيم ...
من كه فعلا فكر نكنم تا چند وقتي ادامه بدم ولي اگه اسكريپت ديگه اي بنويسيم يه BluePrint Wizard تو نظرم هست ! يعني وقتي اسكريپت رو اجرا مي كني يه كادر باز بشه . طول و عرض ارتفاع و عكس هاي موجود رو بهش بدي و بلوپرينت ها رو تنظيم كنه ...
دوستان ديگه هم اگه دوست دارند اعلام كنند . به نظرم الان خيلي زوده ولي اگه زياد بوديم مي تونستيم مسابقه هم بزاريم ( مثل سايت هاي خارجي ... )
@_Akhtar:
تا وقتي كه از دور بشيني و به يه مشكل نگاه كني برات سخته !
راههاي زيادي براي شروع هست . از خود macroRecorder در MAXScript Listener مي توني استفاده كني و ببيني كارهايي كه تو 3DSMax مي كني معادل چه اسكريپتي هست و يا اسكريپت من رو خط به خط اجرا كني و ببيني چه مراحلي رو طي مي كنه ...
تاريخ عضويت: جمعه 10 فروردين 1386 تعداد ارسالها: 1212
1 شنبه 28 مهر 1387 - 14:29
iran_adventure,
باز هم از راهنماییت ممنونم...
من زیاد علاقه ای به اینکار ندارم البته اینکه آدم بتونه برای خودش ابزار طراحی کنه، خیلی حس ِ خوبی داره
توی این کارها، داشتن ایده، از پیاده سازیش مهم تره!
شما میدونی MaxScript قویتر هست یا Mel توی مایا ؟
_________________ تو هم مثل من تازه واردی؟
از اینجـــا شروع کن! <<<