メインコンテンツまでスキップ

リミットパラメータ

ボーンの移動・回転を制限するパラメータです。

ソースを見る

Bone Constraint

ボーン間の距離を維持するための制約設定です。スカートのように、ボーン間の距離を一定に保ちたい場合に使用します。

Bone Constraintの仕組み

Bone Constraintによるボーン間距離の維持

BoneConstraintGlobalComplianceType

剛性タイプ - Bone Constraintで用いる剛性タイプを指定します。

プロパティ
EXPBDComplianceType
デフォルトLeather
カテゴリBone Constraint

XPBD Stiffnessについて

EXPBDComplianceType

説明
Concreteコンクリート(最も硬い)
Wood木材
Leather
Tendon
Rubberゴム
Muscle筋肉
Fat脂肪(最も柔らかい)

剛性タイプの比較

各剛性タイプの硬さの違いと使用イメージ

BoneConstraintIterationCountBeforeCollision

コリジョン前処理回数 - Bone Constraintの処理回数(コリジョン処理前)。

プロパティ
int32
デフォルト1
カテゴリBone Constraint

BoneConstraintIterationCountAfterCollision

コリジョン後処理回数 - Bone Constraintの処理回数(コリジョン処理後)。

プロパティ
int32
デフォルト1
カテゴリBone Constraint

反復処理の効果

反復回数による収束の違い。回数が多いほどボーン間距離が均等になる

bAutoAddChildDummyBoneConstraint

ダミーボーン自動追加 - 末端ボーンをBoneConstraint処理の対象にした場合、自動的にダミーボーンも処理対象にするフラグ。

プロパティ
bool
デフォルトtrue
カテゴリBone Constraint

BoneConstraints

ボーン制約リスト - BoneConstraint処理の対象となるボーンのペアを設定します。

UPROPERTY(EditAnywhere, Category = "Bone Constraint")
TArray<FModifyBoneConstraint> BoneConstraints;

FModifyBoneConstraint

プロパティ説明
Bone1FBoneReference制約の1つ目のボーン
Bone2FBoneReference制約の2つ目のボーン
bOverrideCompliancebool剛性タイプをオーバーライドするか
ComplianceTypeEXPBDComplianceTypeオーバーライド時の剛性タイプ

BoneConstraintsDataAsset

ボーン制約Data Asset - BoneConstraint処理の対象となるボーンのペアをData Assetから設定します。別のAnimNodeやAnimation Blueprintで設定を流用したい場合に推奨されます。

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Bone Constraint")
TObjectPtr<UKawaiiPhysicsBoneConstraintsDataAsset> BoneConstraintsDataAsset;

Sync Bone

同期元のボーンの移動・回転を物理制御下のボーンに適用します。スカートが足などを貫通するのを防ぐのに役立ちます。

SyncBones

同期ボーンリスト - 同期元のボーンと物理制御下のボーンのペアを設定します。

UPROPERTY(EditAnywhere, Category = "Sync Bone")
TArray<FKawaiiPhysicsSyncBone> SyncBones;

角度制限

LimitAngle

物理挙動による回転制限です。適切に設定することで荒ぶりを抑制できます。

プロパティ
float
デフォルト0.0(制限なし)
範囲0.0 以上
カテゴリKawaiiPhysics
ヒント

LimitAngleは各ボーンの親ボーンからの角度を制限します。値を大きくすると自由度が下がり、小さくすると荒ぶりやすくなります。

Data Assetからの読み込み

制限パラメータは以下のData Assetから読み込むことができます:

UKawaiiPhysicsLimitsDataAsset

コリジョン設定を管理するData Assetです。

UCLASS(Blueprintable)
class KAWAIIPHYSICS_API UKawaiiPhysicsLimitsDataAsset : public UDataAsset

プロパティ

プロパティ説明
SphericalLimitsTArray<FSphericalLimit>球体コリジョンリスト
CapsuleLimitsTArray<FCapsuleLimit>カプセルコリジョンリスト
BoxLimitsTArray<FBoxLimit>ボックスコリジョンリスト
PlanarLimitsTArray<FPlanarLimit>平面コリジョンリスト

エディタでは、Skeletonを設定することでボーンプレビューが可能です。

詳しくは Data Assets を参照してください。