14 มีนาคม 2555

ย้าย Blog แล้วนะครับ

ตอนนี้ผมย้าย Blog จากที่นี่ ไปอยู่ที่ http://playground.ninesola.com เรียบร้อยแล้วนะครับ ซึ่งข้อมูล ข่าว หรืออะไรก็ตามต่อจากนี้ จะยกเลิกการอัพเดทที่นี่แล้ว จะย้ายไปที่ใหม่อย่างเดียวนะครับ

ซึ่งที่เว็บใหม่จะมีเพิ่มเติมข้อมูล และแยกเนื้อหาเป็นส่วนๆ ด้วยนะครับ ยังไงก็ขอฝากเว็บใหม่ด้วยนะครับ

UPDATE 2 กรกฎาคม 2555
- http://www.ninesola.com [เปิดทำการแล้ว] : หน้าแรกของเว็บผมครับ

- http://playground.ninesola.com [เปิดทำการแล้ว] : ส่วนของ Blog

- http://classroom.ninesola.com [เปิดทำการแล้ว] : ส่วนของ Tutorial

13 กรกฎาคม 2554

MAYA mental ray

mental ray เป็น plug-in ของโปรแกรมทำ 3d สำหรับ maya ในเวอร์ชั่น 5.0 ขึ้นไปจะมีมาให้ ถ้าไม่ขึ้นให้เข้าไปที่ windows>preference>plug-in manger แล้วคลิก loaded ที่ mayatomr ถ้ายังไม่ขึ้นแสดงว่าห่วย ไปลง maya ใหม่ ไม่ก้อ format ทิ้งซะ



สำหรับเรนเดอร์โดยการคำนวนแสงแบบสมจริงของ mental ray ประกอบด้วย 5 ส่วนหลักๆ

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

1. Global illumination

หรือ gi, gi เป็นการ simulate แสงธรรมชาติ โดยการยิง photon หรือเม็ดแสงเพื่อให้กำเนิดแสงเวลาตกกระทบบนพื้นผิวของวัตถุ ใน mental ray จะเรียกว่า bounce ยิ่งเด้งมากเท่าไหร่ก้อยิ่งสว่างมากขึ้น เวลาใช้ต้องคำนึงถึงเวลากลางวันและกลางคืน เพราะความสว่างของ photon ไม่เท่ากัน เช้า กลางวัน เย็น ก้อไม่เท่ากัน แสงแบบธรรมชาติ ให้ความสว่าง โดยการยิง photon เป็นล้านๆเม็ด แล้ว render เป็น realtime คือ ความเร็วแสง speed of light. ถ้าเทียบกับเครื่องคอมธรรมดาคงต้องใช้ประมาณ 100,000 เครื่องรวมกันแต่ถ้าใน software เรายิง photon มากเท่าธรรมชาติ คอมก้อคงพัง ใน mental ray เลยใช้วิธีการเพิ่มการกระจายตัวให้ photon ไปไต่ที่ object เป็น default แล้วเราสามารถปรับความใหญ่ของ photon กับความแม่นยำของ photon ได้ เราสามารถปรับ render settings ใน mental ray ให้ สร้าง map visualizer เพื่อดูว่า photon ยิ่งไปทางไหนได้ มันจะขึ้นมาเป็นเม็ดเล็กๆให้เราเห็น แสงสีอะไรที่ยิงมาเม็ดของ visualizer จะเป็นสีนั้น เราสามารถยิง gi จากแสงหลายๆดวงได้ เวลาปรับก้อยากเช่นเดียวกัน gi สามารถใช้ได้ทั้ง interior และ exterior หรืออื่นๆได้ ในส่วนของ interior โดยส่วนใหญ่ จะเน้นไปเป็นตอนกลางวัน ซึ่งจะเป็นแสงแบบ indirect illumination คือแสงไม่ส่องผ่านวัตถุโดยตรง เช่น scene ที่เป็นห้องแล้วมีแสงมาจากประตูหรือหน้าต่างทำให้ ห้องทั้งห้อง สว่าง อันนี้เป็นความเกี่ยวเนื่องของวิชา physics ล้วนๆ

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

