Category Archives: render

IOR คือ?

IOR ย่อมาจาก Index of RefractionSets แปลว่า ดัชนีการหักเหของแสง แล้วไอ้เจ้าหนี้มีไว้ทำอะไร ก็วัตถุโปร่งใสทั้งหลาย ๆ นักวิทยาศาสตรเขาบอกว่ามันมีการบิดเบียวของรูปทรงเมือเรามองผ่านมันไม่เหมือนกัน เขาจึงหาค่าหรือตัวชี้วัดว่าการหักแหของวัสดุเหล่านั้นมีค่าประมาณใหนนั่นเอง

แล้วเอา IOR มาทำอะไร?
ถ้าเป็นในงานพวก 3D นี่เราก็เอามาจำลองการหักแหของวัสดุให้สมจริงซึ่งในโปรแกรม 3D ส่วนมาก็จะสามารถจำลองวัสดุพวกแก้วหรือของใสแบบต่าง ๆ และมันจะมีช่อง IOR ให้เราใส่บางคนก็ใส่มั่ว ๆ ไปเอาสวย ก็ไม่ว่ากันครับแต่ถ้าจะใส่จริง ๆ มันต้องมีหลักการ

แล้วจะเอาค่าต่าง ๆ เปล่านี้มาจากไหน?

แหม…ที่นี่งัยเรามีมาให้ท่านเแล้วจากตารางต้านล่างดูได้เลย

Material(วัสดุ) IOR Value
Vacuum 1.0 (exactly)
Air 1.0003
Water 1.333
Glass 1.5 (clear glass) to 1.7
Diamond 2.417

ง่าย ๆ เราก็เอาไปใส่ในช่อง IOR เท่านั้นเองพอมั้ยถ้าไม่พอเอาไปอีก…

Material IOR Value
Carbon Dioxide, Liquid 1.200
Ice 1.309
Acetone 1.360
Ethyl Alcohol 1.360
Sugar Solution 30% 1.380
Alcohol 1.329
Flourite 1.434
Quartz, Fused 1.460
Calspar2 1.486
Sugar Solution 80% 1.490
Glass, Zinc Crown 1.517
Glass, Crown 1.520
Sodium Chloride 1.530
Sodium Chloride (Salt) 1 1.544
Polystyrene 1.550
Quartz 2 1.553
Emerald 1.570
Glass, Light Flint 1.575
Lapis Lazuli 1.610
Topaz 1.610
Carbon Bisulfide 1.630
Quartz 1 1.644
Sodium Chloride (Salt) 2 1.644
Glass, Heavy Flint 1.650
Methylene Iodide 1.740
Ruby 1.770
Sapphire 1.770
Glass, Heaviest Flint 1.890
Crystal 2.000
Chromium Oxide 2.705
Copper Oxide 2.705
Amorphous Selenium 2.920
Iodine Crystal 3.340

ผมก็ชอบใช้ค่าต่าง ๆ เหล่านี้ในการทำงานมันจะได้มีหลักการ หวังว่าคงจะเป็นประโยชน์นะครับ 🙂 วันนี้ไปละสวัสดี

Mental Ray Water Surface 2

มาต่อตอนที่สองสำหรับวันนี้กันนะครับ

ใน Gradient Parameters rollout ปรับค่าต่าง ๆ ตามรายการดังต่อไปนี้
Colour#1:  R = 242, G = 245 and B = 253
Colour#2:  R = 107, G = 130 and B = 248
Colour#3:  R = 194, G = 191 and B = 183
Colour 2 Position:  0.2
figure_9
ในกลุ่มของ Coordinate ปรับตัวเลือกให้เป็น  Environ และเลือก Spherical Environment
figure_10
กด F10 เพื่อเรียก Render Settings dialogue box ปรับค่า  Output Size เป็น 35mm 1.66: 1 (cine)และปรับขนาดของรูปเป็น 1024 x 614
figure_11
เลือกมุมมอง Camera01 และปิด Final Gather และ GI กด F9 เพื่อดูผลลัพธ์ที่ได้
figure_12

ในกรณีที่คุณต้องการใช้ FG หรือ GI หรือใช้มันร่วมกับ mr Physical Sun & Sky ให้ปรับค่า Diffuse Level ในกลุ่มของ Diffuse ลงประมาณ 0.25 ที่ทำแบบนี้ก็เพราะว่าตัวผิวน้ำจริง ๆ มันไม่ได้มีสีแต่สีของมันที่เราสามารถเห็นได้นั้นมาจากการหักแหและการสะท้อนของแสงที่วิ่งกระทบผิวน้ำเอง ตามหลักวิทยาศาตร์สัมพันธ์

