FiveM Collision คืออะไร ทำไม Map ถึงเดินทะลุ ตกพื้น หรือชนกำแพงล่องหน

 ปัญหา FiveM Map เดินทะลุ กำแพงไม่มี Collision ตกพื้น รถทะลุอาคาร หรือชนกำแพงล่องหน เกี่ยวข้องโดยตรงกับระบบ Collision ของ GTA V/FiveM มากกว่าความสวยงามของ Model หรือ Texture

Collision คือข้อมูลที่บอก Game Engine ว่า พื้นที่ใดสามารถชนได้ พื้นตรงไหนรองรับตัวละคร กำแพงอยู่ตำแหน่งใด และรถหรือผู้เล่นควรถูกหยุดเมื่อสัมผัส Object ตรงไหน

Cfx.re แบ่ง Collision Asset Workflow ออกเป็นทั้ง World Collision ที่สามารถอยู่ในไฟล์ .ybn และ Embedded Model Collision ที่สร้าง Bounds ไว้ภายใน Drawable โดยใช้โครงสร้างอย่าง Bound GeometryBVH, Bound Poly Mesh และ Bound Poly Box

บทความนี้จาก comsiam จะอธิบาย FiveM Collision แบบละเอียด ตั้งแต่ว่าทำไม Map ถึงเดินทะลุ ความแตกต่างระหว่าง YBN กับ Embedded Collision ไปจนถึงวิธีแก้ Invisible Wall และ Collision Conflict

FiveM Collision คืออะไร

Collision คือข้อมูลทางกายภาพที่ Game Engine ใช้กำหนดว่าผู้เล่น รถ และ Entity ต่าง ๆ สามารถชนกับพื้นผิวใดได้

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

กำแพงที่มองเห็น
+
Collision
=
ผู้เล่นเดินผ่านไม่ได้

แต่ถ้า

กำแพงที่มองเห็น
+
ไม่มี Collision
=
ผู้เล่นเดินทะลุ

ดังนั้น Visual Model กับ Collision เป็นคนละส่วนที่ต้องทำงานสัมพันธ์กัน

① Collision ไม่ใช่ Model

สิ่งแรกที่ต้องเข้าใจคือ

Model
≠
Collision

Model คือสิ่งที่ผู้เล่นมองเห็น

Collision คือสิ่งที่ Game Engine ใช้ในการชน

จึงสามารถเกิดกรณี

เห็นกำแพง
แต่เดินทะลุ

หรือกลับกัน

ไม่เห็นกำแพง
แต่เดินชน

ได้

Cfx.re Documentation แยกการสร้าง/แก้ Collision ออกจาก Drawable Assets อย่างชัดเจน

② FiveM Map เดินทะลุเกิดจากอะไร

สาเหตุที่พบบ่อย ได้แก่

  • Collision File หาย

  • YBN ไม่ได้ Stream

  • Embedded Collision หาย

  • Collision Mesh มีช่อง

  • Bound Structure ผิด

  • Collision Material ผิด

  • Collision Position ไม่ตรง Model

  • Scale ผิด

  • Rotation ผิด

  • Collision Asset ถูกเขียนทับ

  • Map สองตัว Conflict กัน

ดังนั้นอย่าเริ่มจากล้าง Cache หากผู้เล่นทุกคนเดินทะลุจุดเดียวกัน

③ YBN คือ Collision ใช่ไหม

YBN เป็นไฟล์ที่ใช้กับ World Collision

Cfx.re Official Collision Workflow ระบุขั้นตอนให้เลือก Collision ใน CodeWalker แล้วดูชื่อ .ybn จากนั้น Export เป็น XML เพื่อนำไปแก้ใน Blender และ Export กลับเป็น .ybn อีกครั้ง

ตัวอย่าง

city_collision.ybn
building_collision.ybn
road_collision.ybn

แต่ไม่ได้หมายความว่า Collision ทุก Object ต้องมี YBN แยก

④ Embedded Collision คืออะไร

Collision สามารถฝังอยู่ใน Drawable Asset ได้ด้วย

Cfx.re เรียกว่า Embedded Model Collisions

Workflow เริ่มจากเลือก Drawable แล้วใช้

Collisions
→ Create Bounds
→ Create Bound

จากนั้นสร้างโครงสร้าง Bounds ภายใน Drawable

ดังนั้น Custom Prop บางตัวอาจมี Collision โดยไม่ต้องมี .ybn แยก

⑤ World Collision กับ Embedded Collision ต่างกันอย่างไร

จำง่าย ๆ

World Collision
→ มักเกี่ยวข้องกับ .ybn

Embedded Collision
→ Collision อยู่กับ Drawable Asset

Cfx.re แยกสอง Workflow นี้ออกเป็นคนละส่วนใน Collision Documentation อย่างชัดเจน

ดังนั้นเวลาเจอ Map เดินทะลุ ต้องรู้ก่อนว่า Asset ใช้ Collision แบบไหน

⑥ YDR กับ Collision ต่างกันอย่างไร

YDR เกี่ยวข้องกับ Drawable/Model

Collision เกี่ยวข้องกับการชน

ตัวอย่าง

building.ydr

อาจแสดงอาคารได้ครบ

