FiveM Custom Map คืออะไร วิธีติดตั้งและแก้ปัญหา Map ไม่ขึ้นแบบละเอียด
FiveM Custom Map คือแผนที่หรือพื้นที่ที่ถูกสร้างหรือแก้ไขเพิ่มเติมจากโลกเดิมของ GTA V เพื่อใช้บน FiveM Server ไม่ว่าจะเป็นสถานีตำรวจ โรงพยาบาล ร้านอาหาร Garage สนามแข่ง เกาะใหม่ ถนน อาคาร หรือพื้นที่ Roleplay ที่ออกแบบขึ้นมาเฉพาะ Server
Custom Map อาจเรียบง่ายเพียงนำ Object เดิมของ GTA V มาวางเพิ่มเติม หรือซับซ้อนถึงระดับสร้าง Model, Texture, Collision และ LOD ขึ้นมาใหม่ทั้งหมด
FiveM ใช้ระบบ Resource สำหรับโหลด Content และ Resource สามารถมี Streaming Assets ได้ ส่วน fxmanifest.lua มี Directive this_is_a_map สำหรับระบุว่า Resource เป็น GTA Map และให้ระบบ Reload Map Storage เมื่อ Resource ถูกโหลด
บทความนี้จาก comsiam จะอธิบายตั้งแต่ FiveM Custom Map คืออะไร ใช้ไฟล์อะไร ติดตั้งอย่างไร แตกต่างจาก MLO อย่างไร ไปจนถึงวิธีวิเคราะห์ Map ไม่ขึ้น Texture หาย เดินทะลุ และ Map ซ้อนกัน
FiveM Custom Map คืออะไร
FiveM Custom Map คือ Content ที่ใช้เพิ่ม เปลี่ยน หรือจัดวางพื้นที่ใหม่ในโลก GTA V สำหรับ FiveM
ตัวอย่างเช่น
Custom Police Station
Custom Hospital
Custom Mechanic
Custom Garage
Dealership
Restaurant
Nightclub
Racing Track
Parking
Prison
Island
Military Base
Gang Area
Beach
Custom Road
Custom Building
Custom Map ไม่จำเป็นต้องแทนที่แผนที่ GTA V ทั้งหมด
ส่วนใหญ่เป็นการเพิ่มหรือแก้พื้นที่บางส่วนของ Los Santos และ Blaine County
① Custom Map ต่างจาก Map เดิมอย่างไร
GTA V มี World Assets เดิมอยู่แล้ว เช่น
ถนน
อาคาร
ภูเขา
ต้นไม้
ร้านค้า
Props
Interior
Custom Map สามารถ
เพิ่มของใหม่
เปลี่ยนของเดิม
ย้าย Object
สร้างพื้นที่ใหม่
สร้าง Interior ใหม่
ได้
ตัวอย่างเช่นตำแหน่งเดิมมีอาคารตำรวจแบบ Vanilla
Server สามารถเพิ่ม Custom Police Station ใหม่ในพื้นที่เดียวกันได้ แต่ถ้า Asset เดิมยังอยู่และไม่ได้ถูกจัดการอย่างถูกต้อง อาจเกิดอาคารซ้อนหรือ Collision Conflict
② Custom Map ต่างจาก MLO อย่างไร
คำว่า Custom Map มีความหมายกว้างกว่า MLO
Custom Map
อาจเป็น
Outdoor
Indoor
Road
Island
Racetrack
Building
Props
MLO
มักหมายถึง Interior ที่ถูกสร้างเป็นพื้นที่ภายในอาคาร
ตัวอย่าง
Police Station Interior
Hospital Interior
House Interior
Office
Restaurant
Nightclub
ดังนั้น
MLO เป็น Custom Map ประเภทหนึ่ง
แต่ Custom Map ทุกตัวไม่ใช่ MLO
③ Custom Map FiveM มีไฟล์อะไรบ้าง
ขึ้นอยู่กับ Map แต่ไฟล์ที่พบได้บ่อย เช่น
.ymap
.ytyp
.ydr
.ytd
.ybn
จำง่าย ๆ ได้ว่า
YMAP = วางของในโลก
YTYP = บอกข้อมูล Archetype
YDR = Model
YTD = Texture
YBN = Collision
แต่ Map ไม่จำเป็นต้องมีไฟล์ทุกประเภท
ถ้าใช้เฉพาะ GTA V Objects เดิม ก็อาจไม่ต้องมี Custom Model และ Texture ของตัวเอง
④ YMAP สำคัญอย่างไร
YMAP เป็นหนึ่งในไฟล์หลักของ Custom Map
ใน Official Assets Manual ของ Cfx.re การสร้าง Simple Map Mod ผ่าน CodeWalker เริ่มจากสร้าง YMAP จากนั้นเพิ่ม Entity และกำหนด Archetype รวมถึงตำแหน่งของ Object ใน World
เข้าใจง่าย ๆ ว่า YMAP ช่วยบอกว่า
เอา Object อะไร
ไปวางที่ไหน
หมุนอย่างไร
อยู่ตำแหน่งใด
เช่น
Building → X,Y,Z
Bench → X,Y,Z
Tree → X,Y,Z
Lamp → X,Y,Z
⑤ YMAP ไม่ใช่ตัว Model
จุดนี้สำคัญ
YMAP อาจบอกว่า
วาง custom_building ตรงนี้
แต่ Model จริงอาจอยู่ใน
custom_building.ydr
และ Texture อยู่ใน
custom_building.ytd
ดังนั้นถ้ามี YMAP แต่ Custom Model หาย Map ก็อาจโหลดไม่ครบ
ต้องดู Asset ทั้งชุด
⑥ YTYP คืออะไรใน Custom Map
YTYP เกี่ยวข้องกับ Archetype Definition ของ Custom Assets
ใน Cfx.re Assets Manual มี Workflow สำหรับสร้าง Custom Asset ผ่าน Blender/Sollumz รวมถึงการสร้าง YTYP ก่อนนำ Asset กลับเข้า CodeWalker
จำง่าย ๆ เป็น
YDR = รูปร่าง Model
YTYP = ข้อมูลที่ทำให้ Game รู้จัก Archetype
YMAP = นำ Archetype ไปวางในโลก
นี่เป็นภาพรวมเพื่อช่วยทำความเข้าใจ ไม่ใช่รายละเอียด File Format ทั้งหมด
⑦ Custom Map ทุกตัวต้องมี YTYP หรือไม่
ไม่จำเป็น
ถ้า Map ใช้ Object ที่ GTA V รู้จักอยู่แล้ว อาจไม่ต้องสร้าง Custom Archetype เพิ่ม
แต่ถ้า Map มี Custom Model ใหม่ เช่น
custom_restaurant.ydr
ผู้สร้างอาจต้องมี YTYP ที่สัมพันธ์กับ Custom Asset นั้น
ดังนั้นถ้า Resource ต้นฉบับมี .ytyp อย่าลบออกเพียงเพราะไม่รู้ว่าใช้ทำอะไร
⑧ YDR คืออะไรใน Custom Map
YDR คือ Drawable Model Asset
ตัวอย่าง
custom_house.ydr
custom_wall.ydr
custom_sign.ydr
custom_counter.ydr
Cfx.re มี Assets Manual สำหรับสร้าง GTAV Assets ผ่าน Blender/Sollumz ซึ่งครอบคลุม Model, Material, UV และ Asset Export Workflow
ถ้า YMAP วาง Object ถูกตำแหน่ง แต่ YDR ที่ต้องใช้หาย ตัว Model ก็อาจไม่แสดง
⑨ YTD คืออะไร
YTD คือ Texture Dictionary
สามารถเก็บ Texture ของ Custom Asset เช่น
ผนัง
พื้น
หลังคา
ป้าย
Logo
Furniture
Decoration
ตัวอย่าง
restaurant.ydr
restaurant.ytd
ถ้า Model ขึ้นแต่ Texture ไม่ครบ อาจเกิดอาการ
อาคารขาว
ผนังดำ
Logo หาย
Texture เบลอ
พื้นผิวผิด
กรณีนี้ควรตรวจ YTD และ Material มากกว่า YMAP Coordinates
⑩ YBN คืออะไร
YBN เกี่ยวข้องกับ Collision
Cfx.re Assets Manual มีขั้นตอน Collision Editing and Creation โดยแยก Collision Asset ออกจาก Visual Drawable และรองรับการทำ Bound Geometry/Collision Mesh
ถ้า Custom Building มองเห็นปกติ แต่ผู้เล่นสามารถเดินทะลุกำแพงได้ ให้สงสัย Collision เป็นอันดับต้น ๆ
⑪ Custom Map เดินทะลุเกิดจากอะไร
สาเหตุที่ควรตรวจ ได้แก่
YBN หาย
Collision ไม่ถูกโหลด
Collision Mesh ผิด
Collision ไม่ตรง Model
Bound ผิด
Resource Files ไม่ครบ
Map ถูกแก้หลัง Export
ถ้า
Model มองเห็น + Texture ปกติ + เดินทะลุ
อย่าเริ่มแก้ YTD
ให้เน้นตรวจ Collision
⑫ Invisible Wall เกิดจากอะไร
อาการตรงข้ามคือ
ไม่เห็น Object แต่เดินชน
หมายความว่า Collision อาจยังอยู่แต่ Visual Model ไม่แสดง
ให้ตรวจ
YDR
YTYP
YMAP
Streaming
ร่วมกับ YBN
ปัญหาอาจเป็น Visual Asset หาย แต่ Collision ยังถูกโหลดอยู่
⑬ LOD คืออะไรใน Custom Map
LOD ย่อมาจาก
Level of Detail
ใช้ Model ความละเอียดต่างกันตามระยะที่ผู้เล่นมอง
Cfx.re Assets Manual แสดง Workflow สำหรับสร้าง HD Entity และ LOD Entity แยก YMAP พร้อมกำหนด LodLevel, LodDist และ Parent/Child Relationship
แนวคิดคือ
อยู่ใกล้
↓
Model รายละเอียดสูง
อยู่ไกล
↓
Model รายละเอียดลดลง
เพื่อไม่ต้อง Render Model ละเอียดเต็มที่ตลอดเวลา
⑭ Custom Map ไม่มี LOD มีผลอย่างไร
Map ขนาดเล็กอาจไม่เห็นผลรุนแรง
แต่ถ้าเป็น
Island
Complex ใหญ่
Airport
City Expansion
Racetrack
Building จำนวนมาก
LOD ที่ไม่เหมาะสมสามารถเพิ่มภาระ Rendering ได้
Cfx.re แนะนำให้ LOD Asset ใช้ Geometry และ Material ที่เรียบง่ายกว่า HD Asset
ดังนั้น Map สวยอย่างเดียวไม่พอ ต้องดูระยะการแสดงผลด้วย
⑮ Custom Map ทำด้วยโปรแกรมอะไร
Workflow ที่ Cfx.re Documentation ใช้ประกอบด้วยเครื่องมือ เช่น
CodeWalker
Blender
Sollumz
Official Assets Manual ครอบคลุมตั้งแต่การตั้งค่า CodeWalker/Blender/Sollumz ไปจนถึงการสร้าง Custom Assets และ Map Placement
เครื่องมือที่ใช้จริงอาจต่างกันตาม Developer แต่ควรใช้ Workflow ที่รองรับ GTAV Asset Structure อย่างถูกต้อง
⑯ CodeWalker ใช้ทำอะไร
สำหรับงาน Map CodeWalker สามารถใช้สร้างและแก้ YMAP
Official Tutorial ระบุขั้นตอน เช่น
เปิด Project Window
↓
New YMAP File
↓
New Entity
↓
เลือก Archetype
↓
ปรับตำแหน่ง Entity
จึงเหมาะสำหรับ
Object Placement
World Inspection
YMAP
Collision Inspection
Map Asset Workflow
⑰ Blender ใช้ทำอะไร
Blender ใช้กับงาน 3D Asset เช่น
สร้าง Model
แก้ Geometry
UV Mapping
Material
LOD
Collision
Cfx.re Assets Manual ใช้ Blender ร่วมกับ Sollumz ใน Workflow สำหรับสร้าง GTAV Assets และ YTYP
จึงต่างจาก CodeWalker ที่เน้น World/Map Placement มากกว่า
⑱ FiveM มี World Editor หรือไม่
มี
Cfx.re มี FxDK World Editor ซึ่งทำงานกับ Map File Assets และสามารถ Compile Map Files ไปเป็น Resource ที่เหมาะสำหรับ Runtime ของ Server
ดังนั้น Developer ไม่ได้ถูกจำกัดว่าต้องใช้ CodeWalker เพียงวิธีเดียว
⑲ Custom Map ต้องทำเป็น Resource หรือไม่
สำหรับการนำมาใช้บน FiveM Server Content จะถูกจัดผ่าน Resource System
ตัวอย่าง
resources/
└── [maps]/
└── custom_restaurant/
Resource สามารถมี Streaming Assets และถูก Server Start/Stop ได้ตาม Resource System ของ FiveM
Manifest ใช้บอกข้อมูลของ Resource รวมถึงสามารถระบุ
this_is_a_map 'yes'
สำหรับ GTA Map Resource
⑳ ตัวอย่างโครงสร้าง Custom Map Resource
ตัวอย่างทั่วไป
custom_map/
│
├── fxmanifest.lua
│
└── stream/
├── custom_map.ymap
├── custom_props.ytyp
├── building.ydr
├── building.ytd
└── building.ybn
Asset จริงอาจต่างจากนี้
อย่าสร้างไฟล์เปล่าตามตัวอย่างหาก Map ไม่มีไฟล์ประเภทนั้น
ให้ใช้ Package ต้นฉบับของ Map เป็นหลัก
㉑ ตัวอย่าง fxmanifest.lua ของ Map
ตัวอย่างพื้นฐาน
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
Cfx.re ระบุว่า this_is_a_map จะ Mark Resource ว่าเป็น GTA Map และ Reload Map Storage เมื่อ Resource ถูกโหลด
แต่ Map บาง Resource อาจต้องมี
Scripts
Dependencies
Files
Data Files
เพิ่มเติม
ดังนั้น Manifest จริงควรยึดตาม Asset
㉒ วิธีติดตั้ง FiveM Custom Map แบบพื้นฐาน
ใช้ Workflow นี้
ขั้นที่ 1 — แตกไฟล์ Map
ตรวจว่า Folder หลักมี
fxmanifest.lua
หรือ Resource Structure พร้อมใช้งาน
ขั้นที่ 2 — นำ Resource เข้า Server
เช่น
resources/[maps]/custom_restaurant/
ขั้นที่ 3 — เพิ่มลง server.cfg
ensure custom_restaurant
ขั้นที่ 4 — หาก Server เปิดอยู่ให้ Rescan Resource ตาม Workflow ของ Server
ขั้นที่ 5 — Start Resource
ขั้นที่ 6 — เข้าเกมไปยัง Coordinates ของ Map
ขั้นที่ 7 — ตรวจทั้งภาพและ Collision
อย่าตรวจเพียงว่าอาคารขึ้นหรือไม่
㉓ Custom Map FiveM Ready คืออะไร
โดยทั่วไปหมายถึง Map ที่ถูกจัด Resource Structure สำหรับ FiveM มาแล้ว
เช่นมี
fxmanifest.lua
stream/
พร้อมติดตั้ง
แต่คำว่า “FiveM Ready” ไม่ได้รับประกันว่า
Optimize ดี
ไม่มี Conflict
ไม่มี Dependency
รองรับ Game Build ทุกแบบ
ไม่มี Script เพิ่ม
ควรอ่าน Installation Instructions ทุกครั้ง
㉔ Map จาก GTA V Single Player ใช้ FiveM ได้เลยไหม
ไม่ควรสรุปว่าได้ทุกตัวทันที
ต้องดูว่า Asset ถูก Package อย่างไร
FiveM รองรับ YMAP/YTYP Workflow แต่ Custom Map จาก Single Player อาจมี Dependency หรือ Structure ที่ต้องปรับก่อนใช้งานบน Server
Cfx.re เคยระบุการรองรับ Raw .ymap และ .ytyp Files รวมถึง XML-format ใน FiveM โดยตรง
แต่ Asset ทั้ง Map ยังอาจต้องมี Resource Manifest และไฟล์ประกอบอื่น ๆ ให้ครบ
㉕ Custom Map ไม่ขึ้นเลยตรวจอะไร
เริ่มจาก
Resource Folder
fxmanifest.luaResource Start
Server Console
F8
YMAP
YTYP
Custom Models
Dependencies
Map Conflict
อย่าเริ่มจากล้าง Cache ก่อนโดยไม่ดู Error
การรู้ว่า Resource ถูกโหลดหรือไม่ช่วยตัดสาเหตุได้มาก
㉖ Map Resource Start ไม่ได้
ตรวจ Manifest ก่อน
เช่น
fxmanifest.lua
ต้องอยู่ใน Resource Folder ตามโครงสร้าง Resource
จากนั้นดู Server Console ว่ามี Error อะไร
ถ้า Error บอกไฟล์หรือ Dependency ชัด ให้แก้ตาม Error ก่อนเข้าเกม
ไม่ควร Restart Server ซ้ำ ๆ โดยไม่อ่าน Console
㉗ Resource Start แต่ Map ไม่ขึ้น
กรณีนี้ต่างจาก Resource Start ไม่ได้
ถ้า Resource ขึ้นแล้ว แต่ World ไม่เปลี่ยน ให้ตรวจ
YMAP มีจริงหรือไม่
Map อยู่ Coordinates ไหน
YTYP ของ Custom Asset ครบหรือไม่
YMAP Entity อ้าง Archetype ถูกหรือไม่
Asset ถูก Stream หรือไม่
Map Resource อื่น Override/Conflict หรือไม่
Official CodeWalker Workflow แสดงว่า YMAP ต้องมี Entity และ Archetype ที่ถูกกำหนดเพื่อวาง Asset ใน World
㉘ Map ขึ้นแค่บางส่วน
ตัวอย่าง
อาคารขึ้น
โต๊ะหาย
ป้ายหาย
บางกำแพงหาย
ให้ตรวจว่าชิ้นส่วนที่หายเป็น
GTA V Prop เดิม
Custom YDR
Custom YTYP
Shared Asset
อะไร
ถ้า Custom Model บางตัวหาย อาจเกิดจาก YTYP หรือ Streaming Asset ไม่ครบ
ไม่จำเป็นต้องแก้ YMAP ทั้งชุด
㉙ Map ขาวหรือ Texture หาย
ถ้ารูปทรงของอาคารขึ้นครบ แสดงว่า Model มีโอกาสโหลดแล้ว
ให้เน้นตรวจ
YTD
Texture
Material
Shared Texture
หากปัญหาเริ่มหลัง Optimize ให้เปรียบเทียบ YTD กับต้นฉบับ
อย่าแก้ Coordinates เพราะตำแหน่ง Map ไม่ได้เป็นต้นเหตุของ Texture ขาว
㉚ Map กระพริบเกิดจากอะไร
ถ้ามีพื้นผิวหรืออาคารกระพริบเมื่อหมุนกล้อง อาจต้องตรวจ
Geometry ซ้อน
Map ซ้อน
Z-fighting
LOD
Duplicate Entity
โดยเฉพาะกรณีติดตั้ง Map สองตัวในพื้นที่เดียวกัน
ให้ปิดอีก Map หนึ่งแล้วทดสอบก่อน
㉛ Map ซ้อนกับ GTA V เดิม
Custom Map บางตัวถูกออกแบบให้แทนพื้นที่เดิม
หาก Vanilla Asset เดิมยังแสดงอยู่ อาจเกิด
อาคารซ้อน
ประตูซ้อน
ผนังทะลุ
Object ซ้อน
Collision ซ้อน
Map Package อาจมีวิธีจัดการ World เดิมของตัวเอง
ดังนั้นควรติดตั้งทุก Resource/Dependency ที่ Developer ระบุ
ไม่ควร Copy เฉพาะ YMAP แล้วทิ้งส่วนอื่น
㉜ Custom Map สองตัวอยู่ตำแหน่งเดียวกันได้ไหม
ในทางเทคนิค Resources สามารถถูก Start พร้อมกันได้ แต่ถ้าทั้งสองแก้พื้นที่เดียวกันมักเกิด Conflict
ตัวอย่าง
Police Station A
Police Station B
อยู่ตำแหน่งเดียวกัน
อาการอาจเป็น
อาคารซ้อน
FPS ลด
Texture กระพริบ
Collision แปลก
เดินติด
Interior ใช้งานไม่ได้
ควรใช้เพียงชุดที่ต้องการ หรือ Merge โดย Developer ที่เข้าใจ Asset
㉝ วิธีเช็ก Map Conflict แบบเร็ว
สมมติมี
pd_map_a
pd_map_b
ให้ทดสอบ
A เปิด
B ปิด
แล้วสลับ
A ปิด
B เปิด
ถ้าทั้งคู่ปกติเมื่ออยู่เดี่ยว แต่ผิดเมื่อเปิดพร้อมกัน แสดงว่าควรตรวจ Conflict
นี่เป็นวิธีที่มีประสิทธิภาพกว่าการแก้ทั้งสอง Resource พร้อมกัน
㉞ Custom Map กับ MLO Conflict กันได้ไหม
ได้
ตัวอย่างเช่น Outdoor Map หนึ่งตัวแก้ Police Station ภายนอก
แต่ MLO อีกตัวรวม Exterior ของ Police Station มาด้วย
เมื่อเปิดพร้อมกันอาจเกิดการซ้อน
ดังนั้นก่อนติดตั้ง MLO ใหม่ ให้ดูว่ามี
Exterior
Props
YMAP
Removal
Collision
บริเวณเดียวกันหรือไม่
㉟ Custom Map ทำให้ FPS ตกได้หรือไม่
ได้ถ้า Asset ใช้ทรัพยากรมากเกินไป
จุดสำคัญ ได้แก่
Geometry
จำนวน Objects
Texture Resolution
Materials
LOD
Collision
Scripts
LOD เป็นหนึ่งในองค์ประกอบสำคัญ เพราะ Cfx.re แนะนำให้ใช้ Geometry และ Material ที่ง่ายลงใน LOD Model สำหรับระยะไกล
ถ้า FPS ลดเฉพาะเมื่อหันกล้องไปทาง Custom Map ให้ตรวจ Asset Rendering ก่อนสรุปว่า Server CPU ไม่พอ
㊱ Props เยอะเกินไปมีผลไหม
มีผลต่อความซับซ้อนของ Scene
ตัวอย่างร้านอาหารอาจมี
โต๊ะ 30
เก้าอี้ 100
ขวด 200
ของตกแต่ง 300
ถ้าทุก Object มี Model/Material/Collision ของตัวเองจำนวนมาก Performance อาจลดลงได้เมื่อพื้นที่ถูก Render
ดังนั้นคำว่า “Map เล็ก” ไม่ได้แปลว่า “Map เบา”
Interior ห้องเล็กแต่ใส่ Asset จำนวนมหาศาลก็สามารถหนักได้
㊲ Texture 4K ใน Map ทุกจุดจำเป็นไหม
ไม่จำเป็น
Texture ควรมี Resolution ตามขนาดและระยะที่ผู้เล่นมองเห็นจริง
ตัวอย่าง
ป้ายใหญ่หน้าอาคาร
อาจต้องรายละเอียดสูงกว่า
ของตกแต่งเล็กบนโต๊ะ
อาจไม่จำเป็นต้องใช้ Texture Resolution สูงมาก
เมื่อ Map มี Asset จำนวนมาก Texture Budget รวมจะสำคัญกว่าการดูไฟล์หนึ่งไฟล์แยกกัน
㊳ Collision ซับซ้อนเกินไปมีผลไหม
Collision ควรละเอียดเพียงพอให้ Gameplay ทำงานถูกต้อง แต่ไม่จำเป็นต้องจำลอง Geometry Visual ทุกจุดเสมอไป
Cfx.re Collision Workflow แยก Collision Geometry ออกจาก Visual Drawable และใช้ทั้ง Bound Geometry กับ Primitive Shapes ตามความเหมาะสม
ดังนั้นการสร้าง Collision ที่มีรายละเอียดเกินความจำเป็นไม่ใช่เป้าหมายของ Optimization
㊴ Map ไกล ๆ หายเร็วเกินไป
ให้ตรวจ LOD และ Streaming Distance
Official LOD Workflow ของ Cfx.re มีการกำหนด LodDist, ChildLodDist และ LodLevel ให้ HD และ LOD Entities
ถ้าตั้งค่าไม่เหมาะสม อาจเกิด
Building หายเร็ว
Object Pop-in
LOD สลับชัดเกินไป
Map โผล่ช้า
อย่าแก้ด้วยการเพิ่มระยะทุก Object สูงสุดโดยอัตโนมัติ เพราะอาจเพิ่ม Rendering Load โดยไม่จำเป็น
㊵ Map โผล่เมื่อเข้าใกล้มากเกินไป
นี่เป็นอีกอาการของ Streaming/LOD ที่ควรตรวจ
หาก Asset ขนาดใหญ่ เช่นอาคาร ควรสามารถเห็นได้จากระยะที่สมเหตุสมผล
แต่การตั้ง Draw Distance สูงเกินทุก Asset ก็ไม่ใช่คำตอบ
ควรมี
HD
↓
LOD
ที่สัมพันธ์กัน
โดยเฉพาะ Map ขนาดใหญ่
㊶ Custom Map ทำให้ Server Lag หรือ Client Lag
ต้องแยกสองอย่าง
Client FPS/Streaming
มักเกี่ยวกับ
Geometry
Texture
LOD
จำนวน Assets
Rendering
Server Runtime
อาจเกี่ยวกับ
Script ที่มากับ Map
Door Script
Interaction Script
Runtime Logic
ดังนั้นถ้า Map สวยแต่ FPS ต่ำเฉพาะบริเวณนั้น ให้ตรวจ Assets
ถ้า Server Resource CPU สูง ให้ตรวจ Scripts แยก
㊷ Map มี Script มาด้วยควรระวังอะไร
Custom Map บางตัวไม่ได้มีเพียง Streaming Files
อาจมี
Door Lock
Teleport
Elevator
IPL Script
Interaction
Lights
Dynamic Props
ดังนั้นก่อน Optimize Map ต้องแยกว่าปัญหามาจาก
Asset
หรือ
Script
อย่าลด Texture เพื่อแก้ Resource Script ที่ใช้ CPU สูง
㊸ Map โหลดนานตอนเข้า Server
อาจเกี่ยวข้องกับหลายปัจจัย เช่น
Resource Download
Asset Volume
Map Files
Collision
Client Storage/Cache
จึงควรดู Resource ขนาดใหญ่และ Asset Structure โดยรวม
สำหรับ Map ใหญ่มาก ควรทำ Performance Test กับ Client ใหม่ที่ยังไม่มี Resource Cache ด้วย เพื่อดูประสบการณ์ผู้เล่นครั้งแรก
㊹ Custom Map ควรแยก Resource หรือรวมกัน
โดยทั่วไปการแยกตาม Map ช่วยจัดการง่าย
ตัวอย่าง
[maps]/
├── police_station/
├── hospital/
├── mechanic/
├── dealership/
└── racetrack/
ข้อดี
Stop แยกได้
Update แยกได้
Debug ง่าย
หา Conflict ง่าย
Rollback ง่าย
FiveM Resource Manifest และ Resource System ถูกออกแบบให้ Content ถูกจัดเป็น Resources แยกกันได้
㊺ รวม Map ทั้ง Server ไว้ Resource เดียวดีไหม
ไม่จำเป็น
การรวมทุกอย่างอาจลดจำนวน Resource Name แต่แลกกับ
Debug ยาก
Update ยาก
File Conflict
Rollback ยาก
ไม่รู้ว่า Asset เป็นของ Map ไหน
จำนวน Resource เพียงอย่างเดียวไม่ควรเป็นเป้าหมายหลัก
เป้าหมายควรเป็น โครงสร้างที่ดูแลได้
㊻ Map ฟรีกับ Map เสียเงินเลือกอย่างไร
อย่าดูเพียงราคา
ควรดู
Performance
Collision
Texture
LOD
Updates
Support
Dependencies
License
Compatibility
Reviews/Feedback ที่เชื่อถือได้
Map ฟรีที่ทำดีอาจใช้งานได้ดีกว่า Map ราคาแพงที่ Optimize ไม่ดี และในทางกลับกัน
ควรทดสอบใน Staging Server ก่อน Production เสมอ
㊼ Asset Escrow Map คืออะไร
Cfx.re มี Asset Escrow สำหรับปกป้อง Creator Assets โดยเอกสารปัจจุบันระบุการรองรับไฟล์บางประเภท เช่น Lua, YFT, YDD และ YDR
Map Commercial บางตัวจึงอาจมีไฟล์ที่ถูก Protect
Server Owner ควรใช้งานตาม License และระบบที่ Creator/Cfx.re กำหนด
ไม่ควรพยายามแกะ Protection
㊽ Custom Map ต้องรองรับ Framework ไหม
Map ที่เป็นเพียง Streaming Asset อาจไม่เกี่ยวกับ ESX, QBCore หรือ Framework เลย
แต่ Package บางตัวมี
Door Script
Job Interaction
Stash
Boss Menu
Elevator
จึงอาจต้องใช้ Framework หรือ Script เพิ่ม
ควรแยก
Map Asset
จาก
Gameplay Integration
ให้ชัด
㊾ วิธีทดสอบ Custom Map ก่อนเปิดจริง
ควรทดสอบอย่างน้อย
ภายนอก
อาคารขึ้นครบ
ไม่มี Object ซ้อน
Interior
ห้องครบ
ไม่มีช่องโหว่
Texture
ไม่มีสีขาว/ดำผิดปกติ
Collision
เดินไม่ทะลุ
ไม่มี Invisible Wall
Doors
เปิดปิดได้ตามระบบ
Vehicles
ขับเข้าออกได้
LOD
มองไกลแล้วไม่ Pop-in ผิดปกติ
FPS
หมุนกล้องทุกทิศ
Multiplayer
ทดสอบหลาย Client
Conflict
เปิด Map อื่นที่อยู่ใกล้กันแล้วตรวจซ้ำ
㊿ วิธี Debug FiveM Custom Map แบบเร็วที่สุด
ใช้ลำดับนี้
ขั้นที่ 1
ตรวจว่า Resource Start
ขั้นที่ 2
ดู Server Console
ขั้นที่ 3
ดู F8
ขั้นที่ 4
ตรวจ fxmanifest.lua
ถ้าใช้ GTA Map Resource ให้ตรวจโครงสร้างรวมถึง this_is_a_map ตาม Resource Design โดย Directive นี้มีหน้าที่ Mark Resource เป็น Map และ Reload Map Storage
ขั้นที่ 5
ตรวจ YMAP
ขั้นที่ 6
ตรวจ YTYP
ขั้นที่ 7
ตรวจ YDR
ขั้นที่ 8
ตรวจ YTD
ขั้นที่ 9
ตรวจ YBN/Collision
ขั้นที่ 10
ตรวจ LOD
ขั้นที่ 11
ปิด Map อื่นในพื้นที่เดียวกัน
ขั้นที่ 12
ทดสอบ Resource เดี่ยว
ตารางสรุปปัญหา FiveM Custom Map
| อาการ | จุดที่ควรตรวจ |
|---|---|
| Map ไม่ขึ้นเลย | Resource / YMAP / Manifest |
| Custom Model หาย | YDR / YTYP |
| Texture ขาว | YTD / Material |
| เดินทะลุ | YBN / Collision |
| Invisible Wall | Visual Asset / Collision |
| Object อยู่ผิดที่ | YMAP |
| อาคารซ้อน | Map Conflict |
| Texture กระพริบ | Geometry/Map ซ้อน |
| Map โผล่ช้า | LOD / Streaming |
| Map หายเมื่ออยู่ไกล | LOD Distance |
| FPS ตก | Geometry / Texture / LOD |
| Interior ผิด | MLO/Map Conflict |
| Map เดี่ยวปกติ เปิดสองตัวแล้วเสีย | Resource Conflict |
| Restart แล้ว Map หาย | server.cfg / Resource Startup |
Custom Map ที่ดีควรมีลักษณะอย่างไร
Custom Map ที่ดีควร
วางตำแหน่งถูกต้อง
Model ไม่ซับซ้อนเกินจำเป็น
Texture เหมาะสม
Collision ถูกต้อง
LOD ทำงานดี
ไม่มี Objects ซ้ำโดยไม่จำเป็น
ไม่มี Conflict กับ Map หลัก
Resource เป็นระเบียบ
Dependencies ชัดเจน
FPS เหมาะสม
Update/Backup ง่าย
Official Cfx.re Asset Workflow ครอบคลุมทั้ง Custom Asset Creation, YTYP, YMAP Placement, Collision และ LOD ซึ่งสะท้อนว่า Map ที่ดีต้องพิจารณาหลายส่วนร่วมกัน ไม่ใช่เพียงความสวยของ Model
Custom Map ควร Optimize ก่อนขึ้น Production หรือไม่
ควร
ใช้ Workflow เช่น
ดาวน์โหลด/ซื้อ Map
↓
ตรวจ License
↓
อ่าน Dependencies
↓
Test Resource เดี่ยว
↓
ตรวจ Model
↓
ตรวจ Texture
↓
ตรวจ Collision
↓
ตรวจ LOD
↓
ตรวจ FPS
↓
ตรวจ Conflict
↓
Production
อย่านำ Map 20 ตัวเข้า Server พร้อมกันแล้วค่อยเริ่ม Test เพราะถ้าเกิดปัญหาจะหาต้นเหตุยากมาก
สรุป FiveM Custom Map คืออะไร
FiveM Custom Map คือ Content ที่ใช้เพิ่มหรือเปลี่ยนโลก GTA V บน FiveM Server ตั้งแต่ Props เล็ก ๆ ไปจนถึงอาคาร Interior MLO สนามแข่ง และเกาะขนาดใหญ่
ไฟล์ที่ควรรู้จักคือ
YMAP → ตำแหน่งและ Entities
YTYP → Archetype
YDR → Model
YTD → Texture
YBN → Collision
FiveM Resource Manifest มี this_is_a_map สำหรับ Mark Resource เป็น GTA Map และ Cfx.re มี Official Workflow สำหรับสร้าง YMAP, Custom Assets, Collision และ LOD ผ่านเครื่องมืออย่าง CodeWalker และ Blender/Sollumz
ถ้า Custom Map มีปัญหา ให้แยกจากอาการก่อน
ไม่ขึ้น → Resource/YMAP/YTYP
Model หาย → YDR/YTYP
Texture หาย → YTD
เดินทะลุ → YBN/Collision
ไกลแล้วผิด → LOD
FPS ตก → Geometry/Texture/LOD
เปิด Map หลายตัวแล้วเสีย → Conflict
แนวทางของ comsiam คือเก็บ Custom Maps เป็น Resources ที่แยกเป็นระบบ ติดตั้งทีละตัวและทดสอบทั้งภาพ Collision LOD และ Performance ก่อนนำขึ้น Production เพราะการป้องกัน Map Conflict ตั้งแต่ต้นง่ายกว่าการไล่หาว่า Map ตัวใดสร้างปัญหาหลัง Server มี Custom Assets จำนวนมากแล้ว
Comments
Post a Comment