Unity

UnityのHandlesクラスの拡張

Unityで幾何学のアルゴリズムを実装するときに、イメージがしやすいようにHanldesクラスを拡張してデバッグ描画できるようにしました。 以下のようなコードを書くと追加されたDrawerの順に描画されていきます。 var drawer = new Drawer(); var cube = GameO…

Mycetozoa 開発記録 #5

ナビゲーションメッシュの生成 その➂ 前回はユニークな辺を生成したので、今回は辺上に分割するための点を挿入していきます。 辺上に点を挿入する 挿入する方法は単純に始点から終点に向かい一定間隔で挿入していきます。 /// <summary> /// ユニークな辺上に点を挿入</summary>…

Mycetozoa 開発記録 #4

ナビゲーションメッシュの生成 その② 前回メッシュからTriangleのリストを生成したので、今回はさらにユニークなEdgeのハッシュセットを生成します。 ユニークな辺のハッシュセットを生成する NavigationMeshGenerator.cs /// <summary> /// 生成したTriangleのリスト</summary>…

Mycetozoa 開発記録 #3

ナビゲーションメッシュの生成 その① 先に自前実装のクラスとインターフェースを簡単に説明。 Vertexクラス 座標、IDなどを保持 Edgeクラス 辺を表すクラス 開始頂点と終了頂点をVertex型で保持 IVertexCollectionを継承 Triangleクラス 三角形を表すクラス …

Mycetozoa 開発記録 #2

今日は訳あって Windows + Docker + Rails の環境構築をしてたのですが、ハマってしまい書くことがなくなったのでMycetozoaで採用している最短経路を求める手法を大まかに書きます。 3Dモデルの表面上の最短経路を求める手法 ~概要~ 3Dモデルのメッシュを…

Mycetozoa 開発記録 #1

はじめに 人に見られずとも完璧に物事をこなす人間になりたいと常日頃思っていますが、なかなかそうはいきません。 得に個人で開発しているプロジェクトのソースコードを見返すと痛感します。 コードを公開することで品質が高まることもあるのではと思い、以…