依頼)イベントの不透明の範囲(VXACE)

アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

依頼)イベントの不透明の範囲(VXACE)

投稿記事by こめかみ » 2018年7月29日(日) 11:10

お読み頂きありがとうございます。
キャラクター(イベント)の不透明範囲の変更についてなのですが、デフォルトではキャラクター画像全体が不透明になります。これを「(特定のリージョンやタイル上で)キャラクターの右端や上部から〇方向に〇ピクセルだけ不透明」にする方法はないでしょうか?
※茂みのスクリプト設定で「キャラの下部から上方向に〇ピクセル」という部分があるので、この機能を使用すればと思ったのですが、該当箇所が見つかりませんでした。

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by TOMO » 2018年8月01日(水) 19:51

「下部から上方向」は、
「bush_depth」の数値を変更すれば、茂み以外でも一時的に可能です

「下部から上方向」以外は、
最初から〇度回転させた画像を用意し、
「angle」で元の角度まで回転させれば多分可能です
(angleを変更するには、ひきも記様の「RGSS3_キャラクター表示拡張」等が必要)
アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by こめかみ » 2018年8月06日(月) 16:45

>TOMO様
ご返信ありがとうございます。返事が遅れ申し訳ございません。
「bush_depth」の数値の変更で"茂み指定"以外のタイルにも適用できるのでしょうか?
ひきも期様のスクリプトを導入し回転させたのですが、不透明部分は下部から上部方向で固定されているようでした :| 。添付画像のキャラの壁にめり込んでしまう赤い範囲だけを不透明に(特定のリージョンorタイルに乗ってる間だけ)できないかと思ったのですが、もし変更できても常時処理するにはリスクが大きい案件かも知れません :oops:
添付ファイル
hutoumei.png
hutoumei.png (36.27 KiB) 閲覧数: 6084 回
TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by TOMO » 2018年8月07日(火) 01:54

どう使うかと思えば、そういう使い方ですか…


手っ取り早いのは、茂みみたいな方法で無く、
レイヤーシステムで壁部分とかを上のレイヤーにする方法かな?
(Libのツクールページ様 等)

それなら似たような事は出来ます
アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by こめかみ » 2018年8月07日(火) 04:49

