したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

MMD関連プログラミングスレ

1かんな ◆LROMJ4PcOQ:2010/09/26(日) 20:12:21 ID:emHXwJKM0
■MMD関係でプログラミングを行っている人々の情報交換スレです
言語系、DirectX系、HLSL/GLSL系をはじめとした話題が中心。
MikuMikuEffectの.fx系もこちらで。

質問や初心者対応を主としたスレではないので、質問に対する回答が無くても泣かないように。
回答は任意で行って下さい。

プログラミングの基礎的な部分などはぐぐる先生に聞くか、もしくは2ちゃんねるの
プログラム板・CG板・ゲ製作技術板などを参照にする事。

■関連スレ
MMD関連ツールスレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1259444737/

MMD動画の編集・加工(エフェクトなど)を語るスレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1274703972/

PMDEditor
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1259444259/

MMDのモデルデータ(制作・改造)について語るスレPart 3
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1282711154/

【MMDアクセサリ】アクセサリ関連スレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1220086643/

MMD関連データ公開スレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1241598884/
.fxやプログラムも公開時はこちらにも報告を頂けると助かります

■このスレでの注意事項(暫定)
・人を誹謗中傷しない
・荒らしはスルー
・実装を期待しない
・開発者を無駄に神扱いしない
・否定する場合は代替案などを提示する事
・議論は前向きに
・age進行推奨

■次スレは>>970が建てる事
次スレに必要な議論はそれまでに済ませておくべし
>>970が音沙汰無い場合は>>980一任

80名無しさん@お腹いっぱい。:2010/10/16(土) 09:33:27 ID:POpcqSjI0
レンダリングターゲットをクリアする
ただ、CreateCube.fxを使うCreateCube.xが複数のSubSetになっている場合、常にクリアすると最後に描画したのしか残らないから、
SubSet番号"0"の時だけクリアする(MainTecテクニックを2つ作る)とうまくいく。もっといいやり方があるかもしれないけど。

81名無しさん@お腹いっぱい。:2010/10/16(土) 12:05:55 ID:miCe2UmQ0
そもそも、複数に分けてやるなら
shared 指定のテクスチャをプリエフェクトでクリア
とかでもいいんでないかの

82名無しさん@お腹いっぱい。:2010/10/16(土) 13:22:42 ID:POpcqSjI0
思い出した。それやったら調整中に初期化エフェクトも再読み込みしないとエラーが出るという現象がおきてウザくてやめたんだった
CubeMapみたいに複数のオブジェクトに適用する予定のエフェクトなら、その方法しか無いですね

8379:2010/10/16(土) 22:57:00 ID:yLb/wJog0
>>80-82
ありがとうございます!やってみます!

84舞力介入P:2010/10/20(水) 01:35:48 ID:Rzq.9q4s0
>>樋口M
どうもです。
最新のMMD ver7.12にて、MMDExportの動作がおかしかったので、報告します。

PMDモデルをロードした状態で、
ExpGetPmdOrder()の値と、DrawIndexedPrimitive時のExpGetCurrentObject()の値が一致しません。

起動直後にPMDモデルを1つだけロードした状態では、
ExpGetPmdOrder(0)の値が3であるのに対して、
ExpGetCurrentObject()の値は、処理中のテクニックによって、2になったり1になったりしました。
また、この影響か、PMD描画時のExpGetCurrentMaterial()の値が常に-1になってしまうようです。

85:2010/10/21(木) 22:27:26 ID:359kNCPI0
>>舞力介入Pさん
こんばんは。
したらばは一応チェックしているのですが、埋もれたスレは見てませんでした><
ですので、今後はプログラミングスレに関してはageで進行しましょう。

確認したところ、バグでした。
ttp://www.geocities.jp/higuchuu4/MikuMikuDance_v712a.zip

一応直したつもりですが、デバッグ環境がないためこちらでは確認ができません。
もしまだおかしかったり、他のバグがありましたら遠慮なく指摘して下さい。
それでは。

86舞力介入P:2010/10/22(金) 03:22:17 ID:yAqibPQM0
>>85
修正ありがとうございます。
ExpGetCurrentObject()の返り値が、正しい値になることを確認しました。
ただ、ExpGetCurrentMaterial()については、常に-1が返る状態のままのようです。


デバッグ方法につきましては、
エクスポートされた関数でもMMD側から呼ぶことは出来るはずなので、
各関数を、MMD内から、以下のタイミングで呼び出したときの値を確認していただければと思います。

・GetCurrent系の関数:DrawIndexedPrimitive()またはID3DXMesh::DrawSubset()を呼び出す直前
・それ以外の関数  :BeginScene()を呼び出す直前

このタイミングならば、MME側から呼び出す場合と同じ結果になるはずです。

87:2010/10/22(金) 21:39:57 ID:9tii5OtA0
>>86
すみません、バグでした。
ttp://www.geocities.jp/higuchuu4/MikuMikuDance_v712b.zip

デバッグできるようになりました。多分これで大丈夫なはず…

88名無しさん@お腹いっぱい。:2010/10/22(金) 23:15:53 ID:ZwHH2bxk0
MME入った状態でMMDを二重起動すると落ちることがあるの
何とかならないですかね?
別のpmmのポーズを流用するのに、二重起動してポーズ保存して
最初のに読み込むことが多いので。

89名無しさん@お腹いっぱい。:2010/10/22(金) 23:49:09 ID:guUM14kk0
>>88
おっと、そういうのはこっちだよ
MMDへの要望・妄想スレ
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1271303321/

>■MMDへの要望・妄想スレ
>基本的にみんながMMDへの要望的な妄想をメモしておくスレです。
>MMDの作者様は基本的に回答しません。
>時々どこかの物好きでドMな妖精さんが
>きまぐれに質問やツッコミなどのレスを付けてくれるかもしれません。

90:2010/10/23(土) 00:24:09 ID:yyVyQBpU0
バグ報告でもそうなんだけど、そのバグをこちらで再現できない限りは、まず修正できないと思って下さい。

