รายละเอียดกล่อง วัสดุ PBR และภาพนำเสนอ
วิดีโอประกอบ
ดูบน YouTube (เปิดในแท็บใหม่)
-
ตอนที่ 1 - การสร้าง 3D Model ด้วยโปรแกรม onshape สมาคมสมองกลฝังตัวไทย (TESA)
วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ดูทั้งชุดใน playlist AIoT Foundation
Course 3 · Module 2
Suggested time: ประมาณ 4 ชั่วโมง — พัฒนากล่องหยาบจาก M01 ให้มีรายละเอียด ใส่วัสดุ PBR จัดแสง แล้วเรนเดอร์ภาพนำเสนอ
Format: บทเรียนลงมือทำ — อ่านแล้วทำตามใน Blender ได้เลย; ภาพเคลื่อนไหวเปิดฝาไปที่ M03
Lab · Look-dev sheet · ← Table of Contents · ← M01 · M03 →
เป้าหมาย (Learning Outcomes)
หัวข้อที่มีชื่อว่า “เป้าหมาย (Learning Outcomes)”เมื่อเรียนจบ คุณควรทำได้ดังนี้:
- พัฒนารูปทรงที่ซับซ้อนขึ้นจาก block model (hard-surface / ช่องพอร์ต / ความหนาผนัง)
- กำหนดวัสดุ พื้นผิว และรายละเอียดผิวในแนว PBR
- จัดแสงและเรนเดอร์ภาพคุณภาพสูงสำหรับนำเสนอ
- สร้าง Product visualization ที่เหมาะกับงานอุตสาหกรรมและสื่อการสอน
Key phrase
ใน M02 ให้เพิ่มรายละเอียดโดยไม่ทำลายขนาดที่ล็อกไว้ใน M01 — ช่องพอร์ตสวยแต่บอร์ดใส่ไม่ได้ = ยังไม่ผ่าน
Read alongside this chapter
หัวข้อที่มีชื่อว่า “Read alongside this chapter”| Document | Use when |
|---|---|
| M01 — Industrial Design Fundamentals | block model + หน่วย mm ที่ต้องคงไว้ |
| Boolean Modifier | เจาะช่องพอร์ต / เซ็นเซอร์ |
| Solidify Modifier | กำหนดความหนาผนัง |
| Bevel (edit) / Bevel Modifier | ขอบมนที่ผู้ใช้สัมผัส |
| Mirror Modifier | ชิ้นส่วนสมมาตร |
| Apply Scale | Ctrl+A ก่อน Boolean / Bevel |
| Principled BSDF | วัสดุ PBR หลัก |
| Materials introduction | สร้างและกำหนด material |
| EEVEE | เรนเดอร์เร็วสำหรับดูผล |
| Cycles | เรนเดอร์คุณภาพสูงกว่า (ถ้าเครื่องไหว) |
| Light objects | Area / Point / Sun |
| World & Environment | HDRI / พื้นหลังสตูดิโอ |
| Cameras | มุมกล้องนำเสนอ |
| glTF materials | เตรียมวัสดุให้ส่ง Twin ได้ใน M04 |
| Blender Fundamentals — Modeling | วิดีโอทางการ |
| INC111-2021 (Thai) | Tutorial ภาษาไทย |
| ternion-3d-assets-free | ดูตัวอย่างวัสดุ/โมเดล (อ้างอิงเท่านั้น) |
| Look-dev sheet | บันทึกค่าวัสดุ แสง และไฟล์ render |
1. From Block to Product Detail (Keep Scale)
หัวข้อที่มีชื่อว่า “1. From Block to Product Detail (Keep Scale)”ใน M01 คุณมีอย่างน้อย:
PCB_placeholderตามขนาดจริงEnclosure_blockที่หุ้มได้
ใน M02 คุณจะ:
- ทำให้กล่องมีผนังหนา (ไม่ใช่ก้อนตันอย่างเดียว)
- เจาะช่อง พอร์ต / LED / เซ็นเซอร์ อย่างน้อย 2 จุด
- มนขอบ ที่ผู้ใช้จับ
- แยกฝาบน–ฐาน เป็น object คนละชิ้น (เตรียม M03 / พิมพ์ M06)
- ใส่วัสดุ + แสง + เรนเดอร์ภาพนำเสนอ
M01 block (solid sizes locked) → Solidify / shell thickness → Boolean cutouts → Bevel edges → Split lid / base → Materials (Principled BSDF) → Lights + camera → Render PNGอย่าเปลี่ยน Dimensions ของ PCB โดยไม่จดเหตุผล — ถ้าต้องขยายกล่อง ให้แก้ตามสูตร clearance ใน M01 แล้วอัปเดต checklist
2. Modeling Techniques You Will Use
หัวข้อที่มีชื่อว่า “2. Modeling Techniques You Will Use”2.1 Always Apply Scale first
หัวข้อที่มีชื่อว่า “2.1 Always Apply Scale first”ก่อน Boolean / Bevel / Solidify:
- Object Mode → เลือกวัตถุ
Ctrl+A→ Scale
ถ้าลืม Scale ไม่เป็น 1,1,1 ขอบมนและรูเจาะมักเพี้ยน — อ่าน Apply
2.2 Solidify — ความหนาผนัง
หัวข้อที่มีชื่อว่า “2.2 Solidify — ความหนาผนัง”Solidify Modifier เพิ่มความหนาให้ผิว mesh
แนวทางในแล็บ (ต่อจาก M01):
| Step | What to do |
|---|---|
| 1 | เริ่มจากกล่องตัน หรือลบหน้าด้านในทีหลังตาม workflow ที่เลือก |
| 2 | ใส่ Solidify · Thickness ≈ 2.0 mm (ค่าเริ่มต้นจากแนวทางพิมพ์ 3D ใน M01) |
| 3 | เปิด Even Thickness ถ้ามีตัวเลือกและผลดูสม่ำเสมอ |
| 4 | ตรวจว่า PCB ยังอยู่ภายในและไม่ชนผนัง |
สำหรับผู้เริ่มต้น: ใช้ กล่องตัน + Boolean เจาะโพรงด้านใน หรือ Solidify จากเปลือก ก็ได้ — สำคัญคือความหนาผนังประมาณ 2 mm และ PCB ยังใส่ได้
2.3 Boolean — เจาะช่องพอร์ตและเซ็นเซอร์
หัวข้อที่มีชื่อว่า “2.3 Boolean — เจาะช่องพอร์ตและเซ็นเซอร์”| Operation | Use in this lab |
|---|---|
| Difference | เจาะรูออกจากกล่อง (พอร์ต USB, ช่องเซ็นเซอร์, หน้าต่าง LED) |
| Union / Intersect | น้อยกว่าใน M02 — เก็บไว้เมื่อรวมชิ้นส่วน |
ขั้นตอนสั้น:
- สร้าง Cube/Cylinder เป็น
Cutter_USBตามขนาดช่อง (เผื่อ clearance รอบ connector) - วาง cutter ให้ทับผนังตรงตำแหน่งพอร์ต
- บน enclosure: Add Modifier → Boolean → Operation Difference → Object = cutter
- ถ้าผลแปลก ลอง Solver Exact
- เมื่อพอใจ ค่อย Apply modifier · ซ่อนหรือลบ cutter
ทำอย่างน้อย 2 ช่อง (เช่น USB + ช่องเซ็นเซอร์ หรือ LED)
2.4 Bevel — ขอบมน
หัวข้อที่มีชื่อว่า “2.4 Bevel — ขอบมน”ขอบคมเกินไปจับไม่สบายและพิมพ์ยาก — ใช้ Bevel:
- Edit Mode: เลือกขอบ →
Ctrl+Bลากเมาส์ - หรือ Bevel Modifier ทั้งชิ้น (ระวังอย่ามนจนช่องพอร์ตเสียรูป)
รัศมีเริ่มต้นในแล็บ: ประมาณ 0.5–1.5 mm ที่ขอบนอกที่มือจับ
2.5 Mirror — ชิ้นสมมาตร (ถ้ามี)
หัวข้อที่มีชื่อว่า “2.5 Mirror — ชิ้นสมมาตร (ถ้ามี)”Mirror Modifier ใช้เมื่อฝาหรือปุ่มสมมาตรซ้าย–ขวา — ลดงานซ้ำ
2.6 Split lid and base
หัวข้อที่มีชื่อว่า “2.6 Split lid and base”ตั้งแต่ M02 ให้แยกอย่างน้อย:
| Object name | Role |
|---|---|
Enclosure_base |
ฐาน / ตัวล่าง |
Enclosure_lid |
ฝาบน |
วิธีง่าย: ใน Edit Mode เลือกหน้าด้านบน → P → Selection เป็น object ใหม่ · หรือตัดด้วย plane + Boolean แล้วแยกชิ้น
เหตุผล: M03 หมุนฝา · M06 พิมพ์แยกชิ้น
3. Materials with Principled BSDF (PBR)
หัวข้อที่มีชื่อว่า “3. Materials with Principled BSDF (PBR)”PBR = Physically Based Rendering — วัสดุตอบสนองแสงใกล้ความจริงเมื่อเปลี่ยนมุมไฟ
ใน Blender ใช้โหนดหลัก Principled BSDF (เข้ากันดีกับ glTF ใน M04)
3.1 Create a material
หัวข้อที่มีชื่อว่า “3.1 Create a material”- เลือกวัตถุ → แท็บ Material Properties
- New → ตั้งชื่อ เช่น
Plastic_matte_body - เปิด Shader Editor ถ้าต้องการเห็นโหนด (Materials intro)
3.2 Parameters you must understand
หัวข้อที่มีชื่อว่า “3.2 Parameters you must understand”| Parameter | Meaning | Lab tip |
|---|---|---|
| Base Color | สีพื้น | พลาสติกตัวเครื่อง: เทาอ่อน / ขาวหม่น |
| Roughness | ด้าน ↔ เงา (0 = เงามาก, 1 = ด้าน) | พลาสติกด้าน ≈ 0.45–0.7 |
| Metallic | 0 = ไม่ใช่โลหะ, 1 = โลหะ | พลาสติก = 0 · โลหะปุ่ม/พอร์ต = 1 |
| Specular / IOR (ตามเวอร์ชัน) | ความเงาสะท้อนของฉนวน | ใช้ค่าเริ่มต้นก่อน แล้วค่อยปรับ |
| Emission (ทางเลือก) | แสงออกจากผิว | LED จำลอง — ความเข้มต่ำพอ |
3.3 Two materials minimum (lab presets)
หัวข้อที่มีชื่อว่า “3.3 Two materials minimum (lab presets)”คัดลอกค่าเริ่มต้นนี้แล้วปรับได้ — จดค่าจริงใน look-dev sheet
A — Matte plastic (ตัวเครื่อง)
| Parameter | Starting value |
|---|---|
| Base Color | RGB ≈ 0.75, 0.75, 0.78 |
| Roughness | 0.55 |
| Metallic | 0.0 |
B — Contrast accent (ยางขาตั้ง / โลหะพอร์ต / ปุ่ม)
| Parameter | Rubber feet | Brushed metal accent |
|---|---|---|
| Base Color | 0.05, 0.05, 0.05 | 0.7, 0.7, 0.72 |
| Roughness | 0.7 | 0.35 |
| Metallic | 0.0 | 1.0 |
กำหนด material คนละชิ้น หรือใช้หลาย material slots บน mesh เดียวกัน (Edit Mode → Assign)
4. Lighting and Camera for Product Shots
หัวข้อที่มีชื่อว่า “4. Lighting and Camera for Product Shots”4.1 Render engine
หัวข้อที่มีชื่อว่า “4.1 Render engine”| Engine | Use when | Manual |
|---|---|---|
| EEVEE | ดูผลเร็ว · แล็บส่วนใหญ่ | EEVEE |
| Cycles | ภาพนำเสนอสุดท้ายถ้าเครื่องไหว | Cycles |
ตั้งที่ Render Properties → Render Engine
4.2 Simple three-point light (เริ่มต้นที่แนะนำ)
หัวข้อที่มีชื่อว่า “4.2 Simple three-point light (เริ่มต้นที่แนะนำ)”อ้างอิงแนวคิดไฟสตูดิโอ + Light objects:
| Light | Role | Starting idea |
|---|---|---|
| Key | ไฟหลัก | Area Light ด้านหน้า–ข้าง · Power พอเห็นขอบ |
| Fill | ลดเงามืด | Area อ่อนกว่าฝั่งตรงข้าม |
| Rim / back | แยกวัตถุจากพื้นหลัง | ไฟด้านหลังบาง ๆ |
หรือใช้ World HDRI (World) เป็นแสงแวดล้อม แล้วเติมไฟ Area หนึ่งดวงเพื่อเน้นขอบชิ้นงาน
พื้นหลัง: สีเทาอ่อนหรือพื้น plane เรียบ — อย่าให้ลายรบกวนการอ่านรูปทรง
4.3 Camera
หัวข้อที่มีชื่อว่า “4.3 Camera”Add → Camera- มุมแนะนำ: three-quarter หรือ isometric-ish ที่เห็นฝา + พอร์ตด้านข้าง
Ctrl+Alt+Numpad0จัดกล้องตามมุมมองปัจจุบัน (ถ้าระบบรองรับ)- เปิด Lock Camera to View ชั่วคราวขณะจัดมุม แล้วปิดก่อนเรนเดอร์
ถ่ายอย่างน้อย:
- 1 ภาพ beauty (สื่อสารรูปทรง/วัสดุ)
- (แนะนำ) 1 ภาพ technical ที่เห็นช่องพอร์ตหรือตำแหน่ง PCB ชัด
5. Render Output
หัวข้อที่มีชื่อว่า “5. Render Output”- Output Properties → Resolution เช่น 1920 × 1080
- File Format = PNG
- ตั้ง Output path ในโฟลเดอร์โปรเจกต์
F12หรือ Render → Render Image- Image → Save As…
จด engine, samples/คุณภาพ, ชื่อไฟล์ลง material-lighting-sheet.md
6. Quality Gate Before M03
หัวข้อที่มีชื่อว่า “6. Quality Gate Before M03”| Check | Pass means |
|---|---|
| Scale from M01 still valid | PCB ยังใส่ได้ใน Wireframe |
| Openings ≥ 2 | พอร์ต/เซ็นเซอร์/LED ชัด |
| Lid and base are separate objects | พร้อม animate ใน M03 |
| Materials ≥ 2 | Principled BSDF · ค่าจดใน sheet |
| At least one render | PNG ในโฟลเดอร์ผลงาน |
| Apply Scale done | ไม่มี Scale เพี้ยนก่อน modifier |
Next Steps
หัวข้อที่มีชื่อว่า “Next Steps”- ทำแล็บ: แล็บ
- กรอก material-lighting-sheet.md
- เมื่อพร้อม ไปต่อ M03 — Motion and Interaction
References and Further Reading
หัวข้อที่มีชื่อว่า “References and Further Reading”Blender modeling
หัวข้อที่มีชื่อว่า “Blender modeling”- Boolean Modifier (4.5 LTS)
- Solidify Modifier
- Bevel Modifier
- Mirror Modifier
- Apply Scale
- Fundamentals — Modeling
Materials, lights, render
หัวข้อที่มีชื่อว่า “Materials, lights, render”Course portals
หัวข้อที่มีชื่อว่า “Course portals”เช็กความเข้าใจ
หัวข้อที่มีชื่อว่า “เช็กความเข้าใจ”คำถามสั้นสามข้อใน quiz.yaml ผูกกับเป้าหมายของบทเรียนนี้ข้อละหนึ่งคำถาม ลองตอบเองก่อน แล้วค่อยเทียบกับเฉลยและคำอธิบายในไฟล์
ลงมือต่อที่ แล็บ: ขัดเกลาโมเดล วัสดุ PBR และเรนเดอร์
Lab · Look-dev sheet · ← TOC · ← M01 · M03 →
คำถามทบทวน
ลองตอบเองก่อน แล้วค่อยเปิดดูเฉลย
-
ก่อนใช้ Boolean / Bevel / Solidify ต้องทำอะไรก่อนเสมอ (เป้าหมายข้อ 1)
- เพิ่ม Subdivision Surface
- `Ctrl+A` → Apply Scale
- Export เป็น GLB
- ใส่วัสดุ Principled BSDF
ดูเฉลย
คำตอบ: B. `Ctrl+A` → Apply Scale
หัวข้อ 2.1: ถ้า Scale ไม่เป็น 1,1,1 ขอบมนและรูเจาะมักเพี้ยน
-
ค่า Metallic ที่เหมาะกับพลาสติกตัวเครื่อง (เป้าหมายข้อ 2)
- 1
- 0.5
- ขึ้นกับสีของพลาสติก
- 0
ดูเฉลย
คำตอบ: D. 0
ตารางในหัวข้อ 3.2: พลาสติก = 0 ส่วนโลหะของปุ่มหรือพอร์ต = 1
-
Render engine ที่บทเรียนแนะนำเมื่อต้องการดูผลเร็วในแล็บส่วนใหญ่ (เป้าหมายข้อ 3)
- Physics
- EEVEE
- Cycles
- Workbench
ดูเฉลย
คำตอบ: B. EEVEE
ตารางในหัวข้อ 4.1: EEVEE สำหรับดูผลเร็ว ส่วน Cycles สำหรับภาพสุดท้ายถ้าเครื่องไหว
อ้างอิงบทเรียนนี้
ถ้านำบทเรียนนี้ไปสอน ทำสไลด์ หรือทำเอกสารต่อ ให้อ้างอิงด้วยข้อความนี้ ถ้าดัดแปลงเนื้อหา ให้เติม (ดัดแปลง)ต่อท้ายชื่อบทเรียน
"รายละเอียดกล่อง วัสดุ PBR และภาพนำเสนอ" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0
ข้อความอ้างอิงภาษาอังกฤษ: "Enclosure Detail, PBR Materials and Presentation Renders" from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0
ลิงก์บทเรียน: https://tesaiot.github.io/tesa-qualification-program/courses/product-design/m02-modeling-render/l01-modeling-materials-render/
บทเรียนนี้ดัดแปลงจากต้นฉบับด้านล่าง เมื่ออ้างอิงให้คงเครดิตต้นฉบับไว้ด้วย
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C3/M02/README.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 3 (C3/) of drsanti/TESAIoT-Courses. TESA funded the work and holds the rights; published here under CC BY-NC 4.0. The upstream repository carries no licence file. Text kept faithful; structure, front matter, quizzes and notes added by TESA Open Knowledge.
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
เนื้อหาเผยแพร่ภายใต้ CC BY-NC 4.0 นำไปใช้ต่อในงานที่ไม่ใช่เพื่อการค้าได้ โปรดอ้างอิงสมาคมสมองกลฝังตัวไทย (TESA) ทุกครั้ง · วิธีอ้างอิง TESA