Posted Articles

UE5's articles. (58)

わんころのUE5勉強会 Jan/02/2024 12:00

【UE5】Actor Component内に実装したBlueprint Interfaceを利用する

皆様、明けましておめでとうございます!

今回は Blueprint Interface(以下 BPI) の実装を、Actor Component 内で行った場合の処理を記事にしてみました。
※ BPI の細かい使い方についてはここでは解説しておりません


まずは通常の Actor BP で実装をおさらい

例えば BP_ThirdPersonCharacter に「Line Trace By Channel」でヒットした時に、該当の Actor に BPI を使って通知するという処理を実装したとします。

ターゲットが "Hit Actor" になっているので、この BPI を実装している Actor 側でヒット時の処理を行うような想定です。




そこで、BP_Cube という Static Mesh にキューブをセットした Actor を用意し、BPI の設定と中身を実装した例です。




レベルに置いたキューブに LineTrace がヒットして、画面に Hit と表示されたのがこの画像です。

次は Actor Component にこの BPI を設定した場合を見ていきます。
※ BP_Cube に設定した BPI は必要ないので削除して大丈夫です



Actor Component 内で BPI を使用する

まずは Actor Component を作成するため、コンテンツブラウザで右クリック>「ブループリントクラス」から、[Actor Component]を選択して適当な名前を付けておきます。



これも先程同様、「クラス設定」>「実装インターフェース」で BPI を設定し、中身を「Print String」にしておきました。




そして BP_Cube の「コンポーネント」パネルにある[+追加]から、先程作成した Actor Component を追加します。
(画像では AC_Sample となっています)



BP_Cube に BPI を実装した Actor Component が追加されたので、同じ結果になると思いきや...


ヒットしているのに Hit という文字が出ていません。

これは、LineTrace を行った時のターゲットが違うためです。

先程はヒットした Actor 自身(BP_Cube)がターゲットになっていましたが、今度は Actor に追加した Actor Component がターゲットになるため下記のように変更します。



"Hit Actor" から引っ張り、「Get Component by Class」か「Get Components By Class」を出し、それをターゲットに繋ぎます。

"Component Class" には先程作った Actor Component を指定します。

Components By Class は複数形なので配列になっていますが、BPI のターゲットにそのまま繋ぐことができます
これで Actor BP で追加した Actor Component の BPI に処理を送信できるようになります。


今回の例では LineTrace にヒットした Actor に対してですが、もし操作キャラクターに追加した Actor Component に通知を送りたい場合は
「Get Player Character」>「Get Component by Class」>BPIのターゲットへ繋げばいいということになります。


画像は使いまわしですが正しくヒットと表示されると思います。
以前 Actor Component 内の BPI 実装に引っ掛かったことがあったのを思い出し、今年初の記事にしてみました。

それでは皆様、今年も宜しくお願い致します!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Dec/28/2023 22:59

【自作ゲーム】活動開始~初のゲーム完成までの振り返り

皆様、こんばんは!

2023-12-17 に初の自作ゲーム「違和感のある部屋」をリリースさせて頂きました。
(現在、操作性向上に向けた v1.1 のアップデートを配信しております)

■ フリーゲームですので是非遊んでみて下さい!
https://tadanoinugoya.booth.pm/items/5229273

そんな訳で活動を始めてゲームを公開するまでの振り返りを書いてみました。


活動開始からゲーム公開まで

2022-04月頃:活動の準備

私が活動を始めてみようと思ったのがこの月でコロナに罹っている時期でもありました。身体だけは元気なのに喉が全然治らず完治するまでに3か月要し、仕事に支障が出ていたので休んでいました。大分きつかったですね。

活動するなら以前から興味があったゲーム制作をしてみようと思っていて、この時 Unity を勉強しようと思ってました。
ゲーム制作で調べてると、RPGツクールや Unity で作られてる方が多そうな印象を受けたためです。

始めようと思った時、丁度 UE5 がリリースされことを知り、せっかくなら新しいものを触ってみようと思い活動が始まりました。


2023-05-05:活動開始

この日 Twitter と YouTube を開設しました。
1ヶ月ほど UE5 の操作を学んでいたのですが、UE5 の日本語動画はほぼなく、参考にしていたのは UE4 の動画でした。

UI が違うため操作も所々違っていてこれでいいのか分からずとにかく写経タイムでした。

