Choose your operating system:
Windows
macOS
Linux
レベルの中央にある 2 羽のメカニカルなバタフライを例に使って、ブループリントでの基本的な AI ビヘイビアの作成方法を説明します。バタフライは、休憩のため中心点に戻ろうとするまで、しばらくの間ランダムに方向を変えながら、特定の中心点の周りを飛びます。障害物に遭遇すると、それに向かって滑らかに着陸し、しばらくして再び飛び立ちます。バタフライは長く飛べば飛ぶほど、休憩が長くなります。
バタフライの Blueprint アクタはそれ自体がレベルの周囲を移動するのではなく、そのコンポーネントが移動します。各コンポーネントは、単一のボディ メッシュを親に持つ 2 枚の羽のメッシュで構成されています。それぞれのメッシュは Timeline ノードによってアニメートされ、ボディを上下に浮き沈みさせながら羽ばたきます。イベントグラフはバタフライのコンポーネントを前方向に移動させます。数秒ごとに飛んでいく新しいポイントを選びながら、半径内のランダム ポイントに向くように操縦します。
Attractor Location という名前のベクター変数は Editiable (編集可能) です。つまり、ユーザーに公表されています。この変数は 3D Widget を表示し、バタフライの飛行範囲の中心点を決定するために動き回ることも可能にします。しばらく飛んでから、バタフライがこのスポットに戻るように、遠くに行き過ぎないようにスクリプトで操縦します。
バタフライが飛行中は前方に障害物がないか確認するため、絶えずトレース線を描きます。このトレース線がサーフェスにぶつかると、衝撃ポイントの位置と法線 (サーフェス角) が与えられます。このデータは後に、バタフライの着陸角度と位置の計算に使用されます。次にタイムラインが再生され、Linear Interpolate ノードが滑らかにバタフライを現在の位置から着陸位置へ移動させます。
タイムラインでアニメートしたシステムがもう 1 つ存在し、これでバタフライの羽に適用されたマテリアルのパラメータを操作して電光エフェクトで羽を動かします。
試しに、スタティック メッシュを木のそばに作成してバタフライの動きを見てみましょう。メッシュがバタフライの飛行パス内に存在しコリジョン サーフェスを持つ限り、AI システムが着陸可能なサーフェスを探知しバタフライはそこに着陸を試みます。
ブループリントの設定
このブループリントのコンポーネントリスト、コンストラクションスクリプト、そしてイベントグラフは以下のタスクを実行します。
ブループリントの特性 |
目的 |
---|---|
Components List |
Components List トレイルのコンポーネントはパーティクル システムですが、ボディと羽のコンポーネントはスタティック メッシュです。 |
Construction Script |
コンストラクション スクリプトは以下のタスクを実行します。
|
Event Graph |
イベント グラフは以下のタスクを実行します。 ゲームプレイの開始時
|
編集可能な変数
システム内にエクスポーズされた変数は、羽に適用されるマテリアルのパラメータの他に Attractor Point の中心位置を制御します。
プロパティ |
目的 |
---|---|
Attractor Location |
ユーザーはこの変数を使って、AI のナビゲーションの中心点をカスタマイズすることができます。バタフライは定期的にこのスポットに飛んで戻ります。変数は 3D ウィジェットも有効にし、ベクターがビューポート内のウィジェット経由で設定され、ブループリントが選択されると表示されるようにします。 |
Max Flight Range |
Attractor Location ポイントからバタフライが飛んで帰ってくることのできるアンリアル単位の最大半径です。 |
Wing Color |
ユーザーがバタフライの羽の色をカスタマイズできるプロパティです。ブループリントのそれぞれのインスタンスは固有のマテリアル インスタンス ダイナミクス (MID) を受け取るので、レベル内にはそれぞれが固有の色を持つバタフライが数羽いる場合があります。 |