Mycetozoa 開発記録 #1

f:id:skanmera:20170806001857p:plain

はじめに

人に見られずとも完璧に物事をこなす人間になりたいと常日頃思っていますが、なかなかそうはいきません。

得に個人で開発しているプロジェクトのソースコードを見返すと痛感します。

 コードを公開することで品質が高まることもあるのではと思い、以前からやらねばと思いつつ手を出さなかった技術ブログを始めることにしました。

とりあえず今回は趣味で開発しているUnityのプラグインを紹介します。

プロジェクト紹介

概要

3Dモデルの表面上の最短経路を計算するプラグインです。

プロジェクト名は最短経路を解決することができる「粘菌」の学術名からとりました。迷路を解く様がA*のシュミレーションのように見えます。


Slime mold solving maze

目的

プレイヤーやエネミーを簡単な設定だけで複雑な形状のモデル上で経路探索させるAIを目指します。

現状

ポリゴン数が数千程度かつ形状がそこまで複雑でないモデルであれば実用できるぐらいにはなってます。

 ・デモ


Unity pathfinding on 3D model surface.

 

また、ナビゲーション用に生成しているメッシュのポリゴンを編集するEditor拡張も実装中です。

こちらは通行可・不可の設定ができるレベルしか実装できていません。

f:id:skanmera:20170806004257p:plain

課題

・数万ポリゴンでも動かせるようにパフォーマンス改善(無理ならLowPoly専用にするつもり)

・複数モデルを組み合わせて使えるようにする

・まだAPIを使用するためにスクリプトをがっつり書く必要がある

 

最後に

今後は実際の実装なども紹介していく予定です。

飽きっぽい性格なのでいつまで続くか分かりませんが、何か成果が得られるまでは続けるつもりですw