なので、バグの再現方法はできるだけ詳しく、手順をMMD立ち上げからバグが発生するまでを箇条書きで
書いてもらうか、pmmファイルやpmdファイルをアップロードして実行すれば即バグが起こる状態にでも
してもらわないと、バグが発生する状況すらこちらでは確認できません。

とりあえず>>88に関しては、MME挿入状態のMMDを3つ立ち上げてみましたが、うちの環境では
落ちませんでした。
いくつか落ちそうな状況を試してはみましたが(diffusionフィルタ等)、再現できませんでした。

91名無しさん@お腹いっぱい。:2010/10/23(土) 06:55:06 ID:cb.k6O8.0
>89
あ、必ず落ちるorエラーメッセージ窓が出るのが現時点の仕様だと思ってたもので…。
確かに起動しただけの状態で、もう1つ起動しても平気でした。
条件絞り込めたら向こうのスレに書いてみます。

92名無しさん@お腹いっぱい。:2010/10/23(土) 22:42:47 ID:FUiZC6/M0
仕事でテスト中のPGにバグ見つけて、バグ管理票切ったのに
「再現せず」とか印されてたら、イラッとするんだよね・・
こっちはPGのソース持ってないんだから
詳しく調べられるのはそっちしかないだろ・・

なーんてねw
いやいや再現しないバグを直せなんて無茶無茶w分かってますw
ただ、とあるやんごとなきプログラマ様の言葉の選び方が、ちょっと、気品高すぎてアレだったからw

PGできる人に限ってほとんど理解できてないみたいなんだけど、
PGのユーザーって、人間なんだよねw
言葉の選び方ひとつでイラッとしたりしなかったりっていう、不便な人間w
こんな人間でサーセンw

93名無しさん@お腹いっぱい。:2010/10/23(土) 23:05:01 ID:xXcUiE.20
荒らしネタ投下おつかれさまです

94名無しさん@お腹いっぱい。:2010/10/23(土) 23:05:11 ID:N/tnE0B20
文書で心の機微を伝えるのは難しい。
が、仕事中にわざわざ波風立てようとする人はあまりいない。
相手の言葉にカチンと来たとしてもだいたい自分の勘違いか相手の書き間違い。

95名無しさん@お腹いっぱい。:2010/10/23(土) 23:09:22 ID:l9N.4/lw0
どこかの個人が作って配布しているだけのフリーウェアなのに
仕事場での例出してくるとか頭悪すぎw

96名無しさん@お腹いっぱい。:2010/10/23(土) 23:15:27 ID:GCw/hpy.0
はい、相手するのここまでー
----8<----------8<-----

97舞力介入P:2010/10/23(土) 23:24:43 ID:onmrEePQ0
>>87
修正されていることを確認しました。ありがとうございました。

98:2010/10/24(日) 00:54:42 ID:k2C1euqA0
>>92
イラッとさせたなら申し訳ない。
88のバグ修正しようとして、再現させようとかなりの時間を費やした上に
結局できず、ソースを見ても原因を特定できなかったのでかなりムカつき
ながら書いた文章なので、ぶっきら棒になってしまいました。
まぁ、私も人間だってことでw

でもこの手のバグ報告メールってすごく多いんですよ。
ためしに88のバグ再現させて、発見までに何分掛かるか確認すれば
少しは気持ちも判ると思う。
最近はそういうメールが週に2〜3通くるんだぜ?
返事書かないと92みたいな文章送ってくる奴もいるし。

99阿部高和:2010/10/24(日) 01:13:47 ID:ZuqSUGwM0
ケツの穴の小さいやつは俺の前に並びな。拡げてやるぜ。

100名無しさん@お腹いっぱい。:2010/10/24(日) 01:38:53 ID:KANPB9iE0
昔、3DCGツールで不具合が起きて報告したんだけど、あちらで再現しないって
言われたことがある。
こうやればその現象が起こる、こうすると起こらないというパターンを検証して
テキストにまとめて、不具合が起こったデータファイルに添付して送ったら、
感謝されたよ。

大量に同じ報告がくるようなら明らかにバグだけど、特定の人でしか起こらない
現象って、特殊なバグで、再現しづらいんだよね。
開発者は人数も限られてるし、仕組みが分かってるからこそ余計にねw
ユーザーはたくさんいるし、無茶な使い方するから、ある意味優秀なデバッガー
なのよね。
好きで使ってるツールなんだし、そういう特殊な現象が発生したらしっかり報告して、
直せるように協力できるといいよね〜。

>>99
優しくしてね///

101名無しさん@お腹いっぱい。:2010/10/24(日) 12:30:19 ID:155wNnz.0
樋口とかって奴、何偉そうにしてんの?こいつwwww
大体てめぇが質の悪いクソツール公開してるせいで、六角大王とかDxMとか商売してる企業やゲーム業界がどれだけ迷惑してると思ってんだよ。
MMDモデルとか動画だって著作権違反で溢れかえってるじゃねぇか。
そんなに大変だったらとっとと開発中止してHP消せよww
みんなタダだから使ってるだけで、消えればBlenderとかC4Dとかずっと高品質な3D動画が増えるんだよ。
いい加減健全な3D業界の発展の阻害になってる事に気づけよ、馬鹿wwww

102名無しさん@お腹いっぱい。:2010/10/24(日) 12:55:06 ID:nDCrcEQ60
また質の低い燃料が・・・

103:2010/10/24(日) 13:40:50 ID:k2C1euqA0
>>101
メールの返信遅れてすまんかった。
似てるとは思ったけどバグ管理票とか言ってるから別人だと思ったよ。
今後はちゃんと返信するから、こっちでもやるのは勘弁してくれ。

104名無しさん@お腹いっぱい。:2010/10/24(日) 14:23:51 ID:4xCxT0MU0
素人がエフェクト弄るための質問なんですが、ここで訊いて大丈夫かな?
Furia氏が公開してる波エフェクトfull.fx ver1.2+なんですけど、
テクスチャのループする方向を90度横に向けたいんですけど何処を弄ればいいんですかね?

