GradBake(グラデーション焼き付け・Unityエディター拡張) | UVを気にせず、モデルの上下・斜めにグラデをテクスチャへ焼く(買い切り)
- ダウンロード商品¥ 500






衣装・髪・小物・ワールドの建物などの色を変えたい方向けに、3Dモデルの「上から下へ」「斜めに」「中心から外へ」付けたグラデーションを、テクスチャ画像に焼き付けるUnityエディター拡張です。 UV展開を意識する必要はありません。モデル上の3D位置から色を決め、UV上へ1画素ずつ描き込みます。頂点カラーではないので、ポリゴンが粗いモデルでも滑らかに色が変わります。元の模様の明るさを保ったまま色味だけ変える設定もあります。 Sceneビューで一時的に見た目を確認してから保存でき、元のテクスチャ・マテリアル・メッシュは書き換えません(新しいPNGとして保存します)。向き・方式・Gradient・合成・保存までが1つのウィンドウに入って、買い切り500円・追加費用なしです。サンプルシーン付きです。 【購入前にお読みください】体験版はありません。購入前の確認は、販売画像と説明文でお願いします。動作確認済み環境は Windows / Unity 6(6000.5)の Built-in レンダーパイプラインです。Unity 2022.3 LTS でのコンパイル・動作は未検証です。URP / HDRP のマテリアルでの実動作も未検証です。画像は、サンプルシーンをエディター上で撮影した実画面です(Sceneでのプレビュー表示。保存前の見た目です)。ウィンドウ(IMGUI)そのものの画面写真はありません。ボタンのクリック、確認ダイアログ、Sceneビューのハンドルのドラッグは、実際の画面操作では未検証です(自動テストと表示確認のみ)。 【特長】 ・対象は MeshRenderer / SkinnedMeshRenderer(複数可・子も含められます)。SkinnedMesh は「現在のポーズ」(いまSceneに見えている形)と「バインドポーズ」(メッシュ本来の形)を選べます ・向き:上下 / 左右 / 前後 / 自由。「自動フィット」で対象の大きさに合わせます。Sceneビューの2つのハンドル(始点=青、終点=赤)でも動かせます ・方式:直線 / 球状(始点が中心、始点から終点までが半径) ・色:Unity の Gradient と、分布を調整するカーブ。プリセットを保存・読込できます ・合成:通常 / 乗算 / スクリーン / オーバーレイ + 強さ。「元の明暗を保つ」をONにすると、元の模様の明るさ(OKLab の L)はそのままに色味だけが変わります ・マテリアルスロットごとに対象のON/OFF。同じテクスチャを使うスロットは1枚にまとめて焼きます。テクスチャが無いスロットは、白い画像を新規に作って焼きます(解像度を選べます。最大4096) ・ピクセル単位で計算:UV上の三角形ごとに、頂点の3D位置を補間して色を決めます。UV継ぎ目は外側へ数px色を伸ばします(既定4px)。UVが重なる部分は検出して、画素数つきで警告します ・プレビュー:Sceneで一時マテリアルに差し替えて確認できます。ウィンドウを閉じる・シーンを保存する・再生を始める・スクリプトが再コンパイルされると、元のマテリアルに戻ります ・保存:新しいPNG(元の名前_grad.png。すでにあれば _grad_2.png と連番)。元テクスチャのインポート設定(sRGB・フィルタ・圧縮など)は引き継ぎます。元のRead/Write設定に関係なく動きます。「複製マテリアルを作って割り当てる」をONにすると、元の名前_grad.mat を作って対象に割り当てます(Undoできます) ・Editor 専用(ビルドには入りません)。VRChat SDK や NDMF は不要です。外部ライブラリ・サードパーティ素材の同梱なし。画面は日本語 / English を右上で切り替えられます 【動作の確認結果(Unity 6 のエディター上。制作側の測定)】 ・自動テスト36件に合格しています。球・別UVの2メッシュ・隣接メッシュ・回転と非一様スケールの親の下・スキンメッシュ(ボーンを動かした状態)で、焼いた画素の色が理論値と最大1/255の差でした ・「元の明暗を保つ」は、合成4種 × 強さ0〜1の24通りで、明るさ(OKLab の L)の差は最大0.002でした。強さ0なら元と完全に同じです ・元のテクスチャ・マテリアル・メッシュ(meta含む)は、焼き付け・保存・割り当て後もハッシュが変わらないことを確認しています。既存ファイルは上書きしません ・4096×4096・約13万2千三角形のメッシュで、焼きに約6.6秒、保存に約1.2秒でした(制作側のPC・1回の測定です)。2048を超える大きさは、この1例以外は測っていません 【使い方(6ステップ)】 1. ダウンロードした zip を展開し、中の GradBake_v1.0.unitypackage を Unity のプロジェクトにインポートします(Assets/GradBake/ に入ります) 2. メニュー Tools > GradBake > グラデーション焼き付け でウィンドウを開きます。サンプルは Assets/GradBake/Samples/GradBakeSample.unity です(球・円柱・板。円柱はテクスチャ無しのマテリアルです) 3. ヒエラルキーで対象を選び「ヒエラルキーの選択を使う」を押します(ObjectField にドラッグでも追加できます) 4. 向きを選んで「自動フィット」。Gradient で色を決めます。必要なら方式・合成・強さ・「元の明暗を保つ」を変えます 5. 「Sceneでプレビュー」をONにすると、一時マテリアルで見た目を確認できます(元には残りません) 6. 「焼き付けて保存」。新しいPNGと(ONなら)複製マテリアルができ、対象に割り当てられます 【動作環境】 ・動作確認済み環境は Windows / Unity 6(6000.5)の Built-in レンダーパイプラインです。Unity 2022.3 LTS でのコンパイル・動作は未検証です ・URP / HDRP のマテリアルでの実動作は未検証です。VRChat SDK 入りのプロジェクトでの動作確認は行っていません(SDK・NDMF は不要です)。Mac / Linux のエディターは未確認です ・Editor 専用。ビルドには含まれません。外部ライブラリの同梱なし ・unitypackage は約125KB 【ライセンス】 ・ご自身の作品(ワールド・ゲーム・アバター改変など。商用も可)で自由にお使いいただけます。ツール本体・ソースコード・サンプルの再配布・転売・譲渡は禁止です。本ツールの使用により生じた損害について、著作者は責任を負いません。著作者: SaiRollStudio ・本製品は SaiRollStudio が制作した非公式ツールであり、Unity Technologies および VRChat Inc. の公式製品ではありません。Unity・VRChat は各社の商標です 【注意事項】 ・体験版ではありません。購入前の確認は、販売画像と説明文でお願いします。画像はサンプルシーンのSceneでのプレビュー表示で、保存したPNG自体やウィンドウの画面ではありません ・Unity 6(6000.5)の Built-in で、サンプルシーンの表示と制作側の自動テスト(36件)で確認しました。Unity 2022.3 LTS・URP / HDRP・Mac / Linux のエディターは未検証です。2022.3 や URP / HDRP のプロジェクトで使う方は、この点をご確認のうえご検討ください ・ボタンのクリック、確認ダイアログ、Sceneビューのハンドルのドラッグ、プレビューの自動更新は、実際の画面操作では確認できていません(ウィンドウの描画と処理は自動テストで確認しました) ・UVが重なっている部分(ミラー配置のUV、同じメッシュを並べて同じテクスチャを使う場合など)は、最後に処理した三角形の色になります。重なりは検出して警告します ・UV0 のみ対応です。UVが無い・三角形が無い・メッシュが空の場合は、焼かずに案内を表示します。マテリアルの Tiling / Offset が標準でない場合は警告のみで、補正はしません ・メインテクスチャ(_MainTex / _BaseMap)を差し替える方式です。メインテクスチャを持たないシェーダー(例:Unlit/Color)のスロットは対象外になり、案内が出ます ・元のテクスチャが PNG / JPG 以外(TGA・PSD など)のときは GPU 経由で読むため、圧縮による劣化(確認では最大10/255)や、インポート設定の最大サイズでの縮小が起きることがあります ・「元の明暗を保つ」は、強さ1以外でも明るさ(L)を元に戻す方式です。そのぶん、強さを下げたときの見た目は単純な混合と少し異なります ・球状の自動フィットは外接球で決めるため、上下・斜めの直線より範囲に余白が出ます。Gradient を使い切りたいときは、ハンドルで終点を動かしてください ・Undo で戻るのはマテリアルの割り当てです。作ったPNG・マテリアルのファイルは残ります(不要なら手で削除してください)。焼き済みのマテリアルをもう一度焼くと、名前が _grad_grad のように長くなります ・プレビュー用マテリアルは保存されない形式で作っています。ただし、エディターが異常終了した場合の復元は保証できません ・プレハブアセットそのもの(シーン外)にはプレビューできません。シーン内のインスタンスで使ってください ・できないこと:実行時(Runtime)の生成、ブラシでの塗り、UV0以外のUVへの焼き付け、NDMF連携






