HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0120
やまねこdirectXの2Dゲームを作るにあたりアルファチャネルを扱えるプラグイン13解決


やまねこ

リンク

2009/1/20(Tue) 22:07:31|NO.22962

こんにちは
hspdxfixで2Dゲームを作っているものですが、キャラクター等の画像の端をなめらかにしたいものだなと思い、質問させていただいた次第です。
一応過去の質問は調べたつもりですが、既出であれば誘導して下さい^^;

色々とググってみたところ、3Dも扱えてアルファチャネルが使える云々のプラグインをいくつか見かけたのですが、解説が3Dのことばかりでお手上げです。
どなたか教えていただければうれしいです。
よろしくおねがいします。



この記事に返信する


New Monkey

リンク

2009/1/20(Tue) 23:03:12|NO.22963




やまねこ

リンク

2009/1/21(Wed) 00:06:36|NO.22964

ナルホド。
えーと、それじゃあS.PROGRAMS NETさんのArtlet2Dとかで制御してもいいのかな…?
あと、速度面ではどうなんでしょうか。
ゲーム中に大きな画像をぐりぐり回転させて十分な速度が得られるといいんですけれど…



GENKI

リンク

2009/1/21(Wed) 00:11:37|NO.22965

ざっと見た感じhspdxfixではαチャンネルつきPNGには対応していないようですね。
2D用プラグインではちょっと分かりません。

3D用のプラグインは大抵アルファチャンネル付きPNGに対応しています。
むしろ対応して無いと使い物になりませんからね。
3D用プラグインを使っても2Dゲームのような表現が擬似的に可能です。
板ポリゴンにテクスチャ貼り付けて、ZX平面に配置。
カメラをY軸方向に離れたところにおいて、
カメラの方向を常にZX平面に垂直にする。
あとはパースを調整して遠近感をなくせば、擬似2Dになります。

ちなみに、「gmode 7」を上手く使えばプラグインなしでもジャギをなくすことが出来ます。


> GDI+とか?

HSPでGDI+といえばこれ。
http://sprocket.babyblue.jp/html/hsp_artlet2d.htm



やまねこ

リンク

2009/1/21(Wed) 00:52:46|NO.22966

すみません。
言い忘れていたんですが制作中のゲームでは500x500程度の画像3枚ほどを毎フレームぐりぐり回転させる処理が出てくるんです。
directXを使えば速度に問題はなかったんですが、それだとアルファチャネルが使えないので。
ですのでGDI+を使ったときの速度が気になるんですが、どれくらいのものでしょうか。
(Artlet2Dのサンプルについていたシューティングでは弾が多くなると、少し遅くなるように感じました)
ゲームでの使用に耐えうるのかな…?



コンテスト出品者

リンク

2009/1/21(Wed) 08:01:17|NO.22970

適当なサンプルを自分で組んでみると良いのでは。



やみねこ

リンク

2009/1/21(Wed) 08:59:11|NO.22971

ずいぶんお久しぶりです。

僕もアルファを扱える2DのダイレクトXを探した事がありますが、
見つかりませんでした。

速度の低下については、GDI+グラボの機能を最大限に出すわけじゃない&
アルファチャンネルを使う分の負荷で考えれば仕方ないような...

そういう意味では、3D物を使うしかないように思いました。

とりあえず、動くものを作って、速度の低下分は工夫でなんとかするか、
C++などの他の世界を目指すか、決め手も遅くないように思いました。



リンク

2009/1/21(Wed) 09:35:22|NO.22973

hspdx+α では 2Dで回転とか半透明とかいちよう出来ますねー
http://hp.vector.co.jp/authors/VA022330/hsp/dxpa/index.htm



レヴィン

リンク

2009/1/21(Wed) 09:36:09|NO.22974

hmm(のDirect Graphics)はどうですか?
bmp,jpegにしか対応していないと書いてありますが、実際にはpngも読めます。
ただし、あくまでも公式にサポートはしていないようなのであしからず。



やまねこ

リンク

2009/1/21(Wed) 18:02:19|NO.22975

たくさんのアドバイスありがとうございます。

>GENKIさん
3Dプラグインを使えば、ということについてお返事していませんでした。
パースをいじって、というのは面白いですね。今回はおそらく使えないでしょうが(技術的に)、いつか3Dのゲーム制作に手を出したときにやってみたいなと画策しております。
>コンテスト出品者さん
そうですね^^; 人にばっかり頼っていてはいけないなと思い、アルファ付きを回転させるサンプルを先ほど作ってみましたが、ゲームには少し無理がありますね…
500x500一枚だけでfpsが20を切ったのでgdi+はあきらめます。
>やみねこさん
お久しぶりです^^ノ やはりそういうものはないんでしょうかね。
いつかはCとかでオリジナルの描画命令を作ってみたいんですが、もっとHSPが上手くなってからにしようかな。
(この前VRAMを操作して描画命令を自作してみたんですが、あまりに遅すぎて…)
>kさん
半透明って、アルファチャネルのことではないですよね。
全体が半透明になるならhspdxfixでも変わらないはず…?
>レヴィン
本当ですか!?
早速ダウンロードして試してみます。もしそれで速度が確保できたら…ウマー

みなさんありがとうございます。
今からレヴィンさんに紹介していただいたhmmを試してみようかと思いますが、もし何かにぶつかったときに質問したくなるかもしれないのでwとりあえずあと1,2日くらいこの質問を締め切らずに置いておかせてください。
もし閉めた方がよいようならば、お手数ですがつっこんでいただければ閉めますので^^;



やまねこ

リンク

2009/1/22(Thu) 01:12:56|NO.22983

hmmを試してみたのですが、どうやらアルファチャネルが適用されるのは読み込み時だけっぽい…?
いろいろなオプションを試してみましたが、実際にコピーする段階になるとどうやら普通の画像として認識されるだけのようです。
レヴィンさん、もし見ていらしたら教えてください。(ほかの方でも結構ですが)



レヴィン

リンク

2009/1/22(Thu) 12:41:50|NO.22986

ん?ちゃんとα付きになりますよ。
とりあえず、コピーする時はdgblendmodeを1に設定して下さい。

あと、バージョンは1.42を使ってください。
※2.61の用のプラグインのページのやつはバージョンが古い

どうやら、使い方はマニュアルを読んである程度わかってるようなので、
見ればわかると思うのでうp。
ためしに実行してみて下さい。
http://mpc.homeip.net/up/download/1232594949.lzh
pass:hsp

先に断っておきますが、いつあpろだから落ちるかわかりません。
それと、実行時のスクショを同梱してあるが、それとだいたい同じ表示にならない場合は
ビデオカードが古いなどの理由も考えられるので注意。



やまねこ

リンク

2009/1/22(Thu) 18:12:33|NO.22987

すみません、どこをどう間違っていたのかわかりませんでしたが無事にアルファ付きコピーができました
どうやら画像の方に問題があったのかも…^^;
本当にありがとうございます。

いくら探しても見つからなかった機能を教えていただき、無事に当方でも確認できましたので、これで閉めさせていただきます。
みなさんありがとうございました。



やまねこ

リンク

2009/1/22(Thu) 18:37:02|NO.22988

解決のところにチェックするのを忘れてたw



ONION software Copyright 1997-2023(c) All rights reserved.