FiveM YTD คืออะไร ใช้เก็บ Texture อย่างไร และแก้ปัญหา Texture หายหรือโหลดไม่ครบ

ถ้า FiveM Custom Map, MLO, รถ หรือ Custom Object Model ขึ้นครบแต่กลายเป็นสีขาว สีดำ Texture หาย Logo ไม่ขึ้น หรือพื้นผิวโหลดช้า หนึ่งใน Asset ที่ควรตรวจคือไฟล์ .ytd

YTD ใช้เป็น Texture Dictionary สำหรับเก็บ Texture ที่ Assets ของ GTA V/FiveM สามารถนำไปใช้กับ Materials ได้ ขณะที่ Official Cfx.re Asset Workflow แสดงการใช้ Texture แบบ .dds, Shader Materials และยังระบุว่าสามารถเลือกให้ Texture เป็น Embedded ได้หากไม่ต้องการสร้าง Texture Dictionary แยกออกมา

ปัจจุบัน Cfx.re ยังระบุ YTD เป็นหนึ่งใน Asset File Types ที่ Alchemist รองรับสำหรับการ Convert และ Refine Assets ระหว่าง GTAV Legacy และ Enhanced ด้วย

บทความนี้จาก comsiam จะอธิบายว่า FiveM YTD คืออะไร แตกต่างจาก YDR, YTYP, YMAP อย่างไร และแก้ปัญหา Texture ขาว Texture หาย Texture เบลอ หรือ Asset โหลดช้าอย่างไร

FiveM YTD คืออะไร

YTD คือ Texture Dictionary Asset ที่ใช้จัดเก็บ Texture สำหรับ Models และ Materials ของ GTA V/FiveM

ตัวอย่างเช่น

custom_building.ytd
police_station.ytd
restaurant_textures.ytd
vehicle.ytd

ภายในสามารถมี Texture หลายรายการที่ Asset ใช้ร่วมกัน

แนวคิดง่าย ๆ คือ

YDR
= รูปร่าง Model

YTD
= ภาพพื้นผิวของ Model

Official Cfx.re Workflow ระบุการใช้ Diffuse, Normal และ Specular Textures กับ Shader Materials ก่อนสร้าง Drawable Asset

① YTD ต่างจาก YDR อย่างไร

จำแบบง่ายที่สุด

YDR

เป็น Drawable/Model Asset

YTD

เป็น Texture Dictionary

ดังนั้นถ้า

Model ไม่ขึ้นเลย

ให้ตรวจ YDR/YTYP/YMAP ก่อน

แต่ถ้า

Model ขึ้น
แต่เป็นสีขาว

ให้เน้นตรวจ Texture, Material และ YTD

Cfx.re แยกขั้นตอนการ Apply Texture ออกจากการ Convert Mesh เป็น Drawable อย่างชัดเจนใน Asset Creation Workflow

② YTD ต่างจาก YTYP อย่างไร

YTYP

ใช้กับ Archetype Definition

YTD

เก็บ Texture

ดังนั้น YTYP อาจทำให้เกมรู้จัก Custom Model แต่ไม่ได้เป็นตัวเก็บรูปภาพพื้นผิวของ Model

ภาพรวมคือ

YDR
↓
YTYP
↓
YMAP

YTD
→ Texture ที่ Model ใช้

Official Cfx.re Workflow สร้าง YTYP จาก Drawable หลังตั้ง Materials/Textures แล้ว

③ YTD ต่างจาก YMAP อย่างไร

YMAP

บอกว่า Object อยู่ตำแหน่งไหน

YTD

บอกเรื่อง Texture ที่ Asset ใช้

ดังนั้นถ้าอาคาร

อยู่ถูกตำแหน่ง
แต่ผนังขาว

อย่าแก้ Coordinates ใน YMAP

ควรตรวจ Texture/YTD ก่อน

Official YMAP Workflow ใช้ YMAP สำหรับ Entity Placement, Archetype และ Transform ในโลกโดยตรง

④ YTD ต่างจาก YBN อย่างไร

YTD

Texture

YBN

Collision

ดังนั้น

เห็นกำแพงสวยครบ
แต่เดินทะลุ

ไม่ใช่อาการหลักของ YTD

ให้ตรวจ Collision/YBN

แต่ถ้า

เดินชนกำแพงได้
แต่กำแพงขาว

จึงควรกลับมาตรวจ Texture

⑤ YTD ใช้กับอะไรได้บ้าง

สามารถพบกับ Assets เช่น

  • Custom Map

  • MLO

  • Buildings

  • Props

  • Signs

  • Furniture

  • Vehicles

  • Clothes/Drawable Assets

  • Decorations

