Trong kinh nghiệm instream vídeo cho phép Động Roblox Engine tải và tháo tải nội dung 3D và các vídeo liên quan trong các khu vực của thế giới.Điều này có thể cải thiện trải nghiệm người chơi tổng thể theo nhiều cách, ví dụ:
- Thời gian tham gia nhanh hơn — Người chơi có thể bắt đầu chơi ở một phần của thế giới trong khi nhiều phần của thế giới được tải trong nền.
- Hiệu quả bộ nhớ — Kinh nghiệm có thể được chơi trên các thiết bị có ít bộ nhớ hơn vì nội dung được truyền dữ liệu năng động vào và ra.Các thế giới sống động và chi tiết hơn có thể được chơi trên phạm vi rộng hơn các thiết bị.
- Hiệu suất cải thiện — Tốc độ khung và hiệu lựctốt hơn, vì máy chủ có thể dành ít thời gian và băng thông hơn để sao chép các thay đổi giữa thế giới và người chơi trong nó.Khách hàng dành ít thời gian hơn để cập nhật các instanz không hiện đang liên quan đến người chơi.
- Cấp độ chi tiết — Các mô hình xa và địa hình vẫn có thể nhìn thấy ngay cả khi chúng không được phát trực tiếp cho khách hàng, giữ cho trải nghiệm được tối ưu hóa mà không hy sinh hoàn toàn hình ảnh nền.
Bật phát trực tiếp
Phát trực tiếp được bật mở qua thuộc tính StreamingEnabled của đối tượng Không gian làm việc trong Studio.Thuộc tính này không thể được đặt trong một kịch bản.Phát trực tiếp được bật mặc định cho các địa điểm mới được tạo trong Studio.

Một khi được bật, được khuyến nghị rằng bạn tuân theo các thực hành sau:
- Bởi vì khách hàng thường sẽ không có toàn bộ Workspace có sẵn địa phương, hãy sử dụng công cụ/API thích hợp để đảm bảo các thực thể tồn tại trước khi cố gắng truy cập chúng trong một LocalScript .Ví dụ, sử dụng điều khiển phát trực tiếp theo mô hình , phát hiện luồng của instance , hoặc sử dụng WaitForChild() trên các đối tượng có thể không tồn tại.
- Tối ưu hóa việc đặt nội dung 3D bên ngoài Workspace .Nội dung trong các thùng chứa như ReplicatedStorage hoặc ReplicatedFirst không thể phát trực tiếp và có thể ảnh hưởng tiêu cực đến thời gian tham gia và sử dụng bộ nhớ.
- Nếu bạn di chuyển nhân vật của một người chơi bằng cách đặt CFrame của nó, hãy làm điều đó từ phía máy chủ Script và sử dụng yêu cầu phát trực tuyến để nhanh chóng tải dữ liệu xung quanh vị trí mới của nhân vật.
- Thủ công đặt ReplicationFocus của người chơi chỉ trong những tình huống độc đáo như trong những trải nghiệm không sử dụng Player.Character .Trong những trường hợp này, hãy chắc chắn rằng tập trung ở gần đối tượng mà người chơi kiểm soát để đảm bảo nội dung tiếp tục phát trong khu vực xung quanh điểm tương tác của người chơi.
Hành vi kỹ thuật
Dòng chảy trong
Mặc định, khi một người chơi tham gia vào một trải nghiệm với dòng phát trực tiếp bật, các thùng trong Workspace được sao lưu cho khách hàng, loại bỏ những điều theo dõi:
- Con cháu của các ví dụ trên
- Các ví dụ không sao chép
Sau đó, trong quá trình chơi trò chơi, máy chủ có thể phát các ví dụ cần thiết cho khách hàng, khi chúng được yêu cầu.
Hành vi mô hình
Các mô hình được đặt thành hành vi không phải mặc định như Atomic dòng trong các quy tắc đặc biệt như được mô tả trong điều khiển phát trực tiếp theo mô hình .Tuy nhiên, các mô hình mặc định (không nguyên tử) được gửi khác nhau dựa trên việc ModelStreamingBehavior được đặt thành Mặc định ( Di Sản ) hoặc Nâng cấp .

