Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> تکنیک های مدل سازی -> Texturing Tips & Tricks
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي

Texturing Tips & Tricks
نويسنده
پيغام
iran_adventure
مدیر انجمن
مدیر انجمن


تاريخ عضويت: شنبه 4 آذر 1385
تعداد ارسالها: 2069
محل سكونت: تهران


1 شنبه 31 شهريور 1387 - 00:17
پاسخ بصورت نقل قول
براي تكسچرينگ در حالت عادي مي شه از تصاوير با سايز هاي بزرگ استفاده كرد و محدوديت ها خيلي كم هستند ولي در بازي بايد تا جايي كه امكان داره از تصاوير با سايز كوچك تر استفاده كرد .

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

توضيح :
در هنگام unwrap كردن در واقع به ورتكس هاي مدل مختصات UV اختصاص مي دهيم ( و تغييرشان مي دهيم ) . در متن پايين به دليل درك بيشتر و چيزي كه چشم ما مي بيند گفته مي شود كه قسمت هايي از مدل در فضاي edit UVWs جاي داده مي شوند ( و تغييرشان ميد هيم ) ... به دليل درك بيشتر من از عبارات قسمت دوم استفاد مي كنم ...

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

قصد دارم تكسچرينگ رو به صورت كلي توضيح بدم و بعد نكات اون رو بگم :

فرض كنيد بخواهيد عكس هايي رو روي شي اي بچسبونيد در حالي كه عكس هايي كه در اختيار داريد قابليت انحنا نداشته باشند خوب در اين صورت مجبوريد شي رو تخت كنيد !

http://i38.tinypic.com/2d5ac8.jpg

شما بايد از تمام فضايي كه داريد استفاده كنيد و با استفاده از ابزاري كه نرم افزارها ( در اينجا 3dsmax ) در اختيارتون قرار مي دهند استفاده كنيد . من از يك اسكريپت هم استفاده كردم كه ابزارهاي مفيدي ( خيلي مفيد ! ) رو در اختيارتون قرار مي ده كه تو عكس بالا در قسمت سمت راست تصوير مي تونيد ببينيدشون .

خوب بعد از unwrap كردن هر چه كه به عنوان تكسچر به مدل انتساب داده بشه با توجه به محل ورتكس ها ( و مثلثاتي كه تشكيل مي دهند ) تكسچر بر روي مدل قرار مي گيرد .

پس بايد به نحوي اين محل ورتكس ها و edge ها را در نرم افزار گرافيكي ببينيد تا طرح هاي مورد نظر در محل مناسب قرار گيرند .

در 3dsMax براي اين منظور مي توان در پنجره edit UVWs از مسير زير استفاده كرد :
Tools -> Rendet UVW Template
من از ابزاري كه اسكريپت اضافه شده در اختيارم گذاشته استفاده مي كنم ...

تصوير به دست آمده در نرم افزار گرافيكي مورد نظر ( مثل photoshop ) باز مي كنيم و نقاشي خود را انجام مي دهيم :



در نهايت لايه اي كه خطوط در آن مشخص شده را پاك مي كنيم ( مخفي مي كنيم ) و تكسچر مورد نظر بدست مياد ...

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

نكات :

1 . بعضي از قسمتهاي مدل كه :

بيشتر در ديد قرار مي گيرند ( مثل قسمت بالا تنه يك كاراكتر - مافيا - مكس پين - و يا پشت ماشين )
اهميت و جزييات بيشتري دارند ( مثل آرم ماشين - مثل داشبرد در ماشين و يا دو طرف ماشين - براي نشان دادن جزييات طرح روي بدنه )

فضاي بيشتري را در نظر مي گيريم . در تصاوير بالا مي بينيد كه براي آرم پژو و داشبرد فضاي بيشتري در نظر گرفته ام ولي براي زير ماشين و يا سقف ماشين ( از داخل ) فضاي كمتري را در نظر گرفتم .

2 . اگر در بازي از cube map دايناميك استفاده مي شه مي تونيد براي قسمت هايي كه يك تكسچر دارند يك فضا را در نظر بگيريد ( مثل دو طرف بدنه ماشين )
ولي اگه قرار بود از cube map استاتيك استفاده بشه همه قسمت هاي مدل بايد فضاي منحصر به فرد داشته باشند و درنتيجه فضاي كمتري هم به هر قسمت خواهد رسيد ...
البته راههايي مثل دادن W به تكسچر هستش كه در اين صورت ممكنه قسمت هاي مختلف مدل در مختصات UV يك مكان داشته باشند ولي در كل ( UVW ) مختصات منحصر به فرد داشته باشند كه چون اطلاعات كافي ندارم از روش مي گذرم !

