irpg Community
เบื้องต้นของเอนจิ้น: Mesh & Importing Assets - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Other Game Engines School (https://irpg.in.th/forum-47.html)
+--- Forum: Others (https://irpg.in.th/forum-48.html)
+--- Thread: เบื้องต้นของเอนจิ้น: Mesh & Importing Assets (/thread-3071.html)



เบื้องต้นของเอนจิ้น: Mesh & Importing Assets - dreamknight - 04-10-2017

( ͡° ͜ʖ ͡°)
[Image: xpUGK14.png]


บทความที่แล้ว: http://irpg.in.th/thread-3063.html

บทความนี้จะอธิบายวิธีการนำทรัพยากรเข้ามาในโปรเจคของเรา โดยจะขอย่อคำว่า Unreal Engine เป็น UE เพื่อความกระชับ และยกตัวอย่างเพียงแค่การนำเข้าโมเดลเข้ามาเท่านั้น ส่วนไฟล์แบบอื่นอาจจะอธิบายในบทความอื่นๆ ครับ แต่ก่อนจะเข้าเรื่องการนำโมเดลเข้ามาในโปรเจค ขอพูดถึงวิธีการตั้งค่าของโปรเจคกันนิดหนึ่งครับ


Default starting level
ไฟล์ฉากแผนที่ใน UE จะเรียกว่า Level ถ้าหากเราต้องการเปลี่ยนอย่างเช่นจะให้เปิดไปที่ฉาก Main Menu เสียก่อน ก็สามารถตั้งค่าให้โปรเจคเปลี่ยนไปเปิดฉากนั้นได้ง่ายๆ โดยไปที่เมนู Edit และเลือก Project Settings จากนั้นคลิ๊กที่เมนู Maps & Modes แล้วเปลี่ยนฉากที่ต้องการได้ที่ Default Modes ตามตัวอย่างรูปด้านล่าง

[Image: UFLjACM.jpg]



Splash & Icon
[Image: 9j52idl.jpg]

1. Splash คือรูปภาพที่ปรากฏขึ้นกลางหน้าจอเมื่อมีการเปิดตัวเกมขึ้นมา เป็นรูปภาพสำหรับรอโหลดตัวเกมขึ้นมานั่นเอง สามารถหาภาพที่อยู่ในคอมพิวเอตร์มาเปลี่ยนแทนได้เลย โดยขนาดภาพจะต้องอยู่ที่ 600 x 200
2. Icon คือรูปภาพที่จะเป็นไอคอนของเกม ขนาดภาพที่ต้องการคือ 256 x 256 และจะต้องเป็นไฟล์นามสกุล .ICO เท่านั้น



คำศัพท์เบื้องต้นในงานสามมิติ
เมื่อเราจะเริ่มต้นสร้างเกมสามมิติขึ้นมา คงเป็นไปไม่ได้เลยที่เราจะไม่ทำความเข้าใจงานสามมิติกันเสียก่อน ฉะนั้นเราจะต้องรู้และเข้าใจคำศัพท์กันบ้างเพื่อเราจะได้นำเข้างานโมเดลสามมิติเข้ามาในโปรเจคเกมของเราและตั้งค่าได้อย่างถูกต้อง

Digital Content Creation (DCC)
ถึงในโปรแกรม UE จะเป็นเครื่องมือเอาไว้สร้าง mesh ได้ ถ้าหากต้องการทำเป็นตัวโมเดลที่มีรายละเอียดและมีคุณภาพกว่านี้ เราควรจะสร้างโมเดลขึ้นมาด้วยโปรแกรม Digital Content Creation (DCC) ต่างๆ เช่น 3ds Max, Maya, Blender เป็นต้น แล้วจึงนำโมเดลที่ได้เข้ามาลงในโปรเจค ซึ่งไฟล์โมเดลที่จะนำเข้า UE นั้นจะต้องเป็นนามสกุล FBX หรือ OBJ เท่านั้น แต่สำหรับ UE แนะนำให้ใช้ไฟล์ FBX ครับ

Mesh เป็นคำเรียกของงานโมเดลสามมิติ อาจสร้างขึ้นด้วยรูปหลายเหลี่ยมหรือส่วนใหญ่จะสร้างกันด้วยรูปสามเหลี่ยม ซึ่งเรียกกันว่าโพลีกอนแบบ Mesh โดยมีส่วนประกอบหลัก 3 อย่างดังรูปภาพด้านล่างต่อไปนี้

[Image: FJVf9mi.jpg]


1. Vertex คือตำแหน่งพิกัดเพื่อแสดงจุดอ้างอิงในการลากเส้นเชื่อมต่อกัน
2. Edge คือเส้นเชื่อมระหว่าง vertex สองจุด
3. Face คือขนาดพื้นที่ภายใน Edge เพื่อเป็นพื้นผิวของโมเดล

UV mapping เป็นการสร้างแบบจำลองสามมิติโดยใช้แกน 2 มิติ (แกน U และ V) แสดงข้อมูลที่เป็น 3 มิติ (แกน X, Y และ Z) โดยทั่วไปมักใช้ในการจัดวางภาพ 2 มิติลงบนพื้นผิว 3 มิติ เช่นการทำ texture หรือการใช้วิธีระบายสีโดยตรงลงบนแบบจำลอง

[Image: kzD3HQP.png]
upload.wikimedia.org


Pivot Point คือตำแหน่งที่เป็นศูนย์กลางของวัตถุหรือตำแหน่งที่ตัวเคลื่อนย้ายวัตถุจะปรากฏเวลาเรานำ mesh เข้ามาใน UE จะมองเห็น Translation Widget (ที่ใช้จับเคลื่อนย้าย / ขยาย / หมุน)

[Image: o0fpMMD.jpg]
docs.unrealengine.com

[Image: dV9OzGn.jpg]

จากตัวอย่างรูปภาพด้านบนคือโมเดลลูกทรงกลมที่ผมนำเข้ามาจากโปรแกรม Blender โดยตั้งค่าตำแหน่งเอาไว้ต่างกัน ทางซ้ายวางไว้ที่ (0,0,0) ส่วนทางขวาวางไว้ที่ (-1,-1,-1) จะพบปัญหาว่าตัว transform ของ UE ทางรูปด้านขวานั้นจะอยู่ไม่ตรงกับลูกทรงกลม เนื่องจาก UE จะกำหนด transform เอาไว้ที่ (0,0,0) เสมอ นี่จะทำให้เราขยับขยายลูกทรงกลมได้ลำบาก ทางที่ดีเราควรตั้งตำแหน่งเอาไว้ที่ (0,0,0) ตั้งแต่อยู่ใน Blender ก่อนจะนำเข้ามาใน UE

Unreal Units หน่วยการวัดขนาดโมเดลภายใน UE ซึ่ง 1 Unreal Unit จะมีค่าเท่ากับ 1 cm. อย่างตัวมนุษย์หุ่นที่เราได้มาใช้เล่นตอนเริ่มต้นนั้นจะมีความสูง 196 cm.



Importing Assets
ให้หา mesh อะไรก็ได้ที่เป็นไฟล์ FBX มาทดลองดู มีอยู่หลายเว็บไซต์ที่มีแจกโหลดมาใช้ได้ หรืออาจจะเข้าไปหาโหลดได้ที่เว็บไซต์ http://tf3dm.com ซึ่งการนำ mesh เข้าไปยังโปรเจคของ UE นั้นมีวิธีการที่ง่ายมาก โดยมีวิธีต่างๆ ดังต่อไปนี้

1. Context Menu สามารถคลิ๊กขวาใน content browser แล้วเลือก Import to <โฟลเดอร์>
[Image: 9hssMJy.jpg]


2. ลากและวาง โดยนำไฟล์ FBX หรือ OBJ โมเดลจากหน้าต่าง Windows Explorer ลากใส่เข้าไปใน Content Browser โดยตรงเลย

3. Content Browser Import นำเข้าด้วยการกดปุ่ม Import ที่หน้าจอ Content Browser
[Image: SqZOiL6.jpg]


เมื่อทำการนำ mesh เข้ามาในโปรเจค เราจะเห็นหน้าต่าง Import Options แสดงขึ้นมามีรายละเอียดดังภาพด้านล่าง
[Image: 5zFQWIk.jpg]


หลังจากกดปุ่ม Import หรือ Import All กรณีนำเข้ามาหลายไฟล์ เราจะได้ไฟล์เข้ามาในโปรเจคที่เห็นอยู่ใน Content Browser ซึ่ง UE จะแยกไฟล์ mesh กับ material ออกจากกันให้อัตโนมัติดังตัวอย่างที่ผมนำเข้ามาคือ house เป็นโมเดลบ้านพอชี้ที่ไฟล์ จะขึ้นข้อมูลว่าเป็น Static Mesh ส่วนสีของโมเดลคือสีแดงกับสีฟ้าอ่อนนั้นจะเป็นไฟล์ Material

[Image: HhSJocE.jpg]


ถ้าเราดับเบิ้ลคลิ๊กเข้าไปที่ไฟล์ house โปรแกรมจะเปิดหน้าต่างที่เรียกว่า Static Mesh Editor ขึ่นมาให้เราสามารถแก้ไข LOD ที่อยู่ทางด้านขวาของหน้าจอได้ดังรูปด้านล่าง

[Image: blyXfY5.jpg]


เรื่องของการนำโมเดลเข้ามายังโปรเจคของเราก็จบเพียงเท่านี้ ส่วนเรื่อง Material และ LOD จะพูดถึงในบทความถัดไปแล้วกันนะครับ


อ้างอิง
https://th.wikipedia.org/wiki/
https://docs.unrealengine.com/


แล้วพบกันใหม่ตอนหน้าครับ Derp