โมเดลข้อมูล

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่


ทุกสถานที่ถูกแทนด้วยโมเดลข้อมูล ซึ่งเป็นลำดับชั้นของวัตถุที่อธิบายทุกอย่างเกี่ยวกับสถานที่ โมเดลข้อมูลประกอบด้วยวัตถุทั้งหมดที่สร้างขึ้นในโลก 3D เช่น ส่วนประกอบ, ภูมิประเทศ, แสงสว่าง และองค์ประกอบทางสิ่งแวดล้อมอื่น ๆ นอกจากนี้ยังมีวัตถุที่สามารถควบคุมพฤติกรรมในระหว่างการทำงาน เช่น สคริปต์ที่ปรับเปลี่ยนคุณสมบัติ, เรียกใช้วิธีการและฟังก์ชัน, และตอบสนองต่อเหตุการณ์ที่ทำให้เกิดพฤติกรรมที่มีพลศาสตร์และการโต้ตอบ

Roblox Engine ใช้โมเดลข้อมูลเป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับสถานะของสถานที่ เพื่อให้สามารถจำลองและเรนเดอร์บนอุปกรณ์ของลูกค้าได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Roblox Engine ตีความโมเดลข้อมูล โปรดดูที่ Client-Server Runtime.

วัตถุ


คุณสามารถวางและจัดระเบียบวัตถุในโมเดลข้อมูลเพื่ออธิบายสถานที่ใน Roblox ทุกวัตถุใน Roblox สืบทอดจากคลาส Instance ซึ่งกำหนดคุณสมบัติทั่วไป, วิธีการ, และเหตุการณ์ที่เป็นที่รู้จักกันทั่วไปในวัตถุทั้งหมด วัตถุยังสามารถกำหนดลักษณะเฉพาะของตนเองขึ้นอยู่กับฟังก์ชันการทำงานที่วัตถุให้บริการ มีหลายประเภทของวัตถุที่มีการใช้งานที่หลากหลาย แต่คุณจะทำงานกับวัตถุ BasePart และ LuaSourceContainer ซึ่งมักเรียกว่าส่วนประกอบและสคริปต์บ่อยครั้ง

สำหรับรายการคุณสมบัติทั้งหมดของ Roblox Engine โปรดดูที่ เอกสารอ้างอิง.

บล็อกการสร้าง 3D

BasePart เป็นคลาสหลักสำหรับบล็อกการสร้าง 3D ที่จำลองทางกายภาพในโลก มันกำหนดคุณสมบัติและวิธีการที่เป็นที่รู้จักกันทั่วไปในวัตถุทางกายภาพที่มีคุณสมบัติเช่น ตำแหน่ง, ขนาด, และการจัดแนว

วัตถุคำอธิบาย
Partส่วนประกอบพื้นฐาน part ที่สามารถมีรูปร่างเป็นบล็อก, ลูกบอล, กระบอก, เหลี่ยม, หรือเหลี่ยมมุม
MeshPartเมชที่นำเข้าจากซอฟต์แวร์การสร้างโมเดล 3D เช่น Maya หรือ Blender mesh
TrussPartคานที่ตัวละครสามารถปีนขึ้นไปได้เหมือนบันได

ในขณะที่คุณสามารถสร้างเกม Roblox ที่ทำงานได้อย่างสมบูรณ์โดยใช้เพียงส่วนประกอบง่าย ๆ แต่คุณจะมีแนวโน้มที่จะนำเข้า meshes และรวมส่วนประกอบพื้นฐานเข้าด้วยกันเป็นวัตถุและโครงสร้างที่ซับซ้อนมากขึ้นผ่าน การสร้างแบบแข็ง.

สคริปต์

คุณสามารถเพิ่มการโต้ตอบและพฤติกรรมให้กับโลก 3D ของสถานที่ของคุณและกำหนดตรรกะด้วยสคริปต์ คุณเขียนสคริปต์ในภาษาโปรแกรม Luau เพื่อทำสิ่งต่าง ๆ เช่น การเคลื่อนที่ของส่วนประกอบ, เรียกใช้สคริปต์อื่น ๆ, และตอบสนองต่อเหตุการณ์ เนื่องจาก Roblox ทำงานในรูปแบบลูกค้า-เซิร์ฟเวอร์ คุณสามารถเรียกใช้สคริปต์บนเซิร์ฟเวอร์, ลูกค้า, หรือให้พวกเขาสื่อสารข้ามขอบเขตเครือข่าย

  • วัตถุ Script แทนสคริปต์ที่สามารถทำงานได้เฉพาะบนเซิร์ฟเวอร์
  • วัตถุ LocalScript แทนสคริปต์ที่สามารถทำงานได้เฉพาะบนลูกค้า
  • วัตถุ ModuleScript แทนสคริปต์ที่สามารถนำกลับมาใช้ใหม่ได้ซึ่งคุณสามารถ require() จากทั้งสคริปต์เซิร์ฟเวอร์และลูกค้า