แต่ถ้า Collision ที่ต้องใช้หาย ผู้เล่นก็ยังเดินทะลุอาคารนั้นได้

ดังนั้น

เห็น Model ไม่ได้แปลว่า Collision โหลดแล้ว

⑦ YTD เกี่ยวกับ Collision หรือไม่

YTD เกี่ยวกับ Texture ไม่ใช่ Collision

ถ้าเกิด

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

ให้ตรวจ YTD/Material

แต่ถ้า

กำแพงสวยปกติ
แต่เดินทะลุ

ให้ตรวจ Collision

อย่าสับสนสองปัญหานี้

⑧ YMAP เกี่ยวกับ Collision หรือไม่

YMAP เน้น Map Placement และ Entity Placement

ส่วน Collision เป็นอีก Layer

ดังนั้นหาก

อาคารอยู่ตำแหน่งผิด

ให้ตรวจ YMAP

แต่ถ้า

อาคารอยู่ถูกที่
แต่ Collision อยู่ผิดตำแหน่ง

ให้ตรวจ Collision Asset/Transform

⑨ ทำไม Model อยู่ตรงหนึ่ง แต่ Collision อยู่คนละที่

สาเหตุอาจเกิดจาก

  • ย้าย Visual Model แต่ไม่ได้ย้าย Collision

  • Collision Export ด้วย World Coordinates ผิด

  • Scale ไม่ตรง

  • Rotation ไม่ตรง

  • Map ถูกแก้หลัง Collision ถูกสร้าง

  • Global Collision เดิมยังอยู่

Cfx.re ระบุว่า World Collision Objects ใหม่ควรถูกจัดวางใน World Coordinates ก่อน Export จึงต้องรักษาตำแหน่งให้สัมพันธ์กับพื้นที่จริง

⑩ Invisible Wall คืออะไร

Invisible Wall คืออาการ

ผู้เล่นเดิน
↓
ชนบางอย่าง
↓
แต่ไม่มี Object ให้เห็น

ต้นเหตุอาจเป็น

  • Collision เก่ายังอยู่

  • Model ถูกลบแล้ว

  • YDR ไม่โหลด

  • YBN ของ Map เก่ายังทำงาน

  • Map ใหม่กับ Map เดิมซ้อนกัน

นี่เป็นปัญหาตรงข้ามกับ “เห็น Model แต่เดินทะลุ”

⑪ ทำไมลบ Building แล้วกำแพงล่องหนยังอยู่

เพราะ Visual Object กับ Collision อาจไม่ได้อยู่ใน Asset เดียวกัน

Cfx.re World Editor ระบุข้อจำกัดว่า Buildings บางประเภทมี Collision เป็นส่วนหนึ่งของ Global Collision Mesh และการย้าย Visual Building ไม่ได้หมายความว่า Global Collision จะถูกย้ายตาม

จึงสามารถเกิด

Building หายแล้ว
แต่ Collision เดิมยังอยู่

ได้

⑫ ทำไมย้ายอาคารแล้วตำแหน่งเก่ายังชนอยู่

เหตุผลเดียวกัน

ถ้า Building ใช้ Global Collision Mesh

Visual Building
↓
ย้ายไปตำแหน่งใหม่

แต่

Global Collision
↓
ยังอยู่ตำแหน่งเดิม

ผู้เล่นอาจชน Invisible Building ที่ตำแหน่งเก่า ขณะที่อาคารใหม่ไม่มี Collision ถูกต้อง

Cfx.re เตือนเรื่องข้อจำกัดนี้โดยตรงใน World Editor Documentation

⑬ Props เล็กย้าย Collision ตามได้ง่ายกว่าไหม

ในบางกรณีใช่ โดยเฉพาะ Object ที่ใช้ Embedded Collision

Cfx.re World Editor ระบุว่า Patch Existing Objects ปัจจุบันจำกัดอยู่กับ Objects ที่มี Embedded Collision ขณะที่ Objects ซึ่ง Collision เป็นส่วนหนึ่งของ Global Collision Mesh มีข้อจำกัดมากกว่า

จึงมักพบว่า Props บางชนิดจัดการง่ายกว่า Building ใหญ่

⑭ Bound คืออะไร

Bound คือส่วนหนึ่งของ Collision Structure

สำหรับ Embedded Collision Cfx.re ให้สร้าง Bounds จาก Drawable แล้วเปลี่ยนโครงสร้างเป็น

Bound GeometryBVH

ก่อนเพิ่ม Collision Shapes เข้าไป

พูดง่าย ๆ คือเป็น Container/Structure สำหรับ Collision ของ Asset

⑮ Bound GeometryBVH คืออะไร

ใน Official Workflow หลังสร้าง Bound จาก Drawable จะให้เปลี่ยน

Bound Composite

เป็น

Bound GeometryBVH

จากนั้นจึงสร้าง Collision Mesh หรือ Primitive Collision ภายใน

นี่เป็นขั้นตอนสำคัญของ Embedded Collision

⑯ Apply Flag Preset คืออะไร

หลังสร้าง Bound GeometryBVH Cfx.re ให้เลือก BVH แล้วใช้

Apply Flag Preset

ก่อนสร้าง Collision Geometry ภายใน

