テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

AI

【Unity】NavMeshのデータを実行時にロードしたい

NavMeshの地形データをランタイムにロードする NavMeshをベイクする NavMeshをロードする 補足 NavMeshの地形データをランタイムにロードする Sceneに紐付いているNavMeshではなく、動的にNavMeshの経路探索に使用するデータをロード・アンロードする方法に…

【Unity】ジョブシステム上でも動かせるNavMeshの経路計算(Experimental)

ECSのデモで使用されていた、ジョブシステムでも動かそうと思えば動かせるNavMeshのサンプルです。 ちゃんと解説しようとも思いましたが、正直使い所が思いつかないので適当になります。 NavMeshQueryを利用した経路探索 サンプルコード 大雑把な解説 感想 …

【Unity】Unityで機械学習する「ML-Agent」を色々と試して得た知見とか

去年の9月頃、Unityで機械学習を行う ML-Agent(ver 0.01)が公開されました。 このライブラリを使用すると、Unity上で作成したゲームで機械学習によるAIを実行したり出来そうです。 最近このML-Agentを使用して色々と試していたのですが、ある程度形になっ…

【Unity】NavMeshSurfaceを使ってゲーム再生中にNavMeshをベイクする方法

今回は動的にNavMeshをベイクするNavMeshSurfaceについてです。 動的にNavMeshをベイクする 高レベルのコンポーネントを入手する NavMeshSurfaceを利用した動的なNavMeshのベイク まずは使ってみる NavMesh Surfaceのセット NavMeshSurface.Bakeの呼出 応用 …

【Unity】変化する地形で、マップから落ちないように移動させる手っ取り早い方法

学生のUnityプロジェクトでよく見るのが、主人公キャラクターが壁から落下したり、壁を貫通して移動したりする光景です。 それは「そういったゲーム」なら兎も角、RPGの移動パートのような「キャラクターを移動させる」事が目的の場合は出来れば避けて欲しい…

【Unity】NavMeshとRigidbodyを連携して動かす

今回はNavmeshで動かすキャラクターを一時的に物理演算で動かしてみます。 UnityのNavmesh(経路探索AI)はNavmeshAgentというPhysicsとは異なった力によって動きます。その為、PhysicsとNavmeshを連携させる場合、少々面倒な事になります。 Navmeshの移動 N…

【Unity】目的地へ辿り着くための矢印を表示する

今回は、ゲームで道に迷った(哲学的な意味ではない)際の目安となる、目的地への道順を示す矢印の表示についてです。 ゲーム進行の矢印 方向を示す3つの方法 ゴールに至る方向だけを示すパターン 中間点で方向を示すパターン 経路を探索して方向を得るパタ…

障害物を動的に追加してルートを更新する #Unity

Navmeshで作成した移動ルートに障害物を追加し、別のルートを通るようにする方法を紹介します。この方法を使用すると、例えば下のような動きが可能になります。 通せんぼ pic.twitter.com/Y40BemdXA2 — 椿 (@tsubaki_t1) 2015, 7月 2 やり方 やり方…といって…

NavmeshのAI経路探索とAnimatorのアニメーションを連動させる #Unity

Animator(アニメーションシステム)とNavmesh(経路探索)を組み合わせてみます。具体的には止まったら静止モーション、移動中は走るモーションを使用します。 やり方 まず移動量でキャラクターのモーションを切り替えます。AnimatorはApply Root Motionで…

Unity5のNavmeshで色々と遊んでみる

最近UnityのNavmeshで色々と遊んでいます。各々のやり方については、モチベーションが上がったらまとめます(未定 Unity5のAIThirdPersonControllerを使ってゾンビを歩かせる pic.twitter.com/kGLnVOfK4Y — 椿 (@tsubaki_t1) 2015, 4月 7 Navmeshの経路探索…

NPC・敵の巡廻ルートを変更する[Unity]

特定のルートを巡廻する際、ルートを変更したくなるケースが有ります。例えば「人が詰まっていて通行できない」ようなケース、「障害物が置いてあり通過出来ない」ケース、「ステージが変化し最短ルートが変更された」ケース等々です。 メッシュに移動コスト…

特定ルートを巡回したりする方法[Unity]

ゲームを作成している内に、村人や敵兵を特定のルート巡廻させたり、障害物を特定ルートで動かしたり、レーシングゲームでカートを周回させたり等々、そういったギミックを作りたくなります。 この「Unityで特定のルートを巡回する」方法は、パっと思いつく…

UnityでMMDモデルを、タップした位置まで歩かせる手軽な方法

今回は、プレイヤーが指示した方向へ向かって移動する、MMOやRTS等でよくある移動方法をMMDモデルで行う手っ取り早い方法を紹介します。 「若干自分の思ってたものと違う」と思う所があれば、パラメータやソースコードを調整して下さい。一応、ノーコーディ…

Unityで無料でコードを書かずにゲームを開発したい人の Behaviour Machine Free

Unityで「ゲーム」を作ろうと思った場合プログラミングは避けられません。 そのプログラミングの過程で「C#」もしくは「UnityScript」を選択する事となりますが、最近おもしろい選択肢を見かけました。 Behaviour Machine Free Behaviour Machineは、ビジュ…

AIを試作してみる日記

ふと思ってAIなど作成出来ないか色々と試している。AIを構成するパーツは2つで「判断」「実行」さえしっかりしてればソコソコの物は作れると踏んでる。もう少し細かいパラメータはソース丸っと改造すればいいや。今試しているもののベースは[Unity]作成したS…

無料で経路探索、A* Pathfinding Projectを試す。その3

A* Pathfinding Projectを試す。その3今回はLinkGraphについてのメモ。使ってみた感想は、作るの面倒だけど軽くて思い通りのルートを通せる。 作るの面倒だけどね。 作るの面倒だけどね。 で、使い方。 大分前回と操作が被る(というか相違点はA*の設定のみ…

無料で経路探索、A* Pathfinding Projectを試す。その2

A* Pathfinding Projectを試す。その2A* Pathfinding Projectの経路探索を実際に使ってみるメモ。 今回はGrid Graphを試す。ちなみに、機能を理解しているわけではないので何が起こるかわからない所がある系の話があるらしい。 あしからず。とりあえずマップ…

無料で経路探索、A* Pathfinding Projectを試す。その1

Unity 3.5からBetaが取れたけどNavmeshはPro版のみしか使えない。 なのでUnity Proトライアルライセンスが切れたのでNavmeshが使えなくなった。と言うことで、他の経路探索を探して試してみたメモ。今回利用するのはA* Pathfinding Project(v3.0.9)。 ライ…

NavMeshの使い方 その2

Unity3.5の新機能、「NavMesh」に挑戦するヨ! その2前回まででマップとキャラクターの下準備が出来たので、Navmeshの機能を使っていくヨ!■キャラクターの移動範囲を設定(NavmeshをBake)キャラクターの移動範囲を設定。 この範囲で設定した範囲内をキャ…

NavMeshの使い方 その1

Unity3.5の新機能、「NavMesh」に挑戦するヨ! なにやらTwitterをUnityで検索したところ、この機能がすごいらしいので色々といじってみた。 ■NavMeshとは何ぞや?NavMeshとは、キャラクターをゴールに向けて移動させる仕組みみたいなものらしい。 障害物を避…