105名無しさん@お腹いっぱい。:2010/10/24(日) 14:31:08 ID:yY4EPI8E0
M、こういうのはまともに相手しちゃ駄目ですよ。
自分を「お客様」か何かと勘違いしてる、構って欲しいだけの屑なんだから。
メールも着信拒否とか出来ないんですか?
もう一度言いますが、「相手しちゃ駄目」です。
下手に出るから調子こくんですよ、こういう馬鹿は。
中国や朝鮮なんかと一緒です。

106名無しさん@お腹いっぱい。:2010/10/24(日) 14:45:42 ID:PICQPpbc0
>>105

>>103
> こっちでもやるのは勘弁してくれ。

107Furia:2010/10/24(日) 14:46:41 ID:baQX3q5A0
>>104
波エフェクトというと、lobeliaさんのでない?
記憶が定かではないけど、
私のーであれば、zipとfxファイルの名前あたりを教えてほしい

108名無しさん@お腹いっぱい。:2010/10/24(日) 15:29:06 ID:EyLXNicA0
初心者スレとどちらか迷ったんですが質問させてもらいます。
そぼろ氏のWarer(http://www.nicovideo.jp/watch/sm12429408)をMMDで読み込ませると
「エフェクトファイルの読み込みに失敗しました。(エフェクトのアドレス)
some techiques cannot run on this hardware:Techique_Sample」
とエラーが出ます。
同様にMikuMikuEffect用 降雨エフェクト ver.1.1でも
「エフェクトファイルの読み込みに失敗しました。(エフェクトのアドレス)
some techiques cannot run on this hardware:Main Tec」
とエラーが出て何も表示されません。

取り扱い説明にあった頂点シェーダ3.0に対応したビデオカードも搭載してるんですが
解決法が分からず困っていますのでお知恵をお貸しください。

環境はOSはXP sp3 ビデオカードはGeForse 7900GS です。
よろしくお願いします。

109名無しさん@お腹いっぱい。:2010/10/24(日) 15:33:44 ID:vVfTQOvc0
warez

に見えた

110名無しさん@お腹いっぱい。:2010/10/24(日) 15:35:11 ID:yY4EPI8E0
>>106
ぶっちゃけ、かんなさんに頼んでアク禁で良いと思うんですけどねぇ。
出来ない訳じゃないはずですし。
メール着信拒否+アクセス禁止で万事解決だと思いません?こういう手合いのは。

111かんな ◆LROMJ4PcOQ:2010/10/24(日) 16:16:08 ID:0iwoLhMw0
>>1 のテンプレ再読推奨
■このスレでの注意事項(暫定)
・人を誹謗中傷しない
・荒らしはスルー
・実装を期待しない
・開発者を無駄に神扱いしない
・否定する場合は代替案などを提示する事
・議論は前向きに
・age進行推奨

スレチだから繰り返したり相手するのが継続し、酷い場合であると判断すれば
双方一時アク禁にはする。
というか、MMEやMMD側の問題ではなく環境依存問題の方が遥かに多いので
OS/グラボ/ドライババージョン/DirextXバージョンくらいは書かないと調べようもない。
ここはバグ報告スレではありまちぇん
あと「age進行」だ!

112名無しさん@お腹いっぱい。:2010/10/24(日) 17:29:40 ID:E7AqNPLk0
このスレ立ったとき、テンプレ完璧すぎワロタと思った理由は、
>>111 にもある通り注意事項が よくわかってる 内容だったからです

ここはプログラミング関連のスレなので、誰かへの文句とか愚痴とか >>108 みたいな質問もスレチ
ついでにいうと、今書いてるこのレスすら資源の無駄。 そういう理解って難しいのかなと

113名無しさん@お腹いっぱい。:2010/10/24(日) 18:11:09 ID:baQX3q5A0
>>108
使ってる内部テクスチャも、DXCapsViewr見る限りサポートしてるようだし
サポートシェーダモデルも確かに3.0以上なようだけど

Water読んだくらいでは、GPUメモリも50MB強奪われるだけのようだし
足りないことはなさそうね。

ただ、テクニック中で使えるテクスチャが4枚までとか制限があるみたいなGPUもあるらしいので
確かなことはいえないけど、とりあえず
ドライバは最新かどうかチェックしてみては

114名無しさん@お腹いっぱい。:2010/10/24(日) 20:02:45 ID:arS4r0BQ0
MME製作側の環境というか、動作確認しているスペックを添付して欲しい
それ未満の環境なら動かない可能性があるって事で
正直、普通の人間にはサポートしている細かい機能なんて解ってないのよ

115名無しさん@お腹いっぱい。:2010/10/24(日) 21:34:07 ID:4xCxT0MU0
>>107
バトーキン島用の動くエフェクトです。他マップに転用した際、テクスチャがスクロールする方向
マップと合ってなかったのでお訊ねしようと思ったのですが・・・スミマセン、自己解決しました。
メタセコでUVの向きを変えるだけでよかったんですね・・・お騒がせしました。

116名無しさん@お腹いっぱい。:2010/10/24(日) 22:02:46 ID:baQX3q5A0
>>115
なるほど、そういえばバトーキン島用の海用意してましたね

解決したようなので蛇足になりますけど
 Out.Tex.y += time_0_X * animSpeed;
の部分がどこかにあるはずなのですが
Out.Tex.y を Out.Tex.x に変えても大体同じことができます。
UV座標で見たとすると xが横 yが縦の位置なので

117舞力介入P:2010/10/24(日) 22:04:41 ID:TdGF76us0
こちらでの、MMEの動作確認環境は以下の通りです。(RadeonHD3200は最近用意しました)

・Win7(64bit)+Geforce9600GT
・WinXPsp3(32bit)+Geforce9600GT
・Win7(64bit)+AMD780G(RadeonHD3200)
・WinVista(32bit)+AMD780G(RadeonHD3200)

Radeon使用時の既知の不具合:
・一部のエフェクトを使用すると、セルフシャドウONでモデルが真っ黒になる
 対処方法:ttp://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=887390

118舞力介入P:2010/10/24(日) 22:05:40 ID:TdGF76us0
MMEを使用するには、最低限 SM2.0に対応したビデオカードが必要です。
また、MMEの機能をフルに使用するためには、SM3.0に対応したビデオカードが必要です。

ただし、2chスレによれば、RadeonX1000シリーズはSM3.0対応ですが、VTF(Vertex Texture Fetch)に対応していないらしく、
一部のエフェクトが使用できない可能性があるようです。
(具体的には、FireParticleSystemEx.fxなど、頂点シェーダ内でtex2Dlod関数を使用しているエフェクト)


まとめますと、

○必須環境(MMEに最低限必要な環境)
 SM2.0(DirectX9.0)対応ビデオカード
 (RADEONなら9500〜X850、GeForceなら5シリーズ以降)

○推奨環境(MMEの機能をフルに使用できる(はずの)環境。処理速度は無考慮)
 SM3.0(DirectX9.0c)対応ビデオカード(要VTF対応)
 (RADEONならHD2000以降、GeForceなら6シリーズ以降)


ただし、Geforceの7シリーズで、VTFが完全には動作しないという報告もあるようです。
ttp://forums.create.msdn.com/forums/t/54846.aspx
(もしかしたら、ドライバの更新で改善する問題かもしれませんが)

119名無しさん@お腹いっぱい。:2010/10/24(日) 22:32:50 ID:j/x9UGpg0
そうそう、こういうテンプレが欲しかった
何よりグラボ購入の目安になるし

贅沢を言うなら、Radeon用MMEも別途用意して欲しいです
GeForceユーザーとRadeonユーザーは半々だと思われますが、
GeForceに最適化されている部分で、半数のユーザーが不具合抱える事になってしまっています
対処方法は素人には判りません
かといって現在のGeForceへの買い替えはおすすめしかねる状況のようですので

120舞力介入P:2010/10/24(日) 22:39:45 ID:TdGF76us0
>>119
別段、GeForceに最適化するようなことはしてないです。
バグ取りをGeForce環境でやっていたために、
Radeon使用時の不具合が見過ごされやすくなっていた、というのはありますが。

121名無しさん@お腹いっぱい。:2010/10/24(日) 23:05:24 ID:w5BC8RZA0
>>119
MMEというよりはエフェクトの問題ですよね。RADEONが手に入ったら調べてみたいので、
RADEONのどのカードかと、ドライバで、どのエフェクトがどういうエラーで落ちるとかいう具体的な情報あります?

122名無しさん@お腹いっぱい。:2010/10/24(日) 23:06:28 ID:j/x9UGpg0
>>120
実はMMD自体がGeForceに最適化されているという話を聞きまして
AVI出力時にGeForceとRadeonで10倍近くの速度差が出るとか
なんというか、頭では仕方ないと判っているけど、不公平感というか・・・
こういう事を他でも続けられると、いよいよユーザーの半数が泣きを見る事態に・・・

123名無しさん@お腹いっぱい。:2010/10/24(日) 23:15:58 ID:/QtC1t/Q0
いやそれもMMD関係ないべ。

124名無しさん@お腹いっぱい。:2010/10/24(日) 23:22:06 ID:j/x9UGpg0
>>121

694 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2010/10/21(木) 22:45:14 ID:lIxF49+E0
うーん、家の環境だと霧とか被写界深度とか上手く動かないエフェクトがあるんだけど
radeonHD5xxx辺りだとどうなんでしょうかねぇ。

適当に昔間に合わせに買った3450じゃキツイのかね…。

125名無しさん@お腹いっぱい。:2010/10/24(日) 23:23:50 ID:wXnQO1AY0
RADEONは省電力&低価格化のために機能削ってるからなー。

ゲーム機に例えるならGeForceがPS2ゲームもプレイできる初期型PS3で
RADEONがPS2互換を切り捨てた新型PS3で
MMDがPS2ゲーム。みたいな。

126名無しさん@お腹いっぱい。:2010/10/24(日) 23:25:36 ID:E7AqNPLk0
>実はMMD自体がGeForceに最適化されているという話を聞きまして
それどこ情報?どこ情報よ

127名無しさん@お腹いっぱい。:2010/10/24(日) 23:28:17 ID:w5BC8RZA0
>>124
それは>>117のリンク先とは違うの?
あしたGeForceをRADEONに差し替えてテストしてみようかなと思ってるので
ドライバとか具体的なエフェクト(できたら動画とかリンク先とか)教えてもらえると嬉しいかな

128名無しさん@お腹いっぱい。:2010/10/24(日) 23:33:23 ID:j/x9UGpg0
>>126
994 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2010/10/24(日) 22:13:37 ID:uOp/phbFP
avi出力はゲフォがラデの10倍近くの速度が出ます
996 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2010/10/24(日) 22:16:24 ID:VNuWjdDp0
>>994
マジか
ラデでいつも1時間以上かかってるんだ
GPGPUってやつか

ゲフォはエンコ用か・・・
997 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2010/10/24(日) 22:19:48 ID:uOp/phbFP
>>996
GPGPUは関係ないと思う。おそらくレンダ処理がゲフォでチューニングされてるから(Mがゲフォだからラデについてはわからないかと)。
ゲフォの470、480は爆熱爆音でありえないからMMD最適化ならGTX460かGTS450を選んでもいいかと。
普通に選ぶならそれ買うならラデのHD5770にするけどね。

129名無しさん@お腹いっぱい。:2010/10/24(日) 23:48:38 ID:0iwoLhMw0
グラボのメーカや性能差によるものは本来DirectX側の問題ではなくハードウェアやサポート
もしくはドライバ関係の問題だから、その辺りまでのサポートを求めるのは酷かと。
あと求めてる情報提示してもらったら、礼くらい書いても罰は当たらないかと。

あくまでもMMEはMMDの機能に横やりを無理やり入れつつグラボへの直接命令を加えるもの
という事をお忘れなく。
各効果についてハード側と関連するようであれば、

【コマ送り】MMDハードウェア関連スレ【もう増やせない】
http://jbbs.livedoor.jp/bbs/read.cgi/music/23040/1266385818/

こっちで情報収集してみるもよし。
場合によっては自力でDirectXないしメーカの情報を漁るしかない場合も。

>>117-118
情報㌧です。
両刀使いだったのねw

130名無しさん@お腹いっぱい。:2010/10/24(日) 23:53:56 ID:j/x9UGpg0
無茶言ってすみませんでした

131名無しさん@お腹いっぱい。:2010/10/25(月) 00:48:58 ID:IebWeoN.0
>おそらくレンダ処理がゲフォでチューニングされてるから
チューニングもクソも、普通にただ BeginScene してDrawPrimitiveしてるだけだと思う
特にGeforce云々は無いと思う

132名無しさん@お腹いっぱい。:2010/10/25(月) 05:08:32 ID:G/P6QJSA0
>>116
情報ありがとう御座います。
オブジェクトのUVを変形させるより遙かに楽なので助かります。

133名無しさん@お腹いっぱい。:2010/10/25(月) 12:19:15 ID:cn7ZQrm60
うちのWinXPsp3+Athlon64X2-4600++GF8800GTSでも特にMMEで問題が出た事ないです。
一部ちょっと重いと感じるエフェクトもありますけど。
一応、参考までに。

13432:2010/10/29(金) 00:33:39 ID:AjXm4Zdk0
>>33
参考にして作り直してみた
http://u7.getuploader.com/Yjo_oi_Neg/download/76/Test3.zip

こんな感じでいいのかな?

135名無しさん@お腹いっぱい。:2010/10/29(金) 00:55:45 ID:aty9/j9s0
あら・・・、そのままコード使って見たほうが簡単なのだけど
とりあえず上手く出来ていないようなので解説を少し。

あのサンプルは、compute_tangent_frame関数と下記の部分が重要で
下記のコードのnormal(法線)に入る値は接空間とか考えずに
何時もどおりのワールド座標系で得られるので、深く考えずに扱えるよー
※PS内
float3x3 tangentFrame = compute_tangent_frame(In.Normal, In.Eye, In.Tex);
float3 normal = normalize(mul(2.0f * tex2D(normalSamp, In.Tex) - 1.0f, tangentFrame));

ちなみに、compute_tangent_frameの引数だけれど、VSの方を見てもらえば分かることでもあるけど
In.Normalは、何時もどおりワールド変換したものを
(Test1.fxでは、単純に正規化のみされてますね、ワールド変換してあげると良いかと)
In.Eyeは、正規化しないで視線ベクトルそのままを渡してあげる必要があるです。
(正規化されてると角度によって凹凸が反転しちゃうので注意です。Test1.fxでは、正規化されてますね。)

でー、無粋かもですが、もしすっ飛ばして使えるものが即ほしければ
同じところに下記があるので、ノーマルマップとか視差マップを
テクスチャさえ用意すれば使えるレベルで実装してみたものがあるのでどうぞです。
advancedTextureMapping.zip
advancedTextureMapping2.zip

136名無しさん@お腹いっぱい。:2010/11/11(木) 20:20:21 ID:rXztGgFY0
一時ageついでに有用レス晒しw
>>118
MMEを使用するのに必要なグラボのスペック

ちなみに初期MMEであったRadeon系グラボでの不具合はfxの記述ミスの為で、最初に諦めたRade使いはもう一度試してみるヨロシw
>>117

137名無しさん@お腹いっぱい。:2010/11/11(木) 20:20:54 ID:rXztGgFY0
しまった、age損なったorz

138名無しさん@お腹いっぱい。:2010/11/12(金) 18:25:21 ID:WgGMaL460
http://internet.watch.impress.co.jp/docs/news/20101112_406488.html

DLL検索順を利用した脆弱性が問題になっていますが
これはMMEを統合するか現在とは別の形で動作させるかの選択を迫られているのではないでしょうか。

MMEの場合は悪意のあるソフトウェアではなかったのでよいのですが
今後、MMEよりも高機能を謳うような、悪意のあるDLLが配布された場合
 ・現在の動画編集技術をもってすればあたかもMMD上で動作しているように(動画上で)見せることも可能
 ・そのような攻撃的なプログラムがMMD界隈で配布されることがなかった事による不注意
 ・事前に動作内容を確認する術がない(もしくは、一般の利用者が知りそうにない)

などの点を考えると
その悪意あるDLLをダウンロード、使用してしまうユーザーが出ることが十分に考えられます。
(ただ、まだまだローカルな物である点、情報の伝達が早めで被害は最小限になるかもしれない)

あくまで個人的な意見ですが
ランキングに上がるMMD系動画数が増えたことや、MMD杯等のイベントの大規模化から察するに
MMDは、PCにそれほど詳しくないユーザーも、興味本位で触れるものになりつつあると思います。
そのようなユーザーにもある程度安全に利用してもらう為、
プログラマー側の負担を考えないような意見で申し訳ありませんが
「MMDの脆弱性を利用したMMDの拡張機能」という立ち位置ではない、もっとクリーンな立ち位置のMMEにすべきだと思います。

長文失礼しました。
参考程度にでもなれば幸いです。

139名無しさん@お腹いっぱい。:2010/11/12(金) 21:08:39 ID:FhZFuVFs0
使わないって選択肢もあるよ

140名無しさん@お腹いっぱい。:2010/11/12(金) 21:46:17 ID:I0XVxfdU0
>>138
的外れだとは言わないけど過剰な危惧という感はあるかな
何もDLLプリロードによる攻撃という手段を取らなくても
何らかのMMD補助ツールを装った悪意あるプログラムを
直接的に実行させることだって可能なんだし

MMEが将来的に統合されること自体は望ましいけどね

141名無しさん@お腹いっぱい。:2010/11/12(金) 22:56:26 ID:nkcSBbR20
>>138
>DLL検索順を利用した脆弱性が問題になっていますが
>これはMMEを統合するか現在とは別の形で動作させるかの選択を迫られているのではないでしょうか。

特に迫られてはないです。何故ならMMD/MMEだけの話じゃないからです。無駄な長文乙

142名無しさん@お腹いっぱい。:2010/11/12(金) 23:07:28 ID:I0XVxfdU0
仮に何らかの対処をするとしたら
今後はこの脆弱性を解決したexeを基本にした上で
MMEのようなツールを利用したい人は
それが悪意あるDLLでないか十分に配慮した上で使用すべき旨を明記して
未対処verも同梱しておくというのが労力的に妥当な線かな?

別にこの問題を放置した結果
危惧されるような事案が実際に発生したとしても
樋口Mが道義的な責を負うとは思わないけどね

143名無しさん@お腹いっぱい。:2010/11/12(金) 23:09:20 ID:bmMnGGHA0
それより、Microsoftがとち狂ってシステム配下のDLLやEXEと同じファイル名のプログラムを使用できなくする方が怖い
MMEとか動かなくなっちゃう

144名無しさん@お腹いっぱい。:2010/11/12(金) 23:59:17 ID:I0XVxfdU0
>>143
さすがにそんな対処はしないと思うけど…

しかしMMEの改造版と称した悪意あるDLLが
アップロードされるという事案は結構現実的かもしれないという気もしてきた
低スペックの人でも使えるとか
Geforce/Radeon向けにチューニングしたとかいう
文言に釣られてしまう人って結構多いかもしれない

145名無しさん@お腹いっぱい。:2010/11/13(土) 00:04:58 ID:/61tmMeY0
>>143
それは無理。MMDどころの話じゃないし、OS的に有り得ないてかやれないしやらない

>>144
事案もクソもそれは巷に溢れるウィルス。MMD/MMEの話じゃない

146名無しさん@お腹いっぱい。:2010/11/13(土) 00:57:20 ID:.ceMivs.0
>>145
事案もクソも〜って本当にこれがどういう問題なのか分かってる?
MMEはMMDの実行ファイルと同じディレクトリにDLLを置かせることで
MMDが本来呼び出そうとしているDLLではなく自身を呼び出させている
それは呼び出すDLLのパスが明示的に指定されていない場合
カレントディレクトリから検索するという仕様を利用しているのであり
それが悪意あるDLLであった場合に問題が生じるという話だよ?
悪意ある人物がMMEの改造版を作ってみましたと言って問題のあるDLLを配布し
それに騙された人が実際にそのDLLをMMDと同じディレクトリに置いてMMDを実行してしまう
ということは現実的に起こってしまうかもしれない
巷に溢れるウィルスとかではなくそういうことをやる奴がいるかもしれないよという話

147名無しさん@お腹いっぱい。:2010/11/13(土) 01:00:43 ID:vR/DAkCs0
いやいや、解凍ソフトの不具合はexplorer.exeの参照順を変えるだけで回避出来るし、UNIX系OSだとカレントディレクトリは検索対象じゃ無いのが基本
参照順を変える可能性は0では無いかと。
そもそもMMEの様なDLLのフック系以外でMicrosoftが用意しているファイルと同名のファイルを用意するソフトって聞いたこと無いし、明らかにセキュアになる。
実施したら、そこらじゅうのSEが悲鳴を上げるのも事実なんだけどねw

148名無しさん@お腹いっぱい。:2010/11/13(土) 01:07:44 ID:/61tmMeY0
>>146
いや、わかってる?ってだからそれはMMD/MMEに限った話じゃないって事だって

149名無しさん@お腹いっぱい。:2010/11/13(土) 01:22:28 ID:.ceMivs.0
>>148
MMD/MMEに固有の問題ではないのに
殊更そのリスクを取り上げる必要はないってことでしょ?
セキュリティは基本的に個々のユーザーの責任だ、と
その考え方も分かるんだけど
やっぱりMMDってセキュリティに疎い"情弱"な人たちも使ってるし
何か知らんけどMMDを叩いてやろうみたいな変な輩もいる感じだから
そういう注意喚起ぐらいはしてもいいかなーと俺は思うんだけど
>>138みたいにMMDとMMEが速やかに統合されることによって
解決されるべきだというのは行き過ぎた主張だと思うけどね

150名無しさん@お腹いっぱい。:2010/11/13(土) 01:47:33 ID:/61tmMeY0
#どうでもいいけどもうちょっと簡潔にまとめてスレの迷惑にならないようにしようぜ

ってのは置いといて、セキュリティに疎い情弱な人も使ってるソフトなんて他にも山ほどある訳で
別にMMDもMMEも特別な存在な訳じゃなくて、どこかの誰かが作ったただのフリーウェアの一つな訳で、
何か話しが出た所で場当たり対処しても意味無いだろって。 ちょっと反応異常過ぎ

元からの解決ならOSベンダが何かの対策を取った後に、  各人開発がそれを受けて手を回すって順番にしないと
目先の問題で動いてもキリが無いんだよ。 ましてフリーウェアならそもそも利用者の自己責任。
対処自体、してもしなくてもどうでもいい訳だから、自己責任が原則。 なんか勘違いしてないか?

151名無しさん@お腹いっぱい。:2010/11/13(土) 02:20:49 ID:.ceMivs.0
>>150
場当たり対処しても意味無いって……
やっぱりあんまりこの問題のこと分かってないじゃん
マイクロソフトは既にDLLのプリロードによる攻撃を回避するための
ガイドラインを提示してるし
Windows Updateによる速やかな解決が必ずしも期待できない性質の問題なんだが

樋口Mに余計な労力を費やすことを要求したくはないし
この程度のリスクは別に放置しておいてもいいと思うけど
この脆弱性の修正に要するコストはMMD開発全体からすれば微々たるものであるのも事実

ともあれこれ以上この件に関してゴチャゴチャ言うのは止めとくわ

152名無しさん@お腹いっぱい。:2010/11/13(土) 02:27:49 ID:.ceMivs.0
ってアレ?
よく見りゃ>>145の上段では>>143に対して
そんな処置は無理って自分で言ってるじゃん
何なんだコイツ……その場その場でさも分かってるようなフリして
偉そうにもの言ってるだけじゃないか
真面目に相手して損した

今度こそもう何も言いません
スレ汚し失礼しました

153名無しさん@お腹いっぱい。:2010/11/13(土) 03:30:02 ID:/61tmMeY0
>>152
むしろ俺が損だよ。文盲乙

154舞力介入P:2010/11/14(日) 04:23:56 ID:rghRjJDA0
微妙に誤解があるようですが、
最近騒がれている脆弱性と、
MMEをMMDに読み込ませている方法は、正確には別物です。

どちらも、DLLを検索する際の、参照ディレクトリの優先順位を利用するものではありますが、
前者は、アプリケーションがDLLを読み込む際の、API呼び出しの不備を利用して、
ユーザが意識していないディレクトリに置かれたDLLを読み込ませるものであり、
後者は、OSがアプリケーションを起動する際の、仕様を利用して、
EXEファイルと同じディレクトリに配置したDLLを読み込ませるものです。

後者についても、前者と同種の脆弱性と考えることもできなくはないのですが、
前者は、アプリ開発者が実装を修正すれば対処できるものであるのに対して、
後者は、OSのプロセス起動ルーチンの問題であって、アプリ開発者には対処できないという違いがあります。

というわけで、MMEをMMDに読み込ませている方法を脆弱性と考えても、
それを樋口Mに対処をお願いするのはお門違いであり、
また、たとえMMDとMMEが統合されたとしても無くなるものではありません。


結局のところ、
DLLファイルもEXEファイルと同じ実行ファイルの一種であり、
ダウンロードしてきたDLLファイルを言われるままにインストールするのは、
ダウンロードしてきたEXEファイルを何も考えずに実行してしまうのと
同じ危険性があるということを知ってもらうしかないですね。

155名無しさん@お腹いっぱい。:2010/11/14(日) 08:21:33 ID:d07MitJ.0
>>154
普通に考えて、一般的なDLL(どこかに入っていれば動く)に
対しての脆弱性ですよね。
カレントに無くて、Windows配下に有ればとか、アプリケーションの
どこかのディレクトリーにあれば動くという事で、普段ユーザーが意識していない
ようなDLLと同じ名前のものをカレントに仕掛ければという脆弱性で、
MMDEのようにディレクトリを意識して配置して使うようなものは、
普通の実行ファイルと同じ(危ない場所からは取ってこない)
注意をすれば良いものです。
ここで、大騒ぎをしていないのは、皆それを判っているからでしょう。

>>138
が、文章は丁寧だけれどもなんくせつけているだけにしか見えていないので。

156名無しさん@お腹いっぱい。:2010/11/14(日) 15:21:31 ID:D3l/qfNU0
喧嘩は売られても買わなければ取引は成立しません
安い値段で買うと、買った人間の程度が知れます
損して得とれ、試合に負けて勝負に勝ちましょう

ともあれ、何かに偽装した悪意のあるDLLがこの先配布されないとも限りませんので、注意喚起にはなったのではと思います
杞憂も過ぎれば害ですが、無防備過ぎるのも確かに考えものですね

157名無しさん@お腹いっぱい。:2010/11/14(日) 15:23:28 ID:D3.TcgTg0
では開発に関係しない雑談はここまでで

158名無しさん@お腹いっぱい。:2010/11/15(月) 20:34:32 ID:yjp/B5Is0
本スレでkinectの事が話題になっていたので、

Kinect Viewer
http://www.youtube.com/watch?v=Th-Fgl2tj0M

こちらにはこの話題。
賞金付きオープンソース”Kinect”ドライバ開発コンテスト!
http://ascii.jp/elem/000/000/568/568632/
でも肝心なのはマイクロソフトの画像認識ライブラリなのかな?

159名無しさん@お腹いっぱい。:2010/11/19(金) 14:29:19 ID:Oie9tS9I0
Kinectって要はデジカメの顔認識機能の拡張版みたいなものだろ?
って事は、他のアニメやMMDの動きからもトレースできるってことじゃないかな?
上手くスクリプト組めば、カメラモーションも抜き出せる気がするよ

160名無しさん@お腹いっぱい。:2010/11/19(金) 14:58:59 ID:BZOmafyM0
Kinectは3Dセンサも使って認識してるんじゃなイカ?

161名無しさん@お腹いっぱい。:2010/11/19(金) 17:09:28 ID:ckNQC4G.0
Kinectは、カメラ2個つかって色と深度認識してるらしいねぇ
送られてくるのはその色と深度で、ソフト側はそこから姿勢を算出するらしいえ

162名無しさん@お腹いっぱい。:2010/11/19(金) 19:53:03 ID:uHg6Ouas0
一つ言える事は高校数学だと、数学B以上の数学必須

163138:2010/11/20(土) 09:54:41 ID:mbUGFmLw0
なにか燃料を投下してしまったようで非常に申し訳ない。
しかも自分の勘違いまで晒してしまって・・・
たしかによくよく考えればMMEを統合したところで何の解決にもなりませんね・・・
あとからで申し訳ないですが
「個人が"d3d9.dll"を振舞うようなプログラムを作れた以上
そういう事もあるかもよ」ということにしておいてください。
悪気はなかったんです、本当に申し訳ありませんでした。

164M:2010/11/21(日) 00:56:54 ID:ktO0S.yo0
舞力介入Pさんへ

MMD Ver.7.21で、フルスクリーン切り替え時と、画面解像度以上のAVI/画像出力時に
D3DDeviceをResetする必要が生じました。

そこで、もし可能でしたらMMEに

1.Resetをフックして、
2.Reset実行前にD3DPOOL_DEFAULTで作成したサーフェスを全てリリース、
3.およびD3DXEffectにOnLostDevice()を実行
4.Reset
5.その直後のBeginScene実行前に2でリリースしたサーフェスの再構築
6.D3DXEffectにOnResetDevice()を実行

するルーチンを追加することはできないでしょうか?
これでデバイスロスト時の対応も可能となるのですが。
もしできたらよろしくお願い致します。

165舞力介入P:2010/11/21(日) 13:09:57 ID:e9.VaqPg0
>>164
ご迷惑おかけします。
一応、Reset()時に、MMEを全リセットするコードをフックしてあったのですが、
うまく動作しなかったようです。
次バージョンアップで対応します。
(マズイ、やるべきことが積み上がってゆくorz)


別件ですが、こちらからも1点報告を。
Ver7.22で試したところ、ExpGetAcsFilename(), ExpGetPmdFilename()が、正しいポインタを返さないようです。
(ローカル変数のポインタが返っているように見えます)
お手数ですが、ご確認お願いします。

166M:2010/11/21(日) 20:18:53 ID:ktO0S.yo0
>>165
ごめんなさい、思いっきりローカル変数のポインタ返してました。
ttp://www.geocities.jp/higuchuu4/MikuMikuDance_v723beta01.zip

なんだか、色々とお任せしてしまいましてごめんなさいです><

167名無しさん@お腹いっぱい。:2010/12/16(木) 23:34:55 ID:r3ikgGpY0
MMEでサブセット番号を指定したテクニックの後に指定しないテクニックが並んでいた場合、
サブセット番号が一致したものは前者が、一致しないものは後者が呼び出されるものと
考えてもよいものでしょうか。
手元の環境ではそうなっていましたが、環境依存がないとも限らないので・・・

168名無しさん@お腹いっぱい。:2010/12/17(金) 01:09:07 ID:54aD7ZTw0
>>167

REFERENCE.txtに

>複数のテクニックで使用条件が重なっている場合は、
>エフェクトファイル上で先に記述されているものが優先される。

ってあるから書いてあるから、書いた順なんじゃね

169名無しさん@お腹いっぱい。:2010/12/17(金) 01:38:41 ID:BoXnIM8.0
>>168
あ、そうか、その条件で考えればOKですね
使用例のではそれぞれにサブセット指定してたので気になってました
サンクス

170名無しさん@お腹いっぱい。:2010/12/17(金) 07:37:09 ID:yZW80qFQ0
>>169
明示的に検索順序を指定することもできる。
REFERENCE.txtの”●STANDARDSGLOBAL”の項を参照

171名無しさん@お腹いっぱい。:2010/12/18(土) 14:04:55 ID:1eh1uhfI0
#includeの挙動について質問です。host.fxから同ディレクトリ内のguest.fxを
インクルードしたいのですが、#include "guest.fx" とした場合に、
サーチパスのカレントディレクトリが、最後に読み込んだモデルまたはアクセサリの
ディレクトリなっているようで、読み込みに失敗してしまいます。
また、最後に読み込んだモデル/アクセサリを削除、順番を入れ替えても
カレントディレクトリは変更されません。
どのようにパスに依存しない書き方すれば、読み込むことが出来ますか?
MikuMikuEffect:Ver.0.22, MikuMikuDance:Ver.7.23です

172舞力介入P:2010/12/20(月) 23:44:48 ID:zj7kZKGE0
>>171
MME ver0.23にて修正しました。
http://v-nyappon.net/?m=diary&amp;a=page_detail&amp;target_c_diary_id=916014

173名無しさん@お腹いっぱい。:2010/12/21(火) 07:22:16 ID:U8DmvoqI0
舞力介入Pさん対応していただきありがとうございます

174名無しさん@お腹いっぱい。:2010/12/25(土) 15:13:53 ID:oedzqk2A0
kinnect+MMD動画に魅せられて思わず購入してしまいました。

動画配信などで顔表示の代わりに上半身のみ表示させようとしていて
kinnectから受け取るデータを制限する為にDxOpenNI.dllを弄っておりますが
MMDかつ3D素人で座標の概念がまだ分からずに頓挫しております。
どなたかアドバイス頂けると助かります。

やりたい事:
モデルの下半身のボーンを固定させて上半身のみkinnectでキャプチャーしたい。

試みてる事:
dllに同梱されている DxOpenNI.cpp の141行目の関数の修正
下半身パーツの場合、座標を固定にしようとしているが
どんな数値を突っ込めば良いのか分からない('A`)
 point->x=(jointx.position.X-BP_Zero.position.X);
 point->y=(jointx.position.Y-BP_Zero.position.Y);
 point->z=(jointx.position.Z-BP_Zero.position.Z);
kinnectで取得した座標からセンターボーンの初期座標を引いてるのがポイントなのでしょうか。。
試しに0.0fを入れてみたら凄い格好になってしまった…。

175名無しさん@お腹いっぱい。:2010/12/25(土) 15:55:17 ID:N8ZzUW.M0
目的に合わないかもしれないけど、別の方法を2案
・キャプチャーした後に下半身のキーを全部削除する
・pmdの下半身のボーンの名前を全部変える

176174:2010/12/25(土) 17:44:29 ID:oedzqk2A0
>>175
レスありがとうございます。
案1については動画配信でリアルタイムに出来ないで目的に合わなそうです。
案2については使えそうですね。この発想はありませんでした。
ただ、気軽にモデルを切り変え出来ないのが辛いところです。

177名無しさん@お腹いっぱい。:2010/12/25(土) 17:52:12 ID:aSY58E360
鎖骨(首?)の座標から動的に生成したら?
イメージとしては不随の体が頭にぶら下がってる感じで。

178174:2010/12/25(土) 18:30:07 ID:oedzqk2A0
>>177
レスありがとうございます。
まさに、動的に座標を作り込もうとしてるのですが
MMD及びkinnectの知識不足で具体的にどのような値(座標)を割り当てて良いか分かっていません。。。
DxOpenNI.dllオリジナルソースではkinnectで取得した各パーツ座標から初回センターボーンの座標を引いた値を使っているようです。
これが何を意味するのか理解出来れば…。

179名無しさん@お腹いっぱい。:2010/12/25(土) 18:51:17 ID:aSY58E360
分かってなくても作れるんじゃないの?
生データから偽装したい部分の座標を生成して、
そこからセンターボーン座標だかなんだかを引きゃいいじゃん。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板