高機能なゲームエンジンであるUnreal Engineは無料で簡単に始めることができます。
インストールの仕方などは以前の記事をどうぞ。
前回の続きで、First PersonのBPを学びました。
サウンドとエフェクトを取り入れました。
発射された球が衝突時に爆発します。物体に加わる衝撃も強くしました。派手になって良い感じです。
参考動画
ゲームデザイナーのためのブループリントとゲームプレイ>レベルにサウンドやエフェクトを入れる、ブループリントでのサウンドやパーティクルの再生
1.Googleで検索する。そして画像の手順にすすめる。

↓

↓

↓

2.左のウィジェットからコンテンツライブラリを選ぶ。

3.中央にある検索窓から見たい動画を検索。

4.動画を見る。
今回はEpicから配布されている[Blueprints and Gameplay In Development]というプロジェクトを使って学習しています。
1.Unreal engineのサイトのトップバーから、PERSONALを選ぶ。

(まずサイト右上のIDにカーソルを合わせる)
↓

(PERSONALを選ぶ)
2.REDEEM CODE(コードの利用)を選ぶ。

3.次のコードを入力して、REDEEM(コードを利用)をクリック。
QJG79-UKK5K-AYW97-8VE4D

4.COMFIRM(確認)をクリック。

学習内容

調べたこと
パーティクル・システムを参照(wiki)。
爆発などの曖昧な現象をシミュレートするものらしい。エフェクトだと考えれば良いかも。ここでは粒子という意味ではなく使われている。
意味:発射物
発音:prədʒéktl(米国英語)

意味
動詞(他動詞):(魚、カエルなどが)(卵を)産む 、(~を)大量に引き起こす
発音:spˈɔːn(米国英語)

意味
名詞:放射源
発音:əmɪtə(米国英語)
(関連)

emit
他動詞:(光、熱などを)放射する
学んだこと
場所:UE4エディタのコンテンツブラウザ
[StarterContent]の[Particles]フォルダを開き、[P_Sparks]を見つけドラッグし配置する。

↓

[StarterContent]の[Audio]フォルダを開き、[Fire_Sparks01_Cue]をダブルクリックすると新しいウィンドウが開く。

↓

このウィンドウでは様々な変更ができるが、今回はSaveするだけ。UE4のエディタに戻り、[Fire_Sparks01_Cue]をドラッグして先ほどの[P_Sparks]の近くに配置する。

↓

[First Person Template]ファイルの中の、[BP_FirstPersonProjectile]をダブルクリックで開く。

↓

[Play Sound at Location]のノードを追加して、Locationとして[Get Actor Location]と繋ぐ。

↓

[Spawn Emitter at Location]のノードを作成し、先ほどと同様に接続する。

↓

このEmitterはSpawnされている(生み出されている)ので、この発射物(projectile)とは別物である。したがって、このEmitterは[Destroy Actor]によって破壊されない。
[Sound],[Emitter Template]をそれぞれ、[Explosion_Cue],[P_Explosion]にする。

今の状態だと、物理属性をもつ物体に当たらないと3秒たったら爆発せずに消える。物体に当たらなくても爆発して消えるようにする。


[Initial Life Span]を3から0に修正。

↓

[Initial Life Span]が0だと打つと同時に消えそうな気もするが、逆にずっと消えないで残る。この状態で球をたくさん打つとマップが散らかってしまう。

[Initial Life Span]が0だと球は消えないが、小さな値にすると当然発射してすぐに消えてしまう。

[Event BeginPlay]と[Delay]のノードを追加して、[Play Sound at Location]と繋ぐ。[Delay]のDuration(存続期間)は3秒にする。

↓

[Spawn Emitter at Location]の[Scale]を1から2.5に変更(x,y,z全て)。

(変更前)

↓
(変更後)

[Velocity]を100倍から1000倍に変更。

↓

(変更後)

試したこと
箱[BP_Sample_Trigger]に向けてEボタンを押すと、別のActorである椅子[BP_Sample_Parent]が回転する。もう一度Eボタンを押すと回転が止まる。そんなBPを作りました。
「ドアを開くスイッチ」と「Interfaceでドアの開け閉め」で学んだことを使って作りました。



UE4のエディタ上で、リファレンスとして回したい箱[BP_Sample]を選ぶのを忘れずに。

はじめ[None]のままでやって上手くいかず、しばらく悩みました。


コメント