ดังนั้นการสร้าง Collision ไม่ใช่เพียงวาดกล่องรอบ Model แล้วจบ

Flags และ Structure ต้องถูกต้องด้วย

⑰ Bound Poly Mesh คืออะไร

ถ้า Collision เป็น Mesh Geometry Cfx.re ระบุให้ตั้ง Sollumz Type เป็น

Bound Poly Mesh

เหมาะกับ Collision ที่ต้องตามรูปทรงมากกว่ากล่องธรรมดา เช่น

  • ทางลาด

  • พื้นต่างระดับ

  • Geometry ที่มีรูปทรงเฉพาะ

⑱ Bound Poly Box คืออะไร

สำหรับ Collision รูปทรง Box ใช้

Bound Poly Box

ตาม Official Workflow

เหมาะกับ

  • กำแพงเรียบ

  • Counter

  • กล่อง

  • พื้นบางประเภท

  • Object ทรงสี่เหลี่ยม

การใช้ Box เมื่อเหมาะสมช่วยไม่ให้ Collision ซับซ้อนเกินจำเป็น

⑲ Collision Mesh ต้องเหมือน Model 100% หรือไม่

ไม่จำเป็น

Visual Model อาจมีรายละเอียดจำนวนมาก เช่น

  • ร่อง

  • ขอบ

  • Decorations

  • Bolt

  • Ornament

แต่ Collision อาจต้องการเพียงรูปทรงหลักที่ผู้เล่นสัมผัส

Cfx.re Workflow รองรับทั้ง Mesh และ Primitive Shapes จึงไม่จำเป็นต้องใช้ Visual Geometry ทุก Polygon เป็น Collision

⑳ ใช้ Model ทั้งก้อนทำ Collision ดีไหม

ไม่ควรใช้เป็น Default

สมมติ Model มี

200,000 polygons

แต่ Collision จริงอาจต้องการเพียง

พื้น
กำแพง
บันได
Counter

บางส่วน

การ Copy Geometry ทั้งหมดมาทำ Collision ทำให้ Collision ซับซ้อนเกิน Gameplay ต้องการ

㉑ Collision Material คืออะไร

Collision Object ต้องมี Material ที่เหมาะสม

Cfx.re ระบุว่าเมื่อสร้าง Collision Object ใหม่ ควรสร้าง Collision Material ให้กับ Mesh แต่ละตัว และตรวจ Sollumz Type ให้ถูกต้อง

ดังนั้นมี Mesh อย่างเดียวไม่ใช่ Collision Setup ที่สมบูรณ์

㉒ Collision Flags สำคัญไหม

สำคัญ

Cfx.re ระบุว่า Collision Object ต้อง Parent ไปยัง Bound GeometryBVH ที่มี Flags ถูกต้อง และใน Embedded Workflow ยังมีขั้นตอน Apply Flag Preset โดยตรง

ถ้า Flags/Hierarchy ผิด Collision อาจไม่ทำงานตามที่คาด

㉓ ทำไมพื้นมองเห็นแต่ผู้เล่นตก

อาการ

Floor Model → ขึ้น
Floor Texture → ขึ้น
Player → ตก

แสดงว่า Visual Asset ทำงาน แต่ควรตรวจ Collision

สาเหตุอาจเป็น

  • Floor Collision ไม่มี

  • Collision Mesh มีรู

  • YBN หาย

  • Embedded Bounds หาย

  • Collision อยู่ผิดตำแหน่ง

อย่าแก้ YTD เพราะ Texture ไม่ใช่ตัวรองรับผู้เล่น

㉔ ตกพื้นเฉพาะบางจุด

ถ้าพื้นส่วนใหญ่เดินได้แต่ตกเฉพาะบริเวณเล็ก ๆ ให้สงสัยว่า Collision Mesh

  • มีช่อง

  • ไม่ครอบพื้นที่

  • Geometry ขาด

  • Polygon ผิด

  • Collision ถูกตัดออก

ให้เปิด Collision ใน Editor แล้วตรวจตำแหน่งนั้นโดยตรง

㉕ เดินทะลุกำแพงแค่บางด้าน

อาจเกิดจาก Collision Mesh ไม่ครอบ Wall ทั้งหมด หรือ Collision Object ถูกสร้างไม่ครบ

อย่าเปลี่ยน YBN ทั้ง Project ถ้าปัญหาเกิดเฉพาะ Wall หนึ่งชิ้น

ให้แยก Object นั้นแล้วตรวจ

Geometry
Bound
Material
Flags
Transform

㉖ รถทะลุแต่คนไม่ทะลุเกิดจากอะไร

ถ้า Collision Behavior ต่างกันตาม Entity Type ให้ตรวจ Collision Setup เพิ่ม เช่น

  • Collision Material

  • Flags

  • Bound Type

  • Geometry

เพราะ Collision ที่มีอยู่ไม่ได้หมายความว่าการตั้งค่าทุกอย่างถูกต้อง

Official Cfx.re Workflow ให้ตรวจทั้ง Sollumz Type, Collision Material และ Flags ไม่ใช่ Geometry เพียงอย่างเดียว

㉗ รถเด้งเมื่อชน Map เกิดจาก Collision ไหม

อาจใช่