2. Caustics

คือแสงที่ส่องผ่านวัตถุบางประเภทที่มีการสะท้อนเช่นแก้ว พลาสติก กระจก ทองคำ เงิน เพชร ไปตกกระทบกับ object อื่น เช่น แสงที่ส่องผ่านแก้วสีเขียวจะตกไปบนพื้นเป็นสีเขียวสีเดียวกับแก้ว ถ้า oject นั้นเป็น prism ก้อจะผ่านเป็นสีรุ้งซึ่งจริงๆแล้ว caustic มีการคำนวนแสงแบบสมจริงเนื่องจากสีที่เป็นส่วนประกอบของสีรุ้ง เมื่อนำมาฉายรวมกันจะได้เป็นสีขาวไม่ใช่ RGB ในโปรแกรม (calculation input) แต่จะแสดงผลเป็นแบบ RGB(output)

ในส่วนนี้ จะเหมือนกับ gi เพียงแต่เราต้องตั้งค่าให้ mental ray ทำงานในส่วนนี้เพราะแสงแต่ละแบบให้การคำนวน caustic ไม่เหมือนกัน เช่นเดียวกับการยิง photon สำหรับ caustic เราสามารถปรับขนาดและความสว่างได้เหมือนกับ gi สรับหรับวัตถุประเภทแก้ว เราสามารถตั้งค่าให้แก้ว มีการหักเหของแสงข้างในและข้างนอกได้นั่นคือ reflaction และ reflection ซึ่งเป็นการคำนวนจาก raytracing ใน maya อยู่แล้ว แต่ใน raytracing แบบ default นั้น ถ้ามีการคำนวนแสงออกมาแก้วจะกลายเป็นสีดำ เพราะแสงไม่สามารถส่องผ่านแก้วได้ เราสามารถปรับให้แสงสะท้อนทะลุผ่านแก้วโดยการปรับได้ใน mental ray แล้วแสงก้อจะคำนวนการสะท้อนในวัตถุอ้างอิงจากตัวเลขที่เราใส่เข้าไป และถ้าเราใส่มาก ก้อจะยิ่งเรนเดอร์ช้า และเกินความจำเป็น เพราะเมื่อเราปรับค่าการทะลุแสง
สูงสุดเป็นจำนวนหนึ่ง ทั้ง scene ก้อจะมีการคำนวนการสะท้อนแบบจริงจะเหมือนขนาดไหนก้อแล้วแต่เราจะปรับ ถ้าเราดีไซน์ scene แบบ surrealistic แล้ว ตรงนี้ก้อจะไม่จำเป็นมาก เพราะมันโคตรของโคตรช้า แก้วเป็นวัตถุประเภทที่มีการสะท้อนแสงในตัว ไม่เหมือนวัตถุแบบแผ่นสไลด์ที่เมื่อแสงส่องผ่านแผ่นสไลด์ จะผ่านไปทันที แต่แก้ว จะมีการสะท้อนภายในตัวมัน ถ้าเราสังเกตุ แก้วไวน์ จะมีส่วนที่เป็นสีดำและสีขาววิ้ง สีดำคือ reflaction ที่แสงไปโดนจากการสะท้อนภายในและกลายเป็น negative จากกระท้อนของแสงเป็นสีขาว เมื่อเป็น negative จะกลายเป็นสีดำและหยุดการสะท้อน และสีขาววิ้งคือ reflection เมื่อมีความสว่างจากการสะท้อนภายใน
มันก้อจะสะท้อนวัตถุรอบด้านด้วย แต่ reflaction จะไม่สะท้อนเราสามารถปรับการสะท้อนของทั้งสองอย่างนี้ใน mental ray ได้ซึ่ง maya softwareจะไม่มีการคำนวนแสงในส่วนนี้นอกจากนี้เราสามารถปรับความหนาของแก้วใน mental ray ได้โดยไม่ต้องปรับที่ตัว model ด้วย (สุดยอดดดดดดด) แต่เรนเดอร์นาน

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