เพื่อให้สคริปต์ทำงานได้อย่างถูกต้อง คุณต้องวางพวกเขาในภาชนะที่ถูกต้องในโมเดลข้อมูล สำหรับข้อมูลเพิ่มเติม โปรดดูที่ส่วน Server และ Client.

การจัดระเบียบวัตถุ

ในขณะที่คุณมีความยืดหยุ่นมากมายในการจัดระเบียบโมเดลข้อมูลของคุณ Roblox Engine คาดหวังว่าวัตถุบางอย่างจะอยู่ใน บริการภาชนะ ที่เฉพาะเจาะจง ซึ่งเป็นวัตถุที่มีพฤติกรรมเฉพาะและสามารถส่งผลต่อพฤติกรรมของวัตถุที่พวกเขาเก็บไว้ หมวดหมู่หลักของบริการภาชนะรวมถึง:

  • Workspace — Workspace เก็บวัตถุทั้งหมดที่เรนเดอร์ในโลก 3D
  • Environment — ภาชนะเช่น Lighting และ SoundService ที่เก็บวัตถุสำหรับการตั้งค่าและองค์ประกอบทางสิ่งแวดล้อม
  • Replication — ภาชนะสำหรับเนื้อหาและตรรกะที่ทำซ้ำระหว่างเซิร์ฟเวอร์และลูกค้า เช่น ReplicatedStorage และ ReplicatedFirst
  • Server — ภาชนะสำหรับเนื้อหาและตรรกะที่เฉพาะเจาะจงสำหรับเซิร์ฟเวอร์ เช่น ServerScriptService และ ServerStorage
  • Client — ภาชนะสำหรับเนื้อหาและตรรกะที่เฉพาะเจาะจงสำหรับลูกค้า เช่น StarterPlayer และ StarterGui
  • Chat — ภาชนะสำหรับวัตถุที่เปิดใช้งานฟีเจอร์การแชท เช่น VoiceChatService และ TextChatService

นอกจากนี้ คุณยังสามารถจัดระเบียบวัตถุของคุณเพิ่มเติมด้วยวัตถุต่อไปนี้:

  • Folders — Folder ใช้เพื่อวัตถุประสงค์ในการจัดระเบียบและไม่กำหนดพฤติกรรมใด ๆ ตัวอย่างเช่น คุณสามารถใช้โฟลเดอร์เพื่อจัดกลุ่มวัตถุที่คล้ายกัน เช่น ชุดของสคริปต์ในเซิร์ฟเวอร์สโตเรจ
  • Models — Model มีจุดประสงค์หลักสำหรับการจัดกลุ่มทางเรขาคณิตของส่วนประกอบ เช่น การจัดกลุ่มชุดโต๊ะที่รวมถึงเก้าอี้, โต๊ะ, และโคมไฟ เพื่อจัดระเบียบชุดที่ซับซ้อนมากขึ้น คุณสามารถซ้อนโมเดลภายในโมเดลได้

Workspace

Workspace ประกอบด้วยวัตถุทั้งหมดที่สร้างขึ้นในโลก 3D ของสถานที่ของคุณ คุณสามารถเพิ่มวัตถุไปยังพื้นที่ทำงานเพื่อปรับแต่งโลก 3D ของคุณ เช่น ส่วนประกอบพื้นฐาน, ส่วนประกอบเมช, และโมเดล ลูกค้าจะเรนเดอร์ทุกอย่างที่ปรากฏในภาชนะนี้และไม่มีอะไรนอกเหนือจากนี้ ดังนั้นคุณสามารถควบคุมสิ่งที่ผู้ใช้เห็นและโต้ตอบกับในสถานที่ของคุณ แม้ว่าจะไม่ได้เรนเดอร์จริง ๆ แต่คุณยังสามารถเพิ่มสคริปต์ที่เป็นพ่อแม่ให้กับส่วนประกอบและโมเดลที่เกี่ยวข้องได้ โดยค่าเริ่มต้น พื้นที่ทำงานจะถูกเติมล่วงหน้าด้วยวัตถุ Terrain และ Camera

กล้อง