ถ้า Collision Geometry

  • ซ้อน

  • มีขอบผิดรูป

  • ไม่ตรง Model

  • มี Surface ซ้อนกัน

Vehicle Physics อาจตอบสนองผิดปกติ

โดยเฉพาะบริเวณ

  • Ramp

  • Garage Entrance

  • Sidewalk

  • Bridge

  • Gate

ควรตรวจ Collision Overlay มากกว่าดู Visual Model เพียงอย่างเดียว

㉘ รถติดตรงทางเข้าทั้งที่ไม่มีอะไร

นี่คืออาการของ Invisible Collision ได้

ตรวจ

  • Map เก่า

  • Collision เก่า

  • YBN Resource

  • Global Collision

  • MLO เก่า

  • Door Collision

ก่อนสร้างทางเข้าใหม่

㉙ Garage Door เปิดแล้วรถยังผ่านไม่ได้

มีโอกาสที่

Door Visual
→ เปิดแล้ว

Door Collision
→ ยังอยู่ตำแหน่งเดิม

จึงต้องตรวจ Embedded Collision/Bounds ของ Door

โดยเฉพาะ Custom Dynamic Door ที่มีการแก้ Transform หรือ Collision หลังสร้าง Asset

㉚ Collision ของประตูสำคัญอย่างไร

ประตูเป็น Dynamic Asset จึงต้องให้

  • Model

  • Origin

  • Animation

  • Collision

ทำงานสัมพันธ์กัน

ถ้า Collision ไม่เคลื่อนตาม Door ผู้เล่นจะเจอ

ประตูเปิด
แต่ยังชน

หรือ

ประตูปิด
แต่เดินทะลุ

ได้

㉛ Collision ของบันไดควรทำอย่างไร

ขึ้นอยู่กับ Gameplay

ไม่จำเป็นต้องให้ Collision ตามร่องของทุกขั้นเสมอไป

บาง Map อาจใช้ Collision Surface ที่เรียบกว่าเพื่อให้ Player Movement ลื่น

แต่ต้องทดสอบ

  • เดิน

  • วิ่ง

  • กระโดด

  • ขึ้นลง

จริงในเกม

㉜ Collision ของทางลาดควรใช้ Mesh หรือ Box

ถ้าทางลาดมี Surface เอียง การใช้ Mesh ที่ตรงกับความลาดอาจเหมาะกว่า Box ธรรมดา

Cfx.re รองรับทั้ง Bound Poly Mesh และ Bound Poly Box จึงควรเลือกตาม Geometry จริง

หลักคือใช้รูปทรงที่ง่ายที่สุดแต่ยังให้ Gameplay ถูกต้อง

㉝ Collision ของกำแพงควรละเอียดแค่ไหน

กำแพงเรียบทั่วไปไม่จำเป็นต้องมี Collision Geometry ซับซ้อน

อาจใช้ Box ครอบพื้นที่หลักได้

แต่หากกำแพงมี

  • ช่องประตู

  • หน้าต่างที่เดินผ่านได้

  • ช่องทางเดิน

ต้องสร้าง Collision ให้เว้นพื้นที่เหล่านั้นอย่างเหมาะสม

ไม่เช่นนั้นอาจเกิด Invisible Wall ปิดทางเดิน

㉞ Collision ของ Furniture จำเป็นไหม

ขึ้นอยู่กับ Gameplay

โต๊ะขนาดใหญ่

มักควรมี

เก้าอี้ตกแต่งที่ผู้เล่นไม่ต้อง Interaction

อาจใช้ Collision ที่ง่ายกว่า

ขวดเล็ก ๆ หลายร้อยใบ

ไม่จำเป็นต้องให้แต่ละขวดมี Collision ละเอียดเสมอไป

ต้องรักษาสมดุลระหว่างความสมจริงกับ Asset Complexity

㉟ Props เยอะและทุกตัวมี Collision มีผลไหม

Scene ที่มี Props จำนวนมากพร้อม Collision จำนวนมากย่อมเพิ่ม Complexity ของพื้นที่

ตัวอย่าง

500 Props
+
500 Detailed Collisions

อาจไม่ใช่ Design ที่เหมาะกับ Server Production

ควรพิจารณาว่า Object ใดต้องชนจริง

㊱ Collision Optimization คืออะไร

คือการทำ Collision ให้

ง่ายพอที่จะประมวลผลได้ดี แต่แม่นพอที่จะไม่ทำลาย Gameplay

หลักสำคัญ เช่น

  • ลด Geometry ที่ไม่จำเป็น

  • ใช้ Primitive Shapes เมื่อเหมาะ

  • ใช้ Mesh เฉพาะพื้นที่ซับซ้อน

  • ตรวจ Material

  • ตรวจ Flags

  • ตรวจ Bounds

  • ตรวจ Transform

  • ไม่ทำ Collision ซ้ำ

㊲ Collision ซ้อนกันเกิดอะไร

ถ้า Map สองตัวมี Collision ในบริเวณเดียวกัน อาจเกิด

  • เดินติด

  • รถเด้ง

  • ขึ้นบันไดไม่ได้

  • Collision สูงกว่าพื้น

  • Invisible Wall

  • Player กระตุก

จึงต้องตรวจ Resource Conflict ด้วย ไม่ใช่ดู YBN ตัวเดียว