3. ممكن است در هنگام unwrap كردن مدل نسبت به عمود يا افق يا هر دو قرينه شود . در صورتي كه از نوشته ها ( مثل پلاك ) و يا موارد اين چنيني كه قرينه بودن در آنها مهم است / استفاده مي كنيد به اين نكته دقت كنيد . توجه كنيد كه در تصاوير بالا ( كه طرف راست و چپ ماشين UV يكسان دارند ) يكي از طرفين قرينه خواهد بود ...

4 . از اونجايي كه در انتخاب سايز تكسچر محدوديت داريم . ممكن است در قسمتهايي كه دو edge به هم نزديك مي شوند يك پيكسل بين آنها به صورت مشترك استفاده بشه و در نهايت لبه هاي مدل چند رنگه بشوند ! براي حل اين مشكل در هنگام unwrap كردن از ابزار scale استفاده كنيد و بين تكه هاي مدل فاصله كمي ايجاد كنيد .

5 . وقتي در نرم افزار گرافيكي در حال نقاشي ( طرح دادن ) به روي تكسچر هستيد براي قسمت هاي مختلف سعي كنيد حداقل به اندازه يك پيكسل بيشتر رنگ آميزي كنيد تا خيالتان از پر شدن آن قسمت از مدل توسط طرح شما راحت شود ( نمي دونم گرفتيد يا نه ! اگه نه بگيد تا بيشتر توضيح بدم . ) مسلما براي رعايت اين نكته / نكته قبل را بايد رعايت كرده باشيد .

6 . سعي كنيد مدام تكسچر را بر روي شي ببينيد تا اشكالات احتمالي رفع شود . براي اين منظور من نرم افزار 3dsMax , photoShop رو به صورت همزمان باز مي كنيم و بعد از تغييرات photoShop فايل را ذخيره مي كنم و 3dsMax آن را update مي كند ...

7 . بهتر است مدل را طوري unwrap كنيم كه لبه ها به صورت عمودي و افقي در بيايند .

8 . بعضي از قسمت هاي مدل هميشه تاريك هستند ( مثل زير گلگيرها در ماشين ) . اگر از cube map استاتيك نمي خواستيد استفاده كنيد ( يعني محدوديت در روي هم قرار دادن قسمت هاي مختلف مدل نداشتيد ... ) مي توانيد به همه قسمت هاي مورد نظر طوري UV اختصاص دهيد كه يك مكان مورد نظر ( و به دليل يك رنگ بودن و جزييات - طرح نداشتن ) فضاي كمتري اختصاص دهيد . مثلا من زير 4 گلگير را تكه تكه كردم و همه را بر روي هم قرار دادم و همان طور كه در تصاوير بالا مي بينيد كه در قسمت پايين و راست عكس ( زير گلگير - البته در عكس ! ) قرار دادم .

9. در هنگام unwrap كردن ممكن است كشيدگي بوجود بيايد . بهتر است در هنگام unwrap كردن از checker به عنوان تكسچر استفاده شود تا در صورت كشيدگي تكسچر مشخص شود و آن را با جابجايي ورتكس ها درست كنيم ...

خوب فعلا نكته خاصي به ذهنم نمي رسه .
اگه دوستان سوالي داشته بشند خوشحال مي شم تا اونجايي كه بتونم جواب بدم ...

_________________
Make something happen
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


1 شنبه 31 شهريور 1387 - 11:02
پاسخ بصورت نقل قول
در مورد چراغ ها :

برای نورانی کردن چراغ ها ، وقتی از روبه رو بهشون نگاه میکنیم ( افکتهای LenEffect که کنجکاو
جان اون ور گفت )
راه اول جدا کردن جلوی کاسه چراغ هست که تاثیر توی مدل میزاره و تعداد قطعه قطعه شدن مدل زیاد میشه ( جدا کردن یه دایره واسه هر لامپ توی چراغ های جلو و عقب ) / تکسچرش عوض میشه و کلا یه سری دوباره کاری داره /

راه دوم هم اینه که مدل یکپارچه بمونه و توی تکسچرینگ ، یه تکسچر اضافی تولید بشه که نقاطی که قراره نورانی باشن یه رنگ خواص داشته باشن / این طوری یه if به کل شیدر اضافه میشه که فکر میکنم هزینش کم نباشه !

