はじめに
BlenderとUnreal Engine 4の勉強を再開しています。今回の目標は11月までに3Dで動かせるキレイなモバイル向けゲームを作ることです。
前回まで
前回は近づくと自動で開くドアを作ってみました。
今回の作業
今回は物を押す動きを作ってみたいと思います。
まずアクターのブループリントを作成します。
スタティックメッシュを配置して、
PhysicsConstraintを中心に追加しました。
右側のタブでComponent Nameをスタティックメッシュと同じにします。
すると、メッシュが赤枠で囲まれるようになりました。
さらに、Linear LimitsのXY軸方向をFree、Angular LimitsをLockedにします。
これで平面にのみスライドして動くようになりました。
スタティックメッシュの詳細タブからLinear Dampingの数値を上げました。
この数値を調整して滑りやすさを変えることができます。
X軸方向、Y軸方向にそれぞれボックスコリジョンを作成します。
※このコリジョンに触れたら押すように設定していきます。
キャラクターBPの変数にIsPushingというブーリアンを作成しました。
※変数をいろいろ作りすぎてややこしくなってきています。
ボックスコリジョンに触れたら、物理シミュレーションを開始して、IsPushingがonになるように
ボックスコリジョンから離れたら、物理シミュレーションを終了して、IsPushingがoffになるようにしています。
アニメーションブループリントにもIsPushingの変数を作成して、
キャラクターブループリントのIsPushingと連動するようにしました。
ステートマシーンを作成していきます。
コリジョンに触れたら押す状態になって、
スピードが上がったら押すアニメーションが再生されるように条件付けします。
ここまで
これで物を押すアニメーションができました。
コリジョンから離れるとスタティックメッシュに戻るので、足場としても使うことができます。
今日はここまでにします。次回も続きを作っていきたいと思います。
(今回の作業時間:180分)
<前の記事