φυβλαςのβλογ
phyblas的博客



ทำความเข้าใจวัสดุ standardSurface ใน arnold ใน maya จาก preset ของวัสดุแบบต่างๆ
เขียนเมื่อ 2021/09/14 06:48
แก้ไขล่าสุด 2021/09/28 16:42
 

อาร์โนลด์ (arnold) ได้กลายเป็นตัวเรนเดอร์ที่ใช้เป็นมาตรฐานภายในโปรแกรมมายามาตั้งแต่ maya2017 ซึ่งเมื่อสมัยที่เพิ่งได้ลองใช้ดูใหม่ๆก็ได้เคยเขียนถึงการใช้วัสดุของอาร์โนลด์ในมายาไปใน https://phyblas.hinaboshi.com/20170415

ใน maya2017 นั้นวัสดุมาตรฐานที่ใช้ในอาร์โนลด์คือ aiStandard แต่ว่าหลังจากนั้นอาร์โนลด์ก็ได้ถูกปรับปรุงเปลี่ยนแปลงใหม่ วิธีการใช้ต่างไปจากตอนนั้นพอสมควร แม้ว่าโดยรวมแล้วพื้นฐานยังเหมือนเดิมก็ตาม

ปัจจุบันนี้ aiStandard ก็ได้ถูกเลิกใช้กันไปแล้ว และสำหรับในมายาตอนนี้วัสดุที่ใช้โดยทั่วไปตอนที่เรนเดอร์ด้วยอาร์โนลด์คือวัสดุที่เรียกว่า standardSurface

เมื่อใช้ standardSurface ในมายาแล้วเรนเดอร์ด้วยอาร์โนลด์ก็ทำให้ได้ภาพที่ออกมาสวยงามและค่อนข้างสมจริง แม้ว่ามักจะต้องใช้เวลาเรนเดอร์นานก็ตาม

แต่ standardSurface นั้นค่อนข้างใช้ยากเพราะมีค่าต่างๆที่ให้เลือกปรับแต่งมากมายเพื่อให้ได้พื้นผิวลักษณะตามที่ต้องการขึ้นอยู่กับว่าเราต้องการทำเป็นผิวของอะไร ดังนั้นช่วงแรกเริ่มที่จะเรียนรู้การใช้งานนั้นถือว่าค่อนข้างลำบากอยู่



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

  • base (ベース) คือสีส่วนหลักที่เป็นพื้นฐาน
  • specular (スペキュラ) คือสีในส่วนที่เกี่ยวกับการสะท้อน
  • transparent (透過) คือส่วนที่ปรับความโปร่งใส
  • subsurface (サブサーフェス) ใช้กับผิวที่มีการแพร่ในชั้นลึกลงไปจากผิว
  • coat (コート) ใช้กับผิวที่มีชั้นแวววาวห่อหุ้มอยู่ เช่นพวกสีทารถหรือไขมัน
  • sheen (光沢) ใช้ทำให้มีเส้นใยแวววาวห่อหุ้มอยู่ เช่นพวกกำมะหยี่หรือผ้าต่วน
  • emission (放出) คือแสงที่เปล่งออกมาจากตัววัสดุนั้น
  • thin film (薄膜) ใช้กับพวกวัสดุที่เป็นแผ่นฟิลม์บาง

สำหรับรายละเอียดนั้นมีมากมาย จึงต้องใช้เวลาศึกษากันพอสมควรเพื่อที่จะปรับแต่งค่าต่างๆให้ได้ผลเป็นไปตามที่ต้องการ

ยังดีที่ภายในโปรแกรมได้เตรียม preset หรือก็คือตัวแม่แบบตัวอย่างของวัสดุชนิดต่างๆที่ใช้บ่อยเอาไว้ เราจึงสามารถศึกษาจากตัวอย่างตรงนั้นกันได้

preset ที่มีอยู่นั้นก็จะต่างกันไปตามเวอร์ชันของมายาที่ลงเอาไว้ เช่นถ้าเป็นใน maya2022 นั้นเมื่อลงโปรแกรมมาเสร็จจะมี preset ของวัสดุต่างๆ ๒๙ ชนิด



สำหรับใน windows จะถูกเก็บไว้ที่
C:\Program Files\Autodesk\Arnold\maya2022\presets\attrPresets\aiStandardSurface