Cfx.re Alchemist ปัจจุบันรองรับ YTD ร่วมกับ YDR, YFT, YPT และ YDD ซึ่งสะท้อนว่า YTD เป็น Asset Type สำคัญที่ใช้ร่วมกับ Content หลายประเภท

⑥ YTD หนึ่งไฟล์มีหลาย Texture ได้หรือไม่

ได้

แนวคิดของ Texture Dictionary คือรวม Texture หลายรายการไว้ใน Asset เดียว

ตัวอย่างเชิงโครงสร้าง

building.ytd
├── wall_diffuse
├── wall_normal
├── floor_diffuse
├── floor_normal
├── sign_logo
└── glass_texture

ชื่อจริงขึ้นอยู่กับ Asset ที่ Developer สร้าง

สิ่งสำคัญคือ Material ของ Drawable ต้องอ้าง Texture ที่ถูกต้อง

⑦ Diffuse Texture คืออะไร

Diffuse คือ Texture หลักที่ให้สีและรายละเอียดพื้นฐานของ Surface

เช่น

  • สีผนัง

  • Logo

  • ลายไม้

  • พื้นกระเบื้อง

  • ป้าย

Official Cfx.re Asset Tutorial ใช้ตัวอย่างที่มี Diffuse, Normal และ Specular Textures และเลือก Shader normal_spec ให้เหมาะกับ Texture Set ดังกล่าว

⑧ Normal Texture คืออะไร

Normal Map ช่วยให้ Surface ดูมีรายละเอียดเชิงแสงและพื้นผิวมากขึ้นโดยไม่จำเป็นต้องสร้าง Geometry ทุกจุด

ตัวอย่าง

  • ร่องอิฐ

  • รอยพื้น

  • พื้นผิวโลหะ

  • รายละเอียดผนัง

ใน Official Asset Example มีการใช้ Normal Texture ร่วมกับ Diffuse และ Specular ภายใต้ Shader ที่เหมาะสม

⑨ Specular Texture คืออะไร

Specular เกี่ยวข้องกับลักษณะการสะท้อนหรือ Highlight ของ Surface ตาม Shader ที่ Asset ใช้

ตัวอย่างเช่น

  • โลหะ

  • พื้นเงา

  • วัสดุเคลือบ

  • พื้นผิวที่ต้องตอบสนองกับแสงต่างกัน

ดังนั้นการแทน Specular ด้วยภาพ Diffuse แบบสุ่มอาจทำให้ Material ดูผิด แม้ Texture จะโหลดขึ้นครบ

⑩ DDS คืออะไรในงาน Texture

Official Cfx.re Asset Tutorial ระบุให้เตรียม Texture ในรูปแบบ .dds และแนะนำ NVTT หรือ Nvidia Texture Tools เป็นหนึ่งในเครื่องมือสำหรับสร้าง DDS Textures

ตัวอย่าง

wall_diffuse.dds
wall_normal.dds
wall_specular.dds

จากนั้นจึง Apply เข้ากับ Shader Material ใน Sollumz

⑪ YTD จำเป็นเสมอหรือไม่

ไม่เสมอไป

Official Cfx.re Documentation ระบุว่า Texture สามารถตั้งเป็น

Embedded

ได้ หากไม่ต้องการสร้าง Texture Dictionary แยก

ดังนั้น Custom Asset บางตัวอาจไม่มี .ytd แยก แต่ Texture ยังทำงานได้เพราะถูก Embedded อยู่กับ Asset

⑫ Embedded Texture คืออะไร

Embedded Texture คือ Texture ที่ถูกบรรจุไปพร้อมกับ Asset แทนการใช้ Texture Dictionary แยก

ใน Official Sollumz Workflow ผู้สร้างสามารถเปิด Embedded สำหรับแต่ละ Texture หากไม่ต้องการสร้าง Texture Dictionary

ดังนั้นอย่าเห็น

custom_model.ydr

แต่ไม่มี

custom_model.ytd

แล้วสรุปทันทีว่า Texture File หาย

ต้องตรวจ Asset Structure จริงก่อน

⑬ แบบ Embedded กับ YTD แบบไหนดีกว่า

ไม่มีคำตอบเดียวสำหรับทุก Project

Embedded สามารถทำให้ Asset พก Texture ไปกับตัวเอง

ส่วน YTD แยกช่วยจัด Texture Dictionary เป็นอีก Asset หนึ่ง และอาจเหมาะกับการแชร์หรือจัด Resource ตาม Design

สิ่งสำคัญคือเลือกให้สัมพันธ์กับ Project Structure มากกว่าพยายามทำทุก Asset เป็นรูปแบบเดียวกัน