ได้ลองเล่นแล้วเป็นอย่างไรบ้างเอามาอวดกันได้นะครับ

ใครติดปัญหาถามได้ที่ Candle3d Board นะครับ
บทความโดย  Bimendra Bandara
เรียบเรียงโดย Candle3d.com

Mental Ray Water Surface 1

water-surface

Skill Level: Beginner to Intermediate
Time to Complete: 20 Minutes
3d max ที่ใช้ได้: 3ds Max 6 ขึ้นไป
บทความนี้จะสอนให้คุณสร้างพื้นผิวน้ำแบบเสมือนจริงและสามารถสร้างให้เป็น Animation ได้โดยใช้ Ocean shader ที่อยู่ใน Lume Library
ขั้นแรกต้องปรับ Render ให้เป็น Mental Ray โดยกด F10 เพื่อเรียก Render Setup Dialogue Box ไปที่ Assign Renderer Rollout ที่อยู่ใน Common Tab กดที่ปุ่ม Production เลือก Mentalray Renderer ดูรูปด้านล่าง
figure_1
จากนั้นจะปรับหน่วยการใช้งานให้เป็นเมตรให้ไปที่ Customize Menu –> Unit Setup… ให้เปลี่ยน Display Unit Scale เป็น Metic และเลือก Meters
figure_2
จากนั้นให้สร้าง Plane ที่จุด Origin (0,0,0)กำหนดขนาดให้เท่ากับ 10m x 10m ปรับค่า Scale ในกลุ่มของ Render Multipliers ให้เท่ากับ 10 ตั้งชื่อของวัตถุให้เป็น “Water Surface” สร้างแสงแบบ Target Direct Light วางตำแหน่งของแสงที่ x = -7m, y = -9m, z = 6.25m และตำแน่งของจุด Target ที่ x = -1.5m, y = 0m และ z = 0.75 set ค่าเงาให้เป็น Ray Traced Shadows ทำเครื่องหมายถูกหน้าตัวเลือก Overshoot ที่อยู่ใน Directional Parameters สร้่าง Target Camera วางตำแหน่งที่ x =-7m, y = -9m และ z = 6.25m ตำแหน่งของ Target อยู่ที่ x = -0.175m , y = -1.125m และ z =- 0.9m

หลังจากนั้นให้กด M เพื่อเรียก Material Editor กดที่ปุ่ม Standard ที่อยูทางด้านมุมบนขวา ในหน้าต่าง Material / Map ให้เลือก Arch & Design (mi) ปรกติมันจะอยู่บนสุด เปลี่ยนชื่อของ Material ให้เป็น Warter Surface และกำหนดวัสดุให้กับ Plane
figure_3

ใน parameters หลักของ Material ให้เปลี่ยนสี Diffuse Color ให้เป็น  R = 0.439, G = 0.522 และ B = 0.486 ปรับค่า Reflectivity เป็น 0.7
figure_4
ให้เปิด Special Purpose Maps rollout และเลือกปุ่มที่อยู่ด้านซ้ายของ Bump ใน Material / Map ให้เลือก Ocean (lume) ดูรูปที่อยู่ด้านล่าง
figure_5
ให้ปรับ parameter ของ ocean shader ตามรายการด้านล่าง
Largest = 0.25m
Smallest = 0.005m
Quantity = 5
Steepness = 6.25
Plane Distance = 25 m
Directed = Yes
Direction angle =150
Wave Speed = 0
Flats = No
figure_6

กด 8 เพื่อเรียก Environment and Effects dialogue กดที่ปุ่ม None จากนั้นในหน้าต่าง  Material / Map Browser เลือก Gradient
figure_7
กด M เรียก Material Editor แล้วให้ลาก Gradient map ไปใส่ในช่องของ material editor เลือก Instant
figure_8

ใครติดปัญหาถามได้ที่ Candle3d Board นะครับ
บทความโดย  Bimendra Bandara
เรียบเรียงโดย Candle3d.com

การ render Pecspective ภายนอก Vray by Red Vertex 5 การจัดแสง LIGHTING

