x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Behavior Treeを動的にインスタンスしたい

カルネージハート(https://www.youtube.com/watch?v=biKhBlCBrXY)のようなゲームが作りたいのですが、 AIの動きをゲーム内でプレイヤーが作成するにあたり、Behavior Tree(AIの動きのパーツのクラス)を動的にインスタンスして実現したいのですが、具体的にどのような操作をすれば良いのでしょうか?

Product Version: Not Selected
Tags:
more ▼

asked May 09 '17 at 08:29 AM in Japanese

avatar image

Arrow_-3-
1 1 2

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

BehaviorTreeを動的に構築する方法の1つとしてSubtreeを使用する方法が考えられます。
これはUBehaviorTreeComponent::SetDynamicSubtreeから必要なSubtreeを設定し、
1つのBehaviorTreeInstanceとして構築することを目的としています。
BehaviorTreeComponentはBP非公開のComponentであるためC++を使用してwrapするか、
独自のManagementClassを経由してアクセスしWidgetから設定を行うことでUIとの連携を行います。 この構想は実際に構築、動作確認を行っていませんが(実装するにあたり十分な時間とAIに関する知識を要するため)1つの案として提案します。
上記に記載した内容は既存機能でできるかもしれない可能性の1つではありますが、動画の内容を実現する場合は独自にシステムを組んで頂いた方が早いかもしれません。
宜しくお願いします。

more ▼

answered May 09 '17 at 04:01 PM

avatar image

Pier Pop
2.1k 78 4 27

avatar image Arrow_-3- May 09 '17 at 05:10 PM

なるほど、ありがとうございます。 確かに、わざわざbehavior treeを使うのは帰って遠回りなのかもしれません。

もしBehavior Treeを実装せず、独自に有限状態機械のクラスを作成しそれを動的に呼び出す場合は、それをWidgetから設定するという手順でよろしいのでしょうか?

avatar image Pier Pop May 10 '17 at 01:13 AM

必ずしもWidgetである必要はありません。
動画のように動的にAIを構築する場合のスタートとゴールを明確にするために、Widgetを使ってUIからの設定を行い(スタート)、BehaviorTreeComponentでAIを構築する(ゴール)という記載をしました。混乱するような書き方となってしまっていましたら申し訳ございませんでした。

UIからの設定をWidget(HUD、Slateなど)で構築し、設定した内容の管理や、AIの呼び出しはAIControllerや独自のManagementClassで行うようにすることを想定しておりました。

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question