⑭ Model ขาวเกิดจาก YTD หายได้ไหม

ได้ หาก Model ต้องใช้ Texture จาก YTD แต่ Texture Dictionary ที่จำเป็นหายหรือไม่ถูก Stream

อาการที่มักเห็นคือ

  • สีขาว

  • สีเทา

  • Material ไม่มีรายละเอียด

  • Logo หาย

แต่ต้องตรวจ Material Reference ด้วย เพราะ YTD อยู่ครบก็ไม่ได้หมายความว่า Shader จะอ้าง Texture ถูกเสมอ

⑮ Model ดำเกิดจากอะไร

Model ดำไม่ได้หมายถึง YTD หายอย่างเดียว

ควรตรวจ

  • Texture

  • Shader

  • Normal/Specular

  • Material Parameters

  • Lighting

  • Vertex Colors

Official Cfx.re Asset Workflow มีทั้ง Shader, Texture Parameters, UV และ Vertex Colors ก่อนสร้าง Drawable จึงมีหลายจุดที่ทำให้ภาพ Material ผิดได้

⑯ Texture หายบางส่วน

ถ้า

ผนังปกติ
พื้นปกติ
แต่ Logo หาย

อย่า Replace YTD ทั้งไฟล์ทันที

ให้ตรวจ Texture Entry ของ Logo โดยเฉพาะ

เช่น

  • Texture อยู่หรือไม่

  • ชื่อ Texture ตรงหรือไม่

  • Material อ้างถูกหรือไม่

  • Alpha ถูกหรือไม่

อาการเฉพาะจุดมักแก้ได้เร็วกว่าการสร้าง Texture Dictionary ใหม่ทั้งชุด

⑰ Texture Name สำคัญไหม

สำคัญ

Material จะต้องเชื่อมกับ Texture ที่ถูกต้อง

ถ้า Asset เดิมใช้

wall_diff

แต่คุณ Rename Texture เป็น

new_wall

โดยไม่ได้แก้ Material Reference ที่สัมพันธ์กัน Texture อาจไม่แสดงตามที่ต้องการ

อย่า Rename Texture ใน YTD เพื่อให้ “ชื่อสวย” หาก Asset ทำงานอยู่แล้ว

⑱ YTD Filename กับ Texture Name เหมือนกันไหม

ไม่จำเป็น

ตัวอย่าง

hospital.ytd

อาจมี Texture ภายในชื่อ

wall_a
floor_a
hospital_logo
metal_normal

ดังนั้น

ชื่อไฟล์ YTD

กับ

ชื่อ Texture ภายใน

เป็นคนละระดับ

เวลา Debug ต้องรู้ว่าปัญหาอยู่ระดับไหน

⑲ YTD ชื่อเหมือน YDR จำเป็นหรือไม่

บาง Asset จัดชื่อให้ตรงกันเพื่อดูง่าย เช่น

custom_shop.ydr
custom_shop.ytd

แต่ไม่ควรสร้างกฎว่าต้องเหมือนกันทุก Resource

Asset บางชุดอาจใช้ Shared Texture Dictionary เช่น

city_props.ytd

ร่วมกับ YDR หลายตัว

ควรดู Material References และ Resource ต้นฉบับเป็นหลัก

⑳ Shared YTD คืออะไร

Shared YTD คือ Texture Dictionary ที่ Assets หลายตัวใช้ร่วมกัน

ตัวอย่าง

building_a.ydr
building_b.ydr
building_c.ydr

อาจใช้ Texture จาก

city_shared.ytd

ดังนั้นการลบไฟล์เพียงเพราะไม่พบ Model ชื่อเดียวกันอาจทำให้ Asset หลายตัว Texture หายพร้อมกัน

㉑ หลัง Merge Map แล้ว Texture หาย

กรณีนี้ให้สงสัย

  • YTD ไม่ได้ Copy มา

  • YTD ถูก Replace

  • Texture Name ชน

  • Shared YTD หาย

  • Model/Material Reference เปลี่ยน

หาก Map เดิมทำงานปกติ แต่เสียหลัง Merge ให้เปรียบเทียบ Resource เดิมกับ Resource ใหม่ก่อนแก้ Texture

㉒ YTD ชื่อซ้ำกันอันตรายไหม

ควรระวัง โดยเฉพาะเมื่อรวม Assets จากหลาย Resource

เช่น

map_a/shared.ytd
map_b/shared.ytd

แต่ภายในเป็นคนละ Texture Set

ถ้า Merge Folder แล้วกด Replace คุณอาจเหลือเพียง YTD ของ Map ใด Map หนึ่ง