Khi ModelStreamingBehavior được đặt thành Mặc định / Di sản , thùng chứa Model và các con trai không gian không của nó như Scripts sao lưu cho khách hàng khi người chơi tham gia.Sau đó, khi đủ điều kiện, dòng con của mô hình BasePart xuống.
Chảy ra
Trong lúc chơi trò trải nghiệm trò chơi, một khách hàng có thể phát trực tuyến (loại bỏ khỏi các khu vực của người chơi Workspace ) và BaseParts chứa bên trong chúng, dựa trên hành vi được đặt bởi StreamOutBehavior .Quá trình bắt đầu với các khu vực cách xa nhất với nhân vật của người chơi (hoặc ReplicationFocus ) và di chuyển gần hơn khi cần thiết.Các khu vực bên trong phạm vi StreamingMinRadius không bao giờ bị phát sóng.
Khi một ví dụ bị truyền ra, nó được gán cho nil để bất kỳ trạng thái Luau hiện tại nào cũng sẽ kết nối lại nếu ví dụ được truyền trở lại.Kết kết quảlà, loại bỏ các tín hiệu như hoặc lửa trên cha mẹ của nó hoặc tổ tiên của nó , nhưng chính thực thể không bị phá hủy theo cùng một cách như một cuộc gọi .
Để tiếp tục dự đoán dòng chảy ra, xem xét các tình huống này:
Tình huống | Ví dụ | Hành vi phát trực tiếp |
---|---|---|
Một phần được tạo địa phương thông qua Instance.new() trong một LocalScript . | Trong một trò chơi "cướp lá cờ", bạn tạo và gắn các bộ phận mũ xanh lam vào tất cả các người chơi trong đội xanh qua một LocalScript . | Phần không được sao chép vào máy chủ, và nó được miễn trừ việc phát trực tuyến trừ khi bạn làm cho nó trở thành con cháu của một phần tồn tại trên máy chủ, chẳng hạn như một phần trong mô hình nhân vật của người chơi. |
Một phần được nhân bản địa phương từ ReplicatedStorage thông qua Instance:Clone() trong một LocalScript . | Một nhân vật phù thủy thực hiện một phép thuật bằng cách kích hoạt một Tool , trên đó một đối tượng bao gồm một số hiệu ứng đặc biệt được sao chép từ ReplicatedStorage và được gán cho không gian làm việc tại vị trí của phù thủy. | Phần không được sao chép lên máy chủ, và nó được miễn trừ việc phát trực tuyến trừ khi bạn làm cho nó trở thành con cháu của một phần tồn tại trên máy chủ. |
Một phần được sửa chữa từ ReplicatedStorage đến không gian làm việc thông qua một LocalScript . | Một "mũ phù thủy" được lưu trong ReplicatedStorage .Khi một người chơi chọn chơi trong đội của phù thủy, mũ được di chuyển vào mô hình nhân vật của họ thông qua một LocalScript . | Phần vẫn có thể phát trực tuyến vì nó đến từ máy chủ và đã được sao chép sang ReplicatedStorage .Tránh mẫu này vì nó gây ra sự không đồng bộ giữa khách hàng và máy chủ, và phần có thể bị truyền ra; thay vào đó, nhân bản phần. |
Hành vi mô hình
Nếu bạn đặt ModelStreamingBehavior thành Nâng cấp , động cơ có thể phát trực tiếp Mô hình mặc định ( Không nguyên tử ) khi chúng có thể phát trực tiếp, có thể giải phóng bộ nhớ trên máy khách và giảm số lượng các thực thể cần cập nhật tính năng.