そして、どうせ勉強するなら自分の備忘録になりそうと思い VOICEVOX を使った動画作成も初めてみました。


2022-11月頃:初のプロトタイプを作成

なんやかんやでもう半年が経ちました。最初に比べて少しは操作に慣れたかなとは思いましたがやりたいことが出来るレベルではありませんでした。

これまで細かい機能をテストしたり勉強したりを繰り返していましたが、本格的にゲーム制作を始めたのが2022年10~11月くらいだったと思います。

そろそろプロトタイプのようなものが欲しいと思い自分が出来る範囲で作成したのがこの記事でした。

https://ci-en.net/creator/15980/article/743418


どういうゲームにしようか頭にあるだけのほぼノープランで始まったクロックタワーのような視点を意識したプロトタイプを作成しました。

ここではプレイヤーの移動やインタラクト、懐中電灯の移動処理を実験的に作成しただけでした。しかしこの後どうする?が全く頭になかったこともあり1からプロジェクトを作成し直しました。


2022-12月頃:2回目の新規プロジェクト

https://ci-en.net/creator/15980/article/759338

ここから約2か月、3D空間を動ける脱出ゲームにしようとマップを作成して進めていましたが当初予定していた規模より大きくなりすぎた上、まとまりがつかなくなってきたなと思い始めます。

当初よりかやりたいことはイメージできてましたが、少しだけ UE5 を使えるようになったこともあり、出来ることが増えてあれもこれもと欲が出始めきたのも丁度この時でした。


2023-03月頃:3回目の新規プロジェクト

このままではまずいと思い更に規模を縮小しようと考え新規プロジェクトを作成しました。
そして今までやってこなかったタスクを管理するツール Trello(Web版)を導入しました。

とにかくやることを書き出し、足りないものは追加しながら仕様や形を決めていきました。更にマップの大きさを予め決め、その中で出来ることを増やして行こうと考えました。

https://ci-en.net/creator/15980/article/824928


2023-05月頃:アンリアルクエスト5に挑戦

アンリアルクエスト5が発表されました。
とりあえず初級はクリアは出来ましたが、元々作ろうとしていたジャンルではなかったこともあり勉強不足な部分がかなり出ていました。

クエストの過程などはこちらに記載しています。

https://ci-en.net/creator/15980/article/878414

日に日にお題が更新されますが、時間に対してとても捌ける物量ではなく取捨選択をしていました。
しかし、実装する上で何が大事で優先度が高いのかを判断する勉強にもなりここから自分のプロジェクトでもこの経験を活かせると確信します。


2023-10月頃:UMGに苦戦とバグラッシュ

あれから数か月、進捗報告もしながら開発が進んでいきます。
事前に決められたマップ内で何かしようと思ってたこともあり、変にあれもこれもというものはなくなっていました。

この頃から特に UMG(UI)周りを整えていましたが、Actor の BP と違い UMG の使い方や仕様がなかなか馴染めず理解不足な所も多くかなり苦しんでいた時期です。


そして今までもテストプレイを行っていましたが、ここにきて怒涛のバグラッシュに突入します。

https://ci-en.net/creator/15980/article/981164

軽度なバグから進行不能なバグまでとにかく色々見つかります。

Trello はタスクリストとして使う以外に記録的なものも残せるので不具合が出た...だけで終わらないようにしていました。
お見せできる範囲の1枚ですが例えばこういう感じです。

何をしたらそうなるかを順番に記載し、対応策が分かればそれも記載します。こうしていたおかげで日が開いてしまったり、特定のタイミングだけしか発生しない時なんかにとても役に立っていました。

こういう不具合や、後でやろうと思っていることはほぼ忘れるので自分の記憶はもはやアテにしていませんでした。


2023-11月頃:完成も見え、タスク管理ツールに感謝

今年も残り1ヶ月となしました。
制作の終わりも近づいており、最終イベント周りに着手していました。

https://ci-en.net/creator/15980/article/1012270

ここまでくればもう完成したも同然!とは言えず終わりに近づくにつれ更なる不具合との闘いでした。
しかし Trello に色々残してきたおかげでとにかく助かっていました。


2023-12-17:ゲーム完成!

ついにゲームが完成し公開できました!

https://ci-en.net/creator/15980/article/1026011

しかし公開して数時間はビクビクしておりました。

というのも自分の開発環境でしかテストが出来なかったため、他の PC で果たして動くのか、直前まで不具合修正もしていたのでクリア出来なかったら...と不安ばかりが頭をよぎっていました。

