ふわーりんの勉強まとめ

勉強したことを忘れない為のブログ

UE4 Loopool備忘録(壁づりベクトルを反射ベクトルにする)

ヒストリア様主催のぷちコンで以下のゲームを作成しました。

 

www.youtube.com

 

オリジナルルールのピンボールゲームなのですが、そこで詰まった部分等を備忘録として残していこうと思います。

 

今回はボールの反射についてです。

UnrealEngine4では物理操作をエンジンに組み込んでいるので

そこまでつまらずに作成できるかなと踏んでいましたが、

作成途中こんな現象が起こりました。

 

youtu.be

 

 

理想としてはボールが壁にあたった時に反射角にボールを移動させたいのですが、反射せずに壁にそって移動してしまいます。

これを反射角に移動させたい場合はプロジェクト設定を変更する必要があります。

 

プロジェクト設定→エンジン→Phisycsから

「BounceThreholdVelocity」の値を0に設定します。

※デフォルトは200

 

f:id:konapurinn:20180422230242p:plain

 

このオプションはオブジェクトを反射させる際に、最低限必要な速度の値を設定します。

(間違っていたら指摘ください)

デフォルトでは200になっているので、反射させるにはボールの速度が200必要になります。

 

今回のゲームの仕様では速度に関係なく反射させたかったので、0に設定しました。

 

これを設定した動作が以下のようになります。

youtu.be

 

理想通りに反射角に移動することができました。

 

作成してるゲーム等で反射が思っていた動作と違う際に確認してみると良いかもしれません。

 

参考:「https://answers.unrealengine.com/questions/453130/physics-object-dont-bounce-at-low-angle-and-speed.html