関連ブログ
- チャンクダウンローダーを用いたアセットの配布に関する問題対処事例 2024.12.25UE
- [UE5] 元の位置に戻るカメラの実装 2024.12.18UE
- [UE5]難易度変更に対応したシューティングゲームを作ってみよう 2024.12.11UE
CATEGORY
2024.01.10UE5UE/ 初心者向け
こんにちは、エンジニアの山中です。
今回はゲームプレイ中に1つだけ存在して欲しいアクターの扱い方について
実用している方法を紹介します。
唯一無二な存在であるキーボーくんを召喚して
継続的に体調チェックを行います。すっかり寒くなりましたから。
今回細かな設計は割愛させていただき、ひとまずレベルブル―プリントに実装していきます。
レベルのBeginPlay時に生成処理を行い
その後、アクターの取得関数を用いでTickで体調チェック行います。
各関数の中身はそれぞれ下記の通り。
これでひとまず目的は達成できました。
過去の自分は他人と言いますように
常に関数が正しい使われ方をするとは限りません。
例えば下記のように使われてしまうと。。。
体調チェックどころではなくなってしまいました。
2段階で改善していきます。
まずSpawnを複数回行えないように処理の前に
Validチェックを追加しましょう。
これにより、不意に複数回関数が呼ばれた場合でも
Spawn自体は1度しか行われません。
更に踏み込むとするなら、いっそ生成関数と取得関数を
まとめてしまっても良いかと思います。
これで、取得関数を使用した際にSpawnされていなければ
Spawnを行った上でアクターを返し、
既にSpawn済みであれば保持したアクターを返してくれます。
使う側は体調チェックを行いたいタイミングで取得関数を1回呼ぶだけです。
いかがでしたか?
用意した機能を使用するのは人間ですので、常にミスをする可能性を考慮して
安心、安全な実装を心がけましょう。