takomk2
(takomk2)
1
UE5.0での質問になります
Niagaraにてブースターの噴射炎を作成するため、以下の様なNiagaraシステムを作成し、SpawnSystemAttachedを使用してスケルタルメッシュのソケットにアタッチしました
動作確認したところ、以下のようにエフェクトが非常に引き延ばされた状態で発生してしまい原因が分からない状態です
・Niagaraシステムにユーザーパラメータはまだ設定していません
・Niagaraシステム単体でワールドに設置した場合は正しく動作します
上記より、アタッチ先のスケルタルメッシュの問題だと思うのですが原因が分からないため、知恵をお貸しいただきたいです
・スケルタルメッシュはBlenderで作成しています
・メッシュ、ソケット、アタッチ先ボーンのスケールはいずれもX=1.0, Y=1.0 Z=1.0です
jgoamakf
(HIRAMATSU, Yoshifumi)
2
最後のスクリーンショットの状態ですが、親のアクターは動いてますか?止まってますか?
パーティクルではX軸方向にForceを加えているので、アクターがX方向に動いているのかいないのかを確認したいのです。
takomk2
(takomk2)
3
ご回答ありがとうございます
アクターは静止状態です
jgoamakf
(HIRAMATSU, Yoshifumi)
4
うーむ
こんな感じのNiagara Systemを作って
SK_Mannequinの頭のところに「headsocket」を作り

BeginPlayでSpawn System Attachedするように作ると
シミュレートしても普通でした

レベル上でアクターに付けて実行すると非常に速いスピードで
パーティクルが飛んで行くんですよね?ActorかMeshの何かで
Velocityが追加されているのでしょうか(問題の原因は分からない)
takomk2
(takomk2)
5
返信ありがとうございます
いただいた情報を参考に色々試してみました
・同一のスケルタルメッシュを使用し、中身を実装していないアクタを作成してみましたが
ビューポートの時点でこうなっていたので、やはりメッシュ側の問題のようです(速度は無関係のようです)
・別のボーンやソケットにアタッチしても同様に発生しました
・SK_Mannequinにアタッチした場合は発生しませんでした
・LinearForceをAddVelocityに置き換えても同様の現象が発生します
また、同メッシュをボーンから切り離してStaticMeshとしてインポートし、ソケットを追加後にアタッチした場合は発生しませんでしたので問題はボーン側のようですが、スケールは適用済みですしやっぱり原因はよく分かりません
インポート/エクスポート時の設定の問題ぐらいしか思いつかないですが、ほとんどお手上げ状態なので応急処置として数値の調整で対応しようかと思い始めてます…
jgoamakf
(HIRAMATSU, Yoshifumi)
6
根本的なことは分からないので書き込むのはこれで最後にしますが、回避策の案だけ
-
NiagaraはMeshの子供にせず、Meshと同じ階層に置く(親はCollisionとかでも良いかも)。

-
Spawnするのではなく、Activeかどうかで見えるかどうか制御します

攻撃エフェクトとかで似た問題が起こる可能性は残りますが、噴射に限ればそれなりに見えそうな気がします。
BlenderからUnrealEngineにSkeletalMeshを出力する場合、MeshのScaleが1のときにArmatureのScaleが0.01になるようにする必要があります
対象のSkeletalMeshのSkeletonを確認してみてください
Blender上でMeshもArmatureもScaleが1の場合、UnrealEngineにImportした際にRootBoneのScaleが100になっています
単純にAnimationを流すだけなら問題は出ませんが、Retargetしたり、Physicsを適用しようとすると不具合が出ます
NiagaraでBoneにAttachした際も、Force(PhysicsSimulation)はAttachしたBoneのScaleを参照するので、今回のような結果になります
takomk2
(takomk2)
8
ご回答ありがとうございます。T_Sumisaki様の対象法で正常に動作することが確認できました
ご指摘通りRootのScaleが100になっていました
大変勉強になりました