เครื่องมือของบุคคลที่สาม

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

สำหรับสตูดิโอพัฒนามืออาชีพการตั้งค่าเครื่องมือบุคคลที่สามและการลงทุนในอัตโนมัติสามารถปรับปรุงประสิทธิภาพของนักพัฒนาอย่างมากการเข้าถึงเมฆเป็นอันดับแรกของ Roblox มีข้อดีมากมาย แต่การย้ายส่วนหนึ่งของกระบวนการพัฒนาไปนอกเมฆสามารถช่วยทีมขนาดใหญ่ติดตามการเปลี่ยนแปลงในเวลา นอกเมฆ รหัสและใช้ภาษาและเครื่องมือที่พวกเขาคุ้นเคยอยู่แล้ว

ปัญหาการซิงค์

ที่สำคัญที่สุดในการใช้เครื่องมือภายนอกกับ Roblox คือปัญหาการซิงโครไลซ์ สะกิด:

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

เพื่อให้ทั้งโซลูชันรู้สึกไร้รอยต่อและอัตโนมัติ คุณต้อง a) ฟังการเปลี่ยนแปลงไฟล์ และ b) รวมการเปลี่ยนแปลงเหล่านั้นกลับเข้าไปใน Studioคุณต้องการเซิร์ฟเวอร์และปลั๊กอินสตูดิโอซึ่งเป็นวิธีที่ Rojo แก้ปัญหานี้

แทนที่จะใช้การเข้าถึงเมฆเป็นอันดับแรกของ Roblox Rojo ช่วยให้คุณสามารถใช้การเข้าถึงระบบไฟล์เป็นอันดับแรกได้มันสกัดไฟล์สคริปต์ทั้งหมดในโครงการของคุณเป็นไฟล์ Luauจากนั้นจะเรียกใช้เซิร์ฟเวอร์ปลั๊กอิน Rojo เชื่อมต่อกับเซิร์ฟเวอร์เพื่อซิงโครไลซ์ไฟล์เหล่านั้นกับ Studio

ติดตั้ง Rojo ด้วย Foreman

คุณสามารถดาวน์โหลดและรันไบนารี Rojo ด้วยตนเองได้ แต่วิธีการดังกล่าวมีความเสี่ยงที่นักพัฒนาคนอื่นในทีมของคุณจะใช้เวอร์ชัน Rojo ที่แตกต่างกันทางออกที่ดีกว่าคือการใช้เครื่องจัดการเครื่องมือเช่น Foreman ซึ่งใช้ไฟล์การกำหนดค่า—รายการรีปอรี่และรุ่น—เพื่อให้กระบวนการติดตั้งและอัปเกรดสอดคล้องกันในเครื่องจักร

เนื่องจากมันจัดการสภาพแวดล้อมการพัฒนาพื้นฐานของคุณแทนที่แพคเกจภายในโครงการของคุณ Foreman ใกล้เคียงกับ nvm มากกว่า npm แต่การเปรียบเทียบไม่สมบูรณ์แบบไฟล์ง่าย foreman.toml ดูเหมือนนี้:


[tools]
rojo = { github = "rojo-rbx/rojo", version = "7.4.1" }
wally = { github = "UpliftGames/wally", version = "0.3.2" }

จากนั้นคุณติดตั้งเครื่องมือเหล่านี้ด้วย foreman installนอกจากไฟล์ระดับโลก foreman.toml แล้ว Foreman สนับสนุนไฟล์ระดับโครงการ ดังนั้นคุณสามารถใช้เวอร์ชันที่แตกต่างกันของ Rojo, Wally หรือเครื่องมืออื่นๆ สำหรับโครงการต่างๆ และให้ทีมทั้งหมดของคุณอยู่บนเวอร์ชันเดียวกันได้อย่างง่ายดาย

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

เรียกใช้ Rojo

หลังจากที่คุณติดตั้ง Rojo ด้วย Foreman สิ่งที่คุณติดตั้งจริงๆ คือเซิร์ฟเวอร์ Rojo ขั้นตอนต่อไปคือการติดตั้งปลั๊กอิน Rojo สำหรับ Roblox Studio:


rojo plugin install

จากนั้นสร้างโครงสร้างโครงการสำหรับประสบการณ์ใหม่ของคุณและสร้างขึ้น:


rojo init my-new-experience
cd my-new-experience
rojo build -o my-new-experience.rbxl