3. Final Gather หรือ fg
คือการเรนเดอร์การคำนวนของพื้นผิวที่โดนแสง และจะเรนเดอร์ให้วัตถุนั้น สว่างขึ้นตามความสว่างของแสงที่โดน final gather เมื่อใช้รวมกับ global illumination และ caustic จะให้ความสมจริงมาขึ้น เพราะ final gather จะช่วยเพิ่มและลดแสงที่วัตถุนั้นๆโดน ให้เป็นกลาง เช่นใน scene ที่มีแสงยิงเข้ามาทางหน้าต่าง ขอบของหน้าต่างจะสว่างมากเพราะ photon ของ gi ไปเกาะอยู่มาก แต่ final gather จะช่วยลด ความสว่างในส่วนนี้เรียกว่า color bleeding ซึ่งเกิดจากความสว่างของ photon ใน final gather เราสามารถทำให้สีที่อยู่บนวัตถุไป เกาะวัตถุอื่น
เช่น สีเหลี่ยมสีขาว อยู่ใกล้กับสี่เหลี่ยมสีแดง สี่เหลี่ยมสีขาว จะถูกแสงสีแดงซึ่งมาจากวัตถุใกล้ๆ เกาะเป็นส่วนๆ ตาม shape ของ object นั้นๆ สิ่งนี้คือ quasi monte carlo และความต่าง จะแล้วแต่ขนาดของ scene ซึ่งเราจำเป็นจะต้องใช้ measure tool เพื่อ วัดระยะ**ความยาว** ทั้งหมดของ scene เพื่อมาใส่ในค่าของ fg ที่จะใช้ในการคำนวน การเรนเดอร์แบบ รวม fg, gi, และ caustic เมื่อรวมกัน จะมีการคำนวน photon ของ gi และ caustic เป็นอันดับแรก แล้วจึงคำนวน fg และเรนเดอร์ (เป็นเหลี่ยมๆเม็ดๆ) แล้วจึงเรนเดอร์ครั้งสุดท้าย ซึ่งจะกินเวลานานค่อนข้างมาก ยิ่ง fg มากก้อจะยิ่งสมจริง แต่ก้อจะเรนเดอร์ช้าลง แต่ยังไง เราก้อสามารถ optimize ค่าของ mental ray เพื่อให้เรนเดอร์เร็วขึ้นในขณะที่ผลออกมาใกล้เคียงกันมากถ้าใช้ตาเปล่า ก้อแยกไม่ออก

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

4. image base lighting หรือ ibl
ใน mental ray จะมีการนำภาพที่ import เข้ามา เพื่อเปลี่ยนภาพนั้นเป็นแหล่งกำเนิดแสง วัตถุที่อยู่ใน scene นั้น จะมีแสงแบบภาพ ทำให้ดูเหมือนจริงขึ้นส่วนใหญ่ scene ทีเป็น ibl จะมีการใส่ environment ของ scene ซึ่งวิธีการทำที่นิยมที่สุดคือ การสร้างวงกลมขนาดใหญ่ เพื่อเลียนแบบโลก กับ หรือชั้นบรรยากาศ ozone (จริงๆนะ) แล้ว map ภาพนั้นเข้าไป ถ้าเรามี object ที่เป็น chromium ก้อจะสะท้อนภาพนั้นเหมือนใภาพ ในกระทู้ของ mental ray ที่อาจารย์เอโพส(3D modeling) อันที่เป็นลูกบอลสีๆ ibl จะใช้ concept ของ direct illumination คือการที่แสงส่องลงมาจากวัตถุโดยตรง ซึ่งเป็นความจำเป็นสำหรับการทำ scene กลางแจ้ง เช่น ตึกรา บ้าช่อง ... ภาพสำหรับ ibl ส่วนใหญ่จะเป็นภาพ perspective และ landscape เพื่อให้ scene มีแสงเหมือนกลางแจ้ง

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

