スポンサーサイト

  • --/--/--(--) --:--:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MikuMikuDance for XNA v1.30a公開

  • 2010/05/29(土) 22:00:36

MikuMikuDance for XNA新版できました~



今回の主な実装はセルフシャドウとスクリーン機能です。
結構手間取って吹 っ 切 れ そうになりましたw

苦戦したのはセルフシャドウ。
LispSM(mode2)は結局、考案者の英語論文とソースを読むはめになったw
の割にシャドウが微妙に汚いんだよなぁ……
多分シャドウマップの精度不足だとは思うんだけど……

しかもシャドウマップ結構重いし
どうしたもんかなぁ~っていう感じです。

あとメモ的な羅列

・ベイクモーションが失敗する問題ですが、念のためにコンパイルベイク時にチェックをかけるようにしてみました(上手くかかればいいのですが)
・Zオーダーの問題で一部モデル/アクセサリーが正しく表示されません。具体的には半透明テクスチャを多く使っているものです(例:レア様のお立ち台でフォグが正しく表示されない)。原因はZオーダー。
・実は前バージョンでは一部モデルが正しく表示されなかったのですが(Lat式ミクなど)、大分調整をかけて同じように見えるようにしました。
・シャドウマップ、とても重いです\(^o^)/ 原因は調査中です(スクリーンはそこまで重くないのですが……)
・次は物理エンジン仮搭載verか高速化verを作ってみる。

(追記)
http://d.hatena.ne.jp/kadotanimitsuru/20100530/MMDforXNA
あれ?ベイクモーション失敗問題引っかからなかった?
げー、これだと思ったんだけどなぁ……
むぅ、再現出来ないのが辛い。
ベイクモーション自体はXBox360での計算量を減らすために作ったものなので
Windowsではそこまで要るものでは無いとは思います。

スポンサーサイト

近況

  • 2010/05/25(火) 16:21:57

何とか内定貰って落ち着きました。
ちょっと内定貰ってから面談あたりまでゴタゴタしていたので更新が遅れました。

現在はMMDXのシャドウマップ&スクリーン付きに向けたバージョンアップに向けつつ、サークルの方で始まったゲーム制作プロジェクトのリーダとして動いています。(研究も再開したし、ニコマス活動は厳しいッス)

ちなみにMMDXのシャドウマップですが、過度な期待はしやがらないで(ry

シャドウマップを実装している時に気づいたのですが
シャドウマップは領域計算量的に非常にグラボに負荷をかけることが分かりました……(特にLispSM, mode2の方)
mode2の方の影が汚くなってしまう問題が解決し切れないので……
(樋口さんがmode1を残すわけだ……)

シャドウマップサイズを大きくすれば多分解決するでしょうが
すでにシェーダのリソースを使いきっているのでどうにもならない/(^o^)\(MMDと違いボーンと頂点モーフィングをシェーダ側でやってるので重過ぎる……)
ちょっとシェーダを含めて見直さなきゃいけないけど……
あそこまで高性能なシャドウってゲームライブラリとして要るかなぁ?とも思ってます。

あと就活のことですが……

続きを読む

はてなにはコメントできないので、こちらに[追記]

  • 2010/05/13(木) 08:48:11

http://d.hatena.ne.jp/kadotanimitsuru/20100501/MMDforXNA

使ってくれてありがとうございます(はてなブックマークにコメントできないので、こちらで対処)

バグ報告thx。

しかし、なんだろう?このバグ

プログラム自体は止まらずに動いているということは
GPUの方で何かバグったと考えられるのですが……

ネギで落ちるとは考えられないし……
シェーダ3.0に対応しているマシンですし……

今、バグ取りしているので(別の大きめのバグ)
v1.3でなおればいいのですが。

ちょっと原因が掴めないなぁ……
なんだろう?

(追記)
ちょっとこのバグは潰しておきたいので
詳しいこと知りたいのですが……

(追記その2)
http://d.hatena.ne.jp/kadotanimitsuru/20100513/NegiNegiDance
調べてくださって本当にありがとうございます。
コンテントパイプライン中でのベイクバグですか……
しかもDemo2の左側は上手くいっている(左側も実行時にベイクはしていて、同じルーチン使い回しているので)
またパイプラインか……
ヒントは頂けたので、あとは潰せるかどうか……
モデルの質感異常の修正等も含めてバグ潰し加速しなきゃ……

他、結構バグやズレ等を修正中&高速化中なので
次版はもうちょっとお待ちください^^;

開発風景

  • 2010/05/09(日) 01:46:35



シャドウマップ実装風景
影を真っ暗にしてシャドウマップ判定をやっているのだが……
一つ山超えたけど、まだなんかミスってるw

あと、Light Space Perspective ShadowMapをXNAに移植作業で分かった注意点メモ
・座標系の問題
・・DirectXは左手系、OpenGLは右手系、XNAは右手系
・ベクトルと行列との計算順序の問題
・・OpenGLは数式で言うと行列の後ろに縦ベクトル、XNAとDirectXは行列の前に横ベクトル。なので行列同士をかける順序や行列内の各要素の位置が違うので注意
・mulHomogenPoint
・・LispSMのサンプルを普通に読んでると、ただのVector3.Transformに見えるのだが、実はこっそりWで割っている。
・・よって答えはVector4.Transformを使って計算し、出てきた4次元ベクトルをwで割り、xyzで3次元ベクトルとすると上手くいく。

シャドウマップ実装に苦戦中……

  • 2010/05/08(土) 08:27:10

MMDXのグラフィックス系の実装もそろそろ詰めに入ってきました
次の版で、スクリーン、アクセサリスフィアマップ及びセルフシャドウに対応して(ついでに高速化して)
グラフィックス系の実装を終わらせたい...のですが

LispSMの実装(mode2)が上手くいかない...

発案者のサンプルとか写してきたのですが
どうも手前の影を荒く、奥の影を正確に描いている気がする...
...のだが、直し方がよく分からない。

ちょっと苦戦中...


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。