การจัดแสง (light setup) ไม่มีอะไรยุ่งยาก ผมใช้ Direct Light เป็นดวงอาทิตย์ VraySky เพื่อการคำนวน GI และ Vray Color เพื่อเร่งสีสภาพแวดล้อมให้ดูสวางใน environment มันช่วยแร่งการสะท้อนให้ดีมากยิ่งขึ้น แต่บางรูปก็เอา Plane มาบังด้านหลัง เพราะมันสว่างเกินไป เงาของดวงอาทิตย์ก็เปิด Area Shadows เพื่อให้เงามันดูนุ่มขึ้น

ตัวอย่างการ set Vray Sky

ตัวอย่างการ set Vray Sky

มาดู V-Ray Realtime !!!

เป็นเทคนิคการทำงานที่น่าสนใจมาก แต่คงจะต้องใช้เครื่องแรงสักหน่อย ระรับจตุคอ (quad core) กันเลย ใครได้ลองแล้วมาเล่าสูกันฟังบ้างนะครับ

การ render Pecspective ภายนอก Vray by Red Vertex 4 (พื้นผิวTexture)

ผมใช้ข้อมูลจาก www.cgtextures.com ที่นี่เป็นแหล่งข้อมูลที่น่าสนใจ ลายเปลือกไม้ได้มากจากการผสมกันของลายไม้เพื่อนำมาใช้ทำผิวของลำต้น สำหรับใบก็ใช้รูปของใบไม้แต่มาวาดและปรับในส่วนของ translucency และ bump maps จริง ๆ แล้วเทคนิคนี้ก็เป็นวิธีการที่นิยมใช้ทั่ว ๆ ไป ส่วน UVW ก็จะใช้ค่าที่มากับ plugins Onyx Tree หรือ Bionatics

การ render Pecspective ภายนอก Vray by Red Vertex 3 (Material)

วัสดุ MATERIALS

Materials ของหญ้า ผมใช้ Vray2SidedMtl ซึ่ง Front material ใน 2Sided ใช้ translucency color RGB = 140 140 140 (สีเทา) สำหรับ Map ก็ใช้เพียง diffuse texture ปรับค่า Opacity โดยใช้ VrayColor ตั้งค่า RGB = 140 140 140 material ทั้งสองเหมือนกันแต่ material ที่สองจะขุ่นและมืดกว่าทำให้ หญ้าดูน่ม และ ไม่ใช้ Displacement มันจะส่งผลกับ GI ทำให้สีไม่พี้ยน

Map หญ้า grass texture

map หญ้าที่ ผมใช้
ไม่ได้ใช้เทดนิคอะไรพิเศษ Material ของลำต้น ก็จะใช้เทคนิดเดียวกันแต่จะปรับ Reflect และ Reflect Glossiness ให้เป็นสีเทา Fresnel IOR เท่ากับ 2.0 ใช้ค่านี้กับทุก ๆ วัสดุ แค่เปลี่ยน Texture เท่านั้น

ผิวของต้นไม้ barkshader
วัสดุของต้นไม้

วัสดุใบไม้ Leaves
การทำให้มันดูเหมือนจริงเป็นเรื่องท้าทายอย่างมากผมใช้เวลาทดลองเรื่องนี้อยู่สองถึงสามวัน สุดท้ายก็เลือก VrayMtl กับ translucency เพื่อให้มันดูเขียวแบบพิเศษ และใช้ SSS ปัญหาที่ผมพบอีกอย่างหนึ่งก็คือการใช้ หมอก แต่มันสามารถแสดงผลได้เฉพาะ Model เท่านั้นนั้นเห็นเหตุผลที่ผมต้องใช้ใบไม้เป็น Model ปัญหาอีกอย่างเรื่อง fog นั้นเราต้องใช้วัตถุที่มีปริมาตรเท่านั้นมันถึงจะแสดงผลได้อย่างถูกต้อง ผมจึงเลือกใช้ shell modifier เพื่อให้การแสดงผลตอน Render ได้ถูกต้อง(ให้ระวังเรื่องความหนาให้ดีเพราะถ้ามันบางเกินไปมันอาจจะมัปัญหากับหมอกได้)การ set sss Shader แล้วก็ set? refract เป็นสีขาว ปรับค่า Glossiness ประมาณ 0.6-0.8 ค่านี้สำคัญมากไม่งั้น translucency จะไม่ทำงาน จากนั้นก็เพิ่มค่า subdivisions เป็น 20 เพื่อให้มันดูนุ่ม จากนั้นก็ปรับ mode ของ? translucency ให้เป็น hybrid Model เพิ่มค่้า Light multiplier นิดหน่อย ผมพยามจำลองก้านเยื้อที่อยู่ในในไม้โดยกาใช้ map สีขาวดำเพื่อมาจำลองมันพอได้ผลลัพธืเป็นที่น่าพอใจแล้วก็จะปรับใช้ Reflection ด้วย ดูรูปด้านล่างประกอบครับ

