![]() +- 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 - dreamknight - 04-10-2017 ( ͡° ͜ʖ ͡°) ![]() บทความที่แล้ว: http://irpg.in.th/thread-3063.html บทความนี้จะอธิบายวิธีการนำทรัพยากรเข้ามาในโปรเจคของเรา โดยจะขอย่อคำว่า Unreal Engine เป็น UE เพื่อความกระชับ และยกตัวอย่างเพียงแค่การนำเข้าโมเดลเข้ามาเท่านั้น ส่วนไฟล์แบบอื่นอาจจะอธิบายในบทความอื่นๆ ครับ แต่ก่อนจะเข้าเรื่องการนำโมเดลเข้ามาในโปรเจค ขอพูดถึงวิธีการตั้งค่าของโปรเจคกันนิดหนึ่งครับ Default starting level ไฟล์ฉากแผนที่ใน UE จะเรียกว่า Level ถ้าหากเราต้องการเปลี่ยนอย่างเช่นจะให้เปิดไปที่ฉาก Main Menu เสียก่อน ก็สามารถตั้งค่าให้โปรเจคเปลี่ยนไปเปิดฉากนั้นได้ง่ายๆ โดยไปที่เมนู Edit และเลือก Project Settings จากนั้นคลิ๊กที่เมนู Maps & Modes แล้วเปลี่ยนฉากที่ต้องการได้ที่ Default Modes ตามตัวอย่างรูปด้านล่าง ![]() Splash & Icon ![]() 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 อย่างดังรูปภาพด้านล่างต่อไปนี้ ![]() 1. Vertex คือตำแหน่งพิกัดเพื่อแสดงจุดอ้างอิงในการลากเส้นเชื่อมต่อกัน 2. Edge คือเส้นเชื่อมระหว่าง vertex สองจุด 3. Face คือขนาดพื้นที่ภายใน Edge เพื่อเป็นพื้นผิวของโมเดล UV mapping เป็นการสร้างแบบจำลองสามมิติโดยใช้แกน 2 มิติ (แกน U และ V) แสดงข้อมูลที่เป็น 3 มิติ (แกน X, Y และ Z) โดยทั่วไปมักใช้ในการจัดวางภาพ 2 มิติลงบนพื้นผิว 3 มิติ เช่นการทำ texture หรือการใช้วิธีระบายสีโดยตรงลงบนแบบจำลอง ![]() upload.wikimedia.org Pivot Point คือตำแหน่งที่เป็นศูนย์กลางของวัตถุหรือตำแหน่งที่ตัวเคลื่อนย้ายวัตถุจะปรากฏเวลาเรานำ mesh เข้ามาใน UE จะมองเห็น Translation Widget (ที่ใช้จับเคลื่อนย้าย / ขยาย / หมุน) ![]() docs.unrealengine.com ![]() จากตัวอย่างรูปภาพด้านบนคือโมเดลลูกทรงกลมที่ผมนำเข้ามาจากโปรแกรม 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 <โฟลเดอร์> ![]() 2. ลากและวาง โดยนำไฟล์ FBX หรือ OBJ โมเดลจากหน้าต่าง Windows Explorer ลากใส่เข้าไปใน Content Browser โดยตรงเลย 3. Content Browser Import นำเข้าด้วยการกดปุ่ม Import ที่หน้าจอ Content Browser ![]() เมื่อทำการนำ mesh เข้ามาในโปรเจค เราจะเห็นหน้าต่าง Import Options แสดงขึ้นมามีรายละเอียดดังภาพด้านล่าง ![]() หลังจากกดปุ่ม Import หรือ Import All กรณีนำเข้ามาหลายไฟล์ เราจะได้ไฟล์เข้ามาในโปรเจคที่เห็นอยู่ใน Content Browser ซึ่ง UE จะแยกไฟล์ mesh กับ material ออกจากกันให้อัตโนมัติดังตัวอย่างที่ผมนำเข้ามาคือ house เป็นโมเดลบ้านพอชี้ที่ไฟล์ จะขึ้นข้อมูลว่าเป็น Static Mesh ส่วนสีของโมเดลคือสีแดงกับสีฟ้าอ่อนนั้นจะเป็นไฟล์ Material ![]() ถ้าเราดับเบิ้ลคลิ๊กเข้าไปที่ไฟล์ house โปรแกรมจะเปิดหน้าต่างที่เรียกว่า Static Mesh Editor ขึ่นมาให้เราสามารถแก้ไข LOD ที่อยู่ทางด้านขวาของหน้าจอได้ดังรูปด้านล่าง ![]() เรื่องของการนำโมเดลเข้ามายังโปรเจคของเราก็จบเพียงเท่านี้ ส่วนเรื่อง Material และ LOD จะพูดถึงในบทความถัดไปแล้วกันนะครับ อ้างอิง https://th.wikipedia.org/wiki/ https://docs.unrealengine.com/ แล้วพบกันใหม่ตอนหน้าครับ ![]() |