その後コメントでクリア報告や、操作性に難はありましたが不具合は特に出なかったなど嬉しいコメントも頂け、やっと肩の荷が下りたような状態でした。(気が抜けたのか次の日風邪をひくことに...)


2023-12-24:操作性向上に向けたv1.1を公開

v1.1 を公開し、頂いたご意見などを元に操作性向上と不具合修正に向けたアップデートを行いました。

致命的な不具合等が報告されなければこれにて「違和感のある部屋」の開発は完了にしたいと思います。


リリースしてみて

世に出ているゲームは本当にものすごい努力の結晶であることが分かりました!本当に凄いです!もうこれに尽きます。

私の作成したゲームはキャラのモデルもアニメーションもないし、歩いてインタラクトするだけのゲームだったにも関わらず、ゲームを1本完成させ、他の方に遊んで頂くことがいかに大変なのか身をもって知ることが出来ました。

その反面色々な知識を得ることもできました。
かなり大変ではあったのですが、次回作もチャレンジしたいと思っています。背伸びをしてる気もしますが、次回は Steam でゲームを販売してみたいななんて。


次から意識すること

1つ目:完成した時の規模感をイメージしておく

この規模感というのはゲームのタイトル画面からエンディングを迎えた時に自分のゲームはどれくらいの規模になっているか?ということです。

開発中に修正など挟んだりはありましたが、何も考えずに手を出し始めた時よりやりたいことが見えてきたのでそこは意識したいと思いました。


2つ目:何かあればすぐタスク管理ツールに残す

何より忘れることがないのでとにかく残すようにする癖をつけるといいんじゃないかと思いました。

日が変わっても課題のようにタスクが残っているとやらなければ...という使命感も出ますし、スケジュール管理になるかもしれません。


Ultimate To-Do List
以前から気になっていたプラグインで Trello と連携が取れる UE内に統合されたタスク管理を補助してくれるもののようです。

以前セールの時に購入して今回は一旦使用を見送っていたので、使い心地を試してみて使いやすそうなら次のプロジェクトで使ってみようと思います。


3つ目:期間を決める

「違和感のある部屋」は新規で立ち上げた所から数えると約10か月で完成しました。

UE5 の勉強や動画作成に充てていた時間もあったので全てをゲーム制作に費やしていたわけではないですが、規模も考えるとペース的にはかなり遅い方だと思います。

今年は何かゲームを公開したいとう目標を持っていたため、どんな形であれ年内までと決めて取り掛かっていました。

実は着手していたのに未実装に終わっている謎解きもあったのですが、それを実装すると年内までには厳しそうと思い強引な終わらせ方をしています。

今となっては凄く心残りですが、それでも遊んで頂け、感想も頂けるのがとても嬉しいことだと知れました。公開して本当に良かったと思っています。


4つ目:デバッグ機能は作っておく

ゲームによって大きく変わると思いますが、今回の作成で欲しいなと思ったデバッグ機能は「アイテム取得フラグをすぐ切り替えれるもの」「イベントを終わったことにする」といったフラグ管理系の機能でした。

簡素な UI でもいいのでデバッグ用の UMG を用意し、例えばボタンを押せばアイテム取得フラグを切り替えられるとかそういうものがあればもっと効率がよかったと思いました。

毎回歩くのを避けるため、指定のポイントにテレポートする機能や、完了したイベントを出力するなど簡単なデバッグ機能は設けていたのですがこういうのは作っておくべきでした。


最後に

来年もまた UE5 の勉強をしていきたいと思います。
皆様も良いお年をお過ごしくださいませ!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Dec/17/2023 22:34

自作ゲームの進捗26(完):初めてのゲームがついに完成しました!

皆様、こんばんは!

兼ねてより制作しておりました初のフリーゲーム「違和感のある部屋」を公開致しました!

至らない点も多いと思いますが、BOOTH にて DL 可能ですのでプレイして頂けると嬉しいです!


■ DLページ
https://tadanoinugoya.booth.pm/items/5229273


【製品概要】
タイトル:違和感のある部屋
(※キーボード+マウス操作のみ対応です)
制作:UE5
ジャンル:短編脱出ゲーム+ホラー
言語:日本語
プレイ時間:30分程
容量:約410MB
価格:無料(投げ銭用の有料版あり。無料版と内容は同じです)
OS:Windows