5. mental ray node
คือ material สำหรับ mental ray ส่วนใหญ่จะเป็นการสร้าง material ใน hypershade เพื่อการ simulate แสง และอื่นๆเพื่อเพิ่มความเป็น artistic ในการสร้างชิ้นงาน เช่น ambient occlusion : เปลี่ยนวัตถุให้มีพื้นผิวแบบไล่แสงจากขาวสุดไปดำสุดเพื่อดูอัตราความ contrast และแสงเงาของวัตถุนั้น volumatic : เปลี่ยนการทะลุของวัตถุให้แสงส่องผ่านความหนาบางของวัตถุไม่เท่ากัน เหมือนกับเราเอาไฟฉายส่องผ่านมือ จะเห็นว่ากระดูกและเนื้อแสงจะส่องผ่านน้อยกว่าหนังตรงง่ามนิ้วเรียกว่า sub surface scattering หรือ 3S หรือ SSS mental ray node บางแบบสามารถ link กับ maya software node ได้หลากหลายมาก

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

สิ่งที่เปลี่ยนเวลาใช้ maya software กับ mental ray จะมีแค่ render settings กับประเภทของ material ถ้าเลือกใช้ส่วนเงาใน mental ray จะยังคงเป็นแบบเดิม คือ depth map ซึ่ง cast shadow ตามความหนาของวัตถุ หรือ raytrace ซึ่งจะคำนวนเงาตามแสงที่ยิงไปแต่โดนวัตถุปิดกั้น ยิ่งปรับเยอะก้อจะยิ่งเหมือนแต่เรนเดอร์ช้าลง ตามระเบียบ ในสองส่วนของเงามีผลกระทบกับการเรนเดอร์แบบ caustic ด้วย ใน mental ray เมื่อเราสร้าง scene ขึ้นมา จะต้องมีการจูนแสงและปรับแสงกับ material ถ้า scene ใหญ่จะกินเวลาเป็นวันๆ เพราะฉนั้น เวลาปรับเราควรปรับทีละอย่าง ไม่งั้นตายห่าพอดี การปรับ sample ใน mental ray ส่วนใหญ่เพื่อใช้สำหรับการจูนแสงแล้ว ควรปรับความละเอียดน้อยๆ เช่น min. sample เป็น -2 และ max. sample เป็น 0 พอเราปรับเสร็จค่อยเปลี่ยน เป็น min. sample 0 และ max. sample 2 หรือ 3 ยิ่งเยอะยิ่งละเอียด แต่ความเร็วก้อจะช้าตามกัน แต่เพื่อใช้ใน การ production อันนี้ก้อควรละเอียดนะ



นอกจากนี้ สำหรับ animation ใน mental ray ยังมีการสร้าง motion blur ได้ด้วย แล้วแต่จะปรับ ส่วน DOF หรือ depth of field คือภาพชัดตื้น ชัดลึกจากกล้อง ก้อสามารถปรับได้ในกล้อง แล้ว mental ray ยัง support การเรนเดอร์จากกล้องเป็น แบบ fish eye, wide shot, อื่นๆ อีกมากมาย mental ray ยัง support การใช้งานส่วนอื่นๆของ maya ได้เต็มที่ ยกเว้นบางอย่าง เช่น painteffects ซึ่งเราต้อง convert เป็น polygon ก่อน หรือ particle integration ซึ่งต้องมีการ config เพื่อให้เรนเดอร์ใน mental ray เป็นต้น และเราสามารถเพิ่ม คำสั่งให้
mental ray โดยการใช้ MEL (maya embeded language) ได้ ซึ่ง script ของ mel เป็น script ที่สามารถเพิ่มความสามารถให้ mental ray เพื่อ เรนเดอร์ออกมาเป็นแบบต่างๆได้ ซึ่งในส่วนนี้ หนังของ pixar หลายๆเรื่อง เช่น Finding Nemo, Cars ยังใช้ mel กับ mental ray เพื่อทำงานร่วมกับโปรแกรม render man อีกด้วย อันที่จริง mental ray ยังมีความสามารถใน การเรนเดอร์แบบ network render หรือ render farm ได้ ซึ่งจะช่วยประหยัดในการเรนเดอ์หากต่อ network เข้ากับเครื่องคอมมากกว่า1 เครื่องขึ้นไป

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

