いろいろと微妙なところはあるが、宙を飛べるようになったのでとりあえず弾を打てるようにしたい。
ボタンをおしたら、新たなアクターを生成できればいいはず。
といことで、
を参考にしてみる。
と思ったが見てみたら、弾を出すところは元データに入ってるっぽいので違うのを見た方がよさそう。
…どうもドキュメントはいっぱいあるけど検索うまく引っかからんわ、ダウンロードした埋め込みとの対応が微妙やらでむずいな
いろいろと微妙なところはあるが、宙を飛べるようになったのでとりあえず弾を打てるようにしたい。
ボタンをおしたら、新たなアクターを生成できればいいはず。
といことで、
を参考にしてみる。
と思ったが見てみたら、弾を出すところは元データに入ってるっぽいので違うのを見た方がよさそう。
…どうもドキュメントはいっぱいあるけど検索うまく引っかからんわ、ダウンロードした埋め込みとの対応が微妙やらでむずいな
前回のものをやって、なんとなく試してみたいことが出来てきたのでやってみる。
まず、Blue Print Editerのイベントグラフを確認すると、
インプットAxis MoveRight というのが有り、プロジェクトセッティングのエンジンのインプットを見ると、
軸マッピング に、MoveRight というのがある。
ということは、このプロジェクトセッティングで、軸マッピングに新たに上下移動用の軸マッピングを設定すれば良い?
ということで、軸マッピングに MoveUpを追加してみる。
多分これで準備できたので、Blue Print でイベントを追加をする。
まず右クリックで追加するイベントを選択(MoveUpで検索)そして、Add Movement Input につなげてみる(Z軸に入力を入れるようにする)。
で、実行してみるが、うまくいかず…
どうも、拘束条件が付いていそう…
もう1回 CharacterMovement コンポーネントの詳細を見直してみる。
下のプレナーモーブメントが怪しい?と思ったが現在の設定が、 Y-Z平面移動となっているようで、確かにそういう移動をするので違いそう…
そこで、このSide Scroller の Side Scroller Character の Walk Mode が問題なのでは?と気づき、下記のように上下ボタンを押したら移送モードをFlyにすればいいのではないか?ということをテストしてみる。
この状態で動作確認をしてみたところうまくできた!
github怪しいけど、とりあえずもう少しプログラミングに近そうなところをやっておく。
現在の横スクロールサンプルでは、いわゆるプラットフォーマー(サイドビュージャンプアクション)用のプレーヤーになっているので、縦移動の追加を試してみる。
取り合えず、ジャンプ動作は残しておいて、まずは重力を消す。
1.プレイヤーキャラ?をマウスでクリックすると、詳細表示にプレイヤーアクター?の詳細が表示される。
プレイヤー選択
詳細表示
この状態では、SideScrollerCharacter(self) クラス?の詳細表示になっていて、今気にしたいこと以外も表示されているので、SideScrollerCharacter の要素の CharacterMovementComponent(継承) を選択して移動関連のみの詳細の表示にする。
以下、まずデフォルト状態でジャンプした後に、重力を0にしてみてからジャンプを試した動画
詳細で、キャラクタームーブメントの基本セッティングのGravity Scale を 2.0から0.0に変更しています。
これで、このキャラクターには基本的には重力が効かないはず。
さて実際の移動の追加を始める。
為に、blueprint のチュートリアルをやってみる。(適当にできるかとみてみたが何ともなんとも…)
よくわからず…
これを見る必要がありそう。
オンラインヘルプのチュートリアルでは最後にあたりをつけてみろなどが出ているが書いてあるのか?
が、非常にわかりやすそうなのでやってみる。(すでに、上の方のブロックは消してしまっているが…)
オンラインヘルプのチュートリアルで火鉢を作ったのでそいつに、ジャンプのあたりをつけてみる!
↓の火鉢にあたりがないので、それにつける。
の2-7までは、上の状態で終わっているのですっ飛ばしてそのあとからやる。(blueprintにはなってしまっているからなんかはまるかも…)
チュートリアルでは、detailのcomponetの追加を行うように書いてあるけど、ここは、上の感じでblueprintの編集を行うことにする。
リンクをクリックすると、blueprint editer が起動。下のような感じになる。
ここで、コリジョンのコンポーネントを追加する。
チュートリアルでは、BOXコリジョンだけど、この火鉢はあたりにするならカプセルのほうが形合ってそうなので、capsuleを追加する。
すると、↓みたいになる。
と、おもったが、カプセルの半径はカプセルの高さより大きくできないなどの制約が面倒なので、やっぱり球のあたりを使用することにする。(いったんこの当りを消して付け直す)
そして、zを50に移動して、拡大縮小を3にする。
すると、↓のような感じでまぁまぁなあたりに見える。
そして、現状に一番近い、
の4-3を参考にして、イベントグラフを確認してみる
こんな感じ。
BOXにイベント追加となっているところを、Sphereに追加になる。
まずは、コリジョンの On Compornent Overlap Begin イベントを追加して、そのイベントの Other Actor 出力に==オブジェクトを追加するところ
さらに、キャラクタ―(Pawn)に打ち上げのメソッド呼び出しを追加するところ。
これで、球コリジョンに他のアクター(ゲームのPawn(自キャラ))が重なったら、そのキャラクターを打ち上げる。というイベントができたことになるはず。
そこで動作確認したところ、いい当たり判定にしてしまったので打ち上げのあたりに当たらずに、火鉢に当たってしまうため、いったん球コリジョンを大きくしてから動作確認したら無事に成功!
空に飛んでった。