Camera กำหนดวิธีที่ลูกค้าเห็นโลก 3D โดยค่าเริ่มต้น จะมีกล้องหนึ่งตัวในพื้นที่ทำงาน แต่คุณสามารถเพิ่มวัตถุกล้องหลายตัวเพื่อสร้างมุมมองและมุมมองที่แตกต่างกัน ลูกค้าทุกคนจะนำการตั้งค่าเหล่านี้ไปสร้างมุมมองกล้องของตนเองที่เซิร์ฟเวอร์ไม่สามารถแก้ไขได้โดยตรง

ตัวอย่างเช่น คุณสามารถตั้งค่ากล้องให้ติดตามการเคลื่อนไหวของผู้ใช้หรืออยู่คงที่ในตำแหน่งเฉพาะ คุณยังสามารถปรับมุมมอง, ระยะห่าง, และมุมเพื่อสร้างเอฟเฟกต์ภาพที่แตกต่างกันเกี่ยวกับวิธีที่ผู้ใช้มองเห็นโลก 3D ของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ปรับแต่งกล้อง.

ภูมิประเทศ

Terrain ช่วยให้คุณสร้างภูมิทัศน์สำหรับสถานที่ของคุณ คุณสามารถใช้วัสดุในการจำลองสภาพแวดล้อมธรรมชาติที่ต้องการ เช่น หญ้า, น้ำ, ทราย, หรือวัสดุที่กำหนดเอง แม้ว่าคุณจะมีวัตถุภูมิประเทศเพียงหนึ่งตัวสำหรับโลก 3D ของคุณและใช้วัสดุเพียงหนึ่งตัวกับภูมิประเทศนั้น แต่คุณสามารถใช้ Terrain Editor เพื่อแก้ไขพื้นที่ของภูมิประเทศของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ภูมิประเทศทางสิ่งแวดล้อม.

สิ่งแวดล้อม

แสงที่กำหนดเองสามารถทำให้โลก 3D ของคุณมีความสมจริงและดื่มด่ำมากขึ้น บริการ Lighting ประกอบด้วยวัตถุที่ควบคุมการตั้งค่าแสงทั่วโลกของสถานที่ของคุณ เช่น Atmosphere สำหรับการจำลองเอฟเฟกต์บรรยากาศหรือ Sky เพื่อเปลี่ยนแปลงดวงอาทิตย์, ดวงจันทร์, และดาวในสภาพแวดล้อมของคุณ นอกจากนี้ คุณสามารถใช้ แหล่งกำเนิดแสง เพื่อปล่อยแสงจากวัตถุเฉพาะ

การเพิ่ม เสียง ลงในเกมของคุณก็มีความสำคัญเช่นกันในการยกระดับเกมของคุณไปอีกระดับ โดยการใช้เสียงที่มีตำแหน่งและไม่มีตำแหน่งอย่างมีกลยุทธ์ คุณสามารถทำให้ผู้เล่นดื่มด่ำในโลกของคุณ, ให้ข้อเสนอแนะแก่พวกเขาสำหรับการกระทำของพวกเขา, และชี้นำความสนใจของพวกเขาไปยังสิ่งที่พวกเขาต้องทำเพื่อให้ประสบความสำเร็จในวัตถุประสงค์ของพวกเขา

การทำซ้ำ

การทำซ้ำ คือกระบวนการที่เซิร์ฟเวอร์ซิงโครไนซ์สถานะของสถานที่ของคุณกับลูกค้าที่เชื่อมต่อทั้งหมด Roblox Engine ทำการทำซ้ำข้อมูล, ฟิสิกส์, และข้อความแชทระหว่างเซิร์ฟเวอร์และลูกค้าอย่างชาญฉลาดและอัตโนมัติในหลายกรณี แต่คุณยังสามารถระบุวัตถุบางอย่างให้ทำซ้ำได้โดยการวางไว้ในภาชนะเฉพาะ

ReplicatedFirst

ReplicatedFirst ประกอบด้วยวัตถุที่คุณต้องการทำซ้ำไปยังลูกค้าเมื่อเข้าร่วมสถานที่ของคุณ โดยทั่วไปจะประกอบด้วยวัตถุที่จำเป็นสำหรับการเริ่มต้นผู้เล่น เช่น วัตถุ LocalScript ที่อยู่ด้านลูกค้าและวัตถุที่เกี่ยวข้องกับสคริปต์ สาระทั้งหมดในภาชนะนี้จะถูกทำซ้ำจากเซิร์ฟเวอร์ไปยังลูกค้าเพียงครั้งเดียว

ReplicatedStorage

