Closed idzuna closed 2 months ago
対応遅くなりました🙏
ご提案いただいた式を少々改良し、以下のような計算式で実装の方行いました。 これはMaxLightが1以上設定されることがあるため(lilToonの明るさの上限の値域が0-10)、このような計算式にした感じです。
defaultMinLight = (parameters.MaxLightValue - parameters.MinLightValue) *
parameters.DefaultMinLightValue + parameters.MinLightValue;
defaultMaxLight = (parameters.MaxLightValue - parameters.MinLightValue) *
parameters.DefaultMaxLightValue + parameters.MinLightValue;
当環境ではこの式で問題なく動作いたしましたがすべてのパターンは網羅できていないため、一旦修正したとしてIssueの方クローズしますがまだ不具合が残っていれば再度コメントの方よろしくお願いします。
バージョン 1.13.2 で「初期の上限と下限を上書きする」を有効にしたとき、「明るさの下限」が正しく反映されません。
再現手順:
問題は 1.13.2 で発生しており、バージョン 1.13.1 に戻したところ「明るさの下限」の値が正しく反映されました。
222 で、ツール無効時にも「明るさの上限の初期値」「明るさの下限の初期値」を反映することを意図したと思われる修正が入っていますが、ツール無効時には単に「明るさの上限」「明るさの下限」をそのまま適用する 1.13.1 の挙動がありがたいです。
(最初から初期値の値を適用したいユーザーは「初期状態で適用する」を有効にして使えばよいです)
※もし、ツール無効時にも初期値の値を反映させることを仕様とされるのであれば、
IsSeparateLightControl
の値を考慮する必要があるのと、単純に値をかけ算するのではなく、MinLightValue と MaxLightValue の値を DefaultMinLightValue と DefaultMaxLightValue の比率でブレンドすることになるので、 https://github.com/Azukimochi/LightLimitChangerForMA/blob/develop/Editor/NDMF/Passes.GenerateAnimationsPass.cs#L52 は以下のようになると思います。ご検討よろしくお願いいたします。