㊳ Map A และ Map B เปิดเดี่ยวปกติ แต่เปิดพร้อมกันเดินไม่ได้

นี่เป็น Pattern ที่ชัดเจนของ Conflict

ทดสอบ

Map A ON
Map B OFF

จากนั้น

Map A OFF
Map B ON

แล้ว

Map A ON
Map B ON

ถ้าสองรอบแรกปกติแต่รอบสุดท้ายผิด ให้ตรวจ Collision/Map Overlap

㊴ วิธีหา Collision Conflict แบบเร็ว

ใช้ Isolation Test

สมมติมี

pd_mlo
city_map
road_mod
vanilla_patch

เปิดเฉพาะ

pd_mlo

ก่อน

จากนั้นเพิ่ม Resource ทีละตัว

เมื่อ Collision เริ่มผิด Resource ล่าสุดคือจุดที่ควรตรวจต่อ

㊵ MLO ใหม่เดินทะลุหลังลบ MLO เก่า

ตรวจว่า MLO ใหม่มี Collision Assets ครบหรือไม่

บางครั้งผู้ดูแล Server

Copy YMAP
Copy YDR
Copy YTD

แต่ลืม

YBN
หรือ Embedded Collision Asset

ทำให้ภาพขึ้นครบแต่ไม่มี Physics

ควรติดตั้ง Original Resource ทั้งชุดก่อน Merge

㊶ Merge Map แล้ว Collision หาย

ถ้า Original Resources ทำงานปกติแต่หลัง Merge เดินทะลุ ให้ตรวจ

  • YBN Copy ครบหรือไม่

  • Filename ซ้ำหรือไม่

  • Asset ถูก Replace หรือไม่

  • Folder stream ครบหรือไม่

  • Collision Embedded อยู่ใน YDR ที่ถูก Replace หรือไม่

อย่าเริ่มสร้าง Collision ใหม่ก่อนเปรียบเทียบ Original

㊷ YBN ชื่อซ้ำกันต้องระวังอะไร

สมมติ

map_a/collision.ybn
map_b/collision.ybn

เป็นคนละ Asset แต่ชื่อเหมือนกัน

ถ้า Merge เข้า Folder เดียวแล้วกด Replace จะเหลือเพียงหนึ่งไฟล์

ผลคือ Map อีกตัวอาจไม่มี Collision ที่ถูกต้อง

นี่เป็นหนึ่งในเหตุผลที่ไม่ควร Merge Resources ด้วยการ Copy/Replace แบบไม่ตรวจชื่อ Asset

㊸ Rename YBN เพื่อแก้ชื่อชนได้ไหม

ไม่ควร Rename แบบสุ่ม

ต้องเข้าใจว่า Collision Asset นั้นสัมพันธ์กับ World/Map Data อย่างไร

เปลี่ยนชื่อไฟล์อย่างเดียวไม่ได้รับประกันว่า Asset References หรือ Game Data ที่เกี่ยวข้องจะตามชื่อใหม่

ถ้าไม่จำเป็น การแยก Maps เป็น Resources คนละตัวมัก Debug ง่ายกว่า

㊹ Collision อยู่สูงกว่าพื้น

อาการคือ

Player เดินเหมือนลอย

หรือรถวิ่งสูงกว่าถนน

ให้ตรวจ

  • Z Position

  • Scale

  • Transform

  • Collision Geometry

โดยเฉพาะ World Collision ที่ต้องวางใน World Coordinates ตาม Workflow ของ Cfx.re

㊺ Collision อยู่ต่ำกว่าพื้น

ผู้เล่นอาจจมลงในพื้นก่อนชน Collision

ตัวอย่าง

Visual Floor Z = 30
Collision Z = 29.5

ทำให้เท้าหรือรถจมเข้า Visual Geometry

แก้โดยทำให้ Collision Surfaceสัมพันธ์กับตำแหน่ง Visual

㊻ Collision ใหญ่กว่า Model

ถ้าชนก่อนถึงกำแพง ให้ตรวจ Scale

ตัวอย่าง

Visual Wall
|-----------|

Collision
|---------------------|

ผู้เล่นจะถูกหยุดก่อนถึงผนังที่เห็น

นี่เป็น Geometry/Transform Problem ไม่ใช่ Texture

㊼ Collision เล็กกว่า Model

อาการคือผู้เล่นสามารถเดินเข้าไปในกำแพงบางส่วนก่อนจะชน

ตัวอย่าง

Visual
|----------------|

Collision
    |--------|

ควรปรับ Collision ให้ครอบพื้นที่ที่ Gameplay ต้องการ

㊽ Collision Rotation ผิด

ถ้า Model หัน 90 องศา แต่ Collision ไม่หมุนตาม จะเกิด Invisible Collision รอบพื้นที่

ตรวจ

  • Rotation

  • Applied Transform

  • Asset Export

  • Parent Structure

อย่าพยายามแก้ด้วยการหมุน YMAP ถ้า Visual Model อยู่ถูกแล้ว

㊾ World Coordinates สำคัญแค่ไหน

สำคัญมากสำหรับ World Collision