ReplicatedStorage ประกอบด้วยวัตถุที่มีให้ทั้งเซิร์ฟเวอร์และลูกค้าที่เชื่อมต่อ การเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นบนลูกค้าจะคงอยู่ แต่จะไม่ถูกทำซ้ำไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์สามารถเขียนทับการเปลี่ยนแปลงบนลูกค้าเพื่อรักษาความสอดคล้อง ภาชนะนี้มักใช้สำหรับวัตถุ ModuleScript ที่ต้องแชร์และเข้าถึงได้จากทั้งวัตถุ Script (ด้านเซิร์ฟเวอร์) และ LocalScript (ด้านลูกค้า) นอกจากนี้ คุณสามารถใช้ภาชนะนี้เพื่อทำซ้ำวัตถุใด ๆ ที่ไม่จำเป็นต้องมีอยู่ในโลก 3D จนกว่าจะต้องการ เช่น ParticleEmitter สำหรับการโคลนและเป็นพ่อแม่ให้กับโมเดลตัวละครที่เข้ามาทั้งหมด

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำซ้ำทำงาน โปรดดูที่ client-server runtime.

เซิร์ฟเวอร์

โมเดลข้อมูลกำหนดภาชนะเฉพาะสำหรับวัตถุที่เฉพาะเจาะจงสำหรับเซิร์ฟเวอร์ซึ่งจะไม่ถูกทำซ้ำไปยังลูกค้า สิ่งนี้ช่วยให้เซิร์ฟเวอร์สามารถส่งผลต่อพฤติกรรมและสถานะของลูกค้าโดยไม่เปิดเผยวัตถุและตรรกะของเซิร์ฟเวอร์ให้กับลูกค้า

ServerScriptService

ServerScriptService ประกอบด้วยวัตถุ Script, วัตถุ ModuleScript ที่จำเป็นสำหรับสคริปต์เซิร์ฟเวอร์, และวัตถุที่เกี่ยวข้องกับการเขียนสคริปต์อื่น ๆ ที่มีไว้สำหรับการใช้งานเฉพาะเซิร์ฟเวอร์ หากสคริปต์ของคุณต้องการวัตถุอื่น ๆ ที่ไม่เกี่ยวข้องกับการเขียนสคริปต์ คุณต้องวางไว้ใน ServerStorage สคริปต์ในภาชนะนี้จะไม่ถูกทำซ้ำไปยังลูกค้า ซึ่งช่วยให้คุณมีตรรกะที่ปลอดภัยเฉพาะเซิร์ฟเวอร์

ServerStorage

ServerStorage ประกอบด้วยวัตถุที่มีไว้สำหรับการใช้งานเฉพาะเซิร์ฟเวอร์ คุณสามารถใช้ภาชนะนี้เพื่อเก็บวัตถุที่คุณต้องการโคลนและเป็นพ่อแม่ให้กับพื้นที่ทำงานหรือภาชนะอื่น ๆ ในระหว่างการทำงาน ตัวอย่างเช่น คุณสามารถเก็บวัตถุขนาดใหญ่เช่นแผนที่ในภาชนะนี้จนกว่าจะต้องการและย้ายพวกเขาไปยังพื้นที่ทำงานเมื่อจำเป็น สิ่งนี้ช่วยให้คุณลดการจราจรเครือข่ายของลูกค้าในขณะที่เข้าร่วมครั้งแรก

ลูกค้า

บริการภาชนะของลูกค้าถูกออกแบบมาสำหรับวัตถุที่ถูกทำซ้ำไปยังลูกค้าที่เชื่อมต่อทุกคน หมวดหมู่นี้ของภาชนะจะทำซ้ำไปยังลูกค้าที่เชื่อมต่อทุกคนและมักจะประกอบด้วยวัตถุ 3D และวัตถุ LocalScript ที่เกี่ยวข้อง วัตถุทั้งหมดที่คุณเก็บไว้ในภาชนะเหล่านี้จะไม่คงอยู่ระหว่างเซสชันและจะถูกรีเซ็ตทุกครั้งที่ลูกค้าเข้าร่วมใหม่ คุณสามารถใส่วัตถุในภาชนะเหล่านี้ เช่น GUI ของผู้เล่น, สคริปต์ด้านลูกค้า, และวัตถุอื่น ๆ ที่เกี่ยวข้องเฉพาะกับลูกค้า