ตัวอย่างการปรับวัสดุใบไม้

ตัวอย่างการปรับวัสดุใบไม้

ตัวอย่าง วัสดุใบไม้ Leaf material

ตัวอย่าง วสดุ ใบไม้ leavesshader

ตัวอย่าง วสดุ ใบไม้ leavesshader

การ render Pecspective ภายนอก Vray by Red Vertex 2 (Tree)

ต้นไม้ TREES

Model ต้นไม้เกือบทั้งหมดจะใช้ plugin ชือ Onyx มีสองต้นใช้ Bionatics Plugin เพราะมันสามารถกำหนดรูปแบบของใบได้ละเอียด สำหรับต้นไม้ที่ทำจาก Onyx ก็ไม่ได้มีอะไรพิเศษรูปแบบก็ Load Preset มาจาก File ที่มาพร้อมกับโปรแกรมส่วนที่ผมคิดว่ายากก็คือการให้รายละเอียดของใบโดยผมใช้ SSS Material (ดูรายละเอียดของเรื่องนี้ได้ในส่วนของ Material) ผมไม่ใช้ Opacity maps เลยใบไม้ทั้งหมดเป็น Model 3d จริง ๆ ซึ่ง Onyx มันไม่สามารถทำได้ ถ้าดูไกล ๆ ก็ พอได้ แต่ในงานนี้ผมต้องการให้ต้นไม้มีใบเป็นพุ่มหนา

Tree bark displacement

Tree bark displacement

ผมใช้ใบที่ให้มากับต้นใม้ของ Onyx ในระยะไกล ๆ แต่จะมีการเพิ่มรายละเอียดสำหรับต้นใม้ที่อยู่ด้านหน้าและต้นใม้ที่อยู่ ใกล้ ๆ ต้มไม่กลุ่มทางซ้ายมือก็จะใช้ใบแบบเดิมเพียงแต่ผมจะแยกใบออกมาแล้วใส่ Shell Modifier ให้กับมัน (ดูรายละเอียดของเรื่องนี้ในส่วนของ Material) ขั้นตอนในการทำดูเหมือนจะง่านแต่พอทำจริง ๆ นั้นการใส่ Modifier ให้กับส่วนใบเป็นที่มี polygon เป็น พัน ๆ กลับทำให้เครื่องค้างไปเลยผมแก้ปัญหานี้โดยแยกมันออกมากเป็นส่วน ๆ แล้วใส่ Shell ให้มันวิธีนี้ก็จะช่วยให้เครืองไม่ค้าง หลังจะนั้นผมก็ Attach มันกลับเข้าไปรวมกัน ปัญหที่พบในขั้นตอนนี้ก็คือการใช้? High Poly Leaves ผมทำ Model ใบไม้ขึ้นมาแแล้วต้องการนำไปแทนที่ ใบให้สี่เหลี่ยมของ Onyx แก้ปัญหานี้โดยสร้่างกลุ่มใบใม้ขึ้นมาแล้วใช้คำสั่ง scattered ต้นไม้ละเอียดลงในLowpoly จากนั้นก็ลบ lowpoly ทิ้ง

High poly leaves

High poly leaves

Low poly leaves

Low poly leaves

ส่วนลำต้น Onyx Tree และ Bionatics เป็น Plugin ที่มีรูปทรงของลำต้นและกิ่งดูดีอยู่แล้วแต่ก็จะใช้ subdivisionsเพื่อให้รายละเอียดผิวของต้นให้ให้ดูสมจริงมากยิ่งขั้นตรงนี้ถือเป็นหัวใจสำคัญของภาพเลยทีเดียว

Tree bark

Tree bark

ผมพยามใช้ VrayDisplacement กับต้นใม้ทั้งหมด…แต่มันไม่ใช่ความคิดที่ดีเลยเพราะคำคั่งนี้ใช้ memory มากจึงทำให้ไม่สามารถ render ได้(ไม่เจียมเลยเรา)เลยหันกลับมาใช้เฉพาะต้นไม้ที่อยู่ใกล้ ๆ แทนเวลาใช้ VrayDisplacement อยาลืมตรวจด้วยนะครับว่ามันเห็นในกล้องหรือเปล่าไม่งั้นเราจะเสียวเวลาในการ render มากขึ้นนะครับ

