Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!

log

2014.03.20 C++:経路探索


最近コメントスパムがひどくてすっかり更新する気力がなくなってますががが…。
ひとまず、明けましておめでとうございます!笑

今回は今まで経路探索をやってなかったなぁと思い、経路探索を実装してみました。
経路探索の手法ではA*が一番利用されてて有名だと思いますが、とりあえず基本から覚える
ためにダイクストラ法で実装してみました。

ダイクストラ法というのは経路探索のためのノードと隣接情報を元にして隣接ノードまでの
コストを求め、そこからゴールまでの最小コストとなるリンクを求めるといった感じです。
云ってしまえば総当たりですね笑。そして動画を見てもらうと分かりやすいですが探索ノードが
ポリゴン単位のため、最適な経路ではなく変な進み方をします笑。

ポリゴン単位ではなく、モデルと壁の凸角をノードとして探索することで最適な経路が
求まりますが、この辺りはまぁA*も含めて次の機会に実装しようと思います苦笑。

追記:

投稿した動画の関連として出てきて見つけた動画ですが。
ジャンプを考慮した経路探索になってます。素晴らしい!

comment

たけなか 2014.03.30-11:34 Edit

今まではソフトボディはプログラミング的にどうやって実装するのか
分からないでいましたが、以下のページを見てなるほどと思ったのでメモ。

ttp://3dnchu.com/archives/blender-softbody-sphere-tutorial/

まずソフトボディを実装するに当たっての問題の一つとして、単純に衝突に
応じて頂点を変形しただけでは非衝突時に元の状態に戻ろうとする働きが
起きないという問題があります。

この問題の解決方法として上記の手法(多層ソフトボディ)が述べられていて
プログラム的には内側に頂点を多層(5~6層)分押し出し、後はクロスヘアと
同じ要領で隣接ノードとの均衡を保つように頂点座標を変形すればいけるの
ではないかなと思いました。

たけなか 2014.03.31-23:22 Edit

「ゲームは子供だまし」という一言をネットのとある場所にて
見かけて少し思うことがあったので、久しぶりにはこういうのも有りかなとメモ。

ゲームに限らず、云ってしまえば漫画も小説も映画もTVも、"皆子供だまし"
です。ネットで偶にお笑いの動画をみたりしますが、「やらせに決まってる
だろ」とかそんな類のコメントを見つけて少しゲンナリとします。

やらせには決まってるけども、見てる人が見たら迫真なドキュメンタリーに
見えている。「だったらそれで楽しめればいいんじゃないの?」って思うんです。

ゲームでいえば、技術者が日々トンデモな技術を発表し、プログラマーが
その技術を従来のゲームに取り入れ、デザイナーが更に発展したビジュ
アルに仕上げる。そんな一つの嘘を何百、何千(ん、何千はないか苦笑)
という人たちが作り上げるのはすごいことだと思うんです。

もちろんその事がマストではないけど、速やかに否定されて終わるのは
個人的には悲しかったりします。自分が見てて「…これは無いよな」
っていうものも有りますが、世の中にはそういうものを見て安らいでいる
人達もいるんだったらそこも含めて否定するようなことは無い、と思うのでした。

久しぶりに徒然と思ったことだけ書きました。
…た、たまにはいいですよね笑。

たけなか 2014.04.08-02:07 Edit

頂点に持たせるSHデータをSH係数で持たせるのではなく任意点の
SHデータのインデックスで持たせることでデータ量を削減する手法。
ttp://d.hatena.ne.jp/hanecci/20140406/p1

実はこれに近い手法を考えてました苦笑。
といっても自分の考えていたのはSHをボリュームテクスチャに格納して
サンプリングしたいが、サイズがデカくなりすぎるためインデックスを使って
隣り合わせの似たSHをまとめることで削減できないかなぁ、という
感じで思いついていた手法です。ちなみにこの場合には隣接の
SHとの補間は自前で行わなければなりません…だめじゃん笑。

リアルタイムGIについて色々考えたりしていて、それなりに最新技術と
近しいアイデアは思いつくんだけどなぁ。
自分の発想が何処かズレてるのか、毎度先を越されて
「あぁ、なるほどね!」と感心したりするのでした。

たけなか 2014.04.08-23:06 Edit

キャラクターのカスタマイズにパーツ単位のスカルプト機能を
導入しているゲーム。

ttps://www.youtube.com/watch?v=W_1ZnjV-abA

従来のカスタマイズできるゲームではカスタマイズしやすさの面で
(というよりプログラム的なコストのせいだと思うが)ローポリ+
パーツ選択のようなものが多かったですが、この動画では
ハイポリ+スカルプトにすることでかなり幅広いキャラが作れる
ような感じがしました。いいなぁこれ。何でも作れそう!

たけなか 2014.04.12-14:41 Edit

Implicit Skinning

ttp://www.irit.fr/recherches/VORTEX/publications/rendu-geometrie/SIG2013_Vaillant_et_al.pdf
ttps://www.youtube.com/watch?v=RHySGIqEgyk

従来のリニア・クォータニオンによるスキニングだと不自然な
凹みもしくは膨らみができてしまうが(いわゆるCG独特の間接)、
この手法では各ボーンウェイトを元にボーンの形状を陰関数で
保持し、その情報を元に正確なスキニング座標を割り出すそうです。

当然複雑なボーン形状になるほど陰関数の計算も複雑になるし、
陰関数が異なればシェーダ数を増加させるか最大数分の計算を
必要としなければならない問題が起こる。動画では15FPSと
なっているのはその辺りが原因ではないかと思います。

そもそも、ジオメトリを元にどうやって陰関数を求めるのかが
分からないです苦笑。球面調和関数を使えば出来そうですが、
精度を上げるとフレームレートがかなり落ちる予感がするなあ。