Blender 2.8 กับการสร้าง Instance

Blender 2.8 กับการสร้าง Instance

จัดวางโต๊ะและเก้าอี้ในห้องเรียน

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

ถ้าเป็นใน Lightwave3d การสร้าง instance นั้นจะง่ายกว่า (ในความคิดของผม) แต่ใน Blender ก็ไม่ได้ยากอะไร ผมสามารถใช้ Array modifier เพื่อปั๊มโมเดลเดียวกันออกมาหลาย ๆ อันได้ แต่ผลลัพธ์มันไม่ถูกใจผมเท่าไหร่เพราะตัวโมเดลมันจะเป็น object เดียวหลายชิ้นส่วน ดังนั้นผมจึงใช้วิธีการอื่น คือการสร้าง instance ขึ้นมาแล้วจึง convert instance ให้เป็น real object

วิธีการนั้นไม่ยากอะไร ขั้นแรกผม append object สองตัวเข้ามาใน scene ก่อน คือโต๊ะและเก้าอี้นักเรียน จากนั้นก็สร้าง pane แล้วแบ่งให้มีจำนวน face ตามจำนวนโต๊ะเก้าอี้ที่ต้องการ ในที่นี้คือ 5*6 = 30 อย่างที่เห็นในภาพ

ขั้นตอนต่อมาก็คือการ parent (Object > Parent > Object) ให้โต๊ะและเก้าอี้เป็น child ของ pane ที่ผมสร้างขึ้นมา หมายความว่าถ้าผมขยับ pane แล้วโต๊ะและเก้าอี้ก็จะขยับตาม ใน property ของ pane นั้นจะมีให้เลือกสร้าง instancing ซึ่งค่าปริยายจะเป็น none ผมก็เปลี่ยนให้เป็น face แทน มันจะมี vertices ด้วย ถ้าเลือกตัวนี้โมเดลโต๊ะเก้าอี้ที่เป็น child จะถูกสร้างขึ้นมาบน vertices แทนที่จะเป็น face

เมื่อได้โมเดลโต๊ะเก้าอี้เรียงตามตำแหน่งแล้วผมก็ apply ให้ instance ที่สร้างขึ้นใหม่นี้กลายเป็น real model (Object > Apply > Make Instance Real) พอได้โต๊ะเก้าอี้ทั้งหมดแล้วผมก็ลบโมเดลที่ append เข้ามาออกเพราะไม่จำเป็นต้องใช้แล้ว จะโต๊ะเก้าอี้เหล่านี้เข้าไปใน collection แยกต่างหากแล้วผมก็สามารถขยับหมุนโมเดลได้ตามใจชอบ