しんばりん日記

ue4を使ってのゲーム制作ブログです。間違いを指摘していただけると助かります!

攻撃してみる:魔法作成(3)

今回から、魔法の処理あたりを強化していきます。

(そういえば最初に組み立てた予定ではそのつもりでしたし...)

 

今回のゲームで考えた魔法の攻撃はこんな感じです。

f:id:sinvary:20190110005636p:plain

実質何も考えていませんがだいたいLv3~5段階あればいいかなと。

それで重視しているのが、手の位置から魔法を射出すること。

なので、今回はキャラクターの手の位置を取得し、魔法を前方に射出します。

 

手の位置を取得するにあたって、今回使用するのはソケットです。

というわけで、マネキンの手の位置にソケットをくっつけます。

f:id:sinvary:20190110010425p:plain

ボーンを見ながら、だいたいこれぐらいがよさそうだなというところに作成。

そしたら、以前に作成していた魔法をスポーンする処理にて、

Get Player Character->Get Socket Transformを呼びます。

設定する名前はもちろん、先ほど作成したソケット名。

取得したTransformをそのままスポーンにつなげれば、手の位置(ソケットの位置)に

魔法が出現するようになりました!

 

f:id:sinvary:20190110010904p:plain

走ったりジャンプしながら魔法を打ちまくっている図。

魔法自体がただの楕円なのでしょぼいですね...

また、現状では奥や手前に行ってしまっています。

これを修正します。

 

設置したキャラクターを見るに、傾きはZ軸に-90or90となればいいようですね。

どうしよう...と考えていましたが、向いている方向が+か-かだけだったので簡単でした。

試しにGet Actor Rotationの値をPrintStringでログ出力してみると、きちんと90~-90に収まっていました。

それにしても改めてしっかり見るとこのサイドスクロールはプレイヤーに背中を見せないなぁ...

f:id:sinvary:20190110013652p:plain

そんな感じで作ってみたのがこんな感じ。

Get Actor Right Vector が現在の方向を見てくれているっぽいので、それで確認することにしました。

まぁスポーン時ではなく、スポーンした側で調整すればいいと思うし、

そこらへんは追々修正していく予定です。

 

ひとまず今日はこんな感じで。

明日は炎魔法のBP作成と、それぞれにマテリアルを張り付けて魔法切り替え。。。

ぐらいはやろうと思います。

BPはアイスと変わらないものですし、マテリアルは一色でとりあえずやろうと思うので

他にももう少し手を加えようかな...