ทั้งหมดนี้เป็น concept ของ mental ray แค่นี้ก้อใช้กันไม่หมดแล้วความยากของการปรับต้องอาศัยความแรงของเครื่องคอมและความถึกส่วนตัวด้วยถ้าไม่เข้าใจศัพท์คำไหน ให้ลองเปิดใน google หาดูในหมวดรูปภาพ มีทุกคำแน่นอน mental ray อาจจะเรนเดอร์ช้าแต่ภาพที่ได้ ก้อคุ้มค่ากับเวลา พวกเราควรศึกษาเยอะๆ ถ้าสนใจ 3D จริงๆ ใน ส่วนของ concept ที่เขียนมา เพื่อให้รู้ว่า ส่วนไหนทำงานยังไงและเกิดขึ้นมาได้ยังไง ถ้าไม่เข้าใจตรงจุดนี้ ก้อใช้ mental ray ได้ไม่เต็ม streamอ่านเยอะๆ save แล้วเก็บไว้ซะ เพื่อใช้เป็น reference manual เวลาทำงาน

***** ผมจำไม่ได้ว่า Copy มาจากที่ไหน ขออภัยเรื่อง Credit นะครับ

22 มิถุนายน 2554

รวมเรื่องน่ารู้หลายๆ อย่างกับหลักการทำงานของ 3D

เอ้า มาดูกันเร็ว การทำ Retopo และเหตุผลว่าทำไมเราต้องทำ



ส่วนนี่เป็นการทำงานของ Bump และ Displacement Map



หลักการทำงานของ UV เบื้องต้น

17 มิถุนายน 2554

จับภาพหน้าจอบน MAC

Save เป็นไฟล์ที่ Desktop
    •    Command+Shift+3 / จับภาพหน้าจอทั้งหน้า
    •    Command+Shift+4 / จับภาพหน้าจอเฉพาะส่วนที่ต้องการ
    •    Command+Shift+4 แล้วกด Space Bar / จับภาพหน้าจอเฉพาะหน้าต่างที่ต้องการ

เก็บไว้ใน Clipboard
    •    Command+Control+Shift+3
    •    Command+Control+Shift+4
    •    Command+Control+Shift+4 แล้วกด Space Bar

26 พฤษภาคม 2554

ช่วงนี้งานเยอะจังเลย

ช่วงนี้มีงานเข้ามาเรื่อยๆ มันไม่ได้หนักหนาอะไรหรอก แต่ว่างานที่เข้ามาไม่หยุดน่ะสิ  ไหนจะห้องสมุด (เอ๊ะหรือห้องมีเดียเซ็นเตอร์นะ) ไหนจะเรื่องการเดินเอกสารขอคืนสภาพ แล้วก็บวกกับเรื่องการทำ RenderFarm กับ Kinect + MotionBulder ด้วย

พอดีทางมหาลัยจะทำ  RenderFarm แต่ว่ามีงบจำกัด ก็เลยไปหาข้อมูลทำ RenderFarm แบบบ้านๆ มา เลยไปเจอเว็บนี้เข้า http://helmer.sfe.se/  เค้าทำ RenderFarm ด้วย Workstation PC ธรรมดา อาจมองภาพไม่ออกเรามาดูภาพกันก่อน


จากรูปเค้านำคอมสเป็คบ้านๆเรามาต่อเพื่อทำ RenderFarm จำนวน 6 Node แถมคุณภาพก็ OK เลยด้วย ผมก็เลยไปหาข้อมูลในการทำ Render Farm ด้วยตัวเอง ได้ข้อมูลจากเว็บนึงมาน่าสนใจมาก มันเป็นหัวข้อ How To: Building Your Own Render Farm มีหัวข้ออยู่ 8 หัวข้อ บทความเป็นภาษาอังกฤษ แต่อธิบายไว้ได้ดีมาก ให้คำแนะนำและเลือกใช้อุปกรณ์อย่างละเอียดพอควรเลยล่ะ แต่บทความนี้เน้นที่การสร้าง Hardware นะด้าน Software เค้าบอกแค่ชื่อให้ไปลองหาข้อมูลต่อ

