ピボットツール

ピボットツールと関連するプロパティを使用すると、オブジェクトの回転と転換の中心となる点を完全に制御できます。

Studio(スタジオ)ツール

このインタラクティブな Studio ツールは、モデルタブにあります。

モデルタブのピボットツールを示す画像

ピボットの編集

ピボット編集ツールを使用すると、パーツまたはモデルのピボット点を移動または回転できます。 設定後は、このピボット点を中心に回転と拡大/縮小が行われます。 詳しくは、PrimaryPart の設定をごらんください。

次の図は、オブジェクトの境界に対するピボット点の位置の例を示します。

中央
オブジェクトの境界の外側

モデルのピボット点を回転させると、モデルの境界ボックスも回転します。

Orientation = (0, 90, 0)
Orientation = (0, 135, 0)
Orientation = (0, 180, 0)

モデルにはPrimaryPartを指定できます。 これは、位置の基準として利用可能な、モデル内のBasePartです。 ピボット点に関しては、次のようになります。

  1. PrimaryPartをモデルに割り当てると、既存のピボットがPrimaryPartのピボット点に変わります。 後でのPrimaryPart割当てをオフ・クリアにすると、ピボット点はモデルの境界ボックスの中心にリセットされます。
  2. モデルからPrimaryPart削除すると、ピボット点は同じ位置に残り、以前の位置に戻りません。 これにより、モデルからパーツを削除した場合に突然「ジャンプ」するのを防ぎます。
始めのピボット点
A. PrimaryPartの割り当て
B. PrimaryPartの削除

装着

装着チェックボックスは、ピボット編集ツールでピボット点を移動する際に、ピボット点が角や端、中心などのホットスポットに装着するかどうかを切り換えます。 装着がオンになっている場合、ホットスポットは小さなマゼンタ色の点として表示されます。

パーツ上のホットスポット
モデル上のホットスポット

リセット

リセットボタンはピボット点をオブジェクトまたはモデルの境界ボックスの中心に移動します。 この操作は、モデルの構成を変更した後、ピボット点を新しい境界ボックスの中心に配置したい場合に便利です。

ピボットのプロパティ

インタラクティブなツールに加え、ピボットの値はプロパティウィンドウで直接設定できます。

プロパティ概要
Origin Positionオブジェクトの境界ボックスではなくピボット点に基づくオブジェクトの現在のワールド位置。 Modelの正確な位置を設定するのに便利です。
Origin Orientationオブジェクトの境界ボックスではなくピボット点に基づくオブジェクトの現在の配向。
Pivot Offset Positionオブジェクトに対するピボットの正確な位置。 *
Pivot Offset Orientationピボットの正確な配向。*
World Pivot PositionPrimaryPartがないModelsのピボットの正確なワールド位置。 PrimaryPartが設定された場合、ピボットはそのパーツに対するものとなるため、モデルはPivot Offset Positionを使用します。
World Pivot OrientationPrimaryPartがないModelsの正確なワールド配向。 PrimaryPartが設定された場合、ピボットはそのパーツに対するものとなるため、モデルはPivot Offset Orientationを使用します。
* このプロパティを変更してもオブジェクトは移動または回転しません。

ピボットのスクリプト

Studio ツール以外にも、ピボット点はスクリプトでアクセスして操作できます。

関数またはプロパティ概要
GetPivot()オブジェクトのピボットの現在のワールド位置をCFrameとしてクエリします。 これは、個々のパーツであってもModelであっても、3D空間内のオブジェクトの位置を返します。
PivotTo()指定したCFrameの位置にピボットが来るよう、オブジェクトを移動します。 これにより、個々のパーツとモデル双方の均一なオブジェクトの動きが可能になります。
BasePart.PivotOffset実質的にBasePartCFrameからのピボットのオフセットです。
Model.WorldPivotPrimaryPartがないModelsの場合、ワールド空間におけるモデルのピボットを指定するCFramePrimaryPartが設定された場合、ピボットはそのパーツに対するものとなるため、モデルはBasePart.PivotOffsetを使用します。 *
* このプロパティを変更してもオブジェクトは移動または回転しません。