對於 WrapTarget 和 WrapLayer 對象的基礎類。請注意,MeshPart 是 BaseWrap 唯一有效的父型,且它的行為更像是 MeshPart 的組件而不是獨立物件。
概要
屬性
籠子網格的資產 ID。
籠網格與父親的偏移相對於MeshPart。
世界空間中籠子網格偏移。
描述在資產創建工具中寫入籠子網格時,全球零的位置。
描述在資產創建工具中寫入籠子網格時的起源(在世界空間)。
屬性
CageMeshContent
CageMeshId
ContentId
此屬性由 3D 匯入程式自動設定。
籠子網格的資產 ID。
HSRAssetId
ContentId
ImportOrigin
此屬性由 3D 匯入程式自動設定。
描述在 Blender 或 Maya 等資產創建工具中寫入籠子網格時全球零的位置。這個屬性不被扭曲者使用,但對工具/對齊腳本有用,例如以下方式對兩個零件進行對齊:
local function alignWraps()
local selectionService = game:GetService("Selection")
local selectedObjects = selectionService:Get()
local alignObjects = {}
for _, obj in selectedObjects do
if obj:IsA("BaseWrap") then
--列印("包裝:" .. obj.Name)
table.insert(alignObjects, obj)
else
print("Ignore: " .. obj.Name)
end
end
if #alignObjects < 2 then
warn("You need to select at least two wraps")
return
end
local anchorWrap = alignObjects[1]
local worldA_from_Wrap = anchorWrap.ImportOriginWorld
print("Anchor: " .. anchorWrap.Name)
for i = 2, #alignObjects do
local wrapToAlign = alignObjects[i]
print("Align: " .. wrapToAlign.Name)
local wrap_from_WorldB = wrapToAlign.ImportOriginWorld:Inverse()
local worldA_from_WorldB = worldA_from_Wrap * wrap_from_WorldB
local worldB = wrapToAlign.Parent.CFrame
-- 注意:調整父部件的 CFrame
wrapToAlign.Parent.CFrame = (worldB_from_WorldB * worldB)
end
end