TODO
ใช้ Blender 2.5 อ้างอิงแทน การ upload screenshot ควรระบุเวอร์ชันให้ชัดเจน
ไว้เนื้อหานิ่งแล้วค่อยทำส่วน footer สำหรับหน้าก่อน/หน้าต่อไป
เพิ่มส่วนเกม
ยุบรวมส่วน Blender เข้ากับส่วน 3D computer graphics โดยเพิ่มส่วน User Interface แยกไว้เป็นบท Blender 101
1) การใช้งานซอฟต์แวร์เบลนเดอร์ (Blender 101)
ระบบหน้าต่างและสกรีน (Screens & windows)
การจัดการมุมมองใน 3D View
แผงควบคุมใน Buttons Window
พื้นฐานทางคณิตศาสตร์ที่ผู้อ่านควรให้ความสนใจ
วัตถุ (Object)
พื้นผิวในสามมิติ
ระบบพิกัด (Coordinate system)
ทิศทาง (Orientation)
มุมออยเลอร์ (Euler angles)
ควอเทอร์เนียน (Quaternion)
เปอร์สเป็คทีฟ (Perspective)
วัสดุและพื้นผิว (Material and texture)
Shading
เทกซ์เจอร์ (Texture)
ยูวี (UV Mapping)
การสะท้อนแสง (Reflection)
ความโปร่งแสงและความโปร่งใส (Transparency)
การหักเหแสง (Refraction)
โมเดล
ก้อนโพลีกอน (Mesh)
Non-uniform rational B-spline (NURBS)
เส้นโค้ง (Curve)
ข้อความ (Text)
เมตาบอล (Meta)
กล้องถ่ายภาพ (Camera)
แสงไฟชนิดต่างๆ (Lamp)
object เปล่า (Empty)
ลำดับชั้นของ object (Parent/Child hierarchy)
การบริหาร object ด้วย outliner
การจัดเลเยอร์ของ object (Layer)
การจัดกลุ่ม object (Group)
การจัดซีน (Scene)
การแก้ไข mesh
กลุ่มของเวอร์เทกซ์ (Vertex group)
การให้ค่าวัสดุสำหรับ mesh เบื้องต้น (Basic material)
การใช้ modifier
การใช้ Mirror Modifier ให้วัตถุสมมาตร
การใช้ Subsurf Modifier ทำวัตถุเรียบมน
การใช้ Array Modifier สร้างวัตถุซ้ำและจัดเรียง
การใช้ Displace Modifier ปรับพื้นผิววัตถุด้วย texture
การขึ้นโมเดลโดยใช้วิธีปั้น (Digital sculpting)
การสร้างผมและขน (Hair/fur)
กล้อง (Camera)
การจัดแสงไฟ (Lighting)
การควบคุมสิ่งแวดล้อม (World)
การใช้ภาพจากการเรนเดอร์
การคอมโพสิตภาพด้วยโหนด (Node compositing)
การเรนเดอร์ด้วยซอฟต์แวร์เสริม
การเรนเดอร์ภาพด้วยซอฟต์แวร์ YafRay
การเรนเดอร์ภาพด้วยซอฟต์แวร์ LuxRender
การเรนเดอร์ภาพแนวลายเส้นด้วย Freestyle
7) การจัดการวัสดุ (Material)
การระบายสีเวอร์เทกซ์ (Vertex painting)
การจัดการพื้นผิววัสดุ (Texture)
การใช้ UV ควบคุมการ map texture
การระบายสี texture (Texture painting)
การเพิ่มรายละเอียดพื้นผิวโดยค่า normal (Normal map)
การหักเหและการสะท้อนแสงของวัสดุ
วัสดุสะท้อนแสงแบบกระจก (Mirror)
วัสดุแบบโปร่งใส (Transparency)
วัสดุแบบโปร่งแสง (Sub-surface Scattering/SSS)
วัสดุแบบ volume (Volumetric)
การปรับแต่งวัสดุด้วยโหนด (Node material)
ลำดับภาพ (Key frame)
การใช้กราฟควบคุมการเคลื่อนที่ (IPO)
การใช้กระดูกบังคับการเคลื่อนไหว (Armature)
การใช้ shape key คุมการเปลี่ยนแปลงรูปร่าง
การควบคุมกระดูกและ shape key (Action Editor)
การตัดต่อลำดับภาพ (NLA Editor)
นอร์มอล (surface normal) [ ]
FIXMEแปะๆไว้ก่อน สำหรับเนื้อหาที่ลิงก์ไปวิกิพีเดียภาษาไทยบางส่วนอาจยังไม่มีอยู่จริง ก็เอาไว้ค่อยไปตามเขียน และควรแยกโซนเพราะบางส่วนอาจละเอียดเกินความจำเป็นสำหรับบางงาน
นอร์มอล (normal) กับการสะท้อน โดยมุมตกกระทบ (θi ) จะมีค่าเท่ากับมุมสะท้อน (θr )
surface normal หรือ นอร์มอล ค่าเวกเตอร์ ที่ตั้งฉาก กับพื้นผิวราบ สำหรับพื้นผิวที่ไม่เรียบ ค่านอร์มอลที่จุดใดๆบนพื้นผิวคือค่าเวกเตอร์ที่ตั้งฉากกับระนาบสัมผัส ที่สัมผัสพื้นผิวที่จุดนั้น หรือตั้งฉากกับเส้นสัมผัสเส้นโค้งในกรณีสองมิติ
ในคอมพิวเตอร์กราฟิกส์สามมิติ นิยมใช้ค่านอร์มอลกำหนดมุมระหว่างทิศทางที่พื้นผิวหันไปทำกับทิศทางของต้นกำเนิดแสงเพื่อเพื่อคำนวณการสะท้อนแบบ flat shading หรือใช้กำหนดที่มุมแต่ละมุมของพื้นผิวโพลีกอน (vertex normal) เพื่อใช้เกลี่ยค่านอร์มอลของสองพื้นผิวที่ติดกันเข้าหากัน ทำให้พื้นผิวที่ทำมุมกันสามารถสะท้อนแสดงได้เหมือนกับเป็นพื้นผิวเรียบโค้ง (phong shading )
นอร์มอลของเวอร์เทกซ์ (vertex normal) [ ]
vertex normal กับการเปลี่ยนแปลงการสะท้อนของพื้นผิว (a) vertex normal ชี้ไปทิศทางเดียวกับ surface normal (b) vertex normal ชี้ไปในทิศทางเดียวกับ vertex normal ของพื้นผิวข้างเคียง การสะท้อนแสงจึงต่อเนื่องเสมือนเป็นพื้นผิวเดียวกัน
นอกจากการเฉลี่ยนอร์มอลจะมีผลกับการสะท้อนแล้วยังมีผลกับการหักเห
ในบางกรณี ซอฟต์แวร์สำหรับเรนเดอร์ภาพ อาจคำนวณค่านอร์มอลพื้นผิวจากค่า vertex normal เช่นในโพลีกอนสามเหลี่ยมจะกำหนดค่า vertex normal สามค่าให้ vertex ทั้งสามมุม โดยจะเป็นค่าเวกเตอร์ที่ไม่จำเป็นต้องตั้งฉากกับพื้นผิวโพลีกอนเพื่อมาใช้คำนวณสนามเวกเตอร์ของนอร์มอลพื้นผิวโพลีกอน เช่นถ้ามีโพลีกอนสองชิ้นวางติดกัน แล้วกำหนด vertex normal ของทั้งสองชิ้นให้วิ่งไปทิศทางเดียวกับนอร์มอลพื้นผิว รอยต่อของโพลีกอนจะแสดงรอยหยักตามขอบ แต่ถ้า vertexให้ normal วิ่งไปทางเดียวกับ normal ของพื้นผิวโพลีกอนข้างเคียง (คือ vertex normal ตรงรอยต่อของทั้งสองพื้นผิวชี้ไปทิศทางเดียวกัน) การสะท้อนของโพลีกอนชิ้นแรกจะถูกเกลี่ยเข้าหาการสะท้อนของโพลีกอนข้างเคียง ทำให้มองดูเสมือนเป็นพื้นผิวเรียบโค้ง
การคำนวณ [ ]
ค่านอร์มอลมักจะถูกคำนวณโดยอัตโนมัติโดยซอฟต์แวร์ อย่างไรก็ตาม ซอฟต์แวร์อาจยอมให้ผู้ใช้กำหนดค่านอร์มอลได้อย่างอิสระ เช่นการใช้นอร์มอลแมป หรือการตั้งค่าเวกเตอร์ของนอร์มอลโดยตรง
ในส่วนนี้จะกล่าวถึงแนวทางคร่าว ๆ สำหรับการคำนวณแสงแบบต่าง ๆ ไว้บ้าง หากยากต่อความเข้าใจก็ข้ามไปก็ได้
การคำนวณทิศทาง [ ]
การหาค่านอร์มอลของโพลีกอน สามารถหาได้จากผลคูณไขว้ ของเวกเตอร์ขอบสองด้านที่ไม่ขนานกันของโพลีกอน ค่านอร์มอลจะมีสองค่าชี้ไปในทิศทางตรงข้ามกัน จึงอาจใช้กฎมือขวา ร่วมกำหนดทิศทางที่นอร์มอลหรือหน้าของโพลีกอนหันไป
ถ้าระนาบ เกิดจากสมการ
a
x
+
b
y
+
c
z
=
d
{\displaystyle ax+by+cz=d}
เวกเตอร์
(
a
,
b
,
c
)
{\displaystyle (a, b, c)}
จะเป็นค่านอร์มอลของระนาบ ถ้าพื้นผิว(ที่อาจไม่เรียบ) S ถูกพาราเมไทรซ์ ในระบบพิกัดเชิงเส้นโค้ง x (s , t ) โดยจำนวนจริง s และ t ค่านอร์มอลจะหาได้จากผลคูณไขว้ของอนุพันธ์บางส่วน
∂
x
∂
s
×
∂
x
∂
t
.
{\displaystyle {\partial \mathbf{x} \over \partial s}\times {\partial \mathbf{x} \over \partial t}.}
การคำนวณค่าความสว่าง [ ]
การคำนวณแสงสะท้อนแบบ Lambertian (หรือ diffuse ) ซึ่งไม่ขึ้นกับทิศทางผู้มองนั้นหาค่าความสว่างได้จากผลคูณจุด ของเวกเตอร์หนึ่งหน่วย จากจุดที่จะให้สีไปยังจุดกำเนิดแสง กับเวกเตอร์หนึ่งหน่วยนอร์มอลตรงจุดที่จะให้สีนั้น ผลที่ได้คือค่าความเข้มหรือความสว่างของแสงที่จุดนั้น
I
D
=
L
⋅
N
∗
C
∗
I
L
{\displaystyle I_{D}=\mathbf{L}\cdot\mathbf{N}*C*I_{L}}
I
D
{\displaystyle I_{D}}
ค่าความเข้มแสงที่สะท้อนแบบ diffuse,
L
{\displaystyle \mathbf{L}}
ค่าเวกเตอร์หนึ่งหน่วยจากจุดตกกระทบไปยังจุดกำเนิดแสง,
N
{\displaystyle \mathbf N}
ค่านอร์มอลเวกเตอร์หนึ่งหน่วย,
C
{\displaystyle C}
สี และ
I
L
{\displaystyle I_L}
คือความเข้มแสงขาเข้า
การใช้ลำดับของ vertex กำหนดค่า normal [ ]
ลำดับของ vert ยังอาจถูกใช้ในการกำหนดทิศทางที่นอร์มอล ของ face หันไปโดยการใช้ร่วมกับกฎมือขวา เช่น ถ้ามี vert 3 vert a b และ c ถูกโยง edge เป็นวง จาก a → b → c → a ตามลำดับ normal ของ face จะหันไปทิศทางหนึ่ง แต่ถ้าเปลี่ยนลำดับโดยวนย้อนกลับเป็น a → c → b → a normal ของ face จะหันกลับไปในทิศตรงข้าม
ต้องการภาพประกอบการใช้ลำดับของ vert บังคับทิศทาง normal [1]