>TOMO様
色々とありがとうございます。
製作中のアクションRPGのスクリプト(Atelier Rgss様のXAS)と競合しやすいのか、レイヤーや擬似レイヤーを試してみましたがどうしても不具合が出てしまうようです。。
(海外のフォーラムで"Large Sprite ☆ Display Fix​"というY座標でプライオリティを変更する的なのもあったのですが、これも競合バグが :oops:
苦肉の策で、立体物のグラフィックを作成しイベントで配置する方法を取っているのですが、数が増えると処理落ちに繋がってしまい…質問が変わってしまうのですが、ただ置いているだけのイベントの処理を軽減する方法はないでしょうか?
TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by TOMO » 2018年8月07日(火) 05:51

確かにそういうスクリプトだと競合しやすいでしょうね

立体物のグラフィックを作成しイベントで配置する方法を取っているのですが
よく考えれば、
それをタイルB~Eで、通行判定を「☆」にして4方向を弄って使えば行けるのでは?

イベントとして配置しない分だけ軽くなりそうですし…
アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by こめかみ » 2018年8月07日(火) 20:26

屋根などキャラの上層にあるものはB~Eタイルの☆で併用しているのですが、オートタイルが利かないためパターンの作成で容量を圧迫してしまうのと、壁や木やタンスなど裏に回りこませたいタイルの場合、キャラ(基本サイズが縦2マスで作成中なので)が手前に立った時に上半身や頭部が隠れてしまったりで…
何かに目を瞑らないと厳しいですかね :cry:
添付ファイル
tile_head.png
tile_head.png (51.78 KiB) 閲覧数: 5997 回
奈々(なな)
記事: 103
登録日時: 2016年11月06日(日) 16:57

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by 奈々(なな) » 2018年8月11日(土) 09:02

煮詰まっているようですので、横から失礼致します。
私なりに整理して回答致しますと、以下のようになります。

・下端以外からnピクセルを不透明、半透明
これに関しては可能です。
要は茂み判定で行っている画像処理の応用ですので。

・壁へのめり込み対策に上記を使う
但しこうなると話は別です。
「壁へのめり込みを判定する」のが難しいからです。

・タイル設定「☆」を使う
そもそもデフォルトの画像処理(レイヤを重ねる)方式は
1要素がマップチップ単位であるのが前提の仕様です。
(但し斜め視点という演出の関係で、キャラクターの縦方向はマップチップの二倍まで許容される)
要はデフォルト仕様だと64x32までが、特に気を遣わずに使用できるキャラチップの上限です。


解決方法としては、スクリプトを使わない以下の方法を提示します。

まず、デカキャラの画像を編集して
A「中央から16pxより右側を削った画像」
B「中央から16pxより左側を削った画像」
C「中央から16pxより両側を削った画像」
を用意します。

次に並列処理のイベントで、デカキャラの左右のマップチップのタイルIDを取得します。
条件分岐にかけて、右が壁のタイルならA、左が壁のタイルならB、
両方ならC、そうでないなら元のキャラチップに変更します。

この方法なら、これまでに出た
・オートタイルを使いたい
・☆だと頭部が隠れる
・他のスクリプトと競合する
・透明化処理の方法が分からない
が全て解決すると思いますが、如何ですか?
------------------------------------------------------------------------------------
へぷたなすくろーる
http://heptanas.mamagoto.com/

VXAceのスクリプト素材及びイベント講座などをやっています。
------------------------------------------------------------------------------------
アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by こめかみ » 2018年8月21日(火) 00:14

>奈々様
詳しい回答ありがとうございます。
ご提案にてグラフィック自体の問題は解決しそうなのですが(アクションRPGの時点で既に処理落ちが発生しており)常時の並列処理を増やすと更に処理落ちが出て厳しいかも知れません :oops: また敵味方共にアクションの挙動によりグラフィックを変更するため(剣を左右に振ると横1マスをはみ出るetc)そのあたりの制御にも弊害が出てしまいそうです。

アクションが行われない町マップ等ではご提示頂いた方法を使用し、
バトルマップでは(特に大きいキャラは)リージョン移動制限スクリプトで壁スレスレまで移動できないようにする等で調整をしようと思います。

※ダメ元というと失礼なのですが、(添付画像のように)リージョンごとの透明範囲を予め設定し(どのサイズのキャラでも原点位置を基点に)透明効果が出るような茂みの応用スクリプトは難しいでしょうか?
添付ファイル
merikomi.png
奈々(なな)
記事: 103
登録日時: 2016年11月06日(日) 16:57

Re: 依頼)イベントの不透明の範囲(VXACE)

投稿記事by 奈々(なな) » 2018年8月21日(火) 01:18

その方法で良いかと思います。
デカブツは体が邪魔で建物に隣接できないとか、特色出ていると思いますよ。


一応ダメ元の話にも回答しておきます。

可能不可能で言えば可能だと思いますよ。
前に言った通り部分的な透過は、茂みで出来ているように可能で
それを指定する方法として、komekamiさんのロジックは成立していますので。

但し、アクションゲームの処理落ちが云々という事情があるなら
頻繁にbitmapの複製と加工を行うこの方法も不適かもしれません。

あと重いのは並列イベントであって、画像の切り替え自体は軽いので
(厳密には初回は重いですが、以降はキャッシュしているので軽くなります)
私が提案した方法をスクリプトで実装するという手もありますね。

蛇足になりますが、もし私が作る立場でしたら
正直、どちらの方法も目的に対して労力が見合うとは思えないです。
そこまで本格的にやりたいなら、汎用性と軽さを考慮して
マップの各要素のz座標管理を一新しますね。ご参考までに。
------------------------------------------------------------------------------------
へぷたなすくろーる
http://heptanas.mamagoto.com/

VXAceのスクリプト素材及びイベント講座などをやっています。
------------------------------------------------------------------------------------

“VX / Ace:スクリプト素材のリクエスト” へ戻る