Cfx.re ระบุว่าเมื่อเพิ่ม Collision Objects ใหม่ใน YBN Workflow ควรวาง Object ใน World Coordinates ก่อน Export

ดังนั้นหาก Origin/Transform ผิด Collision อาจไปโผล่อีกตำแหน่งได้

㊿ CodeWalker ใช้ดู Collision อย่างไร

Official Cfx.re Workflow คือ

เปิด CodeWalker World View
↓
Selection
↓
เปลี่ยน Entity เป็น Collision
↓
เลือก Collision
↓
ดูชื่อ .ybn

จากนั้นเปิด RPF Explorer เพื่อ Export YBN เป็น XML สำหรับแก้ไข

นี่เป็นวิธีที่ตรงที่สุดสำหรับหา World Collision ที่กำลังชนผู้เล่น

51. Blender ใช้แก้ Collision ได้ไหม

ได้

Cfx.re Workflow ให้

YBN
↓
Export XML จาก CodeWalker
↓
Import Blender
↓
แก้ Collision
↓
Export .ybn

โดยใช้ Sollumz สำหรับ Collision Asset Types และ Materials

จึงสามารถแก้ทั้ง Geometry และเพิ่ม Collision Objects ใหม่ได้

52. วิธีเพิ่ม Collision ใหม่

ตาม Workflow ของ Cfx.re ต้องดูมากกว่า Geometry

ขั้นตอนหลักคือ

สร้าง Collision Object
↓
วาง World Coordinates
↓
สร้าง Collision Material
↓
กำหนด Sollumz Type
↓
Parent เข้า Bound GeometryBVH
↓
ตรวจ Flags
↓
Export

หากข้ามขั้นตอน Structure หรือ Material อาจทำให้ Collision ทำงานผิด

53. วิธีทดสอบ Collision ในเกม

อย่าทดสอบแค่เดินชนกำแพงหนึ่งครั้ง

ควรทดสอบ

เดิน
วิ่ง
กระโดด
หมอบ/Animation
รถยนต์
มอเตอร์ไซค์
รถขนาดใหญ่

รวมทั้งตรวจ

  • พื้น

  • บันได

  • ทางลาด

  • ประตู

  • มุมกำแพง

  • ชั้นสอง

  • ขอบอาคาร

54. ทำไมควรทดสอบด้วยรถ

Character Collision กับ Vehicle Physics อาจทำให้เห็นปัญหาคนละแบบ

พื้นที่ที่คนเดินผ่านปกติอาจทำให้รถ

  • กระโดด

  • เด้ง

  • ติด

  • กระแทก Invisible Collision

จึงควร Test Map ที่มีถนนหรือ Garage ด้วยรถจริง

55. Collision ผิดเฉพาะผู้เล่นคนเดียว

ถ้า Server และ Client ส่วนใหญ่ชนปกติ แต่ Player เครื่องเดียวมีอาการ ให้ตรวจ Client State/Streaming เพิ่ม

แต่ถ้า

ผู้เล่นทุกคน
+
ตำแหน่งเดียวกัน
+
เดินทะลุเหมือนกัน

ควรตรวจ Asset/Collision ฝั่ง Resource ก่อน

อย่าบังคับทุกคนล้าง Cache ถ้าต้นเหตุอยู่ใน Map

56. Collision ทำให้ FPS ตกไหม

Collision เป็นส่วนของ Game/Physics Asset แต่ไม่ควรเหมารวมกับ Visual Rendering เพียงอย่างเดียว

Map ที่มี

  • Collision Mesh ซับซ้อนมาก

  • Props ที่มี Collision จำนวนมหาศาล

  • Duplicate Collision

ควรถูก Optimize

แต่ถ้า FPS ต่ำเพราะ Texture 4K หรือ Geometry YDR สูง การแก้ Collision อย่างเดียวไม่ช่วย

57. Collision ทำให้ Server Lag ไหม

ต้องแยก Server Script Performance ออกจาก Client/Game Physics

หาก Server Resource CPU สูง ให้ตรวจ

  • Script

  • Loops

  • Events

  • Runtime Logic

แต่ถ้าปัญหาเกิดตอนชน Object หรือขับรถใน Map ให้ตรวจ Collision/Client Asset Layer เพิ่ม

ไม่ควรลด Collision เพื่อแก้ Server Database Lag

58. Map ไม่มี Collision ควรสร้างใหม่เลยไหม

ก่อนสร้างใหม่ ให้ตรวจก่อนว่า

  • YBN หายจาก Resource หรือไม่

  • Embedded Collision อยู่ใน Original Asset หรือไม่

  • Merge แล้วถูกลบหรือไม่

  • Map Conflict หรือไม่

  • Original Version ใช้งานได้หรือไม่

ถ้า Original Map มี Collision ปกติ แต่ Production ไม่มี แสดงว่าปัญหาอาจอยู่ที่การติดตั้งหรือ Merge ไม่ใช่ Asset Creation

59. Original Map เดินได้ แต่หลัง Optimize เดินทะลุ

ย้อนดูสิ่งที่เปลี่ยน

เช่น

ลบ YBN
เปลี่ยน YDR
สร้าง Bounds ใหม่
Merge Resource
Rename Asset
Simplify Collision

จากนั้นนำ Original กลับมาทดสอบทีละส่วน