ผลคือ Map อีกชุดอาจ

  • ขาว

  • Texture หาย

  • Logo ผิด

  • Material เพี้ยน

㉓ วิธีหา YTD Conflict

ใช้ Resource Isolation

ทดสอบ

Map A ON
Map B OFF

แล้วสลับ

Map A OFF
Map B ON

หากทั้งคู่ปกติเมื่อแยก แต่ Texture ผิดเมื่อเปิด Resource ที่ Merge แล้ว ให้ตรวจ Asset Name/Texture Dictionary Conflict

㉔ Texture ของ Map A ไปขึ้น Map B

นี่เป็นอาการที่ควรตรวจชื่อ Assets และ Texture References

โดยเฉพาะเมื่อ

  • YTD ชื่อซ้ำ

  • Texture Entry ชื่อซ้ำ

  • YDR/Material ถูก Merge

  • Shared Dictionary ถูก Replace

อย่าเริ่มจากลด Resolution เพราะปัญหานี้ไม่ใช่เรื่อง Performance

㉕ Texture ขาวเฉพาะหลัง Rename YTD

ถ้า Rename

original.ytd

เป็น

newtextures.ytd

แล้ว Asset เสีย ให้กลับไปทดสอบชื่อเดิมก่อน

การ Rename Container File ไม่ได้หมายความว่า Asset References ภายในและระบบการโหลดจะปรับตามทุกกรณี

หลักที่ปลอดภัยคืออย่า Rename Asset ที่ใช้งานปกติหากไม่มีเหตุผล

㉖ Alpha Channel สำคัญไหม

สำคัญกับ Texture ที่ต้องการ Transparency

ตัวอย่าง

  • กระจก

  • ป้ายโปร่ง

  • Decal

  • Logo

  • Fence

  • Livery

หาก Alpha ผิด อาจเกิด

  • Background ขาว

  • Background ดำ

  • Texture ทึบ

  • Material โปร่งมากเกินไป

ต้องตรวจ Format และ Shader ที่ Asset ใช้ร่วมด้วย

㉗ Texture เบลอเกิดจากอะไร

ควรตรวจ

  • Resolution

  • Mipmap

  • Compression

  • Streaming

  • Memory

  • Material Setup

ถ้า Original Texture คม แต่หลัง Resize/Export ใหม่กลับเบลอ ให้ย้อนตรวจขั้นตอน Export ก่อนสงสัย YDR

Official Cfx.re Workflow ใช้ DDS Texture และ Shader Assignment ซึ่งหมายความว่าขั้นตอนสร้าง Texture เป็นส่วนหนึ่งของ Asset Pipeline โดยตรง

㉘ Texture กระพริบเกิดจาก YTD ไหม

อาจเกิดจาก Texture/Material แต่ไม่เสมอไป

หาก Surface กระพริบตามมุมกล้อง ควรตรวจ

  • Geometry ซ้อน

  • Z-fighting

  • Map ซ้อน

  • LOD

  • Material

ก่อน

เพราะ Surface สองชั้นที่อยู่ตำแหน่งเดียวกันสามารถดูเหมือน Texture มีปัญหา ทั้งที่ YTD ปกติ

㉙ Texture โหลดช้าเกี่ยวกับ YTD ขนาดใหญ่ไหม

Asset Texture ที่มี Resolution สูงหรือมี Texture จำนวนมากเพิ่มภาระด้าน Memory/Streaming ฝั่ง Client

FiveM มีคำสั่ง Streaming Debug หลายตัว และสำหรับ Vehicle Textures มี str_maxVehicleTextureRes ซึ่ง Cfx.re ระบุว่าสามารถจำกัดความละเอียดสูงสุดเพื่อช่วยลดโอกาส Physical Memory หมด โดยแลกกับคุณภาพภาพ

แม้คำสั่งดังกล่าวจะเจาะจง Vehicle Textures แต่ก็สะท้อนหลักสำคัญว่า Texture Resolution มีผลต่อ Memory Budget ฝั่ง Client

㉚ Texture 4K ทุกไฟล์จำเป็นไหม

ไม่จำเป็น

ควรเลือกตาม

  • ขนาด Surface

  • ระยะการมอง

  • ความสำคัญของรายละเอียด

  • Asset Budget

ตัวอย่าง

กำแพงใหญ่ → อาจต้องละเอียดกว่า
แก้วบนโต๊ะ → ไม่จำเป็นต้องใช้ 4K

การใช้ Resolution สูงสุดกับทุก Asset เพิ่มต้นทุน Memory โดยไม่จำเป็น