Dưới cải thiện mô hình phát trực tuyến, phát ra khỏi Mặc định ( Không nguyên tử ) mô hình dựa trên việc mô hình có không gian (bao gồm con cháu ) hay không (không có con cháu không gian ).
- Một mô hình không gian chỉ xuất hoàn toàn khi dòng con cuối cùng của nó chảy ra, vì một số phần không gian của mô hình có thể gần với người chơi/tập trung sao lưu và một số xa.
- Một mô hình không gian không chỉ xuất ra khi một tổ tiên xuất ra, tương đương với hành vi phát trực tiếp cũ.
Các tập hợp và cơ chế
Khi ít nhất một phần của một lắp ráp đủ điều kiện để phát trực tiếp, tất cả các phần của lắp ráp cũng phát trực tiếp.Tuy nhiên, một lắp ráp sẽ không phát trực tiếp ra cho đến khi tất cả các phần của nó đủ điều kiện phát trực tiếp.Trong lúc phát trực tuyến, tất cả các Constraints và Attachments giảm dần từ BaseParts và nguyên tử hoặc vĩnh cửu Models cũng phát trực tuyến, giúp đảm bảo cập nhật vật lý nhất quán trên các máy khách.
Lưu ý rằng các tập hợp với các bộ phận được ghim ghim được xử lý khác một chút so với các tập hợp chỉ có các bộ phận chưa neo:
Tổng hợp lắp ráp | Hành vi phát trực tiếp |
---|---|
Chỉ các bộ phận không neo | Toàn bộ lắp ráp được gửi như một đơn vị nguyên tử. |
Cố định phần gốc | Chỉ các bộ phận, phụ kiện và hạn chế cần thiết để kết nối các phần được phát trực tiếp với phần gốc được phát trực tiếp cùng nhau. |
Thời gian trì hoãn
Có thể có một sự chậm trễ nhỏ ~10 mili giây giữa khi một phần được tạo trên máy chủ và khi nó được sao chép cho khách hàng.Trong mỗi trường hợp sau, bạn có thể cần phải sử dụng WaitForChild() và các kỹ thuật khác thay vì cho rằng các sự kiện và cập nhật tính năng luôn xảy ra cùng một lúc như một phần phát trực tiếp.
Tình huống | Ví dụ | Hành vi phát trực tiếp |
---|---|---|
A LocalScript tạo một cuộc gọi RemoteFunction đến máy chủ để tạo một phần. | Một người chơi kích hoạt một Tool địa phương để tạo một phần trên máy chủ mà tất cả các người chơi có thể xem và tương tác. | Khi chức năng điều khiển trở lại cho khách hàng, phần có thể chưa tồn tại, mặc dù phần nằm gần trọng tâm khách hàng và trong khu vực phát trực tiếp. |
Một phần được thêm vào mô hình nhân vật trên máy chủ thông qua một Script và một RemoteEvent được bắn cho một khách hàng. | Khi một người chơi tham gia vào đội cảnh sát, một phần "huy hiệu cảnh sát" được lưu trong ServerStorage được nhân bản và gắn vào mô hình nhân vật của người chơiA RemoteEvent được bắn và nhận bởi khách hàng của người chơi đó để cập nhật một thành phần UI địa phương. | Mặc dù khách hàng nhận được tín hiệu sự kiện, không có bảo đảm rằng phần đã được phát trực tiếp đến khách hàng đó. |
Một phần va chạm với một khu vực không thể nhìn thấy trên máy chủ và kích hoạt một RemoteEvent trên khách hàng. | Một cầu thủ đá bóng vào một mục tiêu, kích hoạt sự kiện "bàn thắng được ghi". | Các người chơi khác gần mục tiêu có thể thấy sự kiện "mục tiêu đã ghi" trước khi quả bóng được phát trực tiếp cho họ. |
Thuộc tính phát trực tiếp
Các thuộc tính sau đây kiểm soát cách dò chuyển các ví dụ áp dụng cho trải nghiệm của bạn.Tất cả các thuộc tính này là không thể viết lại và phải được đặt trên đối tượng Không gian làm việc trong Studio.