สิ่งที่ได้จากการสร้างต้นไม้ด้วย Plugin ก็อคือเราจะได้ค่า UV มาด้วยทั้งลำต้นและใบทำให้ง่ายต่อการปรับแต่งขนาดของ Map

หลังจากนั้ผมก็จะ Convert มันให้เป็น Vray Proxy ทำให้เราสามารถใช้ต้นใม้หลาย ๆ ต้นได้โดยไม่มีปัญหาเรื่อง Memory โดยผมจะแยกส่วนประกอบของต้นไม้ออกเป็นสองส่วนคือ Proxy ของใบ และ Proxy ของลำต้นกิ่งก้านทำให้เราสามารถแทน Model High Poly ของใบหรือลำต้นได้ง่าย ในกรณีที่ต้นไม้นั้นเป็น Foreground

Tree proxies
Tree proxies

ผมใช้ต้นไม้ 5 ชนิด และไม้พุ่ม 5 ชนิด ซึงมี Polygon รวม มากว่า 1,000,000 Polygon ผมไม่แน่ใจเรื่องจำนวน Poly ที่แสดงทั้งหมดในฉากมีประมาณ 13.6ล้าน Polygon นี่ยังไม่รวม Polygon ที่จะเกิดจาก Displacement จากหญ้าและต้นใม้อีกนะนี้

อย่าลืมติดตามตอนต่อไปนะครับ 😉


การ render Pecspective Vray by Red Vertex 1 (Layout)

foliage vray render

foliage vray render

การจัดฉากโดยรวม
เรา จะวางหญ้าหรือไม่ฟุ่มเตี้ยรอบนอกถัดจากนั้นก็จะวางต้นไม้ใหญ่โดยพยามวางให้ ใกล้ ๆ กันมากที่สุดเพื่อไม่ให้เห็นหรือมองลอดไปได้ หลังจากตั้งกล้องแล้วก็จะปรับ foreground ของแต่ละมุมมองโดยการเพิ่มหรือลบ ต้นไม้เพื่อความเหมาะสมขององค์ประกอบในแต่ละรูป

render ต้นไม้โดยใช้ Vray

นี่เป็นภาพรวม

การทำต้นหญ้านั้นทำง่าย ๆ โดยใช้ displacement เหมือนที่ใช้กันทั่วไปโดยหัวใจของหญ้าก็คือ displacement subdivisions ขนาดใหญ่และ Noise Map ที่ดี ผมใช้ VrayDisplacement modifier เลือก Type เป็น 2D mapping โดยจะปรับขนาดตามความเหมาะสมซึ่งแต่ละ Camera จะใช้ไม่เหมือนกัน โดยจะปรับให้ต้นหญ้าสั้นเมื่ออยู่ใกล้และปรับให้ยาวเมืออยู่ไกล การให้รายละเอียดของต้นหญ้าส่วนใหญ่จะปรับอยู่โดยประมาณ 3,500 ไม่ใช้ค่านี้ตลอดนะครับโดยมากผมจะปรับให้มากกว่า 2,000

การ render tiveภายนอกโดยใช้ Vray

มันอาจเป็นการยากที่ render polygon จำนวนมหาสาน ซึ่งเครื่องของผมที่มี Ram 6 GB ไม่สามารถ Render ได้ (ran out of memory เป็นเรื่องธรรมของการ Render Vray กับ File ที่มี Polygon จำนวนมาก) ผมแก้ปัญหานี้โดยการแบ่งพื้นที่หญ้าให้เป็นส่วน ๆ และเปิด Displacement เฉพาะที่จะเห็นในมุมมองนั้น ๆ นอกจากนั้นผมยังทำให้ผิวขรุขระ เพือให้ต้นหญ้าที่ได้ดูเป็นธรรมชาติ? โดยใช้ displacement modifier ที่ติดมากับ Max และใช้ Smoke map ให้กับมัน หลังจากนั้นก็เพิ่มต้นหญ้าไปบริเวณขอบของอาคารโดยใช้ Vray Proxy เพื่อลดจำนวน Polygon สำหรับ map ที่ใช้กับ VrayDisplacement ก็จะปรับให้มีสีขาวและดำมากยิ่งขึ้น โดยลดค่า High และ เพิ่มค่า Low ให้มากขึ้นดูรูปด้านล่างประกอบ

redvertex-foliage04

การ render tiveภายนอกโดยใช้ Vray