コンフィグのウィンドウ透明度の反映を反転させたい

22 views
Skip to first unread message

sola

unread,
Jun 2, 2026, 1:47:14 AM (4 days ago) Jun 2
to 宴ユーザーグループ
宴のバージョン:宴4.2.7
UnityのバージョンとOS:Unity6000.1.17f1 URP Mac
Unityの習熟度:初心者

お世話になっております。

コンフィグのウィンドウ透明度について0が完全に透明になるようにしたいです。
例えばAdvConfigに透明度をinverseするオプションを追加願えないでしょうか?

ご検討よろしくお願いいたします。

マッドネスラボ

unread,
Jun 2, 2026, 3:20:55 AM (4 days ago) Jun 2
to 宴ユーザーグループ
オプションだと既存プロジェクトへの影響が大きいので、
下記のような追加コンポーネントコンポーネントを設定してください。

using UnityEngine;
using UnityEngine.UI;
using Utage;

    public class SampleMessageWindowAlpha : MonoBehaviour
    {
        [SerializeField] UtageUguiConfig configView;
        [SerializeField] AdvEngine engine;
        AdvConfig Config => engine.Config;
       
        [SerializeField] Slider sliderMessageWindowTransparency;

        //メッセージウィンドウのアルファ値を設定するためのプロパティ
        public virtual float MessageWindowAlpha
        {
            set
            {
                if (!configView.IsInit) return;
                Config.MessageWindowTransparency = 1.0f- value;
            }
        }
       
        void Awake()
        {
            configView.OnLoadValues.AddListener(OnLoadValues);
        }

        void OnLoadValues()
        {
            sliderMessageWindowTransparency.value = Config.MessageWindowAlpha;
        }
    }


使い方
1. コンポーネントを追加
 Canvas-AdvUI/Configに  上記のコンポーネント を追加する。

  2. Inspector でフィールドを設定
追加コンポーネントのインスペクターを設定してください。
Config View : 同じ GameObject の UtageUguiConfig
Engine : シーン内の AdvEngine 
Slider Message  Window  Transparency :  ウィンドウの透明度のスライダーのUI

  3. 元の連携を切る(重要)
  UtageUguiConfig の インスペクターの Slider Message Window Transparency   None にする。
  これをやらないと、元の透明度設定とこのアルファ設定が同時に動いて競合します。
ss_1625.png

  4. スライダーの OnValueChanged を差し替える
ウィンドウの透明度のスライダーのUIのOnValueChanged イベントを変更する:
 UtageUguiConfig>MessageWindowTransparency から  SampleMessageWindowAlpha > MessageWindowAlpha
ss_1626.png


2026年6月2日火曜日 14:47:14 UTC+9 sola:

sola

unread,
Jun 2, 2026, 7:31:32 AM (4 days ago) Jun 2
to 宴ユーザーグループ
迅速なご対応ありがとうございます。

実装自体はできたのですが、
AdvConfig上DefaultDataのMessageWindowTransparencyを1にした上で
ゲーム内コンフィグの「全ての設定をデフォルトに戻す」を押しても0になってしまいます。

デフォルトを1(100)にしたいのですが、どうすればよろしいでしょうか?
2026年6月2日火曜日 16:20:55 UTC+9 マッドネスラボ:

sola

unread,
Jun 2, 2026, 2:36:31 PM (3 days ago) Jun 2
to 宴ユーザーグループ
前述のMessageWindowTransparencyの値を逆に0にしたら
初期化ボタンを押すと「ウィンドウの透明度」が最大になって無事不透明になりました。

この度もご対応頂きありがとうございました!

2026年6月2日火曜日 20:31:32 UTC+9 sola:
Reply all
Reply to author
Forward
0 new messages