หลังจากที่มายา 2017 ออกมาได้สักพักใหญ่แล้ว ในที่สุดก็ได้ฤกษ์ตัดสินใจเปลี่ยนมาลองใช้
  
  ก่อนหน้านี้ได้เคยลองใช้มาแล้วนิดหน่อยตอนที่ทดสอบโปรแกรม mmdpaimaya ดังที่เขียนไปใน 
https://phyblas.hinaboshi.com/20170221
  
  แต่เนื่องจากตอนนั้นชินกับ 2016 เต็มที่และยังไม่มีใจที่จะเปลี่ยนก็เลยปล่อยไว้อย่างนั้นก่อน
  
  ส่วนหนึ่งที่ทำให้การเปลี่ยนจาก  2016 มาเป็น 2017 เป็นเรื่องลำบากก็คือการที่ 2017  เลิกสนับสนุนตัวเรนเดอร์เมนทัลเรย์ซึ่งเคยใช้มาตลอด หันมาใช้อาร์โนลด์  (arnold) แทน
  
  อาร์โนลด์นั้นในเบื้องต้นดูแล้วการใช้ยุ่งยากกว่าเมนทัลเรย์พอสมควร  แต่คิดว่าเมนทัลเรย์มาถึงทางตัน  คือยังไงไม่ช้าก็เร็วก็ต้องเปลี่ยนอยู่แล้ว  เพราะอาร์โนลด์จะกลายเป็นตัวเรนเดอร์หลักในมายาแทน  ส่วนเมนทัลเรย์ท่าทางจะไม่มีอนาคตแล้ว  ในที่สุดจึงตัดสินใจเปลี่ยนมาลองใช้อาร์โนลด์ พร้อมกับการเริ่มใช้มายา 2017
  
  
  
  เริ่มเปิดมายา 2017 ขึ้นมา สำหรับใน mac หน้าจอเป็นแบบนี้ ดูเผินๆก็ไม่ได้ต่างจากมายา 2016 มากนัก
  
  
 
  หากดูในรายละเอียดแล้วที่จริงก็ความเปลี่ยนแปลงมีพอสมควร  มีสิ่งที่น่าพูดถึงอีกหลายอย่าง  แต่ประเด็นสำคัญสุดซึ่งจะพูดถึงคราวนี้ก็คือเรื่องการใช้อาร์โนลด์
  
  หากลองเปิดไฟล์ที่เคยทำแล้วเรนเดอร์ด้วยเมนทัลเรย์ในมายา  2016 มาก่อนขึ้นมาก็จะมีข้อความเตือนว่าพบโหนดเมนทัลเรย์  ซึ่งตอนนี้จะไม่สามารถใช้การได้แล้ว แต่ก็ไม่มีปัญหาอะไร  ยังเอามาใช้ทำอะไรอื่นๆได้ตามปกติที่ไม่เกี่ยวกับเมนทัลเรย์
  
  งานที่เปิดมาลองทดสอบดูคราวนี้คือเทพธิดาอควา ที่เคยลงไปตอนที่เขียนเรื่องวัสดุ mia ใน 