راه سوم که فکر کنم از همه بهتره : استفاده از رنگ vertex هاست ،( اون حرکتی که برای radiosity کنجکاو جان زده بود ) ، یعنی رنگ کل mesh سیاه بشه و بجاش قسمت های نورانی سفید بشن ، یه حرکت تکمیلی هم میتونه این باشه که فقط از سیاه یا سفید استفاده نشه ، کل بدنه جسم رو از رنج سیاه و سفید پر بشه ( قسمتهای از جسم که درخشش بیشتری دارن سفید تر ( 1 تر ) و جاهایی که درخشش کمتر دارن سیاه تر ( 0 تر ) بشن ، این طوری توی شیدر هم نیاز نیست که if داشته باشیم ، خود رنگ vertex رو میشه توی درخشش ضرب کرد ، حتی برای اون Dynamic Environment Map که مجتبی هم گفت میشه از این تیپ حرکت ها زد ، میزان Reflection جسم رو توی تکسچر یا یه Texcoord خود جسم ذخیره کنیم تا مثلا : بدنهReflection بیشتری نسبت به سپر داشته باشه ...

- نکته قابل تامل : چطور توی نرم افزاری مثل 3ds max ، اطلاعات بیشتری رو برای مدل بنویسیم ، همون حرکت Vertex Declaration رو موقع ساخت مدل بزنیم ، مثلا 3 تا float مکان / 3 تا بردار نرمال ، 3 تا رنگ ، 1 float میزان رفلکت ، 1 float میزان درخشش ، Radiosity و ...

و یه چیز هم این وسط بپرونیم : میشه Ambient occlusion رو هم Offline حساب کرد و فرستاد ، مثلا با max script ؟ از این نظر اگه تحقیق انجام بشه معرکست ...

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
iran_adventure
مدیر انجمن
مدیر انجمن


تاريخ عضويت: شنبه 4 آذر 1385
تعداد ارسالها: 2069
محل سكونت: تهران


3 شنبه 2 مهر 1387 - 04:53
پاسخ بصورت نقل قول
نقل قول:

- نکته قابل تامل : چطور توی نرم افزاری مثل 3ds max ، اطلاعات بیشتری رو برای مدل بنویسیم ، همون حرکت Vertex Declaration رو موقع ساخت مدل بزنیم ، مثلا 3 تا float مکان / 3 تا بردار نرمال ، 3 تا رنگ ، 1 float میزان رفلکت ، 1 float میزان درخشش ، Radiosity و ...


نظر من :

اگه براي انجين خاصي در نظر داري اين اطلاعات ممكنه مورد استفاده قرار نگيره . چون اگه انجين استفاده از اين اطلاعات رو در نظر نگرفته باشه نوشتن اطلاعات فايده اي نداري كه در اين صورت موقع export كردن هم اون اطلاعات ذخيره نمي شه .

چيزي كه من پيدا كردم :

http://www.toymaker.info/Games/html/x_file_saving.html

ولي فكر كنم موقعي به درد بخوره كه يا انجين رو خودت بنويسي يا از انجين open source ( به منظور تغيير ) استفاده كني ...

و يا به طور مثال exporter كويست :

http://quest3d.com/download/exporter/Max_7.0_X_Exporter_DirectX_9.pdf

كه همون طور كه گفتم اطلاعاتي رو كه خود اكسپورتر در نظر داره و بعدا هم در انجين مي شه ازشون استفاده كرد ذخيره مي شند ...

البته تجربه اي تا حالا در اين زمينه نداشتم پس شايد اشتباه كرده باشم ...

_________________
Make something happen
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


3 شنبه 2 مهر 1387 - 16:19
پاسخ بصورت نقل قول
Vertex Declaration ها به موتور بستگی ندارن ، مستقیما و بدون واسطه توی خود شیدر ازشون استفاده میشه ( ورودی هایی که از vertex-shader میاد همینا هستن POSITION . NORMAL . TANGENT معمولیاش هستن ) اگه از خود DX یا موتور opensource باشه میشه تحت برنامه هم declaration ها رو عوض کرد ، اما اگه تحت نرمافزار طراحی ( 3dsmax ) انجام بشه فوق العاده ساده تر خواهد شد/ همون طور که گفتی به exporter بستگی داره و اگه exporter پشتیبانی نکنه اطلاعات از دست میره / اما خیلی بعدیه که این طوری بشه ، exporter یکم حرفه ای باشه حتما توان انجامش رو داره ...

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 1 از 1 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |