qrosin
(qrosin)
1
お世話になります。
一つ質問をさせていただきます。
現在、キー入力を受けて高速で動く床を作成しております。
入力したAxis値をそのまま床の加速度にし、
Tickから「AddActorLocalOffset」で動かす方式です。
!269888-
actor ・・・これを動かす
└childActor ・・・間に噛ませたアクタ
└staticMesh (床) ・・・上にキャラが乗る
上記のようなアクタの構成で実行したところ
2つほど予期せぬ挙動が発生しました。
(タイトルでは慣性力という言葉を使いましたが正確かはわかりません)
1. 床の上のキャラクターが逆側にずれ動く ※加速中のみ
2. キャラクタがずれ動いた分だけ、床のコリジョンがずれる ※空中でも落ちなかったりする
actor
└staticMesh(床)
という構成にした結果、上記のようなおかしな挙動は起こりませんでしたが、
原因がいまいちわかりません。
childActorがずれている、とも考えたのですが
位置の差分を取った結果、どうにもキャラクタが動いているようでした。
どうか知恵をお貸し願いたいです。
よろしくお願いいたします。
alwei
(alwei)
2
ChildActorがどのような構成になっているのかわからないので、正確にお答えはできませんがベースとなる親のコリジョンを子供は受け継ぐことようになっており、ベースのアクターにコリジョンがついていない場合には子供のコリジョンには正しく反映されません。
正確な回答をするためには、このアクター全体がどのような構成になっているのかを追記していただく必要があります。
qrosin
(qrosin)
4
alwei様、ありがとうございます。
返信が大変遅くなってしまいまして、まことに失礼いたしました。
アクタ全体の構成としては
・Actor_A(親アクタ)
└ ChildActorComponent(Actor_B)
・Actor_B(子アクタ)
└ StaticMeshComponent(コリジョン有の床メッシュ)
となっております。
お答え頂いた内容は、ここで言うと
Actor_A自体にコリジョンがついていないことが原因では、
ということですかね・・・
ひとまずActor構成を見直してみることにします。
ご回答、ありがとうございました。