การสร้างตัวละครจาก #B3D to #Ue4


    ไม่ว่าจะสร้างตัวละครหรือโมเดลนิ่งๆ3Dใน Blender ให้ด้านหน้าเป็นเลข 3(หรือด้านซ้ายมือตัวละครหรือด้านขวามือเรา) เพราะเมื่อส่งออกไปที่ Ue4 จะได้ origin ส่วนของ rotation เป็น x0 y0 z0 เป็นด้านหน้า  ตามวิทยาทานจากคลิปนี้ โมเดลนี้เป็น Layer เดียว กรณีจะแยกเสื้อผ้าเป็นคนละเลเยอร์ 
    สาเหตุทำแบบนี้เพราะ เมื่อ get ค่า vector แต่ละ rotation จะสะดวกมาก ไม่ว่าหันหน้าไปด้านใดก็จะ get ค่า vector ด้านหน้า(Forward)ของสิ่งนั้น


การ export b3d to ue4 บางโมเดลใช้ add-on 
ก่อน export ที่ Material ใช้โหนด Principled BSDF รูป Texture จะตามไปด้วย

โมเดลที่โปร่งแสง Ue4 จะทำ Material ให้เอง เมื่อ Import เข้าไป  แต่จะไม่มีเงา ต้องไปแก้ที่นี่

การส่งออกที่ทำ
-โมเดลนิ่งๆส่งออก .glb หรือ .gltf
-โมเดลที่มี Animation ส่งออก .fbx 
ที่ทำแบบนี้เพราะ
-การส่งออก .glb หรือ .gltf จะมีขนาดเล็ก ทั้งนี้ก็เพื่อลดขนาดแอพฯ
-Ue4สนับสนุนไฟล์ .fbx ที่มี Animation
-Ue4ไม่สนับสนุน .glb .gltf ที่มี Animation

โมเดลที่วางใน sketchfab ใช้ blender2.91.2 ,Export มีหลาย Action ให้กดเล่น
หากใช้ add-on ด้านบน จะมี Action เดียว

ในส่วนของ WebGL ได้ใช้ Blender 2.91.2 ,Export เป็น .glb
เขียนเว็บโดย JavaScript ซึ่งใช้ three.js ช่วย อัพโหลดไว้ที่นี่


    การปั้นตัวละครหรือวัตถุ 1 Face หรือ 1 Polygon ต้องมี 4 Vertex (Quads)ไม่งั้นโมเดลจะจางจนแทบมองไม่เห็น

จากรูป ดวงตาของตัวการ์ตูนเสื้อสีแดงจะจางจนแทบมองไม่เห็น เพราะขึ้น Polygon แบบ 3 Vertex(Tris)
ได้แก้ไขและได้ใส่ Post Process ทดลองจาก raywenderlich การทดลองนี้ใช้ได้กับเกมคอมฯ

เว็บไซต์ที่แสดงโมเดล3Dจะโหลดเร็ว สังเกตุจาก
    1. sketchfab ถ้ามีโมเดลที่ให้ดาวน์โหลดฟรีจะมีการถามเสมอว่าต้องการโหลดไฟล์ต้นฉบับหรือ .gltf 
    2. facebook ในปี 2017 มีตัวเลือกการโพสแสดงรูป 3D ได้กำหนดให้ใช้ไฟล์ .glb เท่านั้น
การส่งออก .fbx หรือ .obj จะสะดวก เวลานำเข้า Ue4 จะใส่ Collision ให้อัตโนมัติ



No comments:

Post a Comment