①最初に、Maya等で作成した梯子のモデルを用意してレベル内に配置します。
②梯子アクタを選択してOnComponentBeginOverlapを用意し、対象のプレイヤーが梯子のCollistionに触れたら、Booloean型のIsMoveに値をセットします。
③Uキーを押したら、IsMoveがセットされている事を確認し、もしセットされていれば真の方にパルスを流します。
④GetPlayerpawnでプレイヤーの情報を取得し、更にGetActorLocationでアクタの位置情報を取得します。
⑤ ③で行った処理でパルスが流れてその先のノードがSetActorLocationなので位置情報を代入するので、ここではZ値の100がセットされます。
⑥更に梯子に登っている際はその位置を固定したいのでGravityScaleで無重力状態にするので0にします。
⑦最後にOnComponentEndOverlapで梯子Collistionからプレイヤーが離れたらisMoveの値が解除され、重力も1にしてデフォルトに戻るようにしました。
アニメーションがあるとよりリアルな動きを再現できますが、今回は無しで・・・
それと、今回はレベルブループリントで実装しましたが、本来であればクラスブループリントでやりたかったのですが、キー操作が反応しなかったためできませんでした。
解決法をご存知の方がいれば教えていただきたいです。
0 件のコメント:
コメントを投稿