UE4ゲーム制作入門五日目

一人UE4ゲーム制作入門アドベントカレンダー五日目です。

今日は攻撃をつくりましょう。ようやくゲームらしくなっていく気がしますね。

弾クラス(BP_Shot)の作成


まずは撃ち出す弾を作りましょう。PlayerフォルダにShotフォルダを作ります。Actorクラスを親にしたBP_Shotブループリントクラスを作成します。ウィンドウを開いて、コンポーネントのルートにSphereCollisionとProjectileMovementとStaticMeshを追加します。

StaticMeshはMaterialSphereを設定して、

Scaleを

X:0.5

Y:0.3

Z:0.3

に設定します。長細い楕円形になったらおっけーです。画像は違うけど気にしないでください

9_20161204011216177.png

弾マテリアル(MT_Shot)の作成


戻って、次は弾の見た目をまともにすべくマテリアルをいじります。コンテンツブラウザで右クリックしてマテリアルを作成します。

名前はMT_Shotにします。

10_201612040212112d2.png

かなり手抜きですが、とりあえずで。エネルギー弾的なイメージなのでUnlitで自己発光できるようにしてもらいます。

左下の詳細ウィンドウからShadingModelからUnlitを設定します。すると選べるピンの数が一気に減ります。詳細は置いておいて、エミッシブが自己発光してくれるピンなので、VectorParamaterノードかConstant4Vectorを作った後、

R:1.0

G:1.0

B:0.0

に色を変えて一番上のベースカラーをエミッシブカラーに接続します。その後Applyをすると、左上のプレビュー画面のプリミティブなモデルが水色になります。

水色が気に入らない人は別の色でもかまいません。特に支障はないです。

弾クラスの完成


できたら、BP_Shotに戻ります。そして、StaticMeshからMeshのマテリアルの部分を先程作ったMT_Shotを選びます。すると、楕円形が水色に光ります。

その後、ProjectileMovementをきちんと設定して飛ぶようにします。

ProjectileカテゴリからInitialSpeedとMaxSpeedを1000.0に、ProjectileGravityScaleを0.0にします。

InitialSpeedは初速でMaxSpeedは最大速度で、ProjectileGravityScaleはこのアクターにかかる重力の係数になります。

11_2016120402252272a.png

設定ができたらコンパイルして、PlayerStartの近くにBP_Shotを置きます。その後、Playをして飛んでいったら成功です。

これをBP_Playerが飛ばせるようにしようと思いましたが、攻撃アニメーションをつけようと思いましたが、思った以上に面倒なことになったので明日に回します。

ちなみに、StaticMeshのコリジョンがHitのままになってるのでクマにうまいこと当てて、ひっかけられると地平の彼方へと飛んでいきます。