【UE4/UE5ゲーム制作講座】ビヘイビアツリーを使ってみよう!【AI入門】

Поделиться
HTML-код
  • Опубликовано: 24 окт 2024

Комментарии • 26

  • @KENCHISYA
    @KENCHISYA 2 года назад +1

    いつもありがとうございます。AIの続編を期待しています

    • @kuriemeiku
      @kuriemeiku  2 года назад

      コメントありがとうございます~!!
      続編も作っていきますよ~!

  • @青木隆-k9h
    @青木隆-k9h Год назад +1

    とても分かりやすかったです!
    参考にさせていただきます

    • @kuriemeiku
      @kuriemeiku  Год назад

      やったー!
      ありがとうございます!!!

  • @シュン-j6j
    @シュン-j6j 2 года назад +1

    わかりやすい!
    そしてチャンネル登録者が700人超えてる。半年でこれはすごい!

    • @kuriemeiku
      @kuriemeiku  2 года назад +1

      コメントありがとうございます~!!
      分かりやすいと言ってもらえるとうれしい~!!
      そしてチャンネル登録700人超えたのもうれしい~!!
      これはひとえに皆様のおかげです!ありがとうございます~!!!!

  • @おおみみず
    @おおみみず 2 года назад +2

    敵とかの挙動にはビヘイビアツリーを使う事になりそうですね。
    色々な動画使われているのでこれなんだろうと思っていました。
    以下疑問に思った事です。
    ナビメッシュバウンズボリュームは全域設定が可能かなのでしょうか?
    Landscapeや海を仕様すると凄く広大になるので、出来るといいなーと思いました。
    あとこちらはふわっとした質問なのですが、ARKでは恐竜と距離が大きく離れたりすると恐竜がその場で待機するようになります。
    そもそもナビメッシュバウンズボリュームが動かせるかもわからないのですが、再現するとなるとプレイヤーにナビメッシュバウンズボリュームが追従していて、その範囲外に出ると停止、みたいな感じになるのでしょうか?
    ビヘイビアツリーの追いかけるのMoveTo→Jump→Waitへ変わる条件がよく分からないのですが
    どういったタイミングで変化しているのでしょうか?TargetActor=PlayerCharacterとして追いかけてるの、のだと思うのですが、接触したら次への様な支持はどこが出しているのでしょう?
    日本語を使われているのですが、ビヘイビアツリーは日本語を使って良いのでしょうか?
    今回キャラクタ移動(回転設定)Orient Rotation to Movementを使用し、キャラクターの向きを決めていると思うのですが、2Dのせいで相性が悪く、左に移動した時は左向き、右向きとしたいときはどうすれば良いでしょうか?
    プレイヤーキャラクターの時はインプットAxisのAxisValue(左入力-1.0、右入力1.0→Add Movement InputのscaleValueピンで向きを判断しているのですが)、敵の場合入力が何もないのでどうしようと思っている所です。
    ビヘイビアツリーやEnemyControllerの結果、敵がどちらに進んでいるか?みたいな信号を持って来れれば向きを変えられる気がするのですが、そういったものはあるのでしょうか?

    • @kuriemeiku
      @kuriemeiku  2 года назад +1

      コメントありがとうございます~!!
      >全域設定が可能かなのでしょうか?
      全域設定はできなさそうですね。
      >大きく離れたりすると恐竜がその場で待機する
      離れたときに停止するのは、ビヘイビアツリーで制御する感じですね。ナビメッシュはデフォルトの設定だとゲーム中は変更できません。
      >どういったタイミングで変化している
      タスクの中でFinishを呼ぶと終わる、という感じですね。Jumpのタスクを作るときにFinishを呼ばないと終わらない、と言っていますが、逆に言うとタスクが終わっているということはFinishが呼ばれている、ということです。
      >ビヘイビアツリーは日本語を使って良い
      BP内のコメントには日本語を書いても多分大丈夫、というのと同じ感覚で日本語にしましたね…。どこはよくてどこは良くないのか、というのは難しいですが…。
      (ファイル名とか変数名とかも、たぶん大体使えるんですけど、完璧に動く保証がない、というだけなので、実際には問題ないケースのほうが多いだろうな、とは思います。)
      >左に移動した時は左向き、右向きとしたいときはどうすれば良いでしょうか?
      向く方向がキャラクターの速度と合わないのであれば、自分で計算するのがいいかなと思います。
      ちょうど今日Rotatorに関する動画を出すので、そちらも見てみてください!
      >敵がどちらに進んでいるか?みたいな信号
      敵がどちらに進んでいるか、であれば速度を取得(GetVelocity)すればいい気がします。

    • @おおみみず
      @おおみみず 2 года назад +1

      @@kuriemeiku
      全域設定できないんですね残念です。
      ナビメッシュはゲーム中変更できないんですね、ビヘイビアツリーがナビメッシュの中で動くとなると結構大きくする必要がありそうです。
      日本語は使用箇所難しいんですね、BPのカスタムイベントに英数字を使用しているので、ビヘイビアツリーの枠も同じようなものだと思っていました。
      向く方向がキャラクターの速度と合わない、というよりはプレイヤーは入力方向により向きが瞬時に変わるのでビヘイビアツリーによって移動している敵などはこの左右入力をどの様にブループリントに反映させようかと考えている感じです、速度を取得(GetVelocity)試してみます、ありがとうございます!

  • @AloneInKyoto-xy6qj
    @AloneInKyoto-xy6qj 2 года назад +2

    この行為をしたい時はこのノードを組み合わせるなみたいなのが全然出来ないです。
    たとえば 「一瞬だけブロックを出す」
    の場合は出すのと消滅するのとか何を出すのかとかをやるじゃないですか。 でも自分は触れたばっかで何を使えば何ができる等が本当の基礎しか分からないです。
    動画とかで見るとたしかに 「初めてこのノード見るけど、なんかここをこうしたおかげでtrueになってこうやったら確かにその動作になるね」等と仕組みを理解する事は出来るのですが、毎回毎回○○作り方と調べていく訳にも行かないですし、その欲しいものが無い時も多いです。 どのようにして「この場合はこのノードを使うな」等と判断するのでしょうか。ちなみに 複雑な物を作ろうとしてるわけでもなく、ほとんどが知らないノードなので 簡単な動作でさえどうやるんだろうとなってしまいます

    • @kuriemeiku
      @kuriemeiku  2 года назад +2

      コメントありがとうございます~!!
      そうですね…私の場合は
      ・とにかく簡単なものから作って基本を理解する
      ・動画などの何らかの教材を見る→1つ1つのノードの意味や、やっていることを理解する
      ・いろいろな調べ方をしたり、細切れにして調べたり(例えば、「一瞬だけブロックを出す」なら「アクターを出す」「アクターを消す」に分解するとか)
      ・分からないことは聞く(公式のフォーラムだったり、Twitterで#UE4Studyって付けるなり、日本人UE使用者向けディスコードだったり、私に聞くとか!)
      かなあと思います。
      私も割と調べている時間は長いですし、自分で実験している時間も長いです。
      結局、「この場合はこのノードを使う」のが誰でもすぐに完璧にわかるようになる、という銀の弾丸はなくて、
      今までの知識の積み重ねで「こういうのが作りたかったらアレとアレを組み合わせれば出来そう」とか「アレを使うと楽に作れそうだな」とかその都度考えています。(それに、このノードを使えばこれが作れる!みたいな単純なものってそんなに無いので…)
      なので、ひとつひとつ自分の中にちゃんと知識と経験を蓄えていくと、そのうち解決できるようになっていくんじゃないかな…と思います!
      一緒にがんばっていきましょう!!!

    • @AloneInKyoto-xy6qj
      @AloneInKyoto-xy6qj 2 года назад +1

      @@kuriemeiku ありがとうございます。

  • @minamihankyu
    @minamihankyu 2 года назад

    AIパーセプションを使わずコーンチェックを使って視界を与えるやり方は初めて知りました!シンプルで良いですね。
    ところでコーンチェックは遮蔽物を貫通してしまうのでしょうか?

  • @たなかけん-v4n
    @たなかけん-v4n 2 года назад +1

    ConeCheckの距離が気になっていろいろ試してみましたが、ナビメッシュ内かつコーンの範囲内が条件で距離ではなさそうって思ったんですけど、あってると思いますか?

    • @kuriemeiku
      @kuriemeiku  2 года назад +1

      コメントありがとうございます~!
      おそらくですが、ナビメッシュ内かどうかすら関係ないと思います!向きしか見てないんじゃないかな…。

  • @卵かけご飯-r5y
    @卵かけご飯-r5y 2 года назад +1

    武器切り替えで一部だけブループリント、ひいてはアニメーション等を変更するにはどうすればいいのかご教授頂きたいです。
    具体的には、銃の待機モーション、射撃時のアニメーションモンタージュの切り替えのノードを教えて頂きたいです。
    よろしくお願いします!🙏🙏🙏🙏🙏

    • @kuriemeiku
      @kuriemeiku  2 года назад

      装備している銃を切り替えたときに、待機モーションを別のものにしたい、とか
      アニメーションモンタージュを別のものにしたい、とかそういうことでしょうか…?
      あと、自分が操作しているキャラクターのことなのか、AIのことなのか、どちらでしょう?

    • @卵かけご飯-r5y
      @卵かけご飯-r5y 2 года назад +1

      @@kuriemeiku 自分が操作しているキャラクターです!説明が足りず申し訳ありません🙇‍♂️
      説明の内容で合ってます!分かりにくくてすみません!良ければよろしくお願いします!
      分かりやすい動画でいつも助かってます。ありがとうございます!

    • @kuriemeiku
      @kuriemeiku  2 года назад

      そうですね…色々なやり方があると思いますが、
      待機モーションを変更するにはAnimBPでアニメを再生しているノード(再生ThirdPersonIdleってなっているノード)をクリックして、詳細ウィンドウの中のSequenceを「ピンとして公開」設定にすると、変数化できるのであとはAnimBPのイベントグラフで変数を持っている武器に応じて切り替える。
      モンタージュのほうは、キャラクター等のBPで再生していると思うので、そのBPで再生するモンタージュを変数(AnimMontage型)にしてモンタージュを再生ノードにつなげる、武器に応じて変数の値をセットする、というのがシンプルかなと思います!

    • @卵かけご飯-r5y
      @卵かけご飯-r5y 2 года назад +1

      @@kuriemeiku うわ…そんなやり方があったんですか…勉強になります。攻撃モーションを変数にする発想もありませんでした。ありがとうございます!

  • @pandaさん
    @pandaさん 7 месяцев назад

    見たまんま同じのように真似してやったのですが8:00のところで敵キャラクター?が歩かずに両足を地面につけたままついてくるのですがどうすれば治せるか助言を求めたいです

  • @reimon6495
    @reimon6495 3 месяца назад

    敵がプレイヤーに当たるとそのあと動かなくなる場合はどうすればよいでしょうか?

  • @保存室にけ
    @保存室にけ 2 года назад +1

    メイクリテラルネームとかってノード初めて知った(;´・ω・)!(そこ!)

    • @kuriemeiku
      @kuriemeiku  2 года назад

      そこ!!!!????

  • @しろくま-h7h
    @しろくま-h7h 2 года назад +1

    こんにちは。いつも動画を参考にさせてもらっております!
    分かりやすい動画、本当にありがとうございます!
    私もビヘイビアツリーをなんとか活用していきたいと考えているのですが、
    デコレーターを追加したとき、詳細にある「フローコントロール」の【notify Observer】(追加したデコレーターによっては、無いときもある?)と【オブザーバーを中止】をそれぞれ設定したときの挙動の違いが、いろいろ調べてみたり実験をしてみたりしたのですが、いまいち分かりませんでした。
    もし続編があれば、そのあたりも解説をいただけるととても嬉しいです。
    長文大変失礼しました。
    今後も動画をとても楽しみにしております!

    • @kuriemeiku
      @kuriemeiku  2 года назад +1

      コメントありがとうございます~!!
      デコレーターに関してはちゃんと説明をする回を作ろうかな~と思ってます!
      その動画の内容に盛り込みますね~!