จากบทความนี้ทำให้ผมพอจะได้ Solution บางอย่างเพื่อจะมาตอบโจทย์การทำ RenderFarm น้อยของตัวเองแล้ว ตอนนี้กำลังสรรหาอุปกรณ์ไว้เริ่มทำเมื่อไหร่คงจะมีบทความออกมาให้ได้อ่านกัน

ส่วนเจ้าตัว Kinect ตอนนี้คงดองต่อไปอีกยาว เพราะยังไม่มีคนที่เชี่ยวชาญโปรแกรม MotionBuilder มาช่วยกันทดสอบเลย เฮ้อ อนาถจัง เมื่อไหร่เราจะเก่งเนี่ยยยยย!!!

บ่นมาเยอะมากแล้ว วันนี้มีคลิ๊ป vdo มาให้ดู 2 คลิ๊ป เป็นคลิ๊ปสัมภาษณ์พี่สาวกับพี่เขย ก่อนแต่งงาน ทำแบบฉุกละหุก ด้วย iphone4 + canon7D + iMovie for MAC ซึ่งแต่ละตัวจับครั้งแรกทั้งนั้น ทำกันสดๆ เสร็จในคืนเดียว ส่วนอีกอันเป็นคลิ๊ป VDO ถวายพระที่ยโส นานแล้วล่ะ แต่อยากเอามาลง ทำไงได้ล่ะ บอกแล้วว่านี่คือบันทึกกันลืมของผมเอง  555


25 พฤษภาคม 2554

ประสบความสำเร็จแบบ ฟรีแลนซ์ ง่ายนิดเดียว

การที่จะทำงาน "ฟรีแลนซ์" ให้ประสบความสำเร็จนั้นยากนัก แต่ถ้าเราทำตรงจุดก็ไม่อยากจนเกินไปนัก เรามีเคล็ดลับดีดี มาบอกกันคะ
  • เริ่มเขียนเรซูเม่ที่บ่งบอกว่าคุณเป็นใคร ทำอะไรมาบ้าง จำไว้ว่าต้องไม่ยาว แต่เน้นความสามารถที่สำคัญที่สุดของคุณ และระบุว่าคุณทำอะไรได้บ้าง คุณต้องจับความสนใจคนอ่านให้ได้ภายใน 5 วินาที จำเอาไว้!
  • เน้นที่ผลงาน เพราะผู้ว่าจ้างอยากมั่นใจจริงๆ ว่าคุณเก่งในสาขานั้น ระบุตัวเลขลงไปเลยถ้าคุณแน่จริง  
  • การไปพบคนบางคน อาจทำให้ชีวิตของคุณเปลี่ยนไปได้ เงินอาจจะสำคัญก็จริงอยู่ แต่เงินก็มาจากคนนะ การทำให้คนอื่นจำตัวเองได้ก็มีค่าเหมือนกัน จงทำอะไรให้ลูกค้าจดจำคุณได้ ไม่ว่าจะเป็นการส่งเมลไปขอบคุณหลังงานเสร็จแล้วหรือเตรียมนามบัตรไปให้เรียบร้อย การทำให้ลูกค้าพูดถึงบ่อยๆ หมายความว่าคุณจะไม่อดตาย  
  • อย่าลืมงานของตัวเองด้วย สำหรับฟรีแลนซ์แล้ว สิ่งที่จะเป็นแรงผลักดันให้คุณก้าวต่อไปได้ก็คือโปรเจ็กต์ส่วนตัว จะเป็นอะไรก็ได้ที่คุณรัก เพราะถ้าคุณทำแต่งานให้ลูกค้าแล้วคุณจะเบื่อเร็วมาก ดังนั้น อย่าปล่อยให้โปรเจ็กต์ของตัวเองเหี่ยวเฉา แต่ก็ต้องเอางานของลูกค้าขึ้นมาเป็นอันดับแรกนะ

20 พฤษภาคม 2554

Creative Commons แบบแสดงที่มา 3.0 ประเทศไทย


เนื้อหาและัรูปภาพ : Fail.in.th