㉛ YTD 8K ดีไหม

ไม่ได้แปลว่าดีกว่าเสมอ

ความละเอียดที่สูงขึ้นควรมีเหตุผลด้านคุณภาพที่ผู้เล่นมองเห็นจริง

หาก Texture 8K ถูกใช้กับ Object เล็กมาก ความต่างอาจแทบมองไม่เห็น แต่ใช้ทรัพยากรมากขึ้น

สำหรับ Production Server ควรเน้นความสมดุลมากกว่าความละเอียดสูงสุด

㉜ ควร Resize Texture อย่างไร

อย่า Batch Resize ทุก Texture แบบไม่ตรวจ

แบ่งก่อนว่าเป็น

  • Diffuse

  • Normal

  • Specular

  • Alpha

  • Logo

  • UI-like Decal

จากนั้นจึงกำหนด Resolution ที่เหมาะสม

เพราะ Official Cfx.re Workflow ใช้ Texture หลายประเภทกับ Shader คนละหน้าที่

㉝ DDS Compression สำคัญไหม

สำคัญ

Cfx.re ระบุให้ใช้ Texture ที่ถูก Compress ใน DDS Format และแนะนำ Nvidia Texture Tools เป็นหนึ่งในเครื่องมือที่ใช้สร้าง .dds

Compression ที่ไม่เหมาะกับ Texture Type อาจทำให้

  • Artifact

  • Alpha เสีย

  • Normal Map ผิด

  • ขอบภาพแตก

จึงต้องเลือกตาม Texture ที่กำลังทำ

㉞ Mipmap สำคัญไหม

สำหรับ Texture ที่ถูกมองหลายระยะ Mipmap เป็นส่วนสำคัญของ Texture Pipeline โดยทั่วไป

หาก Mipmap ผิด อาจเห็น

  • Texture วิบวับเมื่ออยู่ไกล

  • เบลอเกินไป

  • Detail เปลี่ยนผิดระยะ

หลัง Export Texture ใหม่ควรทดสอบทั้งระยะใกล้และระยะไกล ไม่ใช่ดูเพียงภาพใน Editor

㉟ UV Map เกี่ยวกับ YTD อย่างไร

Texture จะถูกวางบน Model ผ่าน UV Mapping

Official Cfx.re Asset Tutorial ระบุให้ตั้งชื่อ UV Map เป็น

UVMap 0

และ Sollumz จะเตือนหากมีปัญหา

ดังนั้นถ้า Texture มีครบใน YTD แต่

  • ยืด

  • เบี้ยว

  • กลับด้าน

  • วางผิดตำแหน่ง

ปัญหาอาจอยู่ที่ UV ของ Model ไม่ใช่ YTD

㊱ Logo อยู่ผิดตำแหน่งแก้ YTD หรือ UV

ถ้าตัวภาพ Logo ถูกต้อง แต่ตำแหน่งบน Model ผิด ให้ตรวจ UV Mapping

ถ้า UV ถูกแต่ Logo ใน Texture File ถูกวาดผิดตำแหน่ง จึงแก้ภาพ Texture

ต้องแยก

ภาพผิด

กับ

UV ผิด

ก่อน

㊲ Texture กลับด้านเกิดจากอะไร

อาจเกี่ยวกับ UV Orientation หรือ Model Mapping มากกว่า YTD Container

การ Flip รูปภาพเพื่อแก้ทันทีอาจทำให้ส่วนอื่นผิดตาม

ควรดู UV Layout และ Material Assignment ก่อน

㊳ Vertex Color เกี่ยวกับ Texture ไหม

เกี่ยวข้องกับภาพสุดท้ายของ Material ได้

Official Cfx.re Asset Tutorial ให้ตั้ง Color Attribute และแนะนำค่าต่างกันสำหรับ Interior และ Exterior Project ก่อนสร้าง Drawable

ดังนั้นถ้า Texture File ถูกแต่ Model ดูมืดหรือสีผิด อาจต้องตรวจ Vertex Colors/Material เพิ่ม

㊴ YTD ทำให้ Model ไม่ขึ้นเลยได้ไหม

ถ้า Texture Asset มีปัญหารุนแรง Resource/Asset อาจเกิดปัญหาได้ แต่สำหรับอาการ Model หายทั้งชิ้น ควรเริ่มตรวจ

YDR
YTYP
YMAP
Resource

ก่อน

ถ้า Shape ของ Model ขึ้นแล้วแต่ Surface ผิด จึงค่อยเน้น YTD

นี่ช่วยลดเวลาการ Debug ได้มาก

㊵ YTD ทำให้เดินทะลุได้ไหม

