飛ばした矢の突き刺し方!

飛ばした矢やダーツのような発射物を
ヒットした位置に突き刺す方法
です。

きっとダーツゲームや弓矢ゲーム

あるいは、人殺しダーツゲームや人殺し弓矢ゲームできっと役に立つでしょう。(^^)

 

↓以下のようなことが出来ます!

youtu.be

 

※ファーストパーソンテンプレートを使用してます

 

 

~矢の作成~

↓「Arrow(矢)」という名のActorを作成しました。

f:id:Free_Gamer:20190402231428p:plain

f:id:Free_Gamer:20190403005044p:plain

コンポーネント

f:id:Free_Gamer:20190402233746p:plain

CollisionComponent・・・当たり判定を取るためのコンポーネント

Arrow・・・飛ばすもの(矢とかダーツとか)

Projectile・・・物を飛ばすためのコンポーネント

 

↓CollisionComponentは、矢のちょうど真ん中あたりに来るようにしている。

f:id:Free_Gamer:20190403010227p:plain



↓CollisionComponentのコリジョン設定

f:id:Free_Gamer:20190402233639p:plain

↓Arrowのコリジョン設定

f:id:Free_Gamer:20190402235633p:plain

 

 

~矢を飛ばした時に、弧を描きながら飛ばす方法~

Projectileコンポーネントの詳細パネルにある「Projectile項目」にある

「RotationFollowVelocity」にチェックをつけます。

f:id:Free_Gamer:20190403000158p:plain

「RotationFollowVelocity」にチェックをつけた場合と、つけていない場合を見比べてみましょう。↓

 

RotationFollowVelocity「ON」

youtu.be

RotationFollowVelocity「OFF」

youtu.be

一目瞭然ですよね。

RotationFollowVelocityを「ON」にしている方が、いかにも矢という感じがしていいですよね。

 

 

~矢がヒットした位置に、矢を突き刺す~

↓「Arrow」のイベントグラフ

f:id:Free_Gamer:20190403001549p:plain

矢のヒットした位置に、「StaticArrow」という
「何かに突き刺さった用の矢」をスポーンしています。

それでは、「StaticArrow(何かに突き刺さった用の矢)」を作成しましょう。

 

「StaticArrow」

f:id:Free_Gamer:20190403002312p:plain

f:id:Free_Gamer:20190403010251p:plain

コンポーネント

f:id:Free_Gamer:20190403002532p:plain

Scene・・・Arrowの位置を自由に変更できるようにする為に親として置いているだけ

Arrow・・・何かに突き刺さった用の矢。飛ばす用の矢「Arrow」と同じメッシュを使用

 

ちなみに、飛ばす矢である「Arrow」の位置と突き刺さった時用の矢「StaticArrow」の位置は、同じにしましょう。

 

例えば、「Arrow」の位置が「X:-50」なら

「StaticArrow」の位置も「X:-50」にする。

 

↓Arrowのコリジョン設定

f:id:Free_Gamer:20190403003141p:plain

 

あとは、作成した矢「Arrow」を飛ばすだけです。

 

~実際に矢を飛ばそう!~

ファーストパーソンテンプレートにデフォルトで備わってる以下のBPを開きましょう。↓

f:id:Free_Gamer:20190403004154p:plain

イベントグラフ

f:id:Free_Gamer:20190403004313p:plain

↓Arrowをスポーンさせます

f:id:Free_Gamer:20190403004341p:plain

 

これで完了です。

あとは、Projectileの発射速度をいじって、色々遊んでみてください^^

 

それではまた!^^ノシ