อย่าทำ Optimization ต่อจนหาต้นเหตุเดิมเจอ

60. Collision Simplify มากเกินไปมีผลไหม

มี

หากลดมากเกิน

ประตูอาจถูกปิดด้วย Collision
บันไดกลายเป็นกำแพง
ทางลาดกลายเป็นกล่อง
ช่องหน้าต่างถูกปิด

Optimization ต้องรักษา Gameplay Areas ที่ผู้เล่นต้องเดินผ่าน

61. Collision ละเอียดเกินไปมีผลไหม

ก็มี

หากทำ Collision ตาม Visual Mesh ทุก Detail เช่น

  • ร่อง

  • Decoration

  • Bolt

  • Trim

  • Furniture เล็ก ๆ

จำนวนมาก จะทำให้ Collision Structure ซับซ้อนโดยไม่จำเป็น

เป้าหมายคือ Simple but Correct

62. Map ใหญ่ควรแบ่ง Collision หรือไม่

ขึ้นอยู่กับ World Design

Map ขนาดใหญ่ เช่น

  • Island

  • Airport

  • Racetrack

  • City Expansion

อาจจัด Collision Assets เป็นกลุ่มหรือพื้นที่เพื่อช่วย Development และ Debug

ข้อดีคือหากพื้นที่หนึ่งเสีย ไม่จำเป็นต้องรื้อ Collision ทั้ง Map

63. Collision Conflict กับ Vanilla GTA V

Custom Map ไม่ได้ Conflict เฉพาะกับ Custom Map อื่น

อาจ Conflict กับ Vanilla World ด้วย

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

Custom Building

แทนที่

Vanilla Building

แต่ Vanilla Collision ยังอยู่

Cfx.re World Editor Documentation ระบุข้อจำกัดของ Global Collision Mesh ของ Buildings ไว้โดยตรง

64. Hide Vanilla Object แล้ว Collision หายตามไหม

ไม่ควรสมมติ

Cfx.re ระบุว่า World Editor สามารถ Hide Existing Map Objects ได้ แต่ Objects ที่ Collision เป็นส่วนหนึ่งของ Global Collision Mesh มีข้อจำกัด เพราะ Global Collision ไม่ได้ถูกแก้ตาม Visual Patch

ดังนั้น

Object มองไม่เห็น

ไม่ได้รับประกันว่า

Collision หาย

65. ทำไม Map ดูโล่งแต่รถชนอะไรบางอย่าง

เป็น Pattern ของ Invisible Collision

ตรวจ

Vanilla Collision
Map Resource เก่า
MLO Collision
YBN
Embedded Collision

และปิด Resources ทีละตัว

อย่าลด Graphics Settings เพราะไม่เกี่ยวกับ Collision Geometry

66. FiveM Collision Debug แบบเร็วที่สุด

ใช้ขั้นตอนนี้

ขั้นที่ 1

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

ถ้าไม่ขึ้นเลย ให้ตรวจ

YDR
YTYP
YMAP

ก่อน

ขั้นที่ 2

ระบุอาการ

เดินทะลุ
ตกพื้น
ชน Invisible Wall
รถเด้ง
Door เปิดแต่ยังชน

ขั้นที่ 3

ปิด Map/MLO อื่นบริเวณเดียวกัน

ขั้นที่ 4

ทดสอบ Original Resource

ขั้นที่ 5

ตรวจว่ามี YBN หรือ Embedded Collision

ขั้นที่ 6

เปิด CodeWalker แล้วเปลี่ยน Selection เป็น Collision

Official Cfx.re Workflow ใช้วิธีนี้เพื่อหา .ybn ที่เกี่ยวข้อง

ขั้นที่ 7

ตรวจ Position/Scale/Rotation

ขั้นที่ 8

ตรวจ Bound GeometryBVH

ขั้นที่ 9

ตรวจ Sollumz Type

Bound Poly Mesh
Bound Poly Box

ขั้นที่ 10

ตรวจ Collision Material

ขั้นที่ 11

ตรวจ Flags

ขั้นที่ 12

Export แล้ว Test ในเกมอีกครั้ง

67. วิธีแยกปัญหาจากอาการ

มองไม่เห็นอะไรเลย

ตรวจ

YDR / YTYP / YMAP

เห็น Model แต่ขาว

ตรวจ

YTD / Material

เห็น Model สวยแต่เดินทะลุ

ตรวจ

Collision / YBN / Embedded Bounds

ไม่เห็น Modelแต่ชน

ตรวจ

Visual Asset / Old Collision / Map Conflict

เดินได้แต่รถชนผิด

ตรวจ

Collision Type / Material / Flags

ประตูเปิดแต่ยังชน

ตรวจ

Door Bounds / Embedded Collision

ย้าย Building แล้วตำแหน่งเก่ายังชน

ตรวจ

Global Collision Mesh

Cfx.re ระบุว่าการย้าย Buildings มีข้อจำกัดเพราะ Collision อาจเป็นส่วนหนึ่งของ Global Collision Mesh

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

