icon今回の記事ではSTYLYとUnityのNavMeshAgentの組み合わせの例として、NavMeshAgentを使ってSTYLY上でAIと鬼ごっこするシーンを作る方法を紹介します。記事前半ではProBuilderを使ったステージの作成方法とPlayMakerでプレイヤーの位置を取得する方法を、記事後半ではOffMeshLinkというNavMeshの機能について解説します。今回の記事ではPlayMakerを使います。UnityのプラグインであるPlayMakerをあらかじめインストールしておきましょう。概要とインストールはじめてPlayMakerを使用する方は、あらかじめ以下の記事を一読することで、理解を深められます。基礎知識また、今回はUnityのNavMeshという機能を使います。UnityのNavMeshについての基本的な知識は以下の記事で紹介しているので、こちらも是非ご参照ください。NavMesh】AIを使って自動で移動する3Dモデルを作るサンプル今回作るシーンのサンプルはこちらです。実際にCapsuleがプレイヤーを追ってくることを確認してみましょう。﻿ステージを作成するまずは鬼ごっこのステージを作成しましょう。PlaneやCubeを使っても良いですが、今回はProBuilderを使用してステージを作ってみます。ProBuilderを使ってステージを作るProBuilderとはシンプルな3Dモデルを直感的に作れるUnityのツールです。非常に便利なので、使ったことの無い方は以下の紹介記事をご参照ください。ProBuilderで簡単な家を作成してみるまず、ProBuilderをUnityにインストールします。ManagerからPackageManagerウィンドウを開いて下さい。Manager右上の検索窓からProBuilderを検索し、右下のInstallボタンでインストールできます。ProBuilderをインストールでは、実際にProBuilderを使ってステージを作っていきましょう。WindowからProBuilderウィンドウを開けます。Shapeを選択し、好きな形の3Dモデルを作ってみましょう。作成にあたっての注意点として、シーン上にGizmosが表示されていないと作れません。何も表示されない場合はGizmosの表示をオンにしてみましょう。VertexColorの項目から3Dモデルに色を付けられます。色を変更したいオブジェクトを選択し、色を選んでApplyすることで色が適用されます。今回はこのようなステージにしてみました。Navigationウィンドウを開き、BakeタブのBakeボタンを押して下さい。実際にBakeした様子これでステージの準備は完了です!FSMを設定する次に鬼となる3Dモデルを作成します。今回はこのCapsuleを鬼に見立てます。CapsuleにFSMを追加して下さい。今回の鬼FSM内でプレイヤーの位置情報を取得します。以下のようにFSMを設定して下さい。FSMの設定_1これでPlayerの位置がPlayerPosという変数に格納されるようになりました。次にNavMeshAgentの目的地をPlayerPosに指定します、以下のようにFSMを設定して下さい。SetPropertyのターゲットオブジェクトにはCapusuleゲームオブジェクトではなく、Capsule内のNavMeshAgentコンポーネントをアタッチします。FSMの設定_2最後にこの一連の流れを繰り返し続けるように遷移を設定します。1秒の待ち時間が終了したらもう一度State1に戻るようにしましょう。遷移イベントを「FINISHED」に設定し、遷移ターゲットを「State1」にします。FSMの設定_3これでFSMの設定は終了です。シーンを確認してみると、鬼がプレイヤーを追ってくるようになっていると思います。鬼がプレイヤーを追ってくる鬼の動きに変化を付けるこのままでは少し簡単すぎるので、鬼の動きのバリエーションを増やしましょう。NavMeshのOffMeshLinkを使えばエージェント(移動する3Dのモデルのこと)が指定の位置へ移動できるようになります。ステージに二つの地点を追加し、両方にOffMeshLinkコンポーネントを追加して下さい。それぞれのコンポーネントのStartに自分、Endに移動先のオブジェクトを指定しましょう。OffMeshLinkの作成_1OffMeshLinkの作成_2これで鬼がプレイヤーを追う際にショートカットを駆使してくるようになりました。鬼がショートカットするようになったこのOffMeshLinkは自動で作成することも可能です。LinksのDropHeightを5に変更してBakeしてみましょう。OffMeshLinkを自動生成するすると鬼が飛び降りる時に使うOffMeshLinkが自動で作成されます。DropHeightの値を変更すればより高いところから飛び降りれるようになります。動きを見てみると、鬼が段差を飛び降りてプレイヤーを追うようになっています。鬼が段差を飛び降りるようになったOffMeshLinkを作成することでAIの動きをカスタマイズできることがわかったと思います。STYLYにアップロードする完成したシーンをSTYLYにアップロードしてみましょう。今回はNavMeshの具体的な活用法を紹介しました。皆さんも是非シーンの作成にNavMeshを取り入れてみて下さい。iconNavMeshplayMakerprobuilderSakuSakuVR/ARを使った課題解決について勉強中の大学生。Venue」プロジェクトでんぱ組.incとXRクリエイターが協力し、渋谷スクランブル交差点で新しい音楽体験を創り出そう。総額300万円の還元金、制作アセットの提供、審査にはでんぱ組.incも参加!あなたのアイデアで都市をステージに変えましょう。スマホがなくなる日』(幻冬舎)10年後のテクノロジーを誰が想像できるだろうか──。2024年、ついに「空間を身にまとう時代」の実現を加速するデバイスが登場!人類はスマホの小さな画面から解放され、空間という無限のキャンバスを手に入れる。スマホがなくなる日、次世代デバイスでどんなミライをつくれるのか。スマホがなくなる日──。この先に続くミライは、本書を読んで創造してみてください。