BaseWrap
非推奨を表示
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
WrapTarget および WrapLayer オブジェクトのベースクラス。注意してください、MeshPart は BaseWrap の唯一の有効な親タイプであり、独立したオブジェクトよりも MeshPart のコンポーネントのように振る舞います。
概要
プロパティ
ケージメッシュのアセット ID。
ケージメッシュオフセットは、親 MeshPart に対して相対的です。
ワールドスペースでのケージメッシュオフセット。
アセット作成ツールでケージメッシュを作成している間のグローバルゼロの場所を説明します。
アセット作成ツールでケージメッシュを作成している間の起源 (ワールドスペース) を説明します。
プロパティ
CageMeshContent
CageMeshId
ContentId
このプロパティは、3Dインポーターによって自動的に設定されます。
ケージメッシュのアセット ID。
HSRAssetId
ContentId
ImportOrigin
このプロパティは、3Dインポーターによって自動的に設定されます。
Blender や Maya などのアセット作成ツールで、グローバルゼロがどこにあったかを説明します。このプロパティはディフォーマーでは使用されていませんが、ツール/調整スクリプトには便利で、例えば次のように2つのパーツを一致させて調整します:
local function alignWraps()
local selectionService = game:GetService("Selection")
local selectedObjects = selectionService:Get()
local alignObjects = {}
for _, obj in selectedObjects do
if obj:IsA("BaseWrap") then
--print("ラップ: " .. 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