หรือคุณสามารถ โพรตประสบการณ์ที่มีอยู่ ได้ ทั้งสองวิธีหลังจากที่คุณมีโครงการแล้วเริ่มเซิร์ฟเวอร์ Rojo:


rojo serve

ใน Roblox Studio ปลั๊กอิน.rbxl ที่คุณเพิ่งสร้างไว้ เริ่มติดตั้งส่วนขยาย Rojo และเชื่อมต่อกับเซิร์ฟเวอร์ที่กําลังทํางานอยู่ในขณะนี้ ในจุดนั้นคุณสามารถเริ่มทําการเปลี่ยนแปลงในตัวแก้ไขข้อความที่คุณต้องการและดูการเปลี่ยนแปลงเหล่านั้นกลับไปยังสตูดิโอโดยอัตโนมัติ

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

ผู้จัดการแพคเกจ

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

ภายในไดเรกทอรี Rojo ของประสบการณ์ของคุณ, เรียก wally init . จากนั้นเพิ่มแพคเกจที่ต้องการของคุณใน wally.toml . ไฟล์อาจมีลักษณะดังนี้:


[package]
name = "my-home-directory/my-new-experience"
version = "0.1.0"
registry = "https://github.com/UpliftGames/wally-index"
realm = "shared"
[dependencies]
react = "jsdotlua/react@17.1.0"
react-roblox = "jsdotlua/react-roblox@17.1.0"
cryo = "phalanxia/cryo@1.0.3"

จากนั้นเรียกใช้ wally installวอลลี่สร้างไดเรกทอรี Packages และดาวน์โหลดแพคเกจที่ระบุไว้ที่นั่นขั้นสุดท้ายคือการเพิ่มไดเรกทอรี Packages ให้กับ Rojo เพื่อให้เนื้อหาสะท้อนกลับไปยัง Robloxเปิด default.project.json และเพิ่มเส้นทางเพื่อความเรียบง่ายตัวอย่างนี้เพิ่มทั้งไดเรกทอรีให้กับ ReplicatedStorage เพื่อให้แพคเกจทั้งหมดมีอยู่สำหรับสคริปท์ทั้งหมด แต่คุณอาจต้องการเพิ่มแพคเกจเฉพาะให้กับ ServerScriptService หรือ StarterPlayerScripts :


{
"name": "my-new-experience",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"Shared": {
"$path": "src/shared"
},
"Packages": {
"$path": "Packages"
}
},
...
}
}

จากนั้นคุณสามารถต้องการแพคเกจภายในสคริปต์ของคุณเหมือนกับแพคเกจอื่น ๆ ModuleScript :


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local React = require(ReplicatedStorage.Packages.react)
local ReactRoblox = require(ReplicatedStorage.Packages["react-roblox"])
local handle = Instance.new("ScreenGui", Players.LocalPlayer.PlayerGui)
local root = ReactRoblox.createRoot(handle)
local helloFrame = React.createElement("TextLabel", {
Text = "Hello World!",
Size = UDim2.new(0, 200, 0, 200),
Position = UDim2.new(0.5, 0, 0.5, 0),
AnchorPoint = Vector2.new(0.5, 0.5),
BackgroundColor3 = Color3.fromRGB(248, 217, 109),
Font = Enum.Font.LuckiestGuy,
TextSize = 24
})
root:render(helloFrame)

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

การควบคุมรุ่น

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

รหัส Visual Studio มีระบบนิวเบลที่ใหญ่ที่สุด แต่ Sublime Text , Notepad++ และ Vim เป็นตัวเลือกยอดนิยมทั้งหมดไม่ว่าคุณจะเลือกเครื่องแก้ไขแบบใด การจับคู่ความสามารถของเครื่องแก้ไขสคริปต์ของ Studio จะต้องใช้ส่วนขยายบางอย่าง

คุณอาจพิจารณาเพิ่ม:

สินทรัพย์

เครื่องมือบนหน้านี้เหมาะสมที่สุดสำหรับสคริปต์; ศิลปิน 3D ใช้เครื่องมือภายนอกแล้ว เช่น Blender และ Maya เก็บไฟล์ที่มาจากระบบควบคุมรุ่น และนำสิ่งประดิษฐ์ของพวกเขามาสู่ Studioหลังจากที่คุณมีสินทรัพย์ของสตูดิโอแล้ว เราขอแนะนำให้ใช้ แพคเกจ เมื่อใดก็ตามที่เป็นไปได้

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

ยกเลิกทุกอย่าง

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