Hành vi phát lưu mô hình
Kiểm soát xem có nên sao chép mô hình Mặc định ( Không nguyên tử ) khi một người chơi tham gia hay không, hoặc chỉ được gửi khi cần thiết.Nếu thuộc tính này được đặt thành Nâng cấp , các mô hình trong Workspace sẽ chỉ được gửi cho khách hàng khi cần thiết, có thể làm tăng thời gian tham gia.Xem Hành vi kỹ thuật để biết thêm chi tiết.
Chế độ tích hợp StreamingIntegrity
Trải nghiệm của bạn có thể hành xử theo cách không mong muốn nếu một người chơi di chuyển vào khu vực của thế giới chưa được phát trực tiếp cho họ.Tính năng chất lượng phát trực tuyến cung cấp một cách để tránh những tình huống tiềm ẩn có thể gây ra vấn đề.Xem tài liệu Enum.StreamingIntegrityMode để có thêm chi tiết.
Bán kính phát trực tiếp Minimum
Thuộc tính StreamingMinRadius cho thấy bán kính xung quanh nhân vật của người chơi (hoặc ReplicationFocus ) trong các trường hợp stream ở ưu tiên cao nhất.Cần chú ý khi tăng giá trị mặc định, bởi việc làm như vậy sẽ yêu cầu thêm bộ nhớ và băng thông máy chủ ở chi phí của các thành phần khác.
Bán kính mục tiêu phát trực tiếp
Thuộc tính StreamingTargetRadius kiểm soát khoảng cách tối đa cách xa nhân vật của người chơi (hoặc ReplicationFocus ) trong các trường hợp dòng chảy xảy ra.Lưu ý rằng động cơ được phép giữ các instanz đã tải trước đó vượt quá bán kính mục tiêu, cho phép bộ nhớ.
Một phạm vi phát trực tiếp nhỏ hơn StreamingTargetRadius giảm tải máy chủ, vì máy chủ sẽ không phát trực tiếp trong các trường hợp bổ sung ngoài giá trị đặt.Tuy nhiên, bán kính mục tiêu cũng là khoảng cách tối đa mà người chơi sẽ có thể nhìn thấy chi tiết đầy đủ về trải nghiệm của bạn, vì vậy bạn nên chọn một giá trị tạo ra sự cân bằng tốt giữa chúng.
Hành vi StreamOut
Thuộc tính StreamOutBehavior đặt hành vi phát trực tuyến theo một trong các giá trị sau:
Cài đặt | Hành vi phát trực tiếp |
---|---|
Mặc định | Hành vi mặc định, hiện tại giống như LowMemory . |
Bộ nhớ thấp | Client chỉ phát trực tiếp các phần trong tình huống có bộ nhớ thấp và có thể xóa nội dung 3D cho đến khi chỉ có bán kính tối thiểu xuất hiện. |
Cơ hội | Các khu vực ngoài StreamingTargetRadius có thể được xóa trên máy khách ngay cả khi không có áp lực bộ nhớ.Trong chế độ này, khách hàng không bao giờ xóa các instancia gần hơn bán kính mục tiêu, ngoại trừ trong các tình huống có bộ nhớ thấp. |
Điều điều khiểnphát trực tiếp theo mô hình
Toàn cầu, thuộc tính ModelStreamingBehavior cho phép bạn kiểm soát cách các mô hình được phát trong khi tham gia.Ngoài ra, để tránh các vấn đề với phát trực tuyến dựa trên cơ sở mỗi mô hình và giảm tối đa sử dụng WaitForChild() , bạn có thể tùy chỉnh cách Models và con cháu của chúng dòng chảy thông qua tài sản ModelStreamingMode của họ.