หรือในทำนองเดียวกันถ้าเป็นใน mac ก็จะอยู่ที่
/Applications/Autodesk/maya2022/presets/attrPresets/aiStandardSurface

ในไฟล์นั้นถูกเขียนไว้เป็นภาษา mel ซึ่งระบุว่าวัสดุต่างๆนั้นมีค่าของอะไรเป็นเท่าไหร่

ดังนั้นในที่นี้จะขอนำค่าจากใน preset เหล่านี้มาใช้แล้วเปรียบเทียบดูเพื่อให้พอเห็นภาพ

วัสดุที่จะใช้เป็นตัวอย่างคือ ๒๙ ชนิดที่ถูกเตรียมไว้ใน maya2022 นี้

โดยจะขอใช้โมเดล mmd ของคามิกาเซะ (神風かみかぜ) จากเกมคังโคเระ (かんこれ) ซึ่งโหลดจาก https://3d.nicovideo.jp/works/td27210 และแปลงใส่มายาโดยใช้ mmdpaimaya

เริ่มแรกใส่วัสดุ standardSurface ให้โดยที่ยังไม่ได้ปรับแต่งอะไรก็จะออกมาเป็นลักษณะนี้



จากนั้นก็ลองทำการปรับค่าต่างๆทั้งหมดตามใน preset ยกเว้นส่วนของสีหลัก baseColor ซึ่งจะยังใช้ตามเท็กซเจอร์ที่มีอยู่เดิม จากนั้นเรนเดอร์ดูใหม่ เทียบผลที่ได้

ต่อไปจะแสดงผลที่ได้พร้อมค่าต่างๆของวัสดุนั้นๆ โดยเรียงลำดับตามตัวอักษร




ลูกโป่ง (Balloon)



พื้นผิวลักษณะเหมือนกับลูกโป่ง ซึ่งจริงๆถ้าตาม preset จริงๆจะทำเป็นลูกโป่งสีแดง แต่ในที่นี้ใช้ baseColor ตามสีเท็กซ์เจอร์เดิม

สำหรับผิวลูกโป่งนี้มีการใส่ส่วนของ coat ซึ่งก็คือส่วนที่ทำให้ดูเหมือนมีชั้นหุ้มมันๆอย่างที่เห็น

base 1
baseColor 1 0 0  
diffuseRoughness 0
metalness 1
specular 1
specularColor 1 0 0  
specularRoughness 0.4
specularIOR 1.5
specularAnisotropy 0
coat 1
coatColor 1 1 1  
coatRoughness 0.1
coatIOR 2


เลือด (Blood)



สำหรับเลือดนั้นจะใช้ subsurface เป็นหลัก โดยในที่นี้สีของ subsurface เป็นสีออกแดงๆ และเมื่อปรับค่า subsurface เป็น 1 แล้วสีในส่วน baseColor ก็จะไม่มีผล เลยทำให้ออกมาเป็นสีแดงทั้งหมดแบบนี้

base 1
baseColor 0.432 0 0  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.1
specularIOR 1.52
specularAnisotropy 0.5
subsurface 1
subsurfaceColor 0.432 0 0  
subsurfaceRadius 0.2 0.2 0.2  
subsurfaceScale 1



โลหะขัดมัน (Brushed_Metal)



พื้นผิวลักษณะเป็นเหมือนโลหะมันๆ ในที่นี้ค่า metalness หมายความว่าจะมีสีสะท้อนที่ขึ้นอยู่กับสี baseColor ดังนั้นแม้ว่า specular จะเป็น 0 ก็ยังสะท้อนแสงระยิบระยับตามสีของ baseColor

base 1
baseColor 0.5 0.5 0.5  
diffuseRoughness 0
metalness 1
specular 0
specularColor 0 0 0  
specularRoughness 0.25
specularIOR 1.52
specularAnisotropy 0



ฟองสบู่ (Bubble)



ฟองสบู่นั้นจะมีการตั้ง transmission เพื่อให้กลายเป็นผิวใสๆ นอกจากนี้ยังใช้ตั้งค่า thinFilm เพื่อจำลองลักษณะที่เป็นเยื่อหุ้มบางๆ

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0
specularIOR 1
specularAnisotropy 0.5
transmission 1
transmissionColor 1 1 1  
transmissionDepth 0
transmissionScatter 0 0 0  
transmissionAnisotropy 0
thinFilmThickness 270
thinFilmIOR 1.4
thinWalled