ไม่ใช่ไฟล์หลักของ Collision

หากมองเห็น Model แต่เดินทะลุ ให้ตรวจ YBN หรือ Embedded Collision

อย่าแก้ Texture Resolution เพื่อแก้ปัญหา Physics

㊶ YTD ทำให้ FPS ตกได้ไหม

Texture Assets มีผลต่อ Memory และ Rendering Resource Budget โดยเฉพาะเมื่อใช้ Resolution สูงหรือมี Texture จำนวนมาก

อย่างไรก็ตาม FPS ยังขึ้นกับ

  • Geometry

  • Materials

  • จำนวน Objects

  • LOD

  • Scripts

  • Client GPU/VRAM

จึงไม่ควรโทษ YTD เพียงอย่างเดียว

㊷ YTD ทำให้ Server CPU Lag ไหม

YTD เป็น Asset ฝั่ง Content/Rendering มากกว่าจะเป็น Script Runtime

หาก Server CPU สูง ควรตรวจ

  • Scripts

  • Resource Loops

  • Server Profiler

แยกจาก Texture Problem

แต่ถ้า Client FPS ต่ำเมื่อเข้า Map ให้ตรวจ YTD/Geometry/LOD เพิ่ม

㊸ YTD หลายไฟล์ทำให้ Server หนักไหม

จำนวนไฟล์เพียงอย่างเดียวไม่ใช่ตัวชี้วัดหลัก

ตัวอย่าง

20 YTD ขนาดเล็ก

อาจใช้ทรัพยากรน้อยกว่า

2 YTD ที่มี Texture 4K จำนวนมาก

ควรดู Content ภายในและการใช้งานจริงมากกว่าจำนวนไฟล์

㊹ ควรรวม YTD หลายไฟล์เป็นไฟล์เดียวไหม

ไม่จำเป็น

การรวมสามารถทำให้

  • Resource ดูไฟล์น้อยลง

  • Shared Textures จัดง่ายในบางกรณี

แต่ก็อาจทำให้

  • Update ยาก

  • Conflict ง่าย

  • Asset Dependency ซับซ้อน

  • Dictionary ใหญ่เกินจำเป็น

ดังนั้นอย่า Merge เพียงเพื่อลดจำนวนไฟล์

㊺ ควรแยก Shared Textures ไหม

ถ้า Assets หลายตัวใช้ Texture ชุดเดียวกันจริง การจัด Shared Texture ให้เป็นระบบอาจมีประโยชน์

แต่ต้องมี Documentation ว่า Asset ไหนใช้ Dictionary ใด

ไม่เช่นนั้นเมื่อมีคนลบ

shared_textures.ytd

อาจทำให้ทั้ง Police Station, Props และ Signs Texture หายพร้อมกัน

㊻ YTD ต้องอยู่ใน stream ไหม

ใน FiveM Map Resource Workflow Official Cfx.re ให้ย้าย Game Asset Files เข้า stream Folder ของ Resource

ตัวอย่าง

custom_map/
├── fxmanifest.lua
└── stream/
    ├── map.ymap
    ├── map.ytyp
    ├── building.ydr
    └── building.ytd

สำหรับ Resource ที่ซื้อหรือดาวน์โหลดมา ควรรักษาโครงสร้างของผู้สร้างไว้ก่อน

㊼ ต้องประกาศ YTD ทีละไฟล์ใน fxmanifest.lua ไหม

สำหรับ Map Streaming Workflow ของ Cfx.re ตัวอย่างจะใส่ Game Asset Files ลง stream Folder และใช้ Map Resource Manifest โดยไม่ได้แสดงการประกาศ YTD ทีละไฟล์เหมือน Data Files ประเภท Vehicle Meta

ดังนั้นอย่านำ

data_file

ของ handling.meta หรือ vehicles.meta มาใช้กับ YTD แบบสุ่ม

㊽ YTD รองรับ FiveM Enhanced หรือไม่

Cfx.re Alchemist ปัจจุบันรองรับ File Types

YDR
YTD
YFT
YPT
YDD

สำหรับ Asset Conversion และ Refinement

ดังนั้น YTD Legacy สามารถเป็นส่วนหนึ่งของ Workflow ที่ต้อง Convert เพื่อใช้กับ FiveM Enhanced ได้

㊾ Alchemist ใช้กับ YTD ทำอะไร

Alchemist มีสองแนวทางหลัก

Asset Conversion

แปลง Legacy Assets ให้เข้ากับ GTAV Enhanced

Asset Refinement

แก้ Formatting/Compatibility Issues ที่อาจเกิดจาก Legacy Tooling

