プログラミング

一般化を考えてみる

例外なしで考えてみる 1. A ||->f B = (bool)A ? f(A) : B とか? 2. A ||-> B = (bool)A ? A() : B でA()はオーバーロードとか? 3. A ||-> B = (bool)A ? (typeof(B))A : B でキャストをオーバーロードとか? 4. A ||-> B = (bool)A ? get(A) : B でgetを…

perl is 神

このお話について http://www.kmonos.net/wlog/88.html#_2233080818 http://d.hatena.ne.jp/gnarl/20080820に一票。 以下全部勝手な妄想で 上のお二人のおっしゃっていることもわかってないかもしれません、 と前置き↓ ちょうどコンパイラ作ってて k.inabaさ…

グラフの3D可視化

前にMOON GIFTで見つけた便利そうなやつを備忘録として張っておく。 コンパイラ作るとき便利そうなやつ。http://www.ubietylab.net/ubigraph/index.html

IKのようなもの

初音さんに組み込んでみた。 うーん、やっぱ制約ちゃんと適用しないとだめだな。スケルトンにスキニングをきれいにするための 中間ボーンが入ってたりするから、 それが裏返ったりする。 制約がないとどうしょうもない。 1関節の円柱が天井に頭ぶつけてひし…

IKっぽいもの

Particle IKというものを知ったので実装してみた。 といってもid:cherubさんのblogで紹介されていたこれは あまりよく意味がわからなかったので なにか別の機会にみつけたこれで それっぽく実装してみた。 つまりIKというよりひもシミュです。 ここまで実装…

追記

単に適当に補間したが故のフリッピングだった。 slerpで直ったからこれでいいや。

さらに追記

あっこれ有名な問題だったのか。 Gems2に書いてあった。 無知を露呈した。 修正修正 うむ、ちゃんと動いている

スキンメッシュアニメーション

Y座標のバグはとれたZ軸反転はいまいち 回転を反転さすと行列が壊れ気味になる 大まかには動いたけど補間がおかしくなる 調べてみよう まあ最終的な座標の反転でもいいか…… いや直接いじりたいんだからよくないか

Y座標が

Y座標が微妙にずれてる なんじゃこりゃ……? あとDirectXとの座標系の違いでZ軸反転してるのを直さなきゃ どうするのが一番楽だろう?

FBX SDK続き

ルートノードの移動が入ってなかったバグを修正 ロードしたモデルのウェイトペイントがバグってたのに気づかず 少々苦労しました FBX SDKはデータのパースにしか利用していないので、 これで一応アニメーションを一通り自力で実装したと 言えるかな 別にそん…

FBX SDK続き

オイラー角をcatmull-romで補完するアニメーションまでできた これでやっと基礎的な部分が終了。

補間

手抜きでオイラー角で補間したら データによっては当然変な回転をするので クォータニオンに変更うーんやっぱり補間アルゴリズムが違うせいか ToyStudio上と全然見え方が違うなー 腰が基準だから ゴルフスイングさせようとすると 足がぶらぶらしてしまう ど…

ボーン・スキニングの実装

ようやく任意の姿勢にできるようになった。 FBXのデータ構造を把握するのに いっぱいいっぱいだったので、 スピードがかなり遅いですが。 これからなんとかしよう。 でもスキニングのトレンドってどんな感じなんだろう? このデータ以外だとたぶんうまく表示…

スキニングについて考える

今現在のこと考えてもあまり意味がないから 将来的なことを考えてみよう まず1頂点に影響するボーンの数 これは20年くらいたっても実用無限にはならないだろうから 定数以下に抑える処理は絶対必要だな 次に頂点バッファを 影響するボーンの集合ごとに組み替…

FBX SDK

FBX SDKのコーディングした人経験浅い人かなあ 知らなきゃ危険なこといっぱい知らない感じ より直截的に言うとヘタ

FBX SDK続き

飽きたとかいいつつ気合で続行 DirectXのデータ構造と結構離れてるからめんどくさいけど なんとかマテリアルとテクスチャまで表示できた。 ここまでで丸二日もかかってしまった。 やっとモーションに入れる……

モーション

ちょっとモーション処理したくなって FBX SDKを使った読み込みのコーディングをしてみたなんかこのフォーマット結構使いづらいな…… レイヤーとかすごくわかりにくくないですか?mikotoのmkmとか読むほうが早い気がしてきましたよ メッシュの表示ができたくら…