เมื่อมีลูกค้าเชื่อมต่อกับเซิร์ฟเวอร์ บริการภาชนะ Players จะฟังผู้ใช้ที่เข้าร่วมสถานที่ของคุณและสร้างวัตถุ Player สำหรับลูกค้าแต่ละคน เซิร์ฟเวอร์จะคัดลอกวัตถุจากภาชนะของลูกค้าในโมเดลข้อมูลแก้ไขไปยังตำแหน่งที่สอดคล้องกันในโมเดลข้อมูลระหว่างการทำงานภายในวัตถุ Players ตารางต่อไปนี้อธิบายภาชนะต้นฉบับที่มันอยู่ในภาชนะและภาชนะที่พวกเขาถูกคัดลอกไปยังลูกค้า:

โมเดลข้อมูลแก้ไขโมเดลข้อมูลระหว่างการทำงานหมายเหตุ
StarterPackPlayer.Backpackสคริปต์ที่ตั้งค่าคลังสินค้าของผู้เล่นและโดยทั่วไปจะประกอบด้วยวัตถุ Tool แต่บ่อยครั้งยังมีสคริปต์ท้องถิ่นด้วย
StarterGuiPlayer.PlayerGuiสคริปต์ที่สามารถจัดการ GUI ท้องถิ่นของผู้เล่น เมื่อผู้เล่นเกิดใหม่ เนื้อหาของ PlayerGui จะถูกล้าง เซิร์ฟเวอร์จะคัดลอกวัตถุภายใน StarterGui ไปยัง PlayerGui
StarterPlayerScriptsPlayer.PlayerScriptsสคริปต์ทั่วไปสำหรับลูกค้า ตัวอย่างเช่น หากคุณต้องการสร้างเอฟเฟกต์พิเศษบนลูกค้าเมื่อเงื่อนไขบางอย่างเป็นจริง คุณสามารถวางสคริปต์ท้องถิ่นในภาชนะนี้เพื่อทำเช่นนั้น เซิร์ฟเวอร์ไม่สามารถเข้าถึงภาชนะนี้ได้
StarterCharacterScriptsPlayer.Characterสคริปต์ที่ถูกคัดลอกไปยังลูกค้าเมื่อพวกเขาเกิดใหม่ สคริปต์เหล่านี้จะไม่คงอยู่เมื่อผู้เล่นเกิดใหม่
ReplicatedFirstเนื้อหาของภาชนะนี้จะถูกทำซ้ำไปยังลูกค้าทุกคน (แต่ไม่กลับไปยังเซิร์ฟเวอร์) ก่อนสิ่งอื่นใด

แชท

TextChatService

TextChatService แทนบริการที่จัดการงานแชทข้อความในเกมต่าง ๆ เช่น การจัดการช่อง, การตกแต่งข้อความ, การกรองข้อความ, การสร้างคำสั่ง, และการพัฒนาส่วนติดต่อแชทที่กำหนดเอง

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ภาพรวมแชทข้อความ.

VoiceChatService

VoiceChatService แทนฟีเจอร์การแชทด้วยเสียงที่อิงจากระยะทางซึ่งจำลองการสื่อสารที่สมจริงตามระยะห่างที่คุณอยู่จากผู้ใช้คนอื่น คุณสามารถใช้บริการนี้เพื่อเปิดและปิดฟีเจอร์

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ แชทด้วยเสียง.

โฟลเดอร์และโมเดล

มีสองวิธีหลักในการจัดกลุ่มวัตถุในโมเดลข้อมูล: โฟลเดอร์ และ โมเดล ทั้งสองเป็นภาชนะสำหรับวัตถุ แต่มีวัตถุประสงค์ที่แตกต่างกัน

  • โฟลเดอร์ เหมาะที่สุดสำหรับการจัดเก็บส่วนต่าง ๆ ของสภาพแวดล้อม เช่น ล็อบบี้หรือสนามรบ
  • โมเดล ใช้สำหรับชุดของวัตถุ เช่น ชุดโต๊ะที่รวมถึงเก้าอี้, โต๊ะ, และโคมไฟ เพื่อจัดระเบียบชุดที่ซับซ้อนมากขึ้น ให้ซ้อนโมเดลภายในโมเดล

คุณควรตั้งชื่อวัตถุของคุณอย่างมีความหมายเสมอ สิ่งนี้ทำให้ค้นหาและปรับเปลี่ยนวัตถุในภายหลังได้ง่ายขึ้นหากจำเป็น

หน้าต่าง Explorer ที่แสดงโครงสร้างการจัดระเบียบโฟลเดอร์
วัตถุที่จัดระเบียบใน Folders
หน้าต่าง Explorer ที่แสดงโครงสร้างการจัดระเบียบโมเดลในบริการหลายแห่ง
โมเดล "แผนที่" ที่หลากหลายเพื่อสลับระหว่าง Workspace และ ServerStorage
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