学ぶ
エンジンクラス
Pose

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。


概要
プロパティ
MaskWeight:number
非推奨
方法
GetSubPoses():Instances
継承されたメンバー
コードサンプル
キーフレーム生成ポーズ
local function generateKeyframe(model)
if not model.PrimaryPart then
warn("プライマリパートが設定されていません")
return
end
local rootPart = model.PrimaryPart:GetRootPart()
if not rootPart then
warn("ルートパートが見つかりませんでした")
return
end
local partsAdded = {}
partsAdded[rootPart] = true
local function addPoses(part, parentPose)
-- パートに接続されているすべてのジョイントを取得
for _, joint in pairs(part:GetJoints()) do
-- Motor6Dのみに興味があります
if joint:IsA("Motor6D") then
-- 接続されたパートを見つける
local connectedPart = nil
if joint.Part0 == part then
connectedPart = joint.Part1
elseif joint.Part1 == part then
connectedPart = joint.Part0
end
if connectedPart then
-- すでにこのパートを追加していないことを確認
if not partsAdded[connectedPart] then
partsAdded[connectedPart] = true
-- ポーズを作成
local pose = Instance.new("Pose")
pose.Name = connectedPart.Name
parentPose:AddSubPose(pose)
-- 再帰
addPoses(connectedPart, pose)
end
end
end
end
end
local keyframe = Instance.new("Keyframe")
-- キーフレームを populate
local rootPose = Instance.new("Pose")
rootPose.Name = rootPart.Name
addPoses(rootPart, rootPose)
keyframe:AddPose(rootPose)
return keyframe
end
local character = script.Parent
local keyframe = generateKeyframe(character)
print(keyframe)
キーフレームリセットポーズ
local function resetPoses(parent)
-- 両方の関数はGetChildrenと同等です
local poses = parent:IsA("Keyframe") and parent:GetPoses() or parent:IsA("Pose") and parent:GetSubPoses()
for _, pose in pairs(poses) do
if pose:IsA("Pose") then
pose.CFrame = CFrame.new()
-- 再帰
resetPoses(pose)
end
end
end

APIリファレンス
プロパティ
CFrame
並列読み取り
機能: Animation
Pose.CFrame:CFrame

MaskWeight
非推奨

方法
AddSubPose
機能: Animation
Pose:AddSubPose(pose:Instance):()
パラメータ
戻り値
()
コードサンプル
キーフレームの追加/削除ポーズ
local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local pose = Instance.new("Pose")
pose.EasingStyle = Enum.PoseEasingStyle.Cubic
pose.EasingDirection = Enum.PoseEasingDirection.Out
local pose2 = Instance.new("Pose")
pose2.EasingStyle = Enum.PoseEasingStyle.Cubic
pose2.EasingDirection = Enum.PoseEasingDirection.Out
keyframe:AddPose(pose) -- pose.Parent = keyframe
task.wait(2)
keyframe:RemovePose(pose) -- pose.Parent = nil
task.wait(2)
keyframe:AddPose(pose) -- pose.Parent = keyframe
task.wait(2)
pose:AddSubPose(pose2) -- pose2.Parent = pose
task.wait(2)
pose:RemoveSubPose(pose2) -- pose2.Parent = nil

GetSubPoses
機能: Animation
Pose:GetSubPoses():Instances
戻り値
Instances
コードサンプル
キーフレームリセットポーズ
local function resetPoses(parent)
-- 両方の関数はGetChildrenと同等です
local poses = parent:IsA("Keyframe") and parent:GetPoses() or parent:IsA("Pose") and parent:GetSubPoses()
for _, pose in pairs(poses) do
if pose:IsA("Pose") then
pose.CFrame = CFrame.new()
-- 再帰
resetPoses(pose)
end
end
end

RemoveSubPose
機能: Animation
Pose:RemoveSubPose(pose:Instance):()
パラメータ
戻り値
()
コードサンプル
キーフレームの追加/削除ポーズ
local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local pose = Instance.new("Pose")
pose.EasingStyle = Enum.PoseEasingStyle.Cubic
pose.EasingDirection = Enum.PoseEasingDirection.Out
local pose2 = Instance.new("Pose")
pose2.EasingStyle = Enum.PoseEasingStyle.Cubic
pose2.EasingDirection = Enum.PoseEasingDirection.Out
keyframe:AddPose(pose) -- pose.Parent = keyframe
task.wait(2)
keyframe:RemovePose(pose) -- pose.Parent = nil
task.wait(2)
keyframe:AddPose(pose) -- pose.Parent = keyframe
task.wait(2)
pose:AddSubPose(pose2) -- pose2.Parent = pose
task.wait(2)
pose:RemoveSubPose(pose2) -- pose2.Parent = nil

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。