อาการจุดที่ควรตรวจ
เดินทะลุกำแพงYBN / Embedded Collision
ตกพื้นFloor Collision
รถทะลุอาคารCollision Geometry / Flags
Invisible WallCollision เก่า / Map Conflict
ชนก่อนถึงกำแพงCollision Scale
จมเข้า Model ก่อนชนCollision เล็ก/ต่ำเกิน
เดินลอยเหนือพื้นCollision สูงเกิน
Collision อยู่ผิดที่World Coordinates / Transform
Collision หมุนผิดRotation
Door เปิดแต่ยังชนEmbedded Door Collision
Garage เปิดแต่รถผ่านไม่ได้Door/World Collision
บันไดเดินไม่ได้Collision Geometry
ตกเฉพาะจุดCollision Mesh มีช่อง
Map A+B แล้วเดินติดCollision Conflict
Hide Building แล้วยังชนGlobal Collision
FPS/Physics แย่Collision Complexity / Duplicate

FiveM Collision ที่ดีควรเป็นอย่างไร

Collision ที่ดีควร

  • ตรงกับ Visual Model ในจุดสำคัญ

  • ไม่มีช่องทำให้ตกพื้น

  • ไม่มี Invisible Wall

  • ไม่ละเอียดเกินความจำเป็น

  • ใช้ Primitive Collision เมื่อเหมาะ

  • มี Collision Material ถูกต้อง

  • Bound Type ถูกต้อง

  • Flags ถูกต้อง

  • Position ถูก

  • Scale ถูก

  • Rotation ถูก

  • ไม่ซ้อนกับ Map อื่น

Cfx.re Official Collision Workflow กำหนดทั้ง Geometry Type, Collision Material, Bound GeometryBVH และ Flags ซึ่งแสดงว่า Collision ที่สมบูรณ์ต้องดูหลายส่วนร่วมกัน ไม่ใช่เพียงมี Mesh อยู่ก็พอ

Collision Optimization ที่ควรทำ

ใช้หลัก

Visual Detail สูง
≠
Collision Detail ต้องสูงเท่ากัน

ตัวอย่าง

อาคาร

ใช้ Collision เฉพาะ

  • Walls

  • Floor

  • Stairs

  • Doorways

ที่สำคัญ

Furniture

ใช้ Shape ที่เรียบง่าย

Decoration เล็ก

ไม่จำเป็นต้องมี Collision ทุกชิ้น

Road/Ramp

รักษารูปทรงที่รถต้องสัมผัส

Door

ต้องให้ Collision เคลื่อนสัมพันธ์กับตัว Door

เป้าหมายคือให้ Gameplay แม่น แต่ไม่สร้าง Collision Geometry เกินความจำเป็น

สิ่งที่ไม่ควรทำเมื่อ Map เดินทะลุ

หลีกเลี่ยง

ล้าง Cache ก่อนทุกอย่าง
เพิ่ม RAM Server
ลด Texture
แก้ YMAP โดยไม่ตรวจ Collision
สร้าง YBN ใหม่ทั้ง Mapทันที
Merge Collision เพิ่ม
Rename YBN แบบสุ่ม
Copy Collision จาก Map อื่น

ถ้าปัญหาคือ Collision หาย สิ่งเหล่านี้อาจไม่แก้ต้นเหตุและอาจทำให้ Debug ยากกว่าเดิม

สรุป FiveM Collision คืออะไร ทำไม Map ถึงเดินทะลุ

FiveM Collision คือข้อมูลทางกายภาพที่กำหนดว่าผู้เล่น รถ และ Entities สามารถชนกับส่วนใดของ Map หรือ Model ได้

FiveM/GTA V Asset Workflow มีทั้ง

World Collision
→ .ybn

และ

Embedded Model Collision
→ Bounds ภายใน Drawable

โดย Cfx.re ใช้ Bound GeometryBVH เป็นส่วนของ Embedded Collision Structure และรองรับทั้ง Bound Poly Mesh และ Bound Poly Box พร้อม Collision Material และ Flags ที่เหมาะสม

จำแยกไฟล์แบบง่ายที่สุดว่า

YDR  → Model
YTD  → Texture
YTYP → Archetype
YMAP → Placement
YBN  → World Collision

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

ถ้า ตกพื้น ให้ตรวจ Floor Collision

ถ้า มองไม่เห็นอะไรแต่เดินชน ให้ตรวจ Invisible Collision, Map เก่า หรือ Global Collision

ถ้า Door เปิดแต่ยังชน ให้ตรวจ Embedded Bounds ของ Door

ถ้า ย้ายอาคารแล้วจุดเดิมยังมี Collision ต้องระวัง Global Collision Mesh เพราะ Cfx.re ระบุว่า Buildings บางประเภทมี Collision แยกจาก Visual Object และเป็นข้อจำกัดของ World Editor ปัจจุบัน

แนวทางของ comsiam คือแยก Visual Model ออกจาก Collision ทุกครั้งที่ Debug เพราะคำว่า “Map ขึ้นแล้ว” ไม่ได้หมายความว่า Physics ของ Map ทำงานแล้ว การตรวจ YBN, Embedded Bounds, Position, Scale, Material และ Collision Conflict อย่างเป็นระบบจะช่วยแก้ปัญหาเดินทะลุและ Invisible Wall ได้เร็วกว่าการแก้ Asset แบบสุ่ม

Comments

Popular posts from this blog

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

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

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