アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE5】18回UE5ぷちコン振り返り

18回UE5ぷちコンお疲れ様です(*'▽')

今回は参加したぷちコン18回で私が行った作業について紹介しようと思います。
共同作業で作成しました。作品動画は下にあります。

※UE5.0.2で説明しています。

鍵のランダム生成について

鍵のランダム生成についてはGeometryScriptを使用しています。

簡単な使用方法などは記事にしていますのでこちらをご覧ください。

今回は鍵をランダム生成する用のモデルをBlenderで作成して、

頂点の順番がランダムにならないように調整してあります。

IDの順番をきれいにする方法は追加したい順番に頂点を追加すればOKです。

モデルのID表示はこちらのBlenderプラグインを使用しています。

頂点IDが整列された長方形のモデル

続いてGeometryScriptの処理を作成していきます。

プログラム処理の大枠としては5つぐらいです。

1.モデルの頂点情報を取得する。

2.頂点の移動量を頂点の現在位置と加算する。

3.頂点情報が重ならないように位置を並べ替える。

4.当たり判定の代わりを担うRayを飛ばす頂点の位置を設定する。

5.最後にとってのモデルを設置する。

まずは1の「モデルの頂点情報を取得する。」説明からします。

先ほどのカギのモデル情報をコピーして、その頂点数を取得します。

頂点情報の取得その1

取得した頂点数と頂点情報の構造体から、ForLoopで一つ一つ受け取ります。

受け取ったVector情報を配列として保持して完了になります。

頂点座標を一つ一つ格納する処理

続いて2の「頂点の移動量を頂点の現在位置と加算する。」処理になります。

頂点座標の配列の値を取得して位置を加算する情報が入ってる配列の値と、

加算することでそれぞれの配列の位置をランダムにします。

※割り算で2を指定しているのは0,1と手前の頂点と奥の頂点を一致させるためです。頂点をそろえるように設定

あとは上記のランダムにずらした頂点をモデルに反映して2は完了になります。

頂点情報の適応

続いて3の「頂点情報が重ならないように位置を並べ替える。」になります。

こちらは頂点を修正する用の関数を用意して並べ替えをしています。

頂点が重ならないように修正

並べ替える処理の関数の中身はこのような形です。

※だいぶスパゲッティ気味ですが・・・

値ソート処理

続いて4の「当たり判定の代わりを担うRayを飛ばす頂点の位置を設定する。」です。

これは渡す頂点配列の番号を元に座標位置を取得して、

Rayを飛ばす場所を示すSceneComponentに渡しています。

Rayを飛ばす箇所の頂点座標を渡す

最後に5の「最後にとってのモデルを設置する。」については、

こちらは取っ手のモデルの形状をコピーして、

MeshBooleanの関数でオプションを「Union」にすることで合わせています。

持つ場所のモデル追加

鍵の形状の作成は以上になります。

鍵穴の方の処理については3、4、5の処理が無く、

鍵穴用モデルの生成処理と鍵穴をあける処理を追加した形になります。

鍵穴をあける処理も鍵穴のモデルで穴をあけている形です。

MeshBooleanの関数でオプションを「Subtract」に設定しています。

MeshBooleanで穴をあける処理

以上が鍵と鍵穴の説明になります。

・目次に戻る

Niagaraのエフェクトについて

ゲーム開始時や新しく鍵穴などを表示する際に発生させるエフェクトになります。

下記動画を参考に作成させていただきました。

これに関しては動画を見るのが一番良いのかなと思っていますので、

ぜひ動画を見て制作してみてください。

実際に作成した画像は下記になります。

実際に作成したエフェクト

・目次に戻る

音声ファイルの作成について

音声についてはVoicePeakというツールを使用しています。

結構いろいろなパターンを取りました。

使用方法や詳細な紹介は下記の動画から確認してみてください。

以上が今回のぷちコンの説明になります。

次も余裕があれば参加するかもしれません。

・目次に戻る