ホラー要素を入れてみましたが、ホラーに強い方、好きな方には多分物足りないと思います。
念のため苦手な方はご注意下さいませ。


後日、制作の振り返りなどしようと思います(完成したらやってみたかった)

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Dec/03/2023 00:28

【UE5】UMGのシーケンサーでマテリアルのパラメータを直接制御する

皆様、こんばんは!


今回は、作成したマテリアルの中で利用しているパラメータを、マテリアルコレクションを使わずに UMG のアニメーションシーケンサーで制御する方法について紹介しようと思います。

適当なマテリアルを作成

コンテンツブラウザで右クリック> マテリアルから適当なマテリアルを作成します。

続いて UMG で利用できるようにするため「Material Domain」を [User Interface] に変更します。

そして適当なパラメータを用意しておきます。
今回はサンプルとして、Constant(画像の ParamScalar)と、Constant4Vector(画像の Param4Vector) をパラメータにしています。


UMGを作成してマテリアルをセットする

コンテンツブラウザから右クリック> 「ユーザインターフェース」> 「ウィジェットブループリント」から、UMG を作成して開きます。



Border や Image の「Brush」>「Image」には、「Material Domain」を [User Interface] にしているマテリアルもセットできます。

今回は Overlay に Border を追加し、先程作成したマテリアルをセットしておきました。

このマテリアルに仕込んだパラメータ(ParamScalar/Param4Vector)を UMG のアニメーションシーケンサーで制御しようというのが今回の記事です。


アニメーションシーケンサーで利用する

画面左下より「アニメーション」を選択し、アニメーションシーケンサーを表示します。
[+アニメーション]ボタンをクリックして適当に名前を付け、[+トラック]ボタンからマテリアルをセットした Border をクリックします。



追加した Border の右側にある[+トラック]ボタンをクリックし、「Brush.ブラシマテリアル」を選択します。


最後に「Brush.ブラシマテリアル」右側の[+パラメータ]をクリックすると、先程マテリアル作成時にパラメータ化していたものが表示されています。

これでシーケンサーで値を変化させる準備が出来ました。



後は、シーケンサー上でキーを打ったり、値を変更したりすれば OK です。

UMG のアニメーションシーケンサーで利用する際、マテリアルパラメータコレクション経由でないと使えないと思ってたのですが、直にパラメータを触れるんだなと思った記事でした。

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

わんころのUE5勉強会 Nov/29/2023 22:53

自作ゲームの進捗25:完成間近?最終イベントに着手中。

皆様、こんばんは!

ようやく最終イベントに着手することになりました。
それに伴ってエフェクトのテストを実施。

インタラクト開始時のレターボックス(上下の黒い所)と、インタラクトの対象物にディゾルブエフェクトを掛けてみるテストです。

以前フェードの実装にディゾルブを使ってたのですがマップ遷移の時に結構面倒なことが起こったためやむなく実装を廃止しました。

どこかで使ってみたいなとは思ってたので、当初予定していた最終イベントを少し変更し、そこで利用してみようと思いテストしてみました。

他に影響する部分でもないですし、普通に消えるよりも見栄えがよくなった気がするのでこれで満足しました。


そして、このイベントが完成すれば簡単な ED を流して終わりになるので完成も間近になりました!

ここまで来るのにゲームの仕様変更や規模を縮小して今に至る訳ですが、行き当たりばったりではブレブレになりますね。


今年終了まで後一ヶ月...
ペース的には間に合いそうな気もするんですが、最近眠気と寒さに負けすぎて気合いを入れ直さないといけません!



ここからはゲーム制作とは別の話です。
最近マリオRPGが発売されましたね。

私は Nintendo Switch を持ってないのでプレイできないのですが、これをやるためだけに買ってもいいと思えるくらいやりたいです。

最近 YouTube で「マリオRPG プレイします^^」的な動画をよく目にするんですがとりあえず見ないように我慢です...

別ゲーでやりたいのだと、12月で Wo Long の DLC が揃うみたいなのでこのゲーム完成したら少しの間は死地に赴きたいと思っております。面白そうなゲームだったので楽しみです!


残りの作業も頑張っていきたいと思います!
それではまた!

If you liked this article, support the creator with a tip!

Sending tips requires user registration.Find details about tips here.

1 2 3 4 5 6 7

Search by Article Tags

Monthly Archive

Search by Exclusive Perks

Search Articles