FiveM YDR คืออะไร ใช้ทำอะไรกับ Custom Model และแก้ปัญหา Model ไม่ขึ้นอย่างไร
ถ้ากำลังทำ FiveM Custom Map, MLO, Props หรืออาคารใหม่ ไฟล์ที่พบได้บ่อยมากคือ .ydr เพราะ YDR เป็นหนึ่งใน Asset หลักที่เกี่ยวข้องกับ Drawable หรือ 3D Model ที่เกมนำไปแสดงผล
ใน Official Cfx.re Assets Manual ขั้นตอนสร้าง Custom Asset คือเตรียม Mesh ใน Blender/Sollumz แล้วใช้ Convert to Drawable จากนั้น Export RAGE Assets ก่อนสร้าง YTYP Archetype เพื่อนำ Asset ไปใช้งานใน Map ต่อไป
พูดง่าย ๆ คือ หาก YMAP บอกว่า Object อยู่ตรงไหน และ YTYP บอกว่า Object นั้นคือ Archetype อะไร ตัว YDR คือหนึ่งใน Asset ที่เป็นรูปร่าง 3D ของ Object ที่ผู้เล่นมองเห็น
บทความนี้จาก comsiam จะอธิบายว่า FiveM YDR คืออะไร แตกต่างจาก YTYP, YMAP, YTD และ YBN อย่างไร รวมถึงวิธีแก้เมื่อ Custom Model ไม่ขึ้น แตก หาย หรือทำให้ FPS ตก
FiveM YDR คืออะไร
YDR คือไฟล์ Drawable Asset ของ GTA V/FiveM ที่ใช้กับ 3D Model ของ Objects และ Map Assets หลายประเภท
ตัวอย่าง YDR ที่อาจพบ เช่น
custom_building.ydr
custom_wall.ydr
custom_sign.ydr
custom_door.ydr
custom_table.ydr
Official Cfx.re Door Creation Guide ยกตัวอย่าง Vanilla Models ที่เป็น .ydr เช่น v_ilev_bl_door_l.ydr และ prop_facgate_07b.ydr พร้อมให้ Convert Custom Model เป็น Drawable ก่อนนำไปใช้งาน
① YDR คือ Model หรือ Texture
YDR เน้นที่ Drawable/Model
ส่วน Texture อาจอยู่ใน
.ytd
หรือในบาง Workflow Texture อาจถูก Embedded เข้า Drawable ได้
Cfx.re Assets Manual ระบุว่าใน Sollumz ผู้สร้างสามารถ Apply Texture ไปยัง Sampler และสามารถเลือก Embedded หากไม่ต้องการสร้าง Texture Dictionary แยกต่างหาก
ดังนั้น YDR กับ YTD มีความสัมพันธ์กัน แต่ไม่ใช่ไฟล์ชนิดเดียวกัน
② YDR ต่างจาก YMAP อย่างไร
จำแบบง่ายที่สุด
YDR
= รูปร่าง Model
YMAP
= ตำแหน่ง Model ในโลก
Official Map Workflow ของ Cfx.re ให้สร้าง YMAP แล้วเพิ่ม Entity จากนั้นกำหนด Archetype และ Transform เพื่อวาง Asset ใน World
ดังนั้นมี YDR อย่างเดียวไม่ได้หมายความว่า Model จะปรากฏอยู่กลางเมืองโดยอัตโนมัติ
ต้องมีระบบ Placement ที่นำ Asset ไปใช้งานด้วย
③ YDR ต่างจาก YTYP อย่างไร
YDR
คือ Drawable Asset
YTYP
คือ Archetype Definition ที่ใช้บอกข้อมูลของ Asset
Official Cfx.re Workflow คือ
Mesh
↓
Convert to Drawable
↓
Export RAGE Assets
↓
สร้าง YTYP
↓
Auto-Create Archetype จาก Drawable
ดังนั้น YDR และ YTYP มักทำงานสัมพันธ์กันใน Custom Map Assets
④ YDR ต่างจาก YTD อย่างไร
YDR
เก็บหรือเป็นส่วนของ Model/Drawable
YTD
เป็น Texture Dictionary
ถ้าเกิดอาการ
Model ขึ้น
แต่เป็นสีขาว
อย่ารีบแก้ YDR
ควรตรวจ Texture/Material/YTD ก่อน เพราะ Official Asset Workflow แยกขั้นตอน Texture Assignment ออกจากการ Convert Mesh เป็น Drawable
⑤ YDR ต่างจาก YBN อย่างไร
YDR
เกี่ยวกับ Visual Drawable
YBN
เกี่ยวข้องกับ World Collision Asset
Cfx.re มี Workflow แยกสำหรับ .ybn โดยให้ Export Collision จาก CodeWalker, แก้ใน Blender แล้ว Export YBN กลับออกมา อีกทั้งยังรองรับ Embedded Collision ใน Drawable บางรูปแบบด้วย
ดังนั้น
เห็น Model แต่เดินทะลุ
ไม่ได้หมายความว่า YDR เสียเสมอไป
ควรตรวจ Collision ด้วย
⑥ YDR ต่างจาก YFT อย่างไร
ในบริบท FiveM แบบกว้าง
YDR มักพบกับ Drawable Objects/Map Assets
YFT มักพบกับ Fragment Assets เช่น Vehicles
Cfx.re Asset Escrow ปัจจุบันรองรับทั้ง YDR และ YFT แยกเป็นคนละ File Type ซึ่งสะท้อนว่าทั้งสองเป็น Asset คนละประเภทในระบบ
สำหรับ Custom Building, Props หรือ Map Objects จึงมักพบ YDR มากกว่า YFT
⑦ YDR ใช้กับอะไรได้บ้าง
สามารถพบได้กับ Asset เช่น
อาคาร
กำแพง
โต๊ะ
เก้าอี้
ป้าย
Props
ประตู
Decorations
Custom Objects
Interior Assets
Official Door Guide ของ Cfx.re ใช้ YDR สำหรับ Swinging Door, Sliding Gate และ Garage Door Models โดยตรง
ดังนั้น YDR ไม่ได้จำกัดเฉพาะ Static Object อย่างเดียว
⑧ YDR ใช้กับ MLO ได้ไหม
ได้ในฐานะ Model/Drawable Assets ที่ MLO ใช้งาน
ตัว MLO อาจประกอบด้วยหลาย Asset เช่น
interior_shell.ydr
walls.ydr
doors.ydr
furniture.ydr
ร่วมกับ
YTYP
YMAP
YTD
Collision
ดังนั้น MLO หนึ่งตัวอาจมี YDR หลายสิบไฟล์ได้ ขึ้นอยู่กับความซับซ้อนของ Interior
⑨ YDR หนึ่งไฟล์เก็บ Object ได้กี่ชิ้น
ไม่ควรคิดในรูปแบบง่าย ๆ ว่า
1 YDR = 1 Mesh ชิ้นเดียวเสมอ
Drawable สามารถประกอบด้วยโครงสร้างหลายส่วนตาม Asset ที่ถูกสร้าง
Cfx.re Assets Manual ให้ Convert Mesh เป็น Drawable และ Export RAGE Asset โดย Workflow จริงสามารถมี Materials, Textures และโครงสร้าง Asset เพิ่มเติมได้
ดังนั้นต้องเปิด Asset ตรวจจริงจึงรู้ว่า YDR หนึ่งตัวซับซ้อนแค่ไหน
⑩ YDR มี Material ได้ไหม
มี Material ที่สัมพันธ์กับ Drawable
ใน Official Asset Workflow ผู้สร้างต้อง
สร้าง Shader Material
Apply Textures
ตั้ง UV
จากนั้นจึง Convert Mesh เป็น Drawable
ดังนั้นหาก Model ขึ้นแต่ Material ผิด สีเพี้ยน หรือ Texture ทำงานผิด ควรตรวจ Asset Material Structure ด้วย
⑪ YDR มี Texture ในตัวได้ไหม
ใน Workflow ที่ Cfx.re แสดง Texture สามารถตั้งเป็น Embedded ได้ หากไม่ต้องการสร้าง Texture Dictionary แยก
ดังนั้น Asset หนึ่งตัวอาจไม่ได้มี
model.ydr
model.ytd
คู่กันเสมอไป
อย่าตัดสินว่า YTD หายเพียงเพราะไม่พบไฟล์ .ytd หาก Asset ถูกสร้างแบบ Embedded Texture
⑫ YDR ต้องมี YTYP หรือไม่
สำหรับ Custom Map Asset Workflow ที่ Cfx.re สาธิต ผู้สร้างจะสร้าง YTYP Archetype จาก Drawable หลัง Export Asset
จากนั้นจึงนำ Archetype ไปใช้ใน YMAP Placement
ดังนั้นสำหรับ Custom Drawable ที่จะนำไปวางใน Map ควรตรวจ YTYP/Archetype ที่สัมพันธ์กันด้วย
⑬ Custom YDR ไม่ขึ้นเกิดจากอะไร
สาเหตุที่ควรตรวจ ได้แก่
YDR หาย
YTYP ไม่มี Archetype
Archetype Name ไม่ตรง
YMAP ไม่ได้วาง Entity
Resource ไม่ Stream Asset
Asset เสีย
Asset Compatibility มีปัญหา
Resource Conflict
Official FiveM Asset Workflow แยก Model → YTYP → YMAP ออกจากกัน จึงควร Debug ตามลำดับ ไม่ใช่แก้ YMAP อย่างเดียว
⑭ YDR อยู่ใน Resource แต่ยังไม่ขึ้น
ตรวจต่อว่า YTYP รู้จัก Drawable นั้นหรือไม่
ตัวอย่าง
custom_shop.ydr
อยู่ใน Folder แล้ว
แต่ถ้า YMAP อ้าง Archetype
custom_shop
และ Archetype Definition ไม่สัมพันธ์กับ Drawable ตาม Asset Workflow ตัว Modelก็อาจไม่ถูกใช้ตามที่ต้องการ
Official Cfx.re Workflow ให้สร้าง YTYP ด้วย Auto-Create From Selected จาก Drawable ก่อนนำไปใช้กับ Map
⑮ Vanilla Props ขึ้น แต่ Custom YDR หาย
นี่เป็นอาการที่ช่วยชี้ปัญหาได้ดี
สมมติ YMAP มี
Vanilla Bench
Custom Wall
Custom Sign
แล้ว Vanilla Bench ขึ้น แต่ Custom Wall/Sign หาย
ให้เน้นตรวจ
YDR
YTYP
Archetype
เพราะ YMAP Placement มีโอกาสทำงานอยู่แล้ว แต่ Custom Asset Layer มีปัญหา
⑯ Model ขึ้นแต่ Texture ขาว
กรณีนี้ YDR มีโอกาสถูกโหลดแล้ว
ควรตรวจ
YTD
Embedded Texture
Material
Shader
Texture References
Official Cfx.re Asset Creation Workflow ให้ Apply Textures และ Shader Materials ก่อน Convert Asset เป็น Drawable
ดังนั้นอาการ Texture ขาวไม่ควรถูกสรุปว่าเป็น YDR หาย
⑰ Model ขึ้นแต่เดินทะลุ
ควรตรวจ Collision
Cfx.re Collision Guide แยกสองรูปแบบหลัก ได้แก่ World Collision .ybn และ Embedded Model Collisions ที่สร้าง Bounds ภายใน Drawable Workflow
ดังนั้น YDR อาจแสดงภาพได้ครบแต่ไม่มี Collision ที่เหมาะสม
⑱ YDR สามารถมี Embedded Collision ได้ไหม
ได้ตาม Official Cfx.re Workflow
สำหรับ Embedded Model Collision เอกสารให้เลือก Drawable แล้วใช้
Collisions
→ Create Bounds
จากนั้นสร้าง Bound Composite/Bound GeometryBVH และ Collision Mesh ภายใน Asset Structure
จึงไม่ใช่ว่าทุก Object ต้องมี YBN แยกต่างหากเสมอไป
⑲ Embedded Collision ต่างจาก YBN อย่างไร
ในภาพรวม
YBN
เป็น Collision Asset แยกสำหรับ World Collision
Embedded Collision
ฝังอยู่ในโครงสร้าง Drawable Asset
Cfx.re Collision Manual มีขั้นตอนแยกทั้งสองรูปแบบอย่างชัดเจน
เวลา Debug จึงต้องรู้ว่า Asset ต้นฉบับใช้ Collision แบบไหน
⑳ Door YDR ต้องระวังอะไร
ประตูไม่ใช่ Static Prop ธรรมดาเสมอไป
Official Cfx.re Door Guide ระบุว่า Custom Door ต้อง
ตั้ง Origin ที่ถูกตำแหน่ง
Convert เป็น Drawable
เชื่อมกับ Armature/Bone ตาม Template
ตั้ง YTYP Door Settings
จัด Collision ให้ถูกถ้ามีการแก้ Transform
ดังนั้นประตูขึ้นแต่หมุนผิด ไม่จำเป็นต้องเกิดจาก Script Door Lock
อาจเกิดจาก Model/Origin/Drawable Setup
㉑ Origin ของ YDR สำคัญไหม
สำคัญมากสำหรับ Dynamic Asset
ตัวอย่าง Swinging Door ต้องวาง Origin ที่ตำแหน่ง Hinge เพื่อให้หมุนถูกจุด ส่วน Sliding Door และ Garage Door ใช้ Origin Location ต่างกันตาม Official Cfx.re Guide
ดังนั้นถ้า
ประตูหมุนรอบกลางบาน
แทนที่จะหมุนตรงบานพับ ให้ตรวจ Origin ก่อน
㉒ YDR ใช้กับ Sliding Gate ได้ไหม
ได้
Cfx.re ใช้ Template
prop_facgate_07b.ydr
สำหรับ Sliding Door/Gate Workflow และกำหนด YTYP Special Attribute/Flags สำหรับ Door Physics โดยเฉพาะ
จึงเห็นว่า YDR สามารถใช้กับ Dynamic Map Assets ได้
㉓ YDR ใช้กับ Garage Door ได้ไหม
ได้เช่นกัน
Official Door Guide ใช้
lr_prop_supermod_door_01.ydr
เป็น Template ของ Vertical Sliding/Garage Door
ดังนั้นหาก Garage Door Custom ไม่เคลื่อนที่ถูกต้อง ต้องตรวจทั้ง Drawable Setup, Origin, Armature, Collision และ YTYP Settings
㉔ YDR ทำ Animation ได้ไหม
ได้เมื่อ Asset ถูกสร้างตาม Animation Workflow
Official Cfx.re Map Animation Guide ให้ Convert Animated Prop เป็น Drawable จากนั้น Export Drawable พร้อม Clip Dictionary และตั้ง YTYP ให้สัมพันธ์กับ Animation
ดังนั้น Animated Map Asset อาจเกี่ยวข้องกับ
YDR
+
YCD
+
YTYP
+
YMAP
ไม่ใช่ YDR เพียงไฟล์เดียว
㉕ Animated YDR ไม่เล่นแก้อะไร
ถ้า Model แสดงแต่ Animation ไม่เล่น ให้ตรวจ
Clip Dictionary
Animation Hash
YTYP Clip Dictionary
Archetype Flags
Animation Setup
Official Cfx.re Animation Workflow มีทั้ง UV Anims (YCD) และ Auto Start Anim Flags ใน YTYP สำหรับตัวอย่าง Animated Asset
ดังนั้นไม่ควร Replace YDR ทันทีถ้าตัว Model ยังขึ้นอยู่
㉖ YDR เกี่ยวกับ LOD หรือไม่
เกี่ยวข้องโดยตรง
Official Cfx.re LOD Workflow เตรียม
HD Model
LOD Model
แล้ว Convert ทั้งสองเป็น Drawables จากนั้น Export ทั้งสอง Asset ก่อนสร้าง YTYP Archetypes และเชื่อมผ่าน YMAP Hierarchy
ดังนั้น Map ใหญ่สามารถมี YDR หลายระดับรายละเอียดสำหรับ Asset เดียวกันได้
㉗ HD YDR กับ LOD YDR ต่างกันอย่างไร
Official Documentation ระบุว่า
HD Model
เป็น Full-detail Version
LOD Model
เป็น Version ที่ใช้ Geometry และ Materials เรียบง่ายกว่า
ตัวอย่างเชิงแนวคิด
building_hd.ydr
building_lod.ydr
Asset จริงอาจใช้ชื่อรูปแบบอื่น
㉘ ทำไมต้องมี LOD YDR
เพื่อไม่ต้องใช้ Model รายละเอียดสูงสุดในระยะไกล
Official Cfx.re LOD Workflow เชื่อม HD และ LOD Drawables กับ YMAP Hierarchy และตั้ง LodDist ตาม Desired Streaming Distance
จึงช่วยลดความซับซ้อนของ Model ที่ต้องใช้เมื่อผู้เล่นอยู่ไกล
㉙ YDR ไม่มี LOD มีผลต่อ FPS ไหม
Asset ใหญ่ที่มีรายละเอียดสูงและไม่มี LOD ที่เหมาะสมอาจใช้รายละเอียดมากกว่าที่จำเป็นในระยะไกล
Cfx.re แนะนำให้สร้าง LOD Asset ที่ Geometry และ Materials ง่ายกว่า HD Asset
ดังนั้นถ้าเป็น
อาคารใหญ่
Landmark
Map Complex
Island
Airport
ควรตรวจ LOD อย่างจริงจัง
㉚ YDR Polygon เยอะทำให้ FPS ตกไหม
จำนวน Geometry ของ Model เป็นองค์ประกอบสำคัญของ Rendering Complexity และ Cfx.re LOD Guide จึงแนะนำให้ LOD ใช้ Geometry ที่เรียบง่ายลงกว่ารุ่น HD
แต่ไม่ควรตัดสิน Performance จาก Polygon เพียงค่าเดียว
ต้องดู
Materials
Textures
จำนวน Entities
LOD
Scene โดยรวม
ร่วมกัน
㉛ YDR ใหญ่แปลว่าหนักเสมอไหม
ไม่ควรตัดสินจากขนาดไฟล์เพียงอย่างเดียว
File Size ใช้ช่วยหา Outlier ได้ แต่ Performance จริงต้องดู
Geometry
Materials
Textures
LOD
จำนวนครั้งที่ Asset ถูกวาง
เช่น YDR หนึ่งตัวอาจใช้ครั้งเดียว แต่อีกตัวถูก YMAP วาง 500 ครั้ง
ผลกระทบจริงจึงแตกต่างกัน
㉜ Materials เยอะมีผลไหม
มีความสำคัญกับ Asset Optimization
Official LOD Guide แนะนำให้ LOD Model ลดทั้ง Geometry และ Materials ไม่ใช่ลด Geometry เพียงอย่างเดียว
ดังนั้น Custom Building ที่มี Material จำนวนมากควรถูกตรวจควบคู่กับ Polygon
㉝ Texture ใหญ่เกี่ยวกับ YDR ไหม
เกี่ยวข้องในฐานะสิ่งที่ Drawable ใช้
Official Asset Workflow ให้ผู้สร้าง Apply Textures ไปยัง Shader Material ก่อน Convert Mesh เป็น Drawable และสามารถเลือก Embedded Texture ได้
ดังนั้น Performance ของ Asset หนึ่งตัวควรมองทั้ง
YDR Model
+
Textures
+
Materials
ไม่ใช่ YDR อย่างเดียว
㉞ YDR หลายตัวใช้ Texture เดียวกันได้ไหม
Asset Workflow สามารถออกแบบการใช้ Texture Resources ร่วมกันได้ตาม Project Structure
แต่ต้องตรวจ Reference และ Material ให้ถูก
อย่าลบ Texture Dictionary เพียงเพราะเห็นว่าหลาย YDR มีชื่อคล้ายกัน เพราะ Drawable อาจยังอ้าง Texture นั้นอยู่
ทางที่ปลอดภัยคือเปิด Asset ตรวจด้วย Tooling ก่อนลบ Production File
㉟ YDR Model แตกหรือบิดเกิดจากอะไร
ถ้ารูปร่าง Model ผิดจริง ควรตรวจ
Geometry
Transform
Origin
Armature/Bones ถ้ามี
Export
Asset Conversion
โดยเฉพาะ Dynamic Asset อย่างประตู Cfx.re กำหนดให้ Apply Transforms และตั้ง Origin ถูกตำแหน่งก่อน Convert เป็น Drawable
ดังนั้น Asset ที่ Export ผิดสามารถเกิดปัญหาแม้ YMAP/YTYP ถูกต้อง
㊱ Model ใหญ่หรือเล็กผิด Scale
ถ้า YDR แสดงแต่ Scale ผิด ควรกลับไปตรวจ Asset Transform และ Export Workflow
Official Door Workflow ระบุให้ Align Custom Model กับ Template และ Apply All Transforms ก่อน Convert เป็น Drawable
สำหรับ Static Model หลักการเดียวกันคือควรตรวจ Geometry/Transform ต้นทางก่อนพยายามแก้ YMAP เพื่อชดเชย Asset ที่ Scale ผิด
㊲ YMAP สามารถปรับ Scale YDR ได้ไหม
ไม่ควรใช้แนวคิดว่า YMAP เป็นเครื่องมือแก้ Model Scale ทุกกรณี
ถ้า Asset ต้นทางผิด Scale การแก้ Source Asset/Transform ให้ถูกต้องมักเป็น Workflow ที่สะอาดกว่า
โดยเฉพาะ Dynamic Models ที่ Collision และ Origin ต้องสัมพันธ์กับ Model
㊳ YDR หายหลัง Rename
ถ้าคุณ Rename
custom_wall.ydr
เป็น
wall_new.ydr
ต้องตรวจ
Drawable Name
YTYP Archetype
YMAP Archetype Reference
เพราะ Official Workflow เชื่อม Drawable → YTYP Archetype → YMAP Entity ไว้เป็นลำดับ
Rename File อย่างเดียวไม่ได้รับประกันว่า Internal References จะเปลี่ยนตาม
㊴ YDR ชื่อชนกันเกิดอะไรได้บ้าง
ถ้า Resource หลายตัวมี Custom Assets ที่ใช้ชื่อ Model/Archetype ชนกัน ควรแยก Resource ทดสอบ
อาการอาจดูเหมือน
Model A กลายเป็น Model B
Object หาย
Asset Conflict
Map ทำงานต่างจากตอนอยู่ Resource เดี่ยว
ควรตรวจ Drawable/Archetype Names และเปิด Resources ทีละตัวเพื่อ Isolation
㊵ เปลี่ยนชื่อ YDR เพื่อแก้ Conflict ได้ไหม
ทำได้ใน Asset Development แต่ต้องเปลี่ยนอย่างเป็นระบบ
ควรตรวจทั้งหมด
Drawable Name
YTYP Archetype
YMAP Reference
Animation Reference ถ้ามี
Related Asset Names
ไม่ควร Rename File ใน Windows เพียงอย่างเดียวแล้วนำกลับเข้า Server
㊶ YDR หลายตัวควร Merge เป็นไฟล์เดียวไหม
ไม่จำเป็น
Optimization ไม่ได้แปลว่า
20 YDR
↓
1 YDR
เสมอไป
การรวม Geometry อาจลดจำนวน Objects บางกรณี แต่สามารถสร้างข้อเสีย เช่น
LOD จัดการยาก
Asset ใหญ่เกิน
Update ยาก
Collision ซับซ้อน
ต้องโหลด Model ส่วนที่ไม่จำเป็นพร้อมกัน
ควรตัดสินตาม Map Design ไม่ใช่จำนวนไฟล์อย่างเดียว
㊷ Props เล็กจำนวนมากควรรวมไหม
อาจพิจารณาตามสถานการณ์
เช่น Decoration ที่อยู่ติดกันและไม่มี Interaction อาจมีเหตุผลให้ Optimize เป็น Asset Group
แต่ Props ที่ต้อง
ขยับ
เปิดปิด
มี Collision แยก
ใช้ Script
ใช้ LOD ต่างกัน
ไม่ควรรวมแบบไม่คิด
การ Optimize Map ต้องดู Gameplay ด้วย
㊸ YDR มีผลกับ Streaming ไหม
YDR เป็นหนึ่งใน Asset Types ที่ FiveM ต้อง Stream ให้ Client ใน Map Resources
Official Map Resource Tutorial ให้ย้าย Game Asset Files ไปยัง stream Folder เพื่อให้ Asset โหลดอย่างถูกต้อง
ดังนั้นจำนวนและขนาด Asset รวมของ Resource มีผลต่อ Content ที่ Client ต้องจัดการ
㊹ ตัวอย่างโครงสร้าง Resource ที่มี YDR
custom_map/
│
├── fxmanifest.lua
│
└── stream/
├── city.ymap
├── city.ytyp
├── building.ydr
├── building.ytd
└── building.ybn
Official FiveM Map Tutorial ใช้โครงสร้าง Resource ที่มี fxmanifest.lua, stream Folder และระบุให้ Move Game Asset Files เข้า stream
㊺ YDR ต้องประกาศใน fxmanifest.lua ทีละไฟล์ไหม
สำหรับ Map Asset Streaming Workflow ของ Cfx.re ตัวอย่างให้วาง Game Assets ใน stream Folder และใช้ Map Resource Manifest โดยไม่ต้องแสดงการประกาศ YDR แต่ละตัวทีละบรรทัด
ดังนั้นอย่านำรูปแบบ data_file ของ Vehicle Meta มาประยุกต์กับ YDR แบบสุ่ม
ยึด Resource Structure ที่ผู้สร้างหรือ Official Workflow กำหนด
㊻ this_is_a_map ทำให้ YDR โหลดหรือไม่
this_is_a_map มีหน้าที่ Mark Resource ว่าเป็น GTA Map Resource ส่วน Asset Files อยู่ภายใน Resource Structure
Official Map Tutorial ใช้
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
ร่วมกับ stream Folder ที่เก็บ Game Asset Files
ดังนั้นถ้า YDR หายเพราะ Asset/Archetype ผิด การใส่ this_is_a_map เพิ่มอย่างเดียวไม่ได้แก้ Model ที่เสีย
㊼ YDR รองรับ Asset Escrow หรือไม่
รองรับ
Cfx.re Asset Escrow Documentation ปัจจุบันระบุว่า YDR เป็นหนึ่งใน File Types ที่ Asset Escrow รองรับ ร่วมกับ Lua, YFT และ YDD
ดังนั้น Commercial MLO/Map บางตัวอาจมี YDR ที่ถูก Protect
ไม่ควรพยายามแกะหรือหลีกเลี่ยง Protection
㊽ Escrowed YDR แก้ไม่ได้ทำอย่างไร
หาก Creator Protect YDR ไว้ คุณอาจไม่สามารถแก้ Asset นั้นได้ตาม Workflow ปกติ
ให้ตรวจ
Creator Documentation
Unlocked Files ที่ผู้สร้างให้
Configurable Assets
Update จาก Creator
แทนการพยายาม Bypass Asset Escrow
㊾ YDR กับ FiveM Enhanced
Cfx.re มี Alchemist สำหรับ Convert Legacy Assets ไปใช้กับ GTAV Enhanced และปัจจุบันรองรับ YDR, YTD, YFT, YPT และ YDD
ดังนั้นหาก YDR เดิมมี Compatibility Issues เมื่อใช้ Asset Pipeline ใหม่ ควรแยกปัญหา
Asset ไม่ขึ้นเพราะ Resource ผิด
ออกจาก
Asset Format/Compatibility
ก่อน
㊿ Alchemist ใช้ซ่อม YDR ได้ไหม
Alchemist มีทั้ง
Asset Conversion
Asset Refinement
โดย Refinement ถูกออกแบบมาแก้ Formatting หรือ Compatibility Issues ของ Legacy Assets ที่สร้างจาก Tooling รุ่นเก่า และ YDR อยู่ใน Supported File Types
แต่ Alchemist ไม่ได้แทนการแก้
Polygon
UV
Material Design
LOD Design
Archetype Name
YMAP Placement
ทั้งหมดให้อัตโนมัติ
51. Alchemist ใช้กับ Escrowed YDR ได้ไหม
Cfx.re ระบุ Known Issue ว่า Alchemist GUI จะหยุดเมื่อเจอ Escrowed Asset และแนะนำให้เอา Escrowed Assets ออกจากชุดก่อน หรือใช้ CLI ซึ่งจะ Skip Escrowed Assets และบันทึกไว้ใน Report
ดังนั้นอย่านำ Commercial Protected Resource ทั้ง Folder เข้า GUI แล้วคาดว่าจะ Convert ได้ทุกไฟล์
52. YDR ทำให้ Map โหลดช้าไหม
YDR ที่ซับซ้อนมาก จำนวนมาก หรือไม่มี LOD ที่เหมาะสมสามารถเพิ่มภาระ Asset/Rendering ของ Map
แต่ต้องดูร่วมกับ
YTD
Materials
LOD
จำนวน Instances
Collision
Scripts
Official Cfx.re LOD Workflow จึงแนะนำให้มี Simplified LOD Drawables สำหรับ Asset ที่เหมาะสม
53. YDR ทำให้ Server CPU Lag ไหม
Visual Drawable Asset ไม่ควรถูกเหมารวมกับ Server Script CPU Usage
หากอาการคือ
FPS ตกเมื่อหันไปหาอาคาร
ควรตรวจ Client Rendering/Assets
แต่ถ้า Resource มี Script และ Server CPU สูง ต้องตรวจ Runtime Script แยก
อย่า Optimize Polygon เพื่อแก้ Script Loop ที่มีปัญหา
54. วิธี Optimize YDR
แนวทางสำคัญคือ
Geometry
ลดรายละเอียดที่ไม่จำเป็น
Materials
ลดความซับซ้อนตามความเหมาะสม
LOD
สร้าง Model ระยะไกลที่เบากว่า
Texture
ใช้ Resolution ที่เหมาะสม
Collision
ไม่ซับซ้อนเกิน Gameplay
Official Cfx.re LOD Guide ระบุโดยตรงว่า LOD Model ควรเป็น Simplified Geometry และ Materials Version ของ HD Model
55. อย่าลด Polygon จนเสีย Model
Optimization ที่ดีไม่ใช่ทำ Asset ให้ Polygon ต่ำที่สุด
ควรรักษา
Silhouette
รูปร่างอาคาร
ขอบสำคัญ
ช่องประตู
รูปทรงที่ผู้เล่นมองใกล้
จากนั้นใช้ LOD ลดรายละเอียดสำหรับระยะไกล
เป้าหมายคือประหยัด Rendering Cost โดยไม่ทำลายภาพที่ผู้เล่นเห็นจริง
56. YDR ของ Interior กับ Exterior Optimize เหมือนกันไหม
หลักพื้นฐานเหมือนกันแต่ลำดับความสำคัญต่างกัน
Exterior
มักต้องสนใจ LOD และระยะมองมาก
Interior
มักต้องสนใจ Geometry, Materials, Props และสิ่งที่ผู้เล่นมองใกล้
Official Asset Workflow ยังแยก Vertex Color Setup ระหว่าง Interior และ Exterior โดยตัวอย่างระบุการตั้ง Color Attribute ต่างกันตามประเภท Project
ดังนั้น Asset Pipeline อาจแตกต่างตามบริบทการใช้งาน
57. YDR หายเฉพาะผู้เล่นบางคน
ถ้า Server และผู้เล่นส่วนใหญ่เห็น Model ปกติ แต่ Client บางเครื่องไม่เห็น ให้ตรวจ
Client Streaming
Resource Download
Client Asset State
Compatibility
แต่ถ้าผู้เล่นทุกคนเห็น Asset เดียวกันหาย ให้เน้น Resource/YDR/YTYP ก่อน
แยก
เสียทุกคน
กับ
เสียเครื่องเดียว
ให้ได้ก่อน Debug
58. YDR เสียหลัง Merge Map
ถ้า
Original Resource → ปกติ
Merged Resource → Model หาย
ให้ตรวจ
YDR ถูก Copy ครบหรือไม่
YTYP Archetype ยังอยู่หรือไม่
ชื่อ Model เปลี่ยนหรือไม่
Map/YMAP ยังอ้าง Archetype เดิมหรือไม่
Asset ชื่อชนกันหรือไม่
ไม่ควรแก้ Original YDR ก่อน เพราะมีหลักฐานว่าต้นฉบับทำงานได้
59. YDR ถูกเขียนทับหลัง Merge
หาก Map A และ Map B มี
custom_wall.ydr
ชื่อเดียวกัน แต่ไฟล์ไม่เหมือนกัน แล้ว Copy รวม Folder โดยกด Replace หนึ่งไฟล์จะหายไป
นี่คือเหตุผลว่าทำไมการ Merge Map Resources แบบ Copy/Replace ทั้ง Folder จึงเสี่ยง
ให้ตรวจชื่อ Assets ก่อน Merge ทุกครั้ง
60. วิธี Debug FiveM YDR แบบเร็วที่สุด
ใช้ลำดับนี้
ขั้นที่ 1
ยืนยัน Resource Start
ขั้นที่ 2
ตรวจว่า YDR อยู่ใน Resource
ขั้นที่ 3
ดูว่า Vanilla Objects ยังขึ้นหรือไม่
ขั้นที่ 4
ตรวจ YTYP Archetype
Official Workflow สร้าง YTYP จาก Drawable หลัง Export Asset
ขั้นที่ 5
ตรวจ YMAP ว่าอ้าง Archetype ถูกหรือไม่
Official Map Workflow กำหนด Archetype ของ Entity ใน YMAP โดยตรง
ขั้นที่ 6
ถ้า Model ขึ้นแต่ขาว ให้ตรวจ Texture/YTD
ขั้นที่ 7
ถ้า Model ขึ้นแต่เดินทะลุ ให้ตรวจ Collision/YBN หรือ Embedded Collision
ขั้นที่ 8
ถ้า Door หมุนผิด ให้ตรวจ Origin/Armature/YTYP
ขั้นที่ 9
ถ้าไกลแล้วหายหรือหนัก ให้ตรวจ HD/LOD Drawables
ขั้นที่ 10
ปิด Resource ที่มี Asset Name ซ้ำ
ขั้นที่ 11
ทดสอบ Original Resource
ขั้นที่ 12
ถ้าเป็น Enhanced Compatibility Issue ให้ตรวจ Alchemist
ตารางสรุปปัญหา FiveM YDR
| อาการ | จุดที่ควรตรวจ |
|---|---|
| Custom Model ไม่ขึ้น | YDR / YTYP |
| Vanilla Object ขึ้นแต่ Custom หาย | YDR / Archetype |
| Model อยู่ผิดตำแหน่ง | YMAP |
| Model ขึ้นแต่ Texture ขาว | YTD / Material |
| Model ขึ้นแต่เดินทะลุ | Collision / YBN |
| Invisible Collision | Visual YDR / Collision |
| Door หมุนผิด | Origin / Drawable Setup |
| Sliding Door ผิด | Origin / YTYP |
| Animated Model ไม่ขยับ | YCD / YTYP / Animation |
| ไกลแล้ว Model หาย | LOD / YMAP |
| FPS ลดเมื่อมอง Model | Geometry / Material / Texture |
| Merge แล้ว Model หาย | YDR/YTYP Conflict |
| Model A กลายเป็น Model B | Asset Name Conflict |
| Enhanced แล้ว Asset ผิด | Alchemist / Compatibility |
| Escrowed YDR แก้ไม่ได้ | Asset Escrow / Creator |
ความสัมพันธ์ YDR, YTYP, YMAP, YTD และ YBN
จำตามนี้
YDR
│
│ Model / Drawable
↓
YTYP
│
│ Archetype Definition
↓
YMAP
│
│ Placement
↓
World
YTD
→ Texture
YBN / Embedded Bounds
→ Collision
Official Cfx.re Assets Manual แบ่งขั้นตอน Custom Drawable, YTYP, YMAP และ Collision แยกเป็นคนละขั้นตอนอย่างชัดเจน
YDR ที่ดีควรเป็นอย่างไร
YDR ที่เหมาะกับ FiveM ควร
Geometry สมเหตุสมผล
Materials ไม่ซับซ้อนเกิน
UV ถูก
Texture Reference ถูก
Collision เหมาะกับ Asset
Origin ถูกสำหรับ Dynamic Object
มี LOD หาก Asset ต้องมองไกล
ชื่อไม่ชนกับ Asset อื่น
YTYP Archetype ถูก
ทดสอบใน Map จริงแล้ว
Cfx.re มี Workflow ตั้งแต่ Texture/Drawable, YTYP, Map Placement, Collision และ LOD ซึ่งแสดงว่าคุณภาพ Asset ไม่ควรถูกตัดสินจาก Model อย่างเดียว
YDR ต้อง Optimize ก่อนขึ้น Production ไหม
ควร โดยเฉพาะ Assets ที่
มีขนาดใหญ่
อยู่กลางเมือง
ถูกวางหลายครั้ง
ผู้เล่นมองเห็นจากระยะไกล
มี Materials จำนวนมาก
มี Texture Resolution สูง
Workflow ที่แนะนำคือ
Original Asset
↓
ตรวจ Model
↓
ตรวจ Texture
↓
ตรวจ YTYP
↓
ตรวจ Collision
↓
สร้าง/ตรวจ LOD
↓
วางใน Test Map
↓
Stress Test
↓
Production
สำหรับ Asset ใหญ่ ควรใช้ HD/LOD Workflow เพราะ Official Cfx.re Guide แนะนำ Simplified Geometry/Materials สำหรับ LOD Drawables และเชื่อมผ่าน YMAP Hierarchy
สรุป FiveM YDR คืออะไร
FiveM YDR คือ Drawable Asset ที่ใช้กับ 3D Models ของ Custom Objects, Props, Buildings และ Map Assets หลายประเภท
Official Cfx.re Workflow คือ
สร้าง Mesh
↓
Apply Material/Texture
↓
Convert to Drawable
↓
Export RAGE Assets
↓
สร้าง YTYP Archetype
↓
นำไปวางผ่าน YMAP
จำง่าย ๆ ว่า
YDR → Model
YTYP → Archetype
YMAP → ตำแหน่ง
YTD → Texture
YBN → Collision
ถ้า Custom Model ไม่ขึ้น ให้ตรวจ YDR/YTYP
ถ้า Model อยู่ผิดที่ ให้ตรวจ YMAP
ถ้า Model ขึ้นแต่ขาว ให้ตรวจ YTD/Material
ถ้า Model ขึ้นแต่เดินทะลุ ให้ตรวจ YBN หรือ Embedded Collision
ถ้า Model ทำให้ FPS ลดหรือไกลแล้วยังหนัก ให้ตรวจ Geometry, Materials และ LOD เพราะ Cfx.re แนะนำให้ใช้ LOD Drawable ที่เรียบง่ายกว่ารุ่น HD
และถ้า Asset Legacy มีปัญหากับ FiveM Enhanced ปัจจุบัน Cfx.re มี Alchemist ที่รองรับ YDR สำหรับ Conversion และ Refinement โดยตรง
แนวทางของ comsiam คืออย่ามอง YDR เป็นเพียง “ไฟล์โมเดลหนึ่งไฟล์” แต่ให้มองเป็นส่วนหนึ่งของ Asset Chain ตั้งแต่ Drawable → Archetype → Placement → Texture → Collision → LOD เพราะเมื่อรู้ว่าแต่ละชั้นทำหน้าที่อะไร จะสามารถหาสาเหตุของ Custom Model ที่หายหรือทำงานผิดได้เร็วขึ้นมาก
Comments
Post a Comment