Cfx.re ระบุ YTD เป็น Supported File Type ของทั้ง Workflow นี้

แต่ Alchemist ไม่ได้ทำหน้าที่เป็น Texture Optimizer ที่จะลด Resolution หรือออกแบบ Material ใหม่ให้อัตโนมัติ

㊿ YTD เสียหลัง Convert Enhanced ทำอย่างไร

ถ้าปัญหาเกิดหลัง Conversion ให้เทียบ

Original Legacy YTD

กับ

Converted YTD

และอ่าน Report ของ Alchemist

Cfx.re ระบุว่า Relaxed Mode อาจ Skip Validation บางส่วนและผลลัพธ์สามารถแตกต่างจาก Original เล็กน้อยเนื่องจาก Automatic Corrections

จึงควรทดสอบ Asset หลัง Convert ก่อนขึ้น Production

51. อย่าใช้ Alchemist เพื่อแก้ Texture ทุกปัญหา

ถ้าปัญหาคือ

Texture Name ผิด
Material อ้างผิด
UV ผิด
Alpha ผิด

Alchemist ไม่ได้แทนการแก้ Asset Design เหล่านี้ทั้งหมด

ต้องแก้ Source Asset/Texture Workflow ให้ถูกต้อง

52. วิธีดู Texture จาก Model ต้นฉบับ

Official Cfx.re Part 2 แสดง Workflow ใน CodeWalker:

เลือก Model
↓
เปิด RPF Explorer
↓
เปิด Model
↓
Materials
↓
Save All Textures

จากนั้นใน Blender/Sollumz สามารถใช้ Find Missing Textures เพื่อค้นหา Texture ที่หายจาก Folder ที่ Export ไว้ได้

นี่เป็นวิธีที่ดีเมื่อกำลังศึกษา Asset ต้นฉบับ

53. Find Missing Textures ใช้ทำอะไร

ใน Official Workflow หลัง Import Model เข้า Blender/Sollumz สามารถใช้

Find Missing Textures

แล้วเลือก Folder ที่ Save Textures ไว้ก่อนหน้า

เหมาะกับกรณี

  • Import แล้ว Material ชมพู/ไม่มีภาพ

  • Texture Path หาไม่เจอ

  • ต้อง Restore Texture References ก่อน Export ใหม่

54. วิธี Debug FiveM YTD แบบเร็วที่สุด

ทำตามนี้

ขั้นที่ 1

ดูว่า Model ขึ้นหรือไม่

ถ้าไม่ขึ้นเลย ตรวจ YDR/YTYP/YMAP ก่อน

ขั้นที่ 2

ถ้า Model ขึ้นแต่ขาว ให้ตรวจ YTD

ขั้นที่ 3

ตรวจว่า Texture Entry อยู่ครบหรือไม่

ขั้นที่ 4

ตรวจ Texture Names

ขั้นที่ 5

ตรวจ Material/Shader

Official Cfx.re Workflow Apply Textures ผ่าน Shader Material และ Texture Parameters

ขั้นที่ 6

ตรวจ UV

Official Workflow ใช้ UVMap 0 สำหรับ Asset Example

ขั้นที่ 7

ตรวจ Embedded Texture

ถ้า Asset ไม่มี YTD อาจใช้ Embedded Textures ได้

ขั้นที่ 8

ตรวจ Shared YTD

ขั้นที่ 9

ปิด Resource อื่นที่อาจมีชื่อ Asset ชนกัน

ขั้นที่ 10

ทดสอบ Original Resource

ขั้นที่ 11

ถ้า Texture โหลดช้า ให้ตรวจ Resolution/Streaming Budget

ขั้นที่ 12

ถ้าเป็น Enhanced Compatibility ให้ทดสอบ Alchemist

ตารางสรุปปัญหา FiveM YTD

อาการจุดที่ควรตรวจ
Model ไม่ขึ้นเลยYDR / YTYP / YMAP
Model ขึ้นแต่ขาวYTD / Material
Texture ดำShader / Material / Texture
Logo หายTexture Entry / Alpha
Texture เบลอResolution / Mipmap / Streaming
Texture กลับด้านUV
Texture ยืดUV Mapping
Background ขาวAlpha
Texture รถ A ไปขึ้นรถ BYTD/Texture Name Conflict
Merge แล้ว Texture หายYTD ถูก Replace/ขาด
Shared Props ขาวพร้อมกันShared YTD
Model ขึ้นแต่เดินทะลุCollision ไม่ใช่ YTD
FPS ตกเมื่อเข้า MapTexture/Geometry/LOD
Legacy ใช้ Enhanced แล้วผิดAlchemist / Compatibility

