Psychedelic Graphics 0: บทนำ
(benpence.com)Psychedelic Graphics 0: บทนำ
- ซีรีส์นี้จะแนะนำวิธีสร้างภาพแนวไซคีเดลิกสำหรับแอนิเมชันและเกม โดยออกแบบมาให้เข้าใจได้แม้ไม่มีความรู้พื้นฐานด้านกราฟิกหรือการเขียนโปรแกรม แม้ว่าการมีความรู้พื้นฐานเกี่ยวกับตรีโกณมิติและการเขียนโปรแกรมจะช่วยได้
- หวังว่าซีรีส์นี้จะช่วยให้เข้าใจพื้นฐานของกราฟิกแนวไซคีเดลิกที่ใช้ในวิดีโอได้ วิดีโอส่วนใหญ่สร้างด้วย Blender แต่เทคนิคที่สอนในซีรีส์นี้สามารถนำไปปรับใช้ได้ง่าย และจะพูดถึง Blender ในเชิงลึกมากขึ้นในภายหลัง
UV คืออะไร?
โมเดล 3D
- คอมพิวเตอร์กราฟิกมักดูเหมือนเป็น 3D แต่เมื่อเขียนโค้ดกราฟิก เรามักต้องคิดแบบ 2D หากสร้างรูปทรงสวยงามในโปรแกรมทำโมเดล 3D สิ่งที่ทำจริง ๆ คือการสร้างจุดที่ลอยอยู่ในอวกาศ (จุดยอด) แล้วเชื่อมบางจุดเข้าด้วยกันเพื่อสร้างรูปทรงทึบ (หน้า)
- โมเดล 3D ส่วนใหญ่เป็นโพรง และเรามองเห็นได้แค่พื้นผิวเท่านั้น วิธีมาตรฐานในการใส่สีให้โมเดล 3D คือ UV mapping/texturing เช่นเดียวกับภาพฉาย 2D ของโลกที่ดูยืดและบีบอัดเล็กน้อย สีของโมเดล 3D เมื่อถูกฉายเป็น 2D ก็มีลักษณะคล้ายกัน
การเพนต์เท็กซ์เจอร์
- เมื่อเพนต์เท็กซ์เจอร์แล้ว มันจะแสดงบนโมเดล 3D ซอฟต์แวร์ส่วนใหญ่ให้เพนต์ลงบนโมเดล 3D ได้โดยตรงเพื่อระบายสี image texture
พิกัด UV
- UV สามารถมองเป็นตำแหน่ง หรือก็คือพิกัด 2D ได้ ใช้พื้นที่ตั้งแต่ (0, 0) ถึง (1, 1) ในการกำหนดพิกัด UV UV map คือข้อมูลที่เชื่อม image texture สีเข้ากับหน้าของโมเดล 3D
โค้ดกราฟิกทำงานอย่างไร
สีในกราฟิก
- สีในคอมพิวเตอร์กราฟิกมักแสดงด้วย RGB ด้วยการผสมสีแดง เขียว และน้ำเงิน เราสามารถสร้างสีได้เกือบทุกสีที่มนุษย์รับรู้ได้ ในคอมพิวเตอร์กราฟิก ปริมาณของสีแดง เขียว และน้ำเงินมักอยู่ในช่วง 0.0 ถึง 1.0
สีของ UV
- มีการแปลงพิกัด UV เป็นสีเพื่อช่วยในการแสดงผลและแก้ปัญหา ค่าแรกของ UV (ค่า X) ใช้เป็นสีแดง และค่าที่สอง (ค่า Y) ใช้เป็นสีเขียว
จำนวนจุดลอยตัวและเวกเตอร์ vec2, vec3
floatคือเลขทศนิยมเดี่ยวvecหมายถึงเวกเตอร์ โดยvec2ประกอบด้วยเลขทศนิยมสองตัว และvec3ประกอบด้วยเลขทศนิยมสามตัว
โครงสร้างของโปรแกรมกราฟิก
-
กราฟิกต้องถูกควบคุมแบบกระจาย โค้ดไม่ได้รันเพียงครั้งเดียวเพื่อสร้างสีทั้งหมด แต่จะรันหลายล้านครั้งสำหรับแต่ละส่วนเล็ก ๆ ของหน้าจอ หากมีประสบการณ์เขียนโปรแกรมมาก่อน นี่คือวิธีคิดที่แตกต่างอย่างมาก
-
ตอนนี้ก็พร้อมที่จะเริ่มตอนที่ 1 แล้ว ในตอนที่ 1 จะได้เห็นวิธีสร้างภาพที่น่าสนใจภายใต้ข้อจำกัดเหล่านี้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
David Tristram เป็นสมาชิกผู้ก่อตั้งของ Raster Masters กลุ่มแสดงคอมพิวเตอร์กราฟิกในยุค 1990s โดยใช้เวิร์กสเตชัน Silicon Graphics เพื่อสร้างภาพสังเคราะห์ประกอบดนตรีสดของ Grateful Dead, Herbie Hancock และ Graham Nash เป็นต้น
ในอดีตเคยศึกษาวิธีบิดแปลงพิกัด UV texture และปัจจุบันใช้ fragment shader แบบเดียวกับ ShaderToy
ชอบที่การเขียน shader สำหรับประมวลผลภาพใน HTML ทำได้ง่าย
สนใจมากในการถ่ายทอดประสบการณ์หลอนประสาทให้ออกมาเป็นภาพ
Todd Rundgren ได้พัฒนาแอป Mac ชื่อ Flowfazer ในช่วงต้นทศวรรษ 1990 ซึ่งช่วยให้ผู้ใช้ได้แรงบันดาลใจในการสร้างสรรค์
การแสดงของ Tipper และ Fractaled Visions เป็นหนึ่งในคำบรรยายภาพแบบหลอนประสาทที่แม่นยำที่สุด
ขณะเขียน WebGL shader ก็กำลังพยายามทำเอฟเฟ็กต์กล้องจริงในเชิงกายภาพ
งานวิจัยของ Jim Crutchfield เกี่ยวกับระบบ video feedback มอบระบบทดลองที่มีประโยชน์สำหรับการศึกษาพลวัตเชิงพื้นที่และเชิงเวลาที่ซับซ้อน