https://phyblas.hinaboshi.com/20170324
  
  จากนั้นลองเอามาเรนเดอร์ด้วยอาร์โนลด์ดูเลย สิ่งที่พบก็คือ ผลที่ได้ต่างไปจากเดิมมาก
  
  
 
   
  ภาพบนคือภาพเดิมที่เรนเดอร์ด้วยเมนทัลเรย์ภาพล่างคือใช้อาร์โนลด์
  
  พื้นผิวเป็น blinn ธรรมดาทั้งหมด แต่พอใช้อาร์โนลด์กลับกลายเป็นผิวที่มันวาวแบบสากๆอย่างนี้ไปเลย
  
  นั่นแสดงว่าอาร์โนลด์ประมวลผลความมันวาวของ blinn ในทางที่แตกต่างออกไปจากมายาซอฟต์แวร์หรือเมนทัลเรย์
  
  ปกติแล้วในการใช้อาร์โนลด์เพื่อการเรนเดอร์นั้นโดยทั่วไปแล้วมักต้องใช้วัสดุเฉพาะของอาร์โนลด์เองที่เรียกว่า  aiStandard แทนที่จะใช้วัสดุมาตรฐานที่มีในมายาอย่าง blinn
  
  วัสดุนี้อาจเทียบเท่ากับวัสดุ  mia ของเมนทัลเรย์  เพียงแต่ค่อนข้างแกมบังคับว่าควรจะต้องใช้หากใช้อาร์โนลด์เรนเดอร์ ในขณะที่  mia จะไม่ใช้ก็ได้
  
  ยังดีที่ในโปรแกรมได้เตรียมหนทางสำหรับเปลี่ยนวัสดุชนิดต่างๆมาเป็น  aiStandard ไว้แล้ว เป็นโค้ด python สามารถหาโค้ดนั้นได้  โดยถูกเตรียมมาอยู่ในไฟล์ชื่อ mrShadersToArnold.py  ซึ่งถูกใส่ไว้ในโฟลเดอร์ชื่อ docs ภายในโฟลเดอร์ที่ลง MtoA
  
  ลองเอาโค้ดมารัน เสร็จแล้ว blinn ทั้งหมดในนี้ก็จะเปลี่ยนเป็น aiStandard
  
  จากนั้นลองเรนเดอร์ดู  ก็พบว่า ได้ผลเหมือนเดิมเป๊ะเลย (เลยไม่มีความจำเป็นต้องลงรูปซ้ำ)  เท่ากับว่าการเปลี่ยนจาก blinn เป็น asStandard ในที่นี้สมบูรณ์แบบจริงๆ
  
  
 
  เพียงแต่ว่ายังไงก็ไม่สามารถกลับไปเป็นเหมือนตอนใช้เมนทัลเรย์ได้อยู่ดี ยังไงก็ยังต้องลองปรับอะไรดูหลายๆอย่าง
  
  สาเหตุที่ทำให้ภาพเป็นแบบนี้เกิดจากการที่มีค่าความหยาบ  (roughness) ในส่วนของสเป็กคิวลาร์ ค่านี้ถูกแปลงมาจากค่าความเยื้อง  (eccentricity) ของ blinn โดยตรง
  
  ค่าตั้งต้นของ blinn จะมีค่าความเยื้อง เป็น 0.3 ทำให้ความหยาบในที่นี้กลายเป็น 0.3 ด้วย เลยได้ผิวขรุขระแบบนี้
  
  ที่จริงแล้วค่าความเยื้องใน blinn เป็นตัวที่กำหนดความแรงของแสงไฮไลต์ แต่พอเป็นใน aiStandard กลับถูกแปลงเป็นความหยาบไป
  
  ขอลองปรับความหยาบให้เป็น 0 ให้หมดแล้วเรนเดอร์ใหม่ พิมพ์โค้ดตามนี้วัสด aiStandard ทั้งหมดก็จะมีความหยาบเป็น 0
  
  for a in mc.ls(typ='aiStandard'):
      mc.setAttr(a+'.specularRoughness',0)
  
  พอไม่มีความหยาบแล้วก็เลยกลายเป็นกระจกสะท้อนแสงชัดเจนตามแบบที่ blinn ควรจะเป็นดังเดิม แต่ก็ยังไม่เหมือนเดิมซะทีเดียวอยู่ดี
  
  อีกเรื่องที่น่าลองปรับดูอีกก็คือ ภาพนี้จะเห็นว่าฉากดูมืดๆในส่วนที่ไม่โดนแสง  ซึ่งแบบนี้ที่จริงแล้วยังไม่ค่อยสมจริงนักเพราะในความเป็นจริงแสงควรจะสะท้อนไปมาทำให้แม้แต่ส่วนที่ไม่โดนแสงโดยตรงก็ต้องสว่างขึ้นบ้าง
  
  ความจริงแล้วในอาร์โนลด์แสงจะมีการสะท้อนอยู่ครั้งหนึ่งอยู่แล้วโดยค่าตั้งต้น ทำให้ภาพที่ได้ไม่มืดสนิทซะทีเดียว  แต่ว่าหากปรับเพิ่มขึ้นก็ยังสว่างขึ้นได้อีก
  
  ลองมาดูที่เครื่องมือปรับแต่งการเรนเดอร์เลือกมาที่แถบ Arnold Renderer กดที่ Ray Depth ดูตรงค่า Diffuse คือความลึกในการสะท้อนแพร่ จะเห็นว่าเป็น 1
  
  
 
  ในที่นี้ลองปรับให้เป็น 3
  
  ถ้าจะปรับโดยใช้โค้ดก็แค่พิมพ์
  
  mc.setAttr('defaultArnoldRenderOptions.GIDiffuseDepth',3)
  
  เพียงแต่ว่าโดยปกติแสงที่ถูกสะท้อนจะยังไม่ได้นับรวมความวางของวัสดุเข้าไปด้วย จนกว่าจะไปเปิด enable glossy caustics ในโหนดของวัสดุ
  
  
 
  ในที่นี้ลองสั่งเปิดคอสติกความวาวลงไปให้กับวัสดุทั้งหมด แต่ถ้าต้องมาไล่ติ๊กทีละวัสดุก็เสียเวลาแย่ ก็เลยใช้โค้ดช่วยดีกว่า ทำง่ายๆโดยพิมพ์โค้ดนี้
  
  for a in mc.ls(typ='aiStandard'):
      mc.setAttr(a+'.enableGlossyCaustics',1)
  
  ส่วนความลึกในการสะท้อนความวาวก็เพิ่มเป็น 3 ด้วยเช่นเดียวกับการแพร่
  
  mc.setAttr('defaultArnoldRenderOptions.GIGlossyDepth',3)
  
  แล้วเรนเดอร์ ผลที่ได้ออกมาดูสว่างขึ้น แต่เวลาเรนเดอร์ก็นานขึ้นตาม
  
  
 
  แต่จะเห็นว่าออกมาดูแปลกๆขัดตา เพราะแสงดูแตกๆ เหมือนมีคลื่นรบกวนมากมาย
  
  ปัญหานี้อาจสามารถแก้ได้โดยปรับเพิ่มความละเอียดของงาน  โดยไปที่ตัวปรับเลือกการเรนเดอร์ ดูที่หมวด sample  จะมีจำนวนตััวอย่างให้ปรับแต่ง ยิ่งค่ามากยิ่งภาพออกมาแม่นยำขึ้น  แต่เวลาเรนเดอร์ก็เพิ่มเป็นทวีคูณ
  
  ในที่นี้ลองเปลี่ยนจำนวนแซมเปิลของการแพร่กับความวาวเป็น 5 จากที่เดิมเป็น 2
  
  หากปรับด้วยไพธอนก็เขียนตามนี้
  
  mc.setAttr('defaultArnoldRenderOptions.GIDiffuseSamples',5)
  mc.setAttr('defaultArnoldRenderOptions.GIGlossySamples',5)
  
  แล้วเรนเดอร์ ผลที่ได้ก็ออกมาดูดีขึ้นมาก อย่างไรก็ตาม ใช้เวลาเรนเดอร์นานขึ้นมาก
  
  
 
  จะเห็นได้ว่าในอาร์โนลด์   การตั้งค่าความลึกของแสงให้มากขึ้นจะทำให้ภาพสมจริงขึ้นแต่ก็จะทำให้ภาพแตกๆ  แต่ก็สามารถแก้ได้ด้วยการเพิ่มจำนวนแซมเปิล
  
  พอทั้งเพิ่มความลึกของแสงและเพิ่มจำนวนแซมเปิลทำให้เวลาในการเรนเดอร์นานขึ้นเป็น  ๑๐ เท่า ดังนั้นคงจะดีถ้าตอนเรนเดอร์ทดสอบใช้ความลึกและจำนวนแซมเปิลน้อยๆ  พอจะเรนเดอร์เอาจริงค่อยใช้ค่าสูงๆ
  
  
  
  สุดท้ายนี้  ลองปรับแต่งอะไรต่างๆดูอีกมากมาย เช่นลองปรับผิวอควาให้เป็นสีรุ้งทั้งตัว  แล้วก็ปรับค่าอะไรต่างๆที่ผนังและพื้นอีกหลายอย่าง ก็ออกมาเป็นแบบนี้สวยไปอีกแบบ
  
  
 
  
  
  สำหรับคราวนี้พอเท่านี้ก่อน  ไว้คงจะได้เขียนถึงอะไรๆอีกหลายอย่าง อาร์โนลด์นั้นตอนเริ่มอาจจะดูยาก  แต่พอเริ่มเข้าใจแล้วก็มีหลายอย่างที่ดูจะใช้ง่ายกว่าเมนทัลเรย์พอสมควร
  
  อาร์โนลด์จะดีกว่าเมนทัลเรย์ได้หรือเปล่าตอนนี้ยังไม่ขอตัดสินจนกว่าจะลองใช้ไปอีกสักพัก
เว็บต่างๆที่ใช้อ่านเพื่อเรียนรู้การใช้อาร์โนลด์
http://area.autodesk.jp/movie/arnold/01.htmlhttp://maya.indyzone.jp/tag/arnoldhttp://cls-studio.co.jp/category/アーノルドレンダー検証http://arnold.jp.net