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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1225
羽生田画像のきれいな透過方法が分かりません11解決


羽生田

リンク

2012/12/25(Tue) 12:40:59|NO.51398

今ゲームを作っていてキャラクター画像を表示させたいのですが、
うまく透過表示させることができません。

今は gcopy 使い透過させたい部分を黒(0,0,0)で塗ってやっていますが
この方法だとキャラクターと背景の境目が黒く縁取られた状態になってしまってうまく表示できません。
圧縮の荒れが原因で黒く縁取りされているというのは調べて分かったのすが、
1つ1つつぶしていくと手間もかかりますし、ラインもがたがたになってしまいます。

フォトショップでpng画像を作ってもで透過情報までは反映されないようで真っ白の背景になってしまいます。
初歩的な質問で申し訳ないのですが、何かいい方法はないでしょうか。



この記事に返信する


ppr

リンク

2012/12/25(Tue) 12:47:14|NO.51399


gmode 4,64,64,256;設定 color 0,0,0;透明化させる色



@key

リンク

2012/12/25(Tue) 13:26:45|NO.51400

ジャギーが発生しています(ジャギーについては調べて)
ジャギーは半透明レイヤー付き画像の半透明レイヤーを白背景にして保存したりすると発生します
そのまま白背景で使うなら問題はありませんが、白い部分を透明にしてゲーム等に取り込むと
ジャギーの半分白だったところがゲーム内の背景にあわずギザギザに見えます

解決方法は特にありません
GIMPなどの高性能ペイントエディタなどでジャギーを消すか(手動、めんどくさい)白背景にして使うかです
一番早いのはギザギザが発生してる周辺数ピクセルを白背景にし、残りを透明化してゲーム内で使う方法ですが
どちらにせよめんどくさいです 結局綺麗にするには手作業の修正が伴います

べつに個人のゲームなんかではジャギー等があっても特に咎められたりはしないのでそのまま使うのもありです



cats

リンク

2012/12/25(Tue) 14:10:17|NO.51401

RGB(0,0,0)の近似色を全てRGB(0,0,0)に塗ればどうですか?
自分はよくmikUniColorを使います。
http://www.vector.co.jp/soft/win95/art/se293704.html



mirage17

リンク

2012/12/25(Tue) 18:58:09|NO.51402

D−pixedという256色グラフィックスソフト(フリーソフト)
なら、背景色や透明色を指定できるし、パレットで、管理できるのでおすすめです。
このソフトで、絵を描いて、背景色を指定し、HSPで、表示させるとうまく
透過表示できますよ。ゲーム学校の学生時代から、このソフト使用していますが、
本格的なDirectXプログラミングの世界(C++)でも使えるので、
一石二鳥なツールで、愛用しています。
標準だと、パレットの左上が、透明色だったと思います。この透明色で、透過したい
部分を塗りつぶせば、透過できますね。
D−pixedのベクターダウンロードページ
http://www.vector.co.jp/soft/win95/art/se035696.html



mirage17

リンク

2012/12/25(Tue) 20:44:14|NO.51407

画像の表示で、参考になるページを見つけました。
透過表示の仕方がくわしく載っています。ご覧ください。
境界がギザギザしている所があるかもしれませんが、
パレットの設定しだいで、だいぶ変わると思います。
私の場合は、虹色のグラデーションパレットを作成して、
境界が綺麗になるようペイントソフトで、描いています。

http://www.chukai.ne.jp/~nelgal07/hsp/ht017_2.html



GENKI

リンク

2012/12/25(Tue) 22:44:39|NO.51412

ドット絵なのかAVGのような画像なのかで対処法が若干違ってきます。
用途や色数などもう少し詳しく教えていただけると回答する方もイメージしやすいのでより適切なアドバイスが出来るようになります。
今はなんだか回答者の皆さんそれぞれバラバラのイメージ持ってる気がします…。

ということで無難なあたりで解答してみようと思います。無難すぎて的を絞れていませんが情報不足なのでしかたありません。(^_^;

ジャギーがでても構わないような画像なら pprさん(No.51399)のサンプルのようにgmodeの2か4を使うのがいいでしょう。
ジャギーが目立つと困るという場合はgmodeの7を使うか、透明色を持ったPNGを作成してArtlet2Dで描画するか、のどちらかになります。
描画にプラグイン使っている場合はまた話が変わってきますが、今回は使われていないようなので省略します。


> フォトショップでpng画像を作ってもで透過情報までは反映されないようで真っ白の背景になってしまいます。

ちゃんとした透明色持ったPNG画像が出来ていなかった可能性もありますが、
gcopyではpngの透明色情報は失われるんでこっちが原因でしょうね。


> 圧縮の荒れが原因で黒く縁取りされているというのは調べて分かったのすが、
> 1つ1つつぶしていくと手間もかかりますし、ラインもがたがたになってしまいます。

Jpegで圧縮したんですね。
背景をぬきたい画像では非可逆圧縮であるjpegはブロックノイズ入るんで普通は使いません。
こういう場合は可逆圧縮であるPNGか無圧縮であるBMPを使うのが普通です。色数によってはGIFとかもありますね。

では普通ではない場合、どうしてもjpegを使いたい場合はどうするか。
gmodeの7を使ってください。ノイズを気にしなくてよくなります。



k5342

リンク

2012/12/26(Wed) 00:06:21|NO.51420

Artlet2DというモジュールがHSPに標準で付属していますが僕はそれを使ってます
(あれこういう回答でいいのかな...? 場違いだったらごめんなさい)



mirage17

リンク

2012/12/26(Wed) 11:54:13|NO.51431

キャラクターと背景色の境界が黒くふちどられるのは、大変な事だと思います。
境界に、キャラクターと背景色の中間色のパレットをつかって、描画すると、
ギザギザがなめらかになります。ペイントソフトで、絵に加工してあげれば
よいでしょう。HSPの本などに載ってる描画法で、黒く縁取られるというのは、
起こりにくいだろうから、その辺もチェックしてみてはどうでしょうか。
中間色のグラデーションは多くなればなるほど、絵のギザギザをなめらかに
してくれると思いますよ。



mirage17

リンク

2012/12/26(Wed) 12:06:52|NO.51432

PNGでなくBMPを使うのはどうでしょうか?私はBMPを使って、問題なく表示させています。
もちろんフォトショップでもBMPを使います。状況によっては、16bitカラーや256色に
減色したBMPとかを使います。私の場合、フォトショップエレメントを使って、BMPで、
16bitカラーで出力しています。それで、普通に表示できます。それと256色のBMP
には、D−pixedを使って表示しています。



HSP歴10ヶ月位

リンク

2012/12/26(Wed) 12:29:15|NO.51433




羽生田

リンク

2013/1/1(Tue) 09:04:07|NO.51619

みなさんありがとうございました。アドベンチャーゲームを製作していました。
Artlet2Dとgmode7というのを試行錯誤しながら使ってみます。ありがとうございました。



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