Mặc định / nonatomic
Khi một Model được đặt thành Mặc định hoặc Không nguyên tử , hành vi phát trực tiếp thay đổi tùy thuộc vào việc ModelStreamingBehavior được đặt thành Mặc định ( Legacy ) hoặc Nâng cấp .
Hành vi phát lưu mô hình | Hành vi kỹ thuật |
---|---|
Mặc định ( Di sản ) | Mô hình được sao chép khi một người chơi tham gia.Điều này có thể dẫn đến nhiều instance được gửi trong lúc tải, nhiều instance được lưu trong bộ nhớ và thêm phức tạp cho các kịch bản muốn truy cập các con trai của mô hình.Ví dụ, một riêng biệt LocalScript sẽ cần phải sử dụng WaitForChild() trên một con cháu BasePart bên trong mô hình. |
Nâng cấp | Mô hình chỉ được gửi khi cần thiết, có thể làm tăng thời gian tham gia tiềm năng. |
Xem nhà hành xử kỹ thuật để biết thêm chi tiết.
Nguyên tử
Nếu một Model được thay đổi thành Nguyên tử , tất cả con cháu của nó được phát trực tiếp khi một con cháu BasePart đủ điều kiện.Kết kết quảlà, một riêng biệt LocalScript cần truy cập các ví dụ trong mô hình sẽ cần phải sử dụng WaitForChild() trên mô hình chính, nhưng không trên một con cháu MeshPart hoặc Part vì chúng được gửi cùng với mô hình.
Một mô hình nguyên tử chỉ được phát trực tuyến khi tất cả các phần con của nó đủ điều kiện phát trực tuyến, tại điểm đó toàn bộ mô hình phát trực tuyến cùng nhau.Nếu chỉ một số phần của mô hình nguyên tử thường được phát trực tiếp, toàn bộ mô hình và con cháu của nó vẫn còn trên máy khách.
Tập lệnh địa phương
local Workspace = game:GetService("Workspace")-- Mô hình nguyên tử không tồn tại khi tải; sử dụng WaitForChild()local model = Workspace:WaitForChild("Model")-- Các phần con chảy theo với mô hình và có thể truy cập ngay lập tứclocal meshPart = model.MeshPartlocal part = model.Part
Bền vững
Các mô hình bền vững không chịu sự phát trực tiếp bình thường trong hoặc ra ngoài.Chúng được gửi như một đơn vị nguyên tử hoàn chỉnh ngay sau khi người chơi tham gia và trước khi sự kiện Workspace.PersistentLoaded xảy ra.Các mô hình vĩnh cửu và con cháu của chúng không bao giờ được phát trực tuyến, nhưng để xử lý phát trực tuyến một cách an toàn trong một mô hình riêng biệt LocalScript, bạn nên sử dụng WaitForChild() trên mô hình cha, hoặc chờ sự kiện PersistentLoaded bắt lửa.
Tập lệnh địa phương
local Workspace = game:GetService("Workspace")-- Mô hình lâu dài không tồn tại khi tải; sử dụng WaitForChild()local model = Workspace:WaitForChild("Model")-- Các phần con chảy theo với mô hình và có thể truy cập ngay lập tứclocal meshPart = model.MeshPartlocal part = model.Part
Người chơi vĩnh viễnPersistentPerPlayer
Các mô hình được đặt thành PersistentPerPlayer hành xử giống như Persistent đối với các người chơi đã được thêm bằng Model:AddPersistentPlayer() .Đối với những người chơi khác, hành vi giống như Nguyên tử.Bạn có thể quay lại mô hình từ sự kiên trì của người chơi thông qua Model:RemovePersistentPlayer() .
Yêu cầu phát trực tiếp khu vực
Nếu bạn đặt CFrame của một nhân vật người chơi vào một khu vực chưa được tải, tạm dừng phát trực tuyến xảy ra, nếu được bật.Nếu bạn biết nhân vật sẽ di chuyển đến một khu vực cụ thể, bạn có thể gọi Player:RequestStreamAroundAsync() để yêu cầu máy chủ gửi các khu vực xung quanh vị trí đó đến khách hàng.
Các kịch bản sau đây cho thấy cách bắn một sự kiện điều khiển từ máy khách sang máy chủ remote để dịch chuyển một người chơi trong một địa điểm, kiếm được tại yêu cầu phát trực tiếp trước khi di chuyển nhân vật sang một mới CFrame .
Tập lệnh - Dịch chuyển nhân vật người chơi
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local teleportEvent = ReplicatedStorage:WaitForChild("TeleportEvent")
local function teleportPlayer(player, teleportTarget)
-- Yêu cầu phát trực tiếp xung quanh vị trí mục tiêu
player:RequestStreamAroundAsync(teleportTarget)
-- Nhân vật dịch chuyển
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(teleportTarget))
end
end
-- Gọi chức năng dịch chuyển khi khách hàng kích hoạt sự kiện từ xa
teleportEvent.OnServerEvent:Connect(teleportPlayer)
LocalScript - Sự kiện bắn từ xa
local ReplicatedStorage = game:GetService("ReplicatedStorage")local teleportEvent = ReplicatedStorage:WaitForChild("TeleportEvent")local teleportTarget = Vector3.new(50, 2, 120)-- Bắn sự kiện điều khiển từ xateleportEvent:FireServer(teleportTarget)
Phát hiện trường hợp phát trực tiếp
Trong một số trường hợp, cần phải phát hiện khi một đối tượng phát sóng vào hoặc ra và phản ứng với sự kiện đó.Một mẫu hữu ích cho việc phát hiện phát trực tuyến như sau:
Sử dụng phần Thẻ của các thuộc tính của một ví ví dụ / trường hợp, hoặc Trình soạn thảo Thẻ của Studio, gán một thẻ logic cho tất cả các đối tượng bị ảnh hưởng.
Từ một đối tượng được gắn thẻ duy nhất LocalScript , phát hiện khi một đối tượng được gắn thẻ chảy vào hoặc ra thông qua GetInstanceAddedSignal() và GetInstanceRemovedSignal() , sau đó xử lý đối tượng tương ứng.Ví dụ, mã sau đây thêm các đối tượng có nhãn Light vào vòng lặp "flicker" khi chúng được phát và loại bỏ chúng khi chúng phát ra.
LocalScript - Dịch vụ phát hiện phát trực tiếp CollectionServicelocal CollectionService = game:GetService("CollectionService")local tagName = "FlickerLightSource"local random = Random.new()local flickerSources = {}-- Phát hiện hiện tại và các phần được gắn thẻ mới đang phát trong hoặc bên ngoàifor _, light in CollectionService:GetTagged(tagName) doflickerSources[light] = trueendCollectionService:GetInstanceAddedSignal(tagName):Connect(function(light)flickerSources[light] = trueend)CollectionService:GetInstanceRemovedSignal(tagName):Connect(function(light)flickerSources[light] = nilend)-- Vòng lặp chớp nhoángwhile true dofor light in flickerSources dolight.Brightness = 8 + random:NextNumber(-0.4, 0.4)endtask.wait(0.05)end
Tùy chỉnh màn hình tạm dừng
Thuộc tính Player.GameplayPaused cho thấy tình trạng tạm dừng hiện tại của người chơi.Tính năng này có thể được sử dụng với kết nối GetPropertyChangedSignal() để hiển thị hoặc ẩn một GUI tùy chỉnh.
Tập lệnh địa phương
local Players = game:GetService("Players")
local GuiService = game:GetService("GuiService")
local player = Players.LocalPlayer
-- Vô hiệu hóa mô-đun tạm dừng mặc định
GuiService:SetGameplayPausedNotificationEnabled(false)
local function onPauseStateChanged()
if player.GameplayPaused then
-- Hiển thị GUI tùy chỉnh
else
-- Ẩn GUI tùy chỉnh
end
end
player:GetPropertyChangedSignal("GameplayPaused"):Connect(onPauseStateChanged)
Cấp độ chi tiết mô hình
Khi phát trực tuyến được bật, Models bên ngoài khu vực được phát trực tuyến hiện tại sẽ không hiển thị mặc định.Tuy nhiên, bạn có thể chỉ định cho động cơ render mạng lưới "imposter" có độ phân giải thấp hơn cho các mô hình không có trên máy khách thông qua tính năng LevelOfDetail của mỗi mô hình.