วิธี Optimize YTD FiveM

หลักสำคัญคือ

ลด Resolution ที่เกินจำเป็น

อย่าใช้ 4K/8K กับ Object เล็ก

รักษา Texture สำคัญ

เช่น Logo หรือป้ายที่ผู้เล่นอ่านข้อความใกล้ ๆ

ตรวจ Compression

ใช้ DDS Format และ Compression ที่เหมาะกับ Texture Type ตาม Asset Pipeline

ตรวจ Alpha

อย่าทำ Transparency เสีย

ตรวจ Mipmap

ให้ Texture ทำงานเหมาะสมตามระยะ

ลบ Texture ที่ไม่ได้ใช้

แต่ต้องยืนยัน Reference ก่อน

หลีกเลี่ยง Duplicate

โดยเฉพาะ Shared Texture Sets

YTD ที่ดีควรมีลักษณะอย่างไร

YTD ที่จัดการดีควร

  • Texture Name เป็นระบบ

  • Resolution เหมาะกับการใช้งาน

  • ไม่มี Duplicate ที่ไม่จำเป็น

  • Compression เหมาะสม

  • Alpha ถูกต้อง

  • Materials อ้าง Texture ถูก

  • UV ของ Model ถูก

  • Shared Textures มี Documentation

  • ทดสอบทั้งระยะใกล้และไกล

  • ไม่ทำให้ Asset Budget สูงเกินจำเป็น

Official Cfx.re Asset Workflow เริ่มจาก DDS Textures, Shader Materials, Texture Parameters และ UV ก่อนสร้าง Drawable ซึ่งแสดงว่าคุณภาพ Texture ต้องถูกออกแบบร่วมกับ Model ไม่ใช่แก้ YTD แยกจาก Asset ทั้งหมด

ความสัมพันธ์ YTD กับไฟล์ Map อื่น

จำภาพรวมนี้

YDR
→ Model

YTYP
→ Archetype

YMAP
→ Placement

YTD
→ Texture

YBN
→ Collision

ถ้า Object อยู่ถูกที่แต่ภาพผิด ให้เริ่มที่ YTD/Material

ถ้า Object ไม่อยู่เลย ให้เริ่ม YDR/YTYP/YMAP

และถ้าภาพถูกแต่เดินทะลุ ให้ไป Collision

สรุป FiveM YTD คืออะไร

FiveM YTD คือ Texture Dictionary Asset ที่ใช้จัดเก็บ Textures สำหรับ Models และ Materials ของ GTA V/FiveM

Official Cfx.re Asset Workflow ใช้ Texture แบบ DDS ร่วมกับ Diffuse, Normal และ Specular Maps รวมถึง Shader Materials และเปิดให้ Embed Texture เข้า Asset ได้หากไม่ต้องการใช้ Texture Dictionary แยก

จำง่ายที่สุดว่า

YDR → Model
YTD → Texture
YTYP → Archetype
YMAP → ตำแหน่ง
YBN → Collision

ถ้า Model ขึ้นแต่ขาว ให้ตรวจ YTD/Material

ถ้า Texture ยืดหรือวางผิดตำแหน่ง ให้ตรวจ UV

ถ้า Texture หายหลัง Merge ให้ตรวจ YTD ถูก Replace หรือ Shared Dictionary หายหรือไม่

ถ้า Texture โหลดช้า ให้ตรวจ Resolution และ Asset/Streaming Budget

และถ้า Asset Legacy มีปัญหาบน FiveM Enhanced ปัจจุบัน Cfx.re Alchemist รองรับ YTD สำหรับทั้ง Conversion และ Refinement โดยตรง

แนวทางของ comsiam คืออย่าลด Resolution หรือ Merge YTD ทั้ง Server พร้อมกัน แต่ให้เริ่มจาก Asset ที่มีปัญหาจริง ตรวจ Texture Name, Material, UV และ Shared Dictionary ให้ครบก่อน จากนั้นค่อย Optimize ทีละชุด เพราะ Texture ที่ถูกต้องแต่ขนาดเหมาะสมจะให้ผลดีกว่าทั้งด้านคุณภาพและ Performance มากกว่าการใช้ความละเอียดสูงสุดกับทุก Asset

Comments

Popular posts from this blog

FiveM ยังน่าเล่นไหม? Enhanced เปลี่ยน FiveM แค่ไหน

FiveM คืออะไร เล่นอย่างไร สำหรับมือใหม่ เริ่มต้นตั้งแต่ศูนย์

วิธีตั้ง Admin Permission ด้วย add_ace และ add_principal FiveM แบบละเอียด