สีทารถ (Car_Paint)



วัสดุลักษณะเหมือนโดนพ่นด้วยสีที่ใช้ทารถ ดูเป็นมันวาว ทำโดยใช้ coat

base 0.5
baseColor 0.10 0.59 0.85  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0
specularIOR 1.52
specularAnisotropy 0
coat 1
coatColor 1 1 1  
coatRoughness 0
coatIOR 1.5



สีทารถโลหะ (Car_Paint_Metallic)



อันนี้ก็สีทารถอีกอัน แต่ต่างกันที่ค่า metalness ถูกตั้งเป็น 0.5 ทำให้ดูแล้วมีความเป็นโลหะขึ้นมา

base 0.8
baseColor 0.04 0.25 0.36  
diffuseRoughness 0
metalness 0.5
specular 1
specularColor 0.08 0.46 0.66  
specularRoughness 0.4
specularIOR 1.5
specularAnisotropy 0
coat 1
coatColor 1 1 1  
coatRoughness 0
coatIOR 1.55



เซรามิก (Ceramic)



เซรามิกนั้นมีการใช้ subsurface คู่ไปกับ baseColor ด้วย แต่ค่าเป็น 0.1 ดังนั้นจึงมีผลเพียงเล็กน้อย

base 1
baseColor 0.8 0.8 0.8  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0
specularIOR 1.52
specularAnisotropy 0
subsurface 0.1
subsurfaceColor 1 1 1  
subsurfaceRadius 1 1 1  
subsurfaceScale 1



โลหะเคลือบโครเมียม (Chrome)



ผิวโลหะเรียบๆโดยมี specularRoughness เป็น 0 จึงทำให้สะท้อนภาพเหมือนกับเป็นกระจก

base 0.8
baseColor 1 1 1  
diffuseRoughness 0
metalness 1
specular 0
specularColor 1 1 1  
specularRoughness 0
specularIOR 1.52
specularAnisotropy 0.5



ดินเหนียว (Clay)



สำหรับดินเหนียวนั้นก็มีการใช้ subsurface นอกจากนี้ยังมีจุดเด่นตรงที่มีการปรับค่า diffuseRoughness เป็น 0.5

base 1
baseColor 0.31 0.0497 0.013  
diffuseRoughness 0.5
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.4
specularIOR 1.52
specularAnisotropy 0.5
subsurface 0.3
subsurfaceColor 0.31 0.0497 0.013  
subsurfaceRadius 0.162 0.162 0.162  
subsurfaceScale 1



น้ำสะอาด (Clear_Water)



น้ำสะอาดเป็นของเหลวโปร่งใส มองทะลุได้ แต่มีการหักเหแสงเกิดขึ้น

base 0.5
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 0
specularColor 1 1 1  
specularRoughness 0.12
specularIOR 1.33
specularAnisotropy 0
transmission 1
transmissionColor 1 1 1  
transmissionScatter 0 0 0  
transmissionAnisotropy 0



ทองแดง (Copper)



ที่จริงทองแดงนั้น baseColor จริงๆควรจะเป็นสีออกส้มๆ แต่ในที่นี้ใช้ baseColor ตามเท็กซ์เจอร์ก็เลยอาจดูแล้วสีไม่เหมือนทองแดงนัก แต่ลักษณะผิวและความเป็นโลหะก็ดูแล้วสมกับเป็นทองแดง

base 1
baseColor 0.93 0.72 0.5  
diffuseRoughness 0
metalness 1
specular 1
specularColor 1 0.956 0.823  
specularRoughness 0.25
specularIOR 1.52
specularAnisotropy 0



น้ำลึก (Deep_Water)



อันนี้ก็คล้ายๆกับน้ำสะอาด (Clear_Water) แต่ทีการหักเหแสงทำให้ดูเป็นน้ำเงินขึ้นมา

base 1
baseColor 0.186 0.186 0.186  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.12
specularIOR 1.33
specularAnisotropy 0
transmission 1
transmissionColor 0.744 0.94 1  
transmissionDepth 10
transmissionScatter 0.0675 0.134 0.5  
transmissionAnisotropy 0.75



เพชร (Diamond)



