【C++】 DirectX初心者質問スレ Part31 【C】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/09/30(木) 21:45:21これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前スレ
【C++】 DirectX初心者質問スレ Part30 【C】
http://hibari.2ch.net/test/read.cgi/tech/1278214135/
0002デフォルトの名無しさん
2010/09/30(木) 22:10:17乙でござる
0003デフォルトの名無しさん
2010/09/30(木) 22:12:53作りますた
同じ感じでやったのに一旦PNGにした方が明らかに綺麗になりますた
合格レベルですか?
0004デフォルトの名無しさん
2010/09/30(木) 22:16:250005デフォルトの名無しさん
2010/09/30(木) 22:21:45もうちょっと綺麗にならんのか
つか元の画像はどんななんだ?
0006デフォルトの名無しさん
2010/09/30(木) 22:30:230007デフォルトの名無しさん
2010/09/30(木) 22:41:19元の画像は
http://www.yamagishi.or.jp/furusato/wp-content/uploads/2009/06/2009-06-27-e7b791e9a48c-017-900x598.jpgこれの手前と
http://img.pics.livedoor.com/007/6/b/6b9fd34161e46eda86c6-LL.jpglこれの真ん中の左でつ
それをフォトショで切り抜いて回転させたりして作りました
http://pc.gban.jp/img/23291.jpg
http://pc.gban.jp/img/23293.png
できたのがこれで2階調補正して白黒反転させてToolでddsにしました
0008デフォルトの名無しさん
2010/09/30(木) 22:49:49PNGってダイレクトによめたっけ?読めればアルファも保存できるんだが。
0009デフォルトの名無しさん
2010/09/30(木) 22:57:58TGAは出力できます
PNGは、最初JPGで保存してたのを名前を変えてPNGとしたらエラーになったのですが
JPGで開いてPNGでインターレース付きで保存したら透過付きで読み込めました
SDKのサンプルではよくDDSが使われてるのでDDSにしたいのですが
TooLで合成しようがフォトショで出力しようが同じものができますよね?
0010デフォルトの名無しさん
2010/09/30(木) 23:02:24何がそれを保障するかはわからんけど、
一応どっちも製品なんだから同じかどうかは知らないが、途方も無くおかしな方式は採用しないだろ。
一つの見方だが、
フォトショップの内部形式から他のステップを踏むことなくダイレクトにPNGなりDDSになったほうが品質の面では良くないかい?
0011デフォルトの名無しさん
2010/09/30(木) 23:08:01なるほど!
ようつべの動画を何回も上げて落とすを繰り返すと劣化するって動画がありましたがそんな感じですね
TGAかDDSのプラグインを探すようにします
0012デフォルトの名無しさん
2010/09/30(木) 23:15:15お前、仕組み理解しろよ
「アンチエイリアス」でググレよ
>できたのがこれで2階調補正して白黒反転させてToolでddsにしました
なんで2階調補正するんだよーーーーーーーーーーーーーーーーーーーーーーーー!
ググレって自分が何アフォなことやってるのか一発で理解できるから
0013デフォルトの名無しさん
2010/09/30(木) 23:37:37変にアンチエイリアス入れると描画順を考えないと半透明部分のZ値がおかしくなる
ソートなしでαテストのみで描画できるから完全に抜きの方が楽
という話は置いといて
元素材をちゃんと作れ、そしてαチャンネルについて勉強しろ
2階調ににした白と黒の部分が何を意味してるのか理解してるのか?
0014デフォルトの名無しさん
2010/09/30(木) 23:41:130015デフォルトの名無しさん
2010/09/30(木) 23:51:47ビルボードならいいけど
よくRPGとかであるように十字に組み合わせて配置したいときに面倒だろ?
0016デフォルトの名無しさん
2010/09/30(木) 23:58:46フォトショのDDSプラグインはNVIDIAが配布してんぞ
0017デフォルトの名無しさん
2010/10/01(金) 00:00:01ありがとうございます
アルファチャネルと間違ってググってました
つまり…PNGだと自動的にアンチエイリアスになるってことですか…?
0018デフォルトの名無しさん
2010/10/01(金) 00:01:480019デフォルトの名無しさん
2010/10/01(金) 00:08:20すいません
アルファチャンネルについてググったのですが理解できませんでした…
背景をカットしたコピーと同一ではないのですか?
ある色を透過色としてその色をスルーするのが透過の仕組みですよね?
そしてDDSだかは透過色が始めから決まってるからその範囲を黒の部分として合成してDDSを作る…みたいなイメージでした
0020デフォルトの名無しさん
2010/10/01(金) 00:14:33なんで汚く見えるのか?
ってところから理解できたの?
それとアルファ画像もその仕組みも理解してねーのかよ
いろいろ覚えることあるな
全部1つ1つ丁寧に覚えてったほうがいいぞ
1.アルファブレンド(αが0のとき、128のとき、255のときでそれぞれどうなるか?)
2.アルファチャンネルの仕組み(2階調?ありえないw)
3.アンチエイリアスの仕組み
4.アルファ画像の作り方
の順番でしっかり覚えていかないと理解できないと思うけどな
0021デフォルトの名無しさん
2010/10/01(金) 00:19:40フォトショップの使い方とか、アルファブレンディングの仕組みとか、ファイルフォーマットの区別とか。
DirectXの前段階じゃね?
0022デフォルトの名無しさん
2010/10/01(金) 00:24:16ぐぐりました
1.アルファブレンド(αが0のとき、→透明
128のとき、→半透明
255のとき→不透明
2.アルファチャンネルの仕組み(2階調?ありえないw)→つまり、2階調にすると灰色の半透明ができないだろ!みたいなことですか…?
3.アンチエイリアスの仕組み→色のさかい目がだんだn混ざっていく?それでPNGだとアンチエイリアスになってJPGだとならないんですか?
4.アルファ画像の作り方→つまり各マスの黒から白の0〜255をα値にするってことですか…?
合ってたら理解が繋がった気がしてきた
0023デフォルトの名無しさん
2010/10/01(金) 00:29:16質問!RGBAってなんだかわっかるー??
0024デフォルトの名無しさん
2010/10/01(金) 00:32:13レッドブルーグリーンアルファの値?
アルファ…?ピクセルごとに透明度が決まってるみたいな?
0025デフォルトの名無しさん
2010/10/01(金) 00:37:49半分丸だね。
ピクセルを構成する要素で、色の3色である、赤、緑、青、に透明度の単位であるアルファチャンネルをつけたもの。
つまり、2ピクセルを合成するときにアルファチャンネルに基づいて、赤と緑と青の合成濃度が変わるということ。
それが結局透けて見えるとかガラスの表現だとかそういうほうに結びつくの。
0026デフォルトの名無しさん
2010/10/01(金) 00:41:48JPG→RBG
PNG→RBGAってこと?
フォトショで切り抜いたから端のアンチエイリアスが混ざる色が0000とかで
だからJPGだと端のコマがアンチエイリアスされず全部白に置き換わる
PNGだとアンチエイリアスされてだんだんAが0に近づくからアンチエイリアスされて見える。みたいな?
0027デフォルトの名無しさん
2010/10/01(金) 00:46:20JPEGや24bitBMPはもともとα値を保存してない(RGB)しかない
ここにグレースケール画像(0〜255段階)をα値として合成することで
ARGBのDDSとして保存するのがDirectXTextureToolのやってること
0と255の2階調なら完全な抜き絵になるし
白→黒へ徐々にグラデーションさせればアンチエイリアスになる
PNGはもともとα値を含む画像フォーマットなので
フォトショップ上でどう編集してるかにもよるけど
おそらく回転だの拡大だのしてるときにフィルターがかかって自動で縁にアンチエイリアスがかかってる
だからフォトショでPNGとして保存したものをそのまま読み込むと(DirectXTextureTool)を使わない
アンチエイリアスのかかったテクスチャが出来上がる
0028デフォルトの名無しさん
2010/10/01(金) 00:53:05半分丸だね。
JPGは別の問題があって、高圧縮の影には非可逆圧縮系の方法がさいようされてて、画像は絶対劣化する。
透明なJPGができたかは忘れた。こういう用途ではあんまり使わない。
PNGは大雑把に言えばZIPと似たような方式をとってて可逆圧縮系の方法が採用されているのと、
アルファチャンネルなどの要素も仕様に含んでいる。
PNGはアルファチャンネルが保存できるから、
そのアルファによって透過させるということは、君の言うアンチエリアスの機能も実現できるんだ。
0029デフォルトの名無しさん
2010/10/01(金) 00:53:14おおーなるほど。もう完璧にわかりました
下手すればフォトショでPNGで作っといて名前を変えるでDDSにしてもいけるんじゃないかってぐらいに理解できました
ツール要らないんじゃないかとか一瞬思ったけど、ミップマップレベルとかあるからやっぱり要るんでしょうね
0030デフォルトの名無しさん
2010/10/01(金) 01:03:32ありがとうございます
アルファ値の保存と、アルファチャンネルの保存の違いはまだよくわかりませんが
512×512ピクセルとはいえJPGの圧縮の劣化と言ってもそこまで無いでしょうし
とりあえず今は透過=PNGかGIFと覚えておきます
0031デフォルトの名無しさん
2010/10/01(金) 01:06:37まー、がんばってくれ。GL&HF!!
0032デフォルトの名無しさん
2010/10/01(金) 01:12:470033デフォルトの名無しさん
2010/10/01(金) 04:48:470034デフォルトの名無しさん
2010/10/01(金) 07:19:17まともなモデリングソフトを触って研究しようとしないんだろう?
どれだけ馬鹿なの?
0035デフォルトの名無しさん
2010/10/01(金) 07:41:49こんな短時間で理解するのは無理だよな
まあ、わからなかったら何回でも書き込みを読み直せばいい
そのうちできんだろw
0036デフォルトの名無しさん
2010/10/01(金) 07:44:16完璧に理解したつもりなんだが
0037デフォルトの名無しさん
2010/10/01(金) 07:52:11じゃあ、>>3と同じ形で出してみろよ
0038デフォルトの名無しさん
2010/10/01(金) 08:40:30何をですか?
0039デフォルトの名無しさん
2010/10/01(金) 09:33:37アルファチャンネルをちゃんと適用したものを
0040デフォルトの名無しさん
2010/10/01(金) 09:51:14すいません理解できません
どういうことですか?
具体的に何をどうしたやつを出せと言ってるのかゆってください
0041デフォルトの名無しさん
2010/10/01(金) 10:20:030042デフォルトの名無しさん
2010/10/01(金) 10:26:390043デフォルトの名無しさん
2010/10/01(金) 10:33:10いったいこいつらは何を言っているんだ?
0044デフォルトの名無しさん
2010/10/01(金) 10:43:27淵が綺麗にならない問題はあきらめるってこと?
でも今回のレスって綺麗に貼れないか云々じゃなかったっけ?
0045デフォルトの名無しさん
2010/10/01(金) 10:47:06>>3の汚い草を改善できなかったらいままでのやり取りはすべて無駄だな
0046デフォルトの名無しさん
2010/10/01(金) 10:51:26それを分離しなければどうにもならず、
前段階の問題なんだからアンチエイリアス云々でどうにかなる話ではない。
手作業で地道に修正するしか無い。
0047デフォルトの名無しさん
2010/10/01(金) 10:57:19>>3じゃPNGの方でも汚すぎるってこと?
0048デフォルトの名無しさん
2010/10/01(金) 10:58:280049デフォルトの名無しさん
2010/10/01(金) 10:59:18白と融合してる部分はアルファで見えないぐらいに消しちまえばいいんじゃね?
アルファチャンネル理解して淵を綺麗にできることが今回の話を理解できたってことだと思うけどな
>>47
そういう話だっただろ
0050デフォルトの名無しさん
2010/10/01(金) 11:00:450051デフォルトの名無しさん
2010/10/01(金) 11:02:13それもある
でも>>3の画像って2階調で処理しちゃった奴でしょ?
0052デフォルトの名無しさん
2010/10/01(金) 11:41:352階調でも十分だと思うぞ
やっつけだけど
http://www5b.biglobe.ne.jp/~mya_a/dx/23293.dds
0053デフォルトの名無しさん
2010/10/01(金) 11:48:140054デフォルトの名無しさん
2010/10/01(金) 12:04:03あるエフェクトの表現方法について教えていただきたいのです。
よくRPGとかの戦闘シーンで件で切りつけた瞬間に本当に切ったような光が
ランダムに描画されて消えていくエフェクトを見たことあると思いますが、
それを表現したいのです。
具体的に言うとテイルズオブヴェスペリアのユーリの秘奥義である漸毅狼影陣
で切りつける瞬間に出る光のことです。
↓の動画の一番最初の技のやつです。
http://www.nicovideo.jp/watch/sm9545804
何がわからないのかといいますと、どういう画像を使って、どのような描画を行えば
よいのかが分かりません。
三角形の画像を使って、拡大しながら加算ブレンドするとか、ポリゴンの頂点を急激に伸ばしながら描画するとか
そういう表現で説明していただけると助かります。
コード等は必要ありません。
表現方法を教えてください。
最高のRPGを作りたいのです。よろしくお願い致します。
0055デフォルトの名無しさん
2010/10/01(金) 12:10:41テクスチャに動画貼り付けてEND
005654
2010/10/01(金) 12:16:07テクスチャに動画なんて貼れません。
DirectXの知識自体はあるのです。
エフェクトを表現するスキルが不足しているんです。
よろしくお願いします。
0057デフォルトの名無しさん
2010/10/01(金) 12:30:00動画から画像を取りだして、更新が必要なフレームでテクスチャを書き換えればいいだけだよ。
005854
2010/10/01(金) 12:34:15ああいうエフェクトは最初から、一つの画像を色々プログラムで駆使して表現しているのではなく、
何枚もの画像を使って、切り換えているだけなんでしょうか?
0059デフォルトの名無しさん
2010/10/01(金) 12:43:06なんでレベル低いくせに背伸びするんだw
http://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow001.htm
動画にZ値をもたせておけば前後関係もちゃんと表現できるぞ
α情報をもたせておけば透過もできる
0060デフォルトの名無しさん
2010/10/01(金) 12:50:50α値含むエフェクト画像を加算合成
全体の透明度を0.0→1.0→0.0の変化と
αテストの閾値を0→255の変化を同時進行させているように見える
0061デフォルトの名無しさん
2010/10/01(金) 12:50:54そうです
フォトショでまず自動選択ツールとか消しゴムで切り抜いて、白紙を背景にして保存して、2階調補正して透過のために白黒ファイルを作って、ツールで重ねました
jpgの時の散らばりが無くなったので結構満足してたのですがどうやるのが正解なのでしょうか?
>>52
自分の作ったPNGと違いがわかんねえ…あんまり変わらないような
それと、グラボ買ってきたから今から取り付ける
これからはトゥーンレンダリングしまくってやんよ
0062デフォルトの名無しさん
2010/10/01(金) 12:55:480063デフォルトの名無しさん
2010/10/01(金) 12:56:58透明な線ポリや板ポリを発光させたり、
板ポリ+アルファ付テクスチャを発光 & フェードイン/アウトさせたりするんじゃないの?
負荷は増えるだろうけどパーティクル使っても可能だろう。
何にせよ応用思考の全く出来ない人っぽいので、ググるか大き目の本屋に行ってみる事をお勧めする。
タイトルは忘れたが、その手のエフェクトについて解説した本がある。
シェーダー関係だったかな?
0064デフォルトの名無しさん
2010/10/01(金) 12:59:18あいつはテクスチャアニメーションの代わりに使おうとしてたクズだろ
あんなのといっしょにするな
0065デフォルトの名無しさん
2010/10/01(金) 13:06:38006654
2010/10/01(金) 13:09:06DirectShowを使えば可能なんですね。まったく知りませんでした。
私の知識不足です。
>>60
なるほど。参考になります。ありがとうございます。
>>63
ありがとうございます。
シェーダーもそこそこ扱えるので、
本の名前思い出したら、また書き込んでいただけると助かります。
0067デフォルトの名無しさん
2010/10/01(金) 13:09:180068デフォルトの名無しさん
2010/10/01(金) 13:10:42で体験版を落として30日使い込んで、必要最低限の知識を学べ。
いきなり0からやろうとするから、右も左も分からないんだよ。
0069デフォルトの名無しさん
2010/10/01(金) 13:16:26台所で料理してるオカンの手元が光りまくってるのを想像してしまった。
っていうか、質問するほどのネタでもないような。
放射状に筋を描いて、ポストエフェクトでライトブルームを加えてるだけじゃない?
中心部分には円形の光を加えていそうだが。
007054
2010/10/01(金) 13:19:58ありがとうございます。ダウンロードしてやってみます。
>>69
言い方おかしかったですねw。すみません。
なるほど。ありがとうございます。
0071デフォルトの名無しさん
2010/10/01(金) 13:21:500072デフォルトの名無しさん
2010/10/01(金) 13:48:02どうやったらDirectXマスターできるんだよ
0073デフォルトの名無しさん
2010/10/01(金) 14:17:50仮になるにしてもとりあえずサンプル全部作れるようになってからそんなこと言ってるのか?
0074デフォルトの名無しさん
2010/10/01(金) 14:18:320075デフォルトの名無しさん
2010/10/01(金) 14:28:38いいと思う。
0076デフォルトの名無しさん
2010/10/01(金) 14:33:420077デフォルトの名無しさん
2010/10/01(金) 14:35:59先にOpenGLでもやれ
0078デフォルトの名無しさん
2010/10/01(金) 14:38:490079デフォルトの名無しさん
2010/10/01(金) 14:39:360080デフォルトの名無しさん
2010/10/01(金) 15:17:04DirectXのチュートリアルからはじめたらどうか?
虎表示するのあったじゃん
あれやるとモデルの表示がわかるからその後
固定モデル→アニメーションモデル→スキンメッシュモデル→各種シェーダ
って自分ライブラリ作っていったほうがランクアップしやすいぞ
DXライブラリの中身とかなにやってるのか読まなきゃいけないとか結構きついんじゃね?
(いや、ソースついてるのかどうかから俺は詳細知らないんだが・・・)
他の人の作ったもんだし
0081デフォルトの名無しさん
2010/10/01(金) 20:24:590082デフォルトの名無しさん
2010/10/01(金) 20:53:330083デフォルトの名無しさん
2010/10/01(金) 20:56:190084デフォルトの名無しさん
2010/10/01(金) 20:59:00気に入らないなら「DirectX上級者質問スレ」でも作りたまへ
■ このスレッドは過去ログ倉庫に格納されています