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

外部力パラメータ

外部から適用される力に関するパラメータです。

ソースを見る

Gravity

Gravity

重力 - ボーンに適用される重力ベクトル。

プロパティ
FVector
デフォルト(0, 0, 0)
カテゴリExternalForce
// 下向きの重力を適用
Gravity = FVector(0, 0, -1.0f);

bUseLegacyGravity

レガシー重力方式 - Gravityの適用方式を指定します。

プロパティ
bool
デフォルトfalse
カテゴリExternalForce
説明
true従来互換(位置に 0.5 * Gravity * dt^2 を加算)
falseAnimDynamics互換(速度に Gravity * dt を加算してから位置更新)

bUseDefaultGravityZProjectSetting

プロジェクト設定の重力使用 - Gravityベクトルにプロジェクト設定の DefaultGravityZ(絶対値)を乗算するフラグ。

プロパティ
bool
デフォルトfalse
カテゴリExternalForce

bUseWorldSpaceGravity

ワールド空間重力 - 重力をワールド座標系で扱うかどうかのフラグ。

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

Wind

bEnableWind

風の有効化 - 外力としてWindDirectionalSourceの影響を受けるかどうかのフラグ。

プロパティ
bool
デフォルトfalse
カテゴリExternalForce

WindScale

風のスケール - WindDirectionalSourceによる風の影響度。ClothやSpeedTreeとの併用目的で使用します。

プロパティ
float
デフォルト1.0
カテゴリExternalForce

Wind External Force

Wind Directional Sourceとの連携

注記

WindScaleはbEnableWindがtrueの場合のみ有効です。

WindDirectionNoiseAngle

風方向ノイズ - WindDirectionalSourceによる風方向に与えるノイズ(角度)。

プロパティ
float
デフォルト0.0
単位
範囲0 以上
カテゴリExternalForce

Simple External Force

SimpleExternalForce

単純な外力ベクトル - 任意の方向に力を適用できます。

プロパティ
FVector
デフォルト(0, 0, 0)
カテゴリExternalForce

bUseWorldSpaceSimpleExternalForce

ワールド空間外力 - 単純な外力をワールド座標系で扱うかどうかのフラグ。

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

External Force プリセット

バージョン情報

v1.16.0で追加

External Forceプリセットシステム

プリセットの種類と適用フロー

External Force設定1

External Force設定2

External Forceデモ

External Forceプリセットによる揺れの制御

ExternalForces

外力プリセット(Instanced Struct) - 外力のプリセット。C++で独自のプリセットを追加可能です。

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ExternalForce",
meta = (BaseStruct = "/Script/KawaiiPhysics.KawaiiPhysics_ExternalForce", ExcludeBaseStruct))
TArray<FInstancedStruct> ExternalForces;

CustomExternalForces(実験的機能)

カスタム外力(Instanced Property) - BP・C++で独自のプリセットを追加可能です。

UPROPERTY(EditAnywhere, BlueprintReadWrite, Instanced, Category = "ExternalForce")
TArray<TObjectPtr<UKawaiiPhysics_CustomExternalForce>> CustomExternalForces;
警告

この機能は非常に実験的です。AnimNodeをクリックするか、Animation Blueprintをコンパイルしないと正常に動作しない場合があります。

タグ

KawaiiPhysicsTag

フィルタリング用タグ - ExternalForceなどで使用するフィルタリング用のGameplayTag。

プロパティ
FGameplayTag
カテゴリTag

Filter Tag

GameplayTagによるフィルタリング設定

// タグを使用した外力の適用
FGameplayTagContainer FilterTags;
FilterTags.AddTag(FGameplayTag::RequestGameplayTag("KawaiiPhysics.Hair"));
UKawaiiPhysicsLibrary::AddExternalForcesToComponent(MeshComp, ExternalForces, Owner, FilterTags);

AnimNotifyによる外力制御

バージョン情報

v1.17.0で追加

AnimNotifyを使用してアニメーション中に外力を制御できます。

AnimNotifyState External Force

AnimNotifyStateによる外力の適用

Blueprint API

外力はBlueprintから動的に制御できます。

Blueprint Nodes

Blueprint用の外力制御ノード

外力の追加

UFUNCTION(BlueprintCallable, Category = "Kawaii Physics")
static bool AddExternalForce(const FKawaiiPhysicsReference& KawaiiPhysics,
FInstancedStruct& ExternalForce, UObject* Owner, bool bIsOneShot = false);

コンポーネントへの外力追加

UFUNCTION(BlueprintCallable, Category = "Kawaii Physics")
static bool AddExternalForcesToComponent(USkeletalMeshComponent* MeshComp,
TArray<FInstancedStruct>& ExternalForces, UObject* Owner,
FGameplayTagContainer& FilterTags,
bool bFilterExactMatch = false,
bool bIsOneShot = false);

外力の削除

UFUNCTION(BlueprintCallable, Category = "Kawaii Physics")
static bool RemoveExternalForcesFromComponent(USkeletalMeshComponent* MeshComp, UObject* Owner,
FGameplayTagContainer& FilterTags,
bool bFilterExactMatch = false);

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