เพชรก็เป็นวัตถุใสๆ แต่จุดเด่นคือมีค่าดัชนีหักเหสูง ทำให้ภาพที่มองทะลุผ่านนั้นมีการหักเหไปมากยิ่งกว่าน้ำ

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0
specularIOR 2.4
specularAnisotropy 0
transmission 1
transmissionColor 1 1 1  
transmissionScatter 0 0 0  
transmissionAnisotropy 0
transmissionDispersion 20



โฟม (Foam)





base 1
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.2
specularIOR 1.52
specularAnisotropy 0
opacity 0.5 0.5 0.5  



กระจกฝ้า (Frosted_Glass)



กระจกขุ่นๆ มีการกระเจิงแสงภายในทำให้ดูแล้วเป็นสีเขียวเทาๆ มองทะลุได้บ้างเล็กน้อย

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.4
specularIOR 1.52
specularAnisotropy 0.5
transmission 1
transmissionColor 0.71 0.82 0.81  
transmissionScatter 0.29 0.29 0.29  
transmissionAnisotropy 0



แก้ว (Glass)



แก้วใสๆ มองทะลุได้ ดัชนีหักเหแสงสูงกว่าน้ำ แต่ไม่มากเท่าเพชร

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0
specularIOR 1.52
specularAnisotropy 0.5
transmission 1
transmissionColor 1 1 1  
transmissionScatter 0 0 0  
transmissionAnisotropy 0



ทอง (Gold)



ทองคำก็คล้ายกับทองแดง แต่ specularRoughness น้อยกว่าหน่อย จึงสะท้อนภาพได้ชัดกว่า

ในที่นี้ใช้สีตามเท็กซ์เจอร์ เลยอาจทำให้ดูแล้วไม่เหมือนทองคำ แต่ถ้าใช้ baseColor ตาม preset ก็ควรจะเป็นสีออกส้มๆดูแล้วสมกับเป็นทองคำจริงๆ

base 1
baseColor 0.95 0.78 0.37  
diffuseRoughness 0
metalness 1
specular 0
specularColor 1 0.98 0.75  
specularRoughness 0.15
specularIOR 1.52
specularAnisotropy 0



น้ำผึ้ง (Honey)



น้ำผึ้งก็เป็นของเหลว มีการปรับค่า transmission ให้ดูโปร่งใสเล็กน้อย แต่ดูแล้วแทบมองทะลุไปไม่ได้และออกเป็นสีส้มๆ

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 0
specularColor 1 1 1  
specularRoughness 0.1
specularIOR 1.52
specularAnisotropy 0
transmission 1
transmissionColor 1 0.574 0.115  
transmissionDepth 1
transmissionScatter 1 0.519 0  
transmissionAnisotropy 0



หลอดไฟ (Incandescent_Bulb)



หลอดไฟมีการใส่ค่า emission จึงทำให้มีแสงสว่างในตัวเอง

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.1
specularIOR 1.52
specularAnisotropy 0.5
emission 1
emissionColor 0.99 0.93 0.76  



หยก (Jade)



หยกนั้นทั้งมีการใช้ subsurface เป็นสีออกเขียวๆ แล้วก็ยังตั้ง transmission ให้ใสเล็กน้อยด้วย

base 1
baseColor 0.06 0.44 0.19  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.25
specularIOR 2.418
specularAnisotropy 0.5
transmission 0.6
transmissionColor 0.06 0.44 0.19  
transmissionScatter 1 1 1  
transmissionAnisotropy 0
subsurface 1
subsurfaceColor 0.06 0.44 0.19  
subsurfaceRadius 1 1 1  
subsurfaceScale 0.1



นม (Milk)





base 1
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.15
specularIOR 1.52
specularAnisotropy 0
subsurface 1
subsurfaceColor 1 1 1  
subsurfaceRadius 1 1 1  
subsurfaceScale 0.1



น้ำส้ม (Orange_Juice)



คล้ายๆกับน้ำผึ้ง เป็นสีส้มๆ ใสเล็กน้อย แต่มีการใช้ subsurface ด้วย

base 1
baseColor 0.83 0.42 0  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.1
specularIOR 1.4
specularAnisotropy 0
transmission 0.3
transmissionDepth 1
transmissionColor 1 0.51 0  
transmissionScatter 1 0.51 0  
transmissionAnisotropy 0
subsurface 1
subsurfaceColor 0.83 0.42 0  
subsurfaceRadius 0.162 0.162 0.162  
subsurfaceScale 1



