Conversation
- プロパティ名を統一(_BaseMapTriTone → _BaseMapTriToneEnabled など) - 境界概念を明確化(Boundary統一で一貫性確保) - エディターGUI表示名を改善(業界標準用語採用) - MaterialPropertyNames、MaterialProperties、PostProcessorを更新 - 全シェーダーファイルでプロパティ表示名を統一 - ApplyTriTone関数の実装ロジックを維持 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
TriTone(TriColor)機能のUIを大幅に改善しました。 ## 変更内容 ### インデント構造の改善 - TriToneが有効な場合に表示されるすべてのプロパティにインデントを適用 - 視覚的な階層構造が明確になるように改善 ### Boundary設定UIの刷新 - 従来の使いにくいFloatField + MinMaxSliderから、3つの独立したスライダーに変更 - 各スライダーに動的な範囲制約を適用(Shadow ≤ Midtones ≤ Highlights) - 直感的な操作が可能に ### 視覚的範囲表示バーの追加 - 各トーン領域を色分けして表示する横バーを追加 - Shadow(黒)、Midtones(グレー)、Highlights(明グレー)、Beyond(白)を視覚的に表現 - 各領域の境界値を右端に表示(S:0.250, M:0.500, H:0.750形式) - 境界線を色付きで表示(赤、黄、緑) ### 表示順序の統一 - Color設定をShadow → Midtones → Highlightsの順序に変更 - Boundary設定と同じ順序で統一 ### 視認性の向上 - 各領域の明度差を均等化(0.30刻み)して境界を見やすく - 背景色に応じたテキスト色の自動調整(暗い背景には白文字、明るい背景には黒文字) ## 技術的詳細 - Unity標準のインデント幅(15ピクセル)を手動で適用 - EditorGUI.DrawRectを使用した視覚的表現 - 小数点表示をF3形式で統一 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Base Mapセクションに新しいTriTone機能の詳細な説明を追加しました。 ## 追加内容 ### 機能説明 - 輝度範囲を3つのトーン領域(Shadow、Midtones、Highlights)に分割する機能 - グレースケール入力テクスチャを想定し、各領域に独立した色を適用 - 境界値による精密な遷移制御 ### パラメータ説明 - Shadow/Midtones/Highlights Color: 各領域に適用される色設定 - Shadow/Midtones/Highlights Boundary: 色遷移の境界値設定 - 実装に基づく正確な境界パラメータの役割を記述 ### 技術仕様 - 2段階の色遷移処理(Shadow→Midtones、Midtones→Highlights) - smoothstep関数による滑らかな色遷移 - デフォルト値: Shadow(0.0), Midtones(0.5), Highlights(1.0) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
CANakanoYui
approved these changes
Aug 12, 2025
Custom Coord対応でApplyTriTone関数がcustomCoords配列にアクセスできない問題を解決。 関数化せずにfragUnlit内で直接処理することで、スコープ問題を回避し、 コードをよりシンプルにしました。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Custom Coord使用時に境界値の順序が逆転する問題を修正。最小間隔0.005を設けることで smoothstep関数の安全性を確保し、各領域の存在を保証。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Shadow/Highlight + Balance方式に変更 - BalanceはShadow-Highlight間の相対位置(0-1)として機能 - より直感的なパラメータ制御を実現 - プロパティ名の最適化 - _BaseMapTriToneHighlightsColor → _BaseMapTriToneHighlightColor - 境界値プロパティを簡潔な名前に変更 - GUI機能の強化 - リアルタイムグラデーションプレビュー実装 - After Effects風のインターフェース - 個別Custom Coord対応 - パフォーマンス最適化 - 変更検出による効率的なテクスチャ更新 - メモリリーク修正(Texture2D自動クリーンアップ) - 静的コンストラクタによる安全な初期化 - シェーダー計算の改良 - RGB値直接使用を維持 - 効率的な2段階補間実装 - 自動順序保証の改善 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
## 変更内容 ### プレビュー実装の刷新 - テクスチャベースからEditorGUI.DrawRect(256ステップ)に変更 - メモリリーク問題を根本解決(動的テクスチャ生成を完全廃止) - グラデーション表現を維持しつつ軽量化を実現 ### GUI値制限の改善 - 個別変更検出による適切な値制限を実装 - Shadow変更時:Shadowを制限(Highlightを書き換えない) - Highlight変更時:Highlightを制限(Shadowを書き換えない) - Balance値を0.01-0.99の範囲に制限 ### 表示とレイアウトの修正 - プレビューがTriToneセクション内に適切にインデント表示 - 表記を"Tri-Tone"から"TriTone"に統一 - 不要なコメントと処理を削除してコードを簡潔化 ### 技術的改善 - 複雑なテクスチャ管理とメモリクリーンアップロジックを削除 - 100行以上のコード削減 - 静的リソース依存を排除 - リアルタイムでの値更新とプレビュー表示 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
## 変更内容 ### グレースケール参照バーの追加 - プレビュー上部に輝度参照用のグレースケールバー(12px)を追加 - 境界値と輝度の対応関係を視覚的に明確化 - 設定精度向上のためのガイド機能として実装 ### プレビュー構造の改善 - DrawTriTonePreview()をメイン関数として整理 - DrawGrayscaleReference()で輝度参照表示 - DrawTriToneGradient()でカラーグラデーション表示 - 2段階表示によるBefore/After比較を実現 ### UI/UXの改善 - Balance制限を0.01-0.99から0.001-0.999に緩和 - 境界マーカーラベル用に16pxの余白を確保 - グレースケール側の境界マーカーを削除(情報整理) - プレビューとTone Boundariesテキストの重複を解消 ### 視覚的品質向上 - グラデーション解像度を256ステップに維持 - 輝度とカラーの対応関係を直感的に表示 - プロフェッショナルツール(After Effects等)と同等のUI 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- GUIとシェーダーで連続補間による統一処理を実装 - Unity SmoothStepとHLSL smoothstepの動作差異を解決 - GUI表示名を改善(Shadow Boundary/Highlight Boundary) - 境界値の安全性チェック機能を保持 - デバッグコードを削除してコードを整理 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- GUIとシェーダーの並び順を明るい順(Highlights → Midtones → Shadows)に統一 - Balance → Midtonesにリネーム(より直感的な名称に) - パラメータ名を複数形に変更(After Effects等の業界標準に準拠) - Shadow → Shadows - Highlight → Highlights - Midtones(既に複数形) これらの変更により、ユーザーにとってより親しみやすく、 業界標準ツールと一貫性のあるインターフェースを実現 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
シェーダー側ではRGB値のみを使用してアルファ値は反映されないため、 GUIプレビューでも同様にアルファ値を1.0に固定して表示するように変更 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
# Conflicts: # Assets/Nova/Editor/Core/Scripts/Optimizer/OptimizedShaderGenerator.cs # Assets/Nova/Runtime/Core/Shaders/ParticlesUberLit.shader # Assets/Nova/Runtime/Core/Shaders/ParticlesUberUnlit.hlsl # Assets/Nova/Runtime/Core/Shaders/ParticlesUberUnlit.shader # Documentation~/Images/base_map.png # README.md # README_JA.md
- BaseMapToneModeプルダウンでNone/Tritone/Pentoneを選択可能 - Tritone: 3段階トーン (Highlights/Midtones/Shadows) - Pentone: 5段階トーン (Highlights/Brights/Midtones/Darktones/Shadows) - Brights/Darktonesの境界値は自動計算 (0.5固定) - 排他的シェーダーキーワード (_BASE_MAP_TONE_MODE_TRITONE/_BASE_MAP_TONE_MODE_PENTONE) - エディターでPentoneプレビュー機能追加 - 全シェーダーバリアント対応 (Unlit/Lit/UIParticles) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- _BASE_MAP_TRI_TONE_ENABLEDを新しいキーワードに変更 - _BASE_MAP_TONE_MODE_TRITONE/_BASE_MAP_TONE_MODE_PENTONEに対応 - 最適化シェーダー生成時に新しいキーワードが正しく処理される 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- 未使用のDrawBoundaryPropertyWithConstraintメソッドを削除(40行) - 空実装の静的コンストラクタとPlayMode監視処理を削除(9行) - メモリリーク要因となるイベントハンドラー登録を除去 - コードの保守性向上とクリーンアップ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- SmoothStepCustom関数を削除し、Mathf.InverseLerpに置き換え - シェーダー側でInverseLerpSafe関数を実装して重複コードを排除 - TritoneとPentoneの両方で線形補間を使用し、線形グラデーションとの一致を実現 - コード構造を統一してメンテナンス性を向上 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Base Map Tone機能の輝度計算に使用するカラーチャンネルを選択可能にしました。 - Red、Green、Blue、Alpha(デフォルト)から選択可能 - 従来の固定red(color.r)から柔軟なチャンネル選択に変更 - Alpha TransitionのChannels機能と同様のUI/UX - 全4シェーダー(Unlit/Lit、UIParticles)に対応 - README/README_JAでドキュメント更新 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
PentoneモードにBrightsとDarktonesの境界位置を調整可能な機能を追加: - マテリアルプロパティ:_BaseMapToneBrights/_BaseMapToneDarktones (境界値) - CustomCoord対応:_BaseMapToneBrightsCoord/_BaseMapToneDarktonesCoord - HLSL実装:固定0.5から調整可能なlerp計算に変更 - エディタUI:適切な順序でUI配置 (Highlights→Brights→Midtones→Darktones→Shadows) - 入力範囲制限:0.001-0.999でMidtonesと統一 - デフォルト値0.5で後方互換性を維持 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
PentoneモードのグラデーションプレビューでBrightsとDarktonesの境界位置が動的パラメータに反映されない問題を修正: - DrawPentonePreview関数にbrightsBalance、darktonesBalanceパラメータを追加 - 固定値0.5からユーザー設定値を使用するようにプレビュー計算を変更 - BrightsとDarktonesスライダー操作時にプレビューのB、Dマーカー位置が連動 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
READMEでのTone機能の説明を改善: - パラメータ名を実装と一致: Boundary → 削除(Highlights/Midtones/Shadows) - 並び順を明るい順に統一: Highlights → Brights → Midtones → Darktones → Shadows - 説明文の統一: - Highlights/Shadows: 輝度境界値設定 - Brights/Darktones: 境界位置制御(0.0-1.0、デフォルト0.5) - 固定「自動計算」→「パラメータで調整可能」に更新 - 新機能のBrights/Darktonesパラメータ説明を追加 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
READMEのTone機能説明を簡潔にし、不要な情報を削除: - 自明な輝度範囲説明を削除: (bright/medium/dark luminance range) - パラメータ範囲表記を削除: (0.0-1.0) - CustomCoord説明を削除: "Can be animated using Custom Coord" - デフォルト値説明を削除: "At 0.5 (default), boundary positioned at midpoint" - Brights/Darktonesには位置説明を維持: (between highlights and midtones) - 冗長な語彙を削除: regions → 削除、領域 → 削除 説明文が必要最小限の情報に絞られ、より読みやすくなりました。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Midtonesパラメータの説明を実装の動作と一致するよう修正: Before: - Tritoneモードでは遷移点を決定し、Pentoneモードでは中心参照点として機能 After: - ShadowsとHighlights間の中間点位置を決定することでバランスを制御 実装では両モードとも同じ役割(midpoint = lerp(shadows, highlights, midtonesBalance))を 果たしているため、モード別の異なる説明を統一的で正確な説明に変更。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
# Conflicts: # Assets/Tests/Scenes/Test_UIParticleUnlit.unity
CyTakayukiKiyohara
approved these changes
Sep 1, 2025
Contributor
CyTakayukiKiyohara
left a comment
There was a problem hiding this comment.
私の環境でテスト実行して通過するのを確認しました。
S20817
approved these changes
Sep 1, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#160 のPRを調整したものです。

Base MapにTone機能(Tritone, Pentone)を追加しました。
Tone機能の概要
輝度範囲を複数のトーン領域に分割し、入力テクスチャのグレースケール値に基づいて各領域の色を独立して制御します。
グレースケール入力テクスチャを想定しており、異なる輝度範囲を個別の色にマッピングします。
2つのモード
1. Tritone (3トーン)
2. Pentone (5トーン)
主な変更点
シェーダー実装
ParticlesUberUnlit.hlsl: Tone処理関数の実装エディタ機能
BaseMapToneMode.cs: モード定義の追加ParticlesUberCommonGUI.cs: トーンプレビュー機能付きGUIの実装サンプル・テスト