FiveM YTYP คืออะไร ใช้ทำอะไรกับ Custom Model และแก้ปัญหา Object ไม่ขึ้นอย่างไร
หากติดตั้ง FiveM Custom Map หรือ MLO แล้วพบไฟล์นามสกุล .ytyp อยู่คู่กับ .ymap, .ydr และ .ytd ไฟล์นี้ไม่ควรถูกลบ เพราะ YTYP เป็นส่วนสำคัญที่ใช้กำหนด Archetype ของ Custom Assets เพื่อให้ GTA V/FiveM รู้จัก Model และนำไปใช้งานใน Map ได้
ใน Cfx.re Assets Manual ขั้นตอนสร้าง Custom GTA V Asset ผ่าน Blender/Sollumz จะสร้าง Drawable ก่อน จากนั้นสร้าง YTYP ภายในส่วน Archetype Definition และใช้คำสั่ง Auto-Create From Selected เพื่อสร้าง Archetype จาก Drawable ที่เลือก ก่อน Export YTYP ออกไปใช้งานจริง
บทความนี้จาก comsiam จะอธิบายว่า FiveM YTYP คืออะไร แตกต่างจาก YMAP และ YDR อย่างไร ทำไม Custom Object บางตัวไม่ขึ้นเมื่อ YTYP หาย และควรตรวจอะไรเมื่อ Map โหลด Model ไม่ครบ
FiveM YTYP คืออะไร
YTYP คือไฟล์ที่ใช้เก็บ Archetype Definition ของ Assets ใน GTA V/FiveM
เข้าใจแบบง่ายที่สุดได้ว่า
YDR
= ตัว 3D Model
YTYP
= ข้อมูลที่ทำให้เกมรู้จัก Model ในฐานะ Archetype
YMAP
= นำ Archetype นั้นไปวางในโลก
Cfx.re แยก Workflow อย่างชัดเจน โดย Part 3 ของ Assets Manual สร้าง Drawable และ YTYP ก่อน ส่วน Part 4 จึงนำ Entity/Archetype ไปวางใน YMAP ผ่าน CodeWalker
① Archetype คืออะไร
Archetype สามารถมองว่าเป็น Definition ของ Asset ที่ระบบ Map ใช้อ้างถึง
ตัวอย่าง Custom Model
custom_shop.ydr
อาจมี Archetype ชื่อ
custom_shop
อยู่ใน YTYP
จากนั้น YMAP จึงสามารถสร้าง Entity ที่อ้าง
custom_shop
แล้วนำไปวางที่ Coordinates ที่ต้องการได้
ใน Official Map Workflow ของ Cfx.re ผู้สร้าง YMAP จะเพิ่ม Entity แล้วเลือกหรือกำหนด Archetype ของ Entity นั้นก่อนจัดตำแหน่งใน World
② YTYP ไม่ใช่ตัว Model
นี่เป็นจุดที่ต้องจำให้แม่น
YTYP ไม่ได้เก็บ Geometry หลักของอาคารแทน YDR
ตัวอย่าง
custom_bank.ydr
คือ Drawable Asset
ส่วน
custom_bank.ytyp
สามารถเก็บ Archetype Definition ที่สัมพันธ์กับ Drawable นั้น
Cfx.re Assets Manual ให้สร้าง Drawable ก่อน แล้วค่อยสร้าง YTYP Archetype จาก Drawable ที่เลือก
ดังนั้นถ้า YDR หาย การมี YTYP อยู่ก็ไม่ได้สร้าง Model ขึ้นมาแทน
③ YTYP ต่างจาก YMAP อย่างไร
จำสั้น ๆ
YTYP
บอกว่า
Asset คืออะไร
YMAP
บอกว่า
Asset อยู่ตรงไหน
Official FiveM Asset Workflow แบ่งขั้นตอนนี้ออกจากกันอย่างชัดเจน: Part 3 สร้าง YTYP ส่วน Part 4 สร้าง YMAP และเพิ่ม Entity ที่อ้าง Archetype
ตัวอย่างเชิงแนวคิด
YTYP
↓
custom_shop = Archetype
YMAP
↓
วาง custom_shop ที่ X,Y,Z
④ YTYP ต่างจาก YDR อย่างไร
YDR
เน้น Drawable/3D Asset
YTYP
เน้น Archetype Definition
Workflow ปัจจุบันใน Cfx.re Assets Manual คือสร้าง Mesh → Convert เป็น Drawable → Export RAGE Asset → สร้าง YTYP → Auto-Create Archetype จาก Drawable
ดังนั้น Custom Map ที่มี Model ใหม่มักต้องมอง YDR และ YTYP เป็น Asset ที่สัมพันธ์กัน
⑤ YTYP ต่างจาก YTD อย่างไร
YTD
คือ Texture Dictionary
YTYP
คือ Archetype Definition
ถ้า
Model ขึ้น
แต่ Texture ขาว
ควรตรวจ Texture/YTD มากกว่า YTYP
แต่ถ้า
Custom Model ไม่ขึ้นเลย
ขณะที่ YMAP ยังทำงานกับ Vanilla Objects ได้ปกติ YTYP/Archetype และ YDR เป็นจุดสำคัญที่ควรตรวจต่อ
⑥ YTYP ต่างจาก YBN อย่างไร
YBN
เกี่ยวข้องกับ Collision
YTYP
เกี่ยวข้องกับ Archetype Definition ของ Asset
Cfx.re มี Workflow แยกสำหรับการสร้าง Collision โดยใช้ Bound Geometry, BVH และ Collision Mesh ซึ่งต่างจากขั้นตอนสร้าง YTYP ใน Asset Creation
ดังนั้นถ้าเห็น Model แต่เดินทะลุ ให้ตรวจ Collision ก่อน ไม่ควรแก้ YTYP แบบสุ่ม
⑦ FiveM รองรับ YTYP โดยตรงหรือไม่
Cfx.re มีเอกสาร Cookbook ระบุว่า FiveM และ RedM รองรับ Raw .ymap และ .ytyp รวมถึง XML-format ที่ตั้งนามสกุลไฟล์เป็น .ymap หรือ .ytyp โดยตรง โดยบทความดังกล่าวเป็นเอกสาร Archive จากปี 2021 จึงควรใช้ร่วมกับ Workflow ปัจจุบันใน Assets Manual
สำหรับ Asset ใหม่ ควรยึด Workflow ปัจจุบันของ Cfx.re เป็นหลัก
⑧ YTYP จำเป็นกับ Custom Model ทุกตัวหรือไม่
ไม่ควรตั้งกฎว่า Asset ทุกชนิดต้องมี YTYP แยกหนึ่งไฟล์ต่อหนึ่ง Model
แต่ใน Official Custom Asset Workflow ของ Cfx.re การสร้าง Drawable สำหรับนำไปวางเป็น Custom Map Asset จะมีขั้นตอนสร้าง YTYP Archetype เพื่อให้ Asset ถูกนำไปใช้ใน Map Workflow ต่อ
ดังนั้นถ้า Resource ต้นฉบับให้ .ytyp มาด้วย อย่าลบทิ้งเพียงเพราะไม่รู้ว่ามันใช้ทำอะไร
⑨ Vanilla Object ต้องมี Custom YTYP ใหม่ไหม
ถ้าใช้ Archetype ที่มีอยู่แล้วใน GTA V คุณไม่ได้กำลังสร้าง Custom Drawable Definition ใหม่แบบเดียวกับ Asset ที่สร้างเอง
Official YMAP Tutorial ให้ค้นหา Model/Entity ที่ต้องการใน CodeWalker แล้วกำหนด Archetype ให้ Entity ก่อนวางลง YMAP
จึงแตกต่างจากกรณีสร้าง Model ใหม่ใน Blender แล้วต้องสร้าง Archetype สำหรับ Asset นั้นตาม Asset Workflow
⑩ YTYP หนึ่งไฟล์มีหลาย Archetype ได้ไหม
ได้ใน Workflow ของ Asset Development เพราะ YTYP เป็นชุด Archetype Definitions และ Cfx.re LOD Tutorial ให้สร้าง YTYP แล้วเพิ่มทั้ง HD Drawable และ LOD Drawable เป็น Archetypes ภายในขั้นตอนเดียวกัน
จึงไม่จำเป็นต้องมี
1 Model = 1 YTYP File
เสมอไป
Project สามารถจัด Archetypes หลายตัวใน YTYP ตามโครงสร้างที่เหมาะสม
⑪ ทำไม YTYP หายแล้ว Custom Object ไม่ขึ้น
ถ้า YMAP กำลังอ้าง Archetype ของ Custom Model แต่ Definition ที่ Asset Workflow ต้องใช้หาย เกมอาจไม่สามารถใช้ Custom Asset นั้นตามที่ Map ออกแบบไว้
ความสัมพันธ์พื้นฐานคือ
YDR
↓
YTYP Archetype
↓
YMAP Entity
ซึ่งสอดคล้องกับลำดับการสร้าง Asset และ Map ใน Official Cfx.re Tutorials
⑫ Vanilla Props ขึ้น แต่ Custom Props หาย
นี่เป็นอาการที่ช่วย Debug ได้มาก
สมมติ YMAP มี
Vanilla Bench
Custom Sign
Custom Building
แล้วเกิด
Vanilla Bench → ขึ้น
Custom Sign → หาย
Custom Building → หาย
แสดงว่า YMAP มีโอกาสทำงานอยู่แล้ว และควรเน้นตรวจ Custom Drawable/YTYP/Archetype ต่อ เพราะ Official Workflow ใช้ YTYP เพื่อสร้าง Archetype ของ Custom Drawable ก่อนนำไปวางใน YMAP
⑬ Custom Model ขึ้นบางตัว บางตัวไม่ขึ้น
อย่าเขียน YTYP ใหม่ทั้งหมดทันที
ให้ตรวจเฉพาะ Asset ที่หาย เช่น
shop_wall → ขึ้น
shop_sign → หาย
shop_door → หาย
ตรวจว่า Archetypes ของ
shop_sign
shop_door
ถูกสร้างและ Export อยู่ใน YTYP ที่ Resource ใช้หรือไม่
การแยก Debug ราย Archetype จะง่ายกว่ารื้อทั้ง Map
⑭ ชื่อ Archetype สำคัญไหม
สำคัญ เพราะ YMAP Entity ต้องอ้าง Archetype ที่ถูกต้อง
Official YMAP Workflow ให้ผู้สร้างกำหนด Archetype ของ Entity จากชื่อ Model/Entity ก่อนวางในโลก
ดังนั้นหาก YDR ถูก Rename หรือ Archetype Name เปลี่ยน แต่ YMAP ยังอ้างชื่อเก่า Asset อาจไม่ทำงานตามที่ต้องการ
⑮ Rename YDR แล้วต้องระวัง YTYP
อย่า Rename
custom_shop.ydr
เป็น
new_shop.ydr
แล้วคิดว่าทุก Reference จะเปลี่ยนอัตโนมัติ
Official Asset Workflow สร้าง YTYP Archetype จาก Drawable ที่เลือก ดังนั้นชื่อและ Definition ของ Asset มีความสัมพันธ์กับ Project Asset Structure
หากต้อง Rename Asset จริง ควรตรวจ Archetype และ YMAP References ทั้งชุด
⑯ Rename Archetype แล้วต้องแก้ YMAP ไหม
ถ้า YMAP Entity กำลังอ้าง Archetype Name เดิม ก็ต้องตรวจ Reference ให้ตรงกับชื่อใหม่
ตัวอย่าง
เดิม
YTYP → custom_shop
YMAP → custom_shop
แต่แก้เป็น
YTYP → new_shop
YMAP → custom_shop
Reference ไม่ตรงกัน
Official Workflow ยืนยันว่า YMAP Entity มี Archetype Setting ที่ผู้สร้างกำหนดโดยตรง
⑰ วิธีสร้าง YTYP ใน Blender/Sollumz
Cfx.re Assets Manual ระบุขั้นตอนปัจจุบันประมาณนี้
สร้าง/เตรียม Model
↓
Convert เป็น Drawable
↓
Export RAGE Assets
↓
เปิด Archetype Definition
↓
สร้าง YTYP ใหม่
↓
เลือก Drawable
↓
Auto-Create From Selected
↓
Export YTYP
นี่คือ Workflow ที่ Official FiveM Asset Documentation ใช้กับ Blender/Sollumz
⑱ Auto-Create From Selected คืออะไร
ในขั้นตอนสร้าง YTYP Cfx.re ระบุให้เลือก Drawable แล้วใช้
Auto-Create From Selected
เพื่อสร้าง Archetype จาก Drawable ที่เลือก ก่อน Export YTYP
สำหรับผู้เริ่มต้น วิธีนี้ปลอดภัยกว่าการสร้าง Definition ทุกค่าเองโดยไม่เข้าใจ Asset
⑲ YTYP ต้องสร้างก่อน YMAP หรือไม่
ใน Official Beginner Workflow จะสร้าง Custom Drawable และ YTYP ก่อน จากนั้น Part ถัดไปจึงนำ Asset ไปวางผ่าน CodeWalker/YMAP
ลำดับที่เข้าใจง่ายจึงเป็น
Model
↓
Drawable
↓
YTYP
↓
CodeWalker
↓
YMAP
⑳ CodeWalker ใช้ YTYP อย่างไร
หลังมี Custom Asset Definition แล้ว CodeWalker สามารถใช้ Archetype ของ Model นั้นกับ Entity ใน YMAP
Official YMAP Tutorial ให้ค้นหา Entity/Model Name แล้วเปลี่ยน Archetype Setting ของ Entity ก่อน Transform และ Save Map
ดังนั้น CodeWalker เป็นจุดที่เห็นความสัมพันธ์ระหว่าง YTYP Archetype กับ YMAP Placement ได้ชัดมาก
㉑ YTYP เกี่ยวกับ LOD หรือไม่
เกี่ยวข้อง
Official Cfx.re LOD Tutorial ให้เตรียม
HD Model
LOD Model
แปลงทั้งสองเป็น Drawables แล้วสร้าง YTYP และเพิ่ม Drawable ทั้งสองเป็น Archetypes ก่อนนำไปสร้าง HD/LOD YMAP ต่อ
ดังนั้นระบบ LOD ไม่ได้มีเพียง YMAP แต่ YTYP ต้องรู้จักทั้ง Asset HD และ LOD ที่ Map จะใช้อีกด้วย
㉒ HD และ LOD ใช้ YTYP เดียวกันได้ไหม
ใน Official LOD Example Cfx.re ให้สร้าง YTYP แล้วเพิ่มทั้ง HD และ LOD Drawables เป็น Archetypes ภายในขั้นตอนเดียวกัน
จากนั้นจึงสร้าง YMAP แยกสำหรับ HD และ LOD และเชื่อม Parent/Child Relationship ใน CodeWalker
㉓ YTYP ทำให้ Model อยู่ไกลขึ้นไหม
YTYP เป็นเพียงส่วนหนึ่งของ Asset Definition
พฤติกรรมระยะการแสดงผลของ Map ยังเกี่ยวข้องกับ
YMAP
LodDist
LOD Level
HD/LOD Hierarchy
Official Cfx.re LOD Tutorial ปรับค่าระยะผ่าน HD/LOD Entities ใน YMAP หลังจากสร้าง YTYP Archetypes แล้ว
ดังนั้น Object หายเมื่ออยู่ไกลไม่ควรแก้ YTYP อย่างเดียว
㉔ YTYP เกี่ยวกับประตู Custom หรือไม่
เกี่ยวข้องได้อย่างชัดเจน
Cfx.re Door Creation Tutorial ให้สร้าง Custom Door เป็น Drawable แล้วสร้าง YTYP Archetype พร้อมตั้ง Special Attribute เป็น Normal Door (7) และใช้ Archetype Flags ที่เกี่ยวข้องกับ Dynamic/Door Physics
จึงเห็นว่า YTYP ไม่ได้มีหน้าที่แค่บอกชื่อ Model แต่ Archetype สามารถมี Configuration เฉพาะประเภท Asset ได้ด้วย
㉕ ประตู Model ขึ้นแต่ทำงานผิดควรตรวจ YTYP ไหม
ควรตรวจหากเป็น Custom Door Asset
Official Door Workflow กำหนด YTYP Settings สำหรับ Door โดยเฉพาะ รวมถึง Special Attribute และ Archetype Flags
แต่ถ้าประตูมองเห็นและ Physics ปกติ เพียงแค่ Job Lock ใช้ไม่ได้ ปัญหานั้นอาจอยู่ที่ Door Lock Script มากกว่า YTYP
㉖ YTYP เกี่ยวกับ Animation ได้ไหม
ได้
Cfx.re Map Animation Tutorial ให้สร้าง YTYP Archetype และกำหนด Clip Dictionary รวมถึง Archetype Flags เช่น
UV Anims (YCD)
Auto Start Anim
สำหรับ Animated Map Assets
ดังนั้น YTYP สามารถมีข้อมูลเพิ่มเติมสำหรับ Asset ที่มี Behavior ซับซ้อนกว่าของ Static ทั่วไป
㉗ Animated Billboard ต้องมีอะไรบ้าง
ใน Official Example ผู้สร้างจะเตรียม Model/Textures, สร้าง Animation/Clip Dictionary, Export Drawable และ Clip Dictionary จากนั้นสร้าง YTYP Archetype ที่อ้าง Clip Dictionary และเปิด Flags สำหรับ Animation
จึงอาจมีความสัมพันธ์ประมาณ
YDR
+
YCD
+
YTYP
+
YMAP
ตาม Asset ที่สร้าง
㉘ YTYP ของ MLO เหมือน Prop ธรรมดาไหม
MLO/Interior Archetypes สามารถมีโครงสร้างซับซ้อนกว่า Static Prop ทั่วไป
สำหรับผู้ดูแล Server ที่เพียงติดตั้ง MLO สิ่งสำคัญที่สุดคือ อย่าลบหรือ Merge YTYP โดยเดา หาก Package ต้นฉบับทำงานอยู่
YTYP เป็น Asset Definition Layer ที่ Maps และ Custom Models ใช้อ้าง และ Official FiveM Tooling ใช้ Archetype Definitions ในหลาย Workflow ตั้งแต่ Static Assets, LOD, Doors ไปจนถึง Animation
㉙ YTYP หายหลัง Merge Map
นี่เป็นหนึ่งในสาเหตุที่ควรตรวจทันทีหาก
Map A เดี่ยว → ปกติ
Map B เดี่ยว → ปกติ
Merge A+B → Custom Objects หาย
ตรวจว่า YTYP ของทั้งสองชุดถูกเก็บไว้ครบหรือไม่
อย่า Copy เฉพาะ
.ymap
.ydr
.ytd
แล้วทิ้ง .ytyp
เพราะ Official Asset Workflow ใช้ YTYP เป็นขั้นตอนสร้าง Archetypes ก่อนนำ Assets ไปวางใน YMAP
㉚ Replace YTYP ทั้งไฟล์อันตรายไหม
หากไฟล์หนึ่งมี Archetypes หลายตัว การนำ YTYP ของ Asset ใหม่ไปทับ YTYP เดิมทั้งไฟล์อาจทำให้ Definitions ของ Assets เดิมหายไป
Official LOD Tutorial แสดงตัวอย่างชัดว่า YTYP เดียวสามารถมี Archetypes มากกว่าหนึ่ง Drawable ได้
ดังนั้นก่อน Replace ต้องรู้ว่าภายในไฟล์มีอะไรอยู่บ้าง
㉛ ควร Merge YTYP หรือแยกไฟล์
ไม่มีเหตุผลว่าต้องรวมทุกอย่างเป็น YTYP เดียว
Project สามารถจัด YTYP ตาม Asset Group ที่เหมาะสมได้ เพราะ Asset Workflow รองรับการสร้าง YTYP และเพิ่ม Archetypes ตาม Project Structure
สำหรับ Server ใหญ่ การแยกตาม
police
hospital
mechanic
city_props
อาจ Debug ง่ายกว่ารวมทุก Archetype เป็นไฟล์เดียว
㉜ YTYP ชื่อซ้ำกันมีปัญหาไหม
สิ่งที่สำคัญกว่าเพียงชื่อไฟล์คือ Archetypes/Asset References ภายใน Project
หากนำ Assets หลายชุดมารวมกัน ควรตรวจว่ามี Model/Archetype Names ที่ชนกันหรือไม่
เพราะ YMAP Entities อ้าง Archetypes ตามชื่อที่กำหนดใน Map Workflow
อย่า Rename เพียงชื่อไฟล์ .ytyp แล้วคิดว่า Archetype Conflict ภายในจะหายตาม
㉝ Archetype Name ซ้ำต้องทำอย่างไร
ถ้า Custom Asset สองตัวตั้งชื่อ Archetype เหมือนกัน แต่เป็น Model คนละตัว ให้แยก Resource ทดสอบก่อน
จากนั้นตรวจ
Drawable Name
Archetype Name
YMAP References
Resource ที่ Stream Asset
การ Rename ต้องทำอย่างมีระบบเพราะ Asset Creation และ YMAP Placement เชื่อมกันผ่าน Archetype
㉞ แค่ Rename ไฟล์ YTYP แก้ Conflict ได้ไหม
ไม่ควรคาดหวังเช่นนั้น
ตัวอย่าง
city_props.ytyp
เปลี่ยนเป็น
city_props2.ytyp
เป็นเพียงการเปลี่ยนชื่อ Container File
แต่ถ้า Archetype ภายในยังชื่อ
custom_wall
เหมือน Asset อีกตัว ปัญหาที่ระดับ Definition/Reference อาจยังอยู่
ดังนั้นต้องตรวจข้อมูลภายใน Project ด้วย
㉟ YTYP XML แก้ด้วย Text Editor ได้ไหม
Cfx.re Cookbook Archive ระบุว่า FiveM รองรับ XML-format .ytyp โดยตั้งชื่อไฟล์เป็น .ytyp โดยตรงแทน .ytyp.xml และระบบจะ Parse ผ่าน Game Parser
แต่สำหรับผู้เริ่มต้น การแก้ Archetype Data ด้วย Text Editor มีความเสี่ยง
ถ้าต้องสร้าง Asset ใหม่ ใช้ Blender/Sollumz ตาม Official Assets Manual จะเห็นโครงสร้าง Archetype ชัดกว่า
㊱ อย่าเปลี่ยนนามสกุลเป็น .ytyp.xml
ในเอกสาร Cfx.re Cookbook ที่กล่าวถึง XML-format ระบุว่าชื่อควรเป็นลักษณะ
mh1_01.ytyp
ไม่ใช่
mh1_01.ytyp.xml
เพื่อให้ Game Parser ใช้งานตามรูปแบบดังกล่าว
㊲ Binary กับ XML YTYP แบบไหนดีกว่า
ผู้ใช้ FiveM ทั่วไปไม่จำเป็นต้อง Convert ไปมาหาก Asset ต้นฉบับใช้งานได้อยู่แล้ว
Cfx.re ปัจจุบันมี Asset Workflow ผ่าน Sollumz ที่ Export YTYP และมีเอกสาร Archive ที่ยืนยัน XML-format Support
ดังนั้นหลักที่ปลอดภัยคือ
รักษา Format ของ Resource ต้นฉบับจนกว่าจะมีเหตุผลต้องแก้
㊳ YTYP ต้องอยู่ใน stream หรือไม่
Map Assets มักถูกเก็บเป็น Streaming Content ภายใน FiveM Map Resource ตามโครงสร้างของ Resource
Official Map Tutorial ให้ Save YMAP ลง FiveM Map Resource และสร้าง Resource ที่มี stream Folder กับ fxmanifest.lua ขณะที่ Asset Workflow Export YTYP สำหรับนำไปใช้กับ Assets ใน Map
สำหรับ Resource ที่ซื้อหรือดาวน์โหลดมา ควรรักษา Directory Structure ของ Developer ก่อน
㊴ ตัวอย่างโครงสร้าง Resource ที่มี YTYP
ตัวอย่าง
custom_map/
│
├── fxmanifest.lua
│
└── stream/
├── city.ymap
├── city_props.ytyp
├── custom_shop.ydr
└── custom_shop.ytd
FiveM Resource Manifest ปัจจุบันใช้ fxmanifest.lua ภายใน Resource Folder และ Official Map Tutorial สร้าง stream Folder สำหรับ Map Resource
㊵ this_is_a_map เกี่ยวกับ YTYP หรือไม่
this_is_a_map เป็น Resource Manifest Entry สำหรับระบุ GTA Map Resource ไม่ใช่ตัว YTYP เอง
Official Map Tutorial ใช้
fx_version 'cerulean'
game 'gta5'
lua54 'yes'
this_is_a_map 'yes'
ใน Map Resource ตัวอย่าง
ดังนั้นถ้า YTYP หาย การเพิ่ม this_is_a_map ไม่ได้สร้าง Archetype ที่หายขึ้นมาใหม่
㊶ fxmanifest.lua ต้องประกาศ YTYP แบบไหน
อย่าคัดลอก Data File Declaration จาก Vehicle Meta Files มาใช้กับ YTYP โดยเดา
FiveM มี Workflow Map Resource สำหรับ Streaming Assets โดยตรง และ Official Cfx.re Documentation รองรับ .ymap/.ytyp ในระบบ Map Asset
ถ้า Resource ต้นฉบับมี Manifest ที่ทำงานอยู่แล้ว ให้ใช้ของเดิมเป็นหลัก
㊷ YTYP ไม่ขึ้นหลัง Restart Resource
ให้ตรวจก่อนว่าเป็น YTYP จริงหรือ Asset ที่มันอ้าง
ลำดับคือ
Resource
↓
YTYP Archetype
↓
YDR Model
↓
YMAP Placement
Official Workflow สร้าง YTYP จาก Drawable แล้วนำ Archetype ไปใช้กับ YMAP Entity
หากหนึ่งจุดขาด Custom Object อาจไม่ขึ้นแม้ Resource ถูก Restart แล้ว
㊸ Resource Started แต่ Custom Asset หาย
Started resource ไม่ได้ยืนยันว่า Asset Definition ทุกตัวถูกต้อง
ถ้า Vanilla Entities ใน YMAP ยังขึ้น แต่ Custom Models หาย ให้กลับไปตรวจ
YTYP
YDR
Archetype Name
ก่อน
เพราะ Map Placement สามารถทำงานได้ขณะที่ Custom Archetype บางตัวผิด
㊹ YTYP ทำให้ Texture หายไหม
YTYP ไม่ใช่ Texture Dictionary
ถ้า
Model ขึ้น
รูปร่างถูก
แต่พื้นผิวขาว
อย่าเริ่ม Rewrite YTYP
ให้ตรวจ
YTD
Material
Texture
ก่อน
แยก Definition Problem ออกจาก Texture Problem จะ Debug ได้เร็วกว่า
㊺ YTYP ทำให้เดินทะลุไหม
ไม่ควรสรุปว่าเป็นสาเหตุแรก
Collision มี Workflow และ Asset Structure ของตัวเอง โดย Cfx.re มีบทเฉพาะสำหรับ Bound Geometry และ .ybn Collision
ถ้า Model ขึ้นครบแต่เดินทะลุ ให้เริ่มที่ Collision ก่อน
㊻ YTYP มีผลต่อ FPS มากไหม
ไฟล์ Definition เองไม่ควรถูกมองเป็นตัว Rendering Load หลักเหมือน Geometry หรือ Texture
แต่ Archetype ที่ YTYP กำหนดอาจชี้ไปยัง Assets ที่หนัก และ Asset เหล่านั้นถูกนำไปวางผ่าน YMAP
สำหรับ Performance จึงควรตรวจ
YDR Geometry
YTD Texture
LOD
จำนวน Entities
มากกว่าลดขนาดข้อความใน YTYP
Official LOD Workflow เน้นลด Geometry/Materials ของ LOD Assets โดยตรง
㊼ YTYP กับ LOD Optimization ต้องตรวจอะไร
ตรวจว่า
HD Drawable
LOD Drawable
มี Archetypes ครบ
จากนั้นตรวจ YMAP ว่า
HD Entity
LOD Entity
LodDist
Parent/Child
ถูกกำหนดตาม Workflow
Official Cfx.re Tutorial แยกขั้นแรกให้เพิ่ม Drawables ทั้งสองเป็น YTYP Archetypes ก่อน แล้วจึงสร้าง HD/LOD YMAP ต่อ
㊽ วิธีทดสอบ YTYP หลังแก้
อย่าเริ่มด้วย Map ใหญ่ทั้งเมือง
ทดสอบ Asset หนึ่งตัวก่อน
เช่น
custom_sign
สร้าง/ใช้ YMAP ที่วาง Archetype นั้นเพียงหนึ่ง Entity
จากนั้นตรวจ
Model ขึ้นไหม
Texture ถูกไหม
Position ถูกไหม
LOD ถูกไหมถ้ามี
เมื่อหนึ่ง Archetype ทำงานแล้วจึงเพิ่ม Assets อื่น
㊾ วิธี Debug FiveM YTYP แบบเร็วที่สุด
ใช้ลำดับนี้
ขั้นที่ 1
ยืนยันว่า Resource Start
ขั้นที่ 2
ตรวจว่า .ytyp อยู่ใน Resource
ขั้นที่ 3
ดูว่า Object ที่หายเป็น Vanilla หรือ Custom
ขั้นที่ 4
ถ้า Custom ให้ตรวจ YDR
ขั้นที่ 5
ตรวจ YTYP Archetype
Official Asset Workflow สร้าง YTYP Archetype จาก Drawable โดยตรง
ขั้นที่ 6
ตรวจ Archetype Name ที่ YMAP ใช้
Official Map Workflow กำหนด Archetype ของ Entity ใน YMAP
ขั้นที่ 7
ถ้า Rename Model มา ให้ตรวจ References ทั้งหมด
ขั้นที่ 8
ถ้ามี LOD ให้ตรวจ HD/LOD Archetypes
Cfx.re LOD Workflow ใช้ Archetypes ของทั้งสอง Models ก่อนสร้าง HD/LOD YMAP
ขั้นที่ 9
ถ้าเป็น Custom Door ให้ตรวจ YTYP Door Settings
ขั้นที่ 10
ถ้าเป็น Animated Asset ให้ตรวจ Clip Dictionary/Archetype Flags
ขั้นที่ 11
ปิด Resource ที่อาจมี Asset ชื่อชนกัน
ขั้นที่ 12
ทดสอบ Resource ต้นฉบับก่อน Merge
㊿ ตารางสรุปปัญหา FiveM YTYP
| อาการ | จุดที่ควรตรวจ |
|---|---|
| Custom Model ไม่ขึ้น | YTYP / YDR |
| Vanilla Props ขึ้น แต่ Custom หาย | Custom Archetype |
| Object อยู่ผิดตำแหน่ง | YMAP |
| Model ขึ้นแต่ Texture ขาว | YTD / Material |
| Model ขึ้นแต่เดินทะลุ | Collision / YBN |
| Rename Model แล้วหาย | YTYP/YMAP References |
| Merge แล้ว Custom Assets หาย | YTYP ถูก Replace/ขาด |
| Asset สองตัวชื่อชน | Archetype/Drawable Names |
| Door ขึ้นแต่ Physics ผิด | YTYP Door Settings / Collision |
| Animated Prop ไม่เล่น | YTYP Animation Flags / YCD |
| HD ขึ้นแต่ LOD หาย | YTYP LOD Archetype / YMAP |
| ไกลแล้ว Object หายผิด | YMAP LOD Configuration |
| Resource Started แต่ Asset ไม่ขึ้น | YTYP/YDR/YMAP Reference |
| Texture หายอย่างเดียว | ไม่ใช่ YTYP เป็นจุดแรก |
YTYP ที่ดีควรจัดอย่างไร
สำหรับ Project ที่มี Custom Assets จำนวนมาก ควร
ตั้ง Archetype Name ให้สื่อความหมาย
หลีกเลี่ยงชื่อชน
เก็บ Custom Drawables และ Definitions เป็นระบบ
แยก Asset Groups ตาม Project เมื่อเหมาะสม
ตรวจ HD/LOD Archetypes
Backup ก่อน Merge
อย่า Rename โดยไม่แก้ Reference
ทดสอบทีละ Asset
Official FiveM Workflow ใช้ YTYP กับ Asset หลายประเภท ตั้งแต่ Static Drawable, LOD, Custom Door และ Animated Map Asset จึงเห็นได้ว่า Archetype Definition เป็นส่วนสำคัญของ Asset Pipeline มากกว่าที่ชื่อไฟล์สั้น ๆ จะบอก
ควรรวม YTYP ทุก Map เป็นไฟล์เดียวไหม
ไม่จำเป็น
การลดจำนวนไฟล์ไม่ใช่เป้าหมายหลักของ Map Optimization
หากแยก
police_assets.ytyp
hospital_assets.ytyp
city_props.ytyp
racetrack_assets.ytyp
แล้วดูแลได้ง่ายกว่า ก็ไม่มีเหตุผลต้อง Merge ทุก Archetype เข้าก้อนเดียวเพียงเพื่อให้ Folder ดูสั้น
ยิ่ง Server มี Custom Maps จำนวนมาก การแยก Ownership ของ Assets ชัดเจนยิ่งช่วย Debug ได้ง่าย
ความสัมพันธ์ YTYP, YMAP, YDR, YTD และ YBN
จำภาพรวมนี้ไว้
YDR
│
│ 3D Model
↓
YTYP
│
│ Archetype Definition
↓
YMAP
│
│ Placement ใน World
↓
ผู้เล่นมองเห็น Object
YTD
→ Texture ของ Asset
YBN
→ Collision
Official Cfx.re Assets Manual แบ่ง Workflow ตามแนวคิดนี้ โดยสร้าง Drawable/YTYP, วาง Asset ใน YMAP และสร้าง Collision เป็นขั้นตอนแยกกัน
สรุป FiveM YTYP คืออะไร
FiveM YTYP คือไฟล์ Archetype Definition ที่ใช้กำหนดข้อมูลของ Custom Assets เพื่อให้ Model สามารถถูกอ้างและนำไปใช้ใน Map ได้
Workflow พื้นฐานของ Cfx.re คือ
สร้าง Model
↓
Convert เป็น Drawable
↓
Export Asset
↓
สร้าง YTYP
↓
Auto-Create Archetype
↓
นำ Archetype ไปวางใน YMAP
YTYP ยังเกี่ยวข้องกับ Asset ขั้นสูงได้ เช่น HD/LOD Assets, Custom Doors และ Animated Map Objects ตาม Workflow ปัจจุบันใน Cfx.re Assets Manual
จำง่ายที่สุดคือ
YDR → Model
YTYP → เกมรู้จัก Model
YMAP → วาง Model ในโลก
YTD → Texture
YBN → Collision
ถ้า Vanilla Object ขึ้นแต่ Custom Object หาย ให้ตรวจ YTYP/YDR
ถ้า Object อยู่ผิดตำแหน่ง ให้ตรวจ YMAP
ถ้า Model ขึ้นแต่ Texture ขาว ให้ตรวจ YTD
ถ้า เดินทะลุ ให้ตรวจ Collision/YBN
และถ้า HD Model ขึ้นแต่ LOD ไม่ทำงาน ให้ตรวจทั้ง YTYP Archetypes และ YMAP LOD Hierarchy
แนวทางของ comsiam คืออย่าลบหรือ Merge YTYP เพียงเพราะเห็นว่าไฟล์มีขนาดเล็ก เพราะไฟล์นี้เป็น Definition Layer ที่เชื่อม Custom Model เข้ากับ Map และการสูญเสีย Archetype เพียงตัวเดียวสามารถทำให้ Object หายทั้งชิ้นได้ แม้ YMAP, Texture และ Resource จะยังอยู่ครบก็ตาม
Comments
Post a Comment