พลาสติก (Plastic)





base 1
baseColor 0.105 0.242 0.818  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.32
specularIOR 1.52
specularAnisotropy 0
subsurface 0.2
subsurfaceColor 0.105 0.242 0.818  
subsurfaceRadius 1 1 1  
subsurfaceScale 1



ยาง (Rubber)



ยางมีลักษณะเด่นตรงที่มีค่าความหยาบทั้งในส่วน diffuseRoughness และ specularRoughness สูงกว่าวัสดุชนิดอื่นๆ

base 1
baseColor 0.23 0.23 0.23  
diffuseRoughness 1
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.6
specularIOR 1.52
specularAnisotropy 0.5



ผิวหนัง (Skin)



จำลองวัสดุเหมือนผิวหนัง ใช้ทั้ง subsurface และ coat

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.5
specularIOR 1.33
specularAnisotropy 0
subsurface 1
subsurfaceColor 1 0.615 0.521  
subsurfaceRadius 1 0.3 0.1  
subsurfaceScale 1
coat 0.25
coatColor 1 1 1  
coatRoughness 0.3
coatIOR 1.33



พลาสติกบาง (Thin_Plastic)



อันนี้มีการใช้ thinWalled เพื่อทำให้ดูเป็นผิวสองด้านที่บางมากๆ ดู เป็นพลาสติกบางๆ

base 0
baseColor 1 1 1  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.1
specularIOR 1.52
specularAnisotropy 0.5
transmission 1
transmissionColor 1 1 1  
transmissionScatter 1 1 1  
transmissionAnisotropy 0
thinWalled



สีทารถสองโทน (Two_Tone_Car_Paint)





base 0.8
baseColor 0.0115 0 0.157  
diffuseRoughness 0
metalness 0.37
specular 1
specularColor 0.5 0 1  
specularRoughness 0.4
specularIOR 1.55
specularAnisotropy 0.5
coat 1
coatColor 1 1 1  
coatRoughness 0
coatIOR 1.55



กำมะหยี่ (Velvet)



ผิวในลักษณะเป็นเส้นใยมันวาวเหมือนอย่างกำมะหยี่นั้นทำโดยการใส่ค่า sheen

base 0.8
baseColor 0.29 0 0.047  
diffuseRoughness 0
metalness 0
specular 0
specularColor 0 0 0  
specularRoughness 0.69
specularIOR 0
specularAnisotropy 0.188
sheen 1
sheenColor 0.4 0.058 1  
sheenRoughness 0.3



ขี้ผึ้ง (Wax)




base 1
baseColor 1 0.48 0.86  
diffuseRoughness 0
metalness 0
specular 1
specularColor 1 1 1  
specularRoughness 0.4
specularIOR 1.52
specularAnisotropy 0
transmission 0.8
transmissionColor 1 0.48 0.86  
transmissionDepth 1
transmissionScatter 1 0.48 0.86  
transmissionAnisotropy 0





จากตัวอย่างการตั้งค่าวัสดุทั้ง ๒๙ ชนิดที่ยกมานี้น่าจะเป็นตัวช่วยให้นึกภาพรวมได้ว่าควรจะปรับค่าอะไรตรงไหนอย่างไร

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


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

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- คอมพิวเตอร์ >> 3D >> maya

ไม่อนุญาตให้นำเนื้อหาของบทความไปลงที่อื่นโดยไม่ได้ขออนุญาตโดยเด็ดขาด หากต้องการนำบางส่วนไปลงสามารถทำได้โดยต้องไม่ใช่การก๊อปแปะแต่ให้เปลี่ยนคำพูดเป็นของตัวเอง หรือไม่ก็เขียนในลักษณะการยกข้อความอ้างอิง และไม่ว่ากรณีไหนก็ตาม ต้องให้เครดิตพร้อมใส่ลิงก์ของทุกบทความที่มีการใช้เนื้อหาเสมอ

目录

从日本来的名言
模块
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
机器学习
-- 神经网络
javascript
蒙古语
语言学
maya
概率论
与日本相关的日记
与中国相关的日记
-- 与北京相关的日记
-- 与香港相关的日记
-- 与澳门相关的日记
与台湾相关的日记
与北欧相关的日记
与其他国家相关的日记
qiita
其他日志

按类别分日志



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  查看日志

  推荐日志

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