Cài đặt mô cài đặt | Hành vi phát trực tiếp |
---|---|
Khối phát trực tiếp | Kích hoạt sự tạo song song của một lưới kẻ gian lận để hiển thị khi mô hình không có mặt trên các máy khách. |
Bị vô hiệu hóa / Tự động | Mô hình biến mất khi ngoài phạm vi phát trực tuyến. |
Khi sử dụng lưới giả mạo, hãy lưu ý những điều theo dõi:
- Khối lượng của kẻ giả mạo được thiết kế để được xem tại 1024 đinh tán xa camera hoặc xa hơn.Nếu bạn đã giảm StreamingTargetRadius xuống một giá trị nhỏ hơn như 256, các khối lượng giả mạo có thể không được chấp nhận về mặt thị giác cho mô hình mà chúng thay thế.
- Nếu một mô hình và các mô hình con của nó đều được đặt thành StreamingMesh , chỉ mô hình tổ tiên cấp cao được hiển thị như một mô hình giả mạo, bao gói tất cả các định dạng địa hình dưới tổ tiên cũng như các mô hình con của nó.Để có hiệu lựctốt hơn, được khuyến nghị rằng bạn nên sử dụng Vô hiệu hóa cho các mô hình con.
- Không hỗ trợ kết cấu; lưới của kẻ gian lận được render thành lưới mịn.
- Trong khi một Model không được phát trực tiếp hoàn toàn, lưới kẻ gian được hiển thị thay vì các bộ phận riêng lẻ của mô hình.Khi tất cả các bộ phận riêng lẻ được phát sóng, chúng được hiển thị và lưới giả mạo bị bỏ qua.
- Khối lượng của kẻ giả mạo không có ý nghĩa vật lý và chúng hành động như không tồn tại với raycasting, phát hiện va chạm và mô phỏng vật lý.
- Chỉnh sửa một mô hình trong Studio, chẳng hạn như thêm/xóa/di chuyển lại các bộ phận con hoặc đặt lại màu sắc, tự động cập nhật lưới đại diện.