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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1205
康平HGIMG3 3Dスプライト(板)の透明色モードについて3解決


康平

リンク

2006/12/5(Tue) 22:59:06|NO.3975

HGIMG3について、ヘルプやリファレンスを読みながら実験中です。
リファレンスの中に、

-----------------------------------------------------------------
3Dスプライト(板)

setsizef sx,sy ;板の大きさ設定
setuv tx0,ty0,tx1,ty1 ;UV座標の設定
addplate val, mode ;板(PLATE)モデルを作成
テクスチャ座標が左上(tx0,ty0)と右下(tx1,ty1)のもので、
縦横サイズが(sx,sy)の四角ポリゴン(板)のモデルを作成します。
変数valにモデルIDが代入されます。
これに続いてtexload命令で読み込まれたテクスチャ(画像)を使用します。
addplate命令のmode値が0の場合は透明色抜き処理を行ないません。
mode値が1の場合は指定された色を透明色として扱って描画します。
-------------------------------------------------------------------
の説明を読んで、texloadでbmp画像をロードしていますが、
addplateのモードを、0にしても1にしても、どちらも黒が透過されてしまいます。
これは私の理解が誤っているのでしょうか?



この記事に返信する


クリミア

リンク

2006/12/6(Wed) 01:21:11|NO.3979

当方では、bg とbox 命令には理解しにくいところがありましたが、
plate に関してはうまくいっています。
透明、非透明も問題なく実現できています。(B6版)

プログラム中ほかのところでgmodeを変更していると
影響がでるかもしれないなと思いました。(未検証)

該当のオブジェ登録のスクリプト部分だけをのこして
実験してみるのもいいかもしれませんね。

また自分独自の方法ですが、命令文中の省略できるパラメータなどの
項目を消して(,,つなぎ)実行してみる検証のしかたも
なかなか役立つときがあります。

余談ですが、
逆に黒どちらも透過しない(黒がぬけない)
というときは、黒が0,0,0(RGB値)でないということが
よくありますよね。
特に0,0,0で塗ったのに.jpg形式で保存して
勝手に1,1,1になってしまっているなど。



康平

リンク

2006/12/6(Wed) 16:01:31|NO.3982

ご丁寧な回答ありがとうございます。

>透明、非透明も問題なく実現できています。(B6版)
まず、これがハッキリすれば私のスクリに何か問題があると言うことで
再度検証できます。

>プログラム中ほかのところでgmodeを変更していると
>影響がでるかもしれないなと思いました。(未検証)
gmodeについては何もしていないんですけど・・・。

>該当のオブジェ登録のスクリプト部分だけをのこして
>実験してみるのもいいかもしれませんね。

はい、当然の検証なのに、うっかりしていました。
登録部分のみを実行すると、確かにモードの違いがしっかり出ています。

・・・・あれ?じゃ前後のスクリプトで何が影響してんだろ(><;)
ってことなので、再度確認していきます。ん〜なんでぇ〜?

この件は、私の検証不足でした。申し訳けないです。
ありがとうございました。



康平

リンク

2006/12/6(Wed) 17:56:45|NO.3994

やはり自分のミスでした。

setefx 255,x,y,z
をその後に処理していますが、256になって合成をしない数値なので
255のままだと透過したままになることが分かりました。

理解不足でした。切っ掛けを頂きありがとうございました。



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