🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Unreal Engine

Unreal Engineは、Epic Games社によって開発されたゲームエンジンです。高レベルの移植性を持っており、様々なプラットフォームのゲーム開発が可能。GitHubアカウントを登録すれば無料でダウンロードできます。

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

Q&A

解決済

1回答

1114閲覧

UE4 PlayerのBPにどこまでの処理を書けばいいか

UE4benkyo-

総合スコア37

Unreal Engine

Unreal Engineは、Epic Games社によって開発されたゲームエンジンです。高レベルの移植性を持っており、様々なプラットフォームのゲーム開発が可能。GitHubアカウントを登録すれば無料でダウンロードできます。

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

0グッド

0クリップ

投稿2021/03/01 02:40

UE4を学んでいるのですがすこしわからないことがあります。
それはタイトルにも書いてありますが、Playerにどこまでの処理を書けばいいかです。
私はPlayerのコリジョンに当たったとき、当たったものをDestroyActorする。
みたいなのをPlayerに書いてあります。
この書き方はおかしいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ゲームの内容によったり、実装者によったりするとしか言えません。

大事なのはなるべく各Actor間で依存度を減らすという事です。

私はPlayerのコリジョンに当たったとき、当たったものをDestroyActorする。みたいなのをPlayerに書いてあります。

全ての触れたオブジェクトを消失させる処理であれば、プレイヤー側でいいんじゃないでしょうか。
理由は2点あります

  • 一律で消失するのであれば各オブジェクト毎に消失処理を書くのは冗長。(仕様変更が入った時にすべてのオブジェクトに対して修正処理が入ってしまう)
  • 各オブジェクトに実装した場合全オブジェクトで判定が走る為処理負荷がかかってしまう

投稿2021/03/01 04:43

MMashiro

総合スコア2380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

UE4benkyo-

2021/03/01 05:11 編集

回答ありがとうございます。申し訳ありません。すべてを消失、というのはすみません。 例がおかしかったです。 説明が難しいですがプレイヤーまたはアクターなどがどこまでほかのものに干渉していいのか? みたいなことです。 例えばアクターがプレイヤーに当たったときプレイヤーがアクタを消すのか、 アクタが自分で自分を消すのか、どちらが正しいのか、、プレイヤーが書く場合、何個も同じような~のとき~するみたいなのを書かないといけないので長くなりそうですがそれでもOKなんですか? みたいなことをいいたかったのです。 もしわかりにくかったのでしたらすみません。
MMashiro

2021/03/01 05:20 編集

> ゲームの内容によったり、実装者によったりするとしか言えません。 と書いた通りです。 私はあなたが作っているゲームの仕様を一切知らないので正確な回答は出来ませんし、これが一番正しい設計というのも存在しません。 その為なるべく仕様変更に強い書き方をするべきという事でActorやBP間の依存度の減らす書き方をしましょうと回答しました。 例えば自分が拾っても敵キャラが拾ってもHPが回復するアイテムがあったとしたとき、 プレイヤー側に「回復アイテムを拾ったときにHP回復をする」処理を書くのはあまりよくないです。 理由は敵キャラにも同じ処理を書く必要があり、処理内容は基本的に同一のはずだからです。 その為HP回復アイテム側に回復処理を持たせて拾ったときにそのアイテムの効果を拾ったキャラに適用するという処理の書き方が望ましいです。 この書き方であればアイテムはどのキャラクターにも依存していませんし、キャラクターも回復アイテムに依存せずに済みます。 こういった依存度を減らす仕組みはいろいろあり、手始めにInterfaceやEvent Dispatcher辺りを調べることをお勧めします。
UE4benkyo-

2021/03/02 09:56

大変勉強になりました! InterfaceとEvent Dispatcherも調べます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問