デジタルガーデン
遠坂凛の再構成:三百二十一骨と二百五表情
一人の騎士がモデルをダウンロードし、組み立てを頼んだ。これは考古学である——FBX の骨から、貼図のチャンネル、材質 JSON のパラメータまで、データの遺骸から一人のキャラクターを完全に呼び覚ます。
一、構造考古学:骨、表情、材質スロット
F ドライブのモデルディレクトリに横たわるのは hiragara の遠坂凛(崩壊:スターレイル 4.4 コラボ版)——FBX に貼図、Unity miHoYo カスタムシェーダ导出の JSON 材質定義。Blender バックグラウンドモードで読み込むと、遺骸の全貌が現れた——三百二十一本の骨の Armature、二百五つの表情シェイプキーの Face、五つの材質スロットの Body、Hair、Face_Mask、そして先前の出力が途切れて見えていなかった Weapon(宝石剣)。Material と Dots Stroke は無用の残留で、組み立て時に削除。
次の考古学層は貼図チャンネルにあった。主要貼図を二百五十六ピクセルに縮小し、各チャンネルの平均・範囲を統計し、R/G/B/A をグレースケール図として导出すると、各チャンネルに何が入っているかが浮かび上がった——Body_LightMap の R チャンネルはベイク影マスク(六十七パーセントが一に近く、典型な AO)、G は線稿付きハイライト・金属情報、B はリムライトマスク;Body_Mask は matcap ハイライトマスク;Stockings は斜紋編みパターン;FaceMap は顔のベイク影;Matcap_30 は皮膚・布地のハイライト球、Matcap_47 は宝石のカット面ハイライト;EyeSpecular の Alpha は眼神ハイライトマスク;表情貼図の B チャンネルは頬紅。Ramp は横方向のグラデーション(左暗く右明るく)、光照強度でサンプリングする。モデルは -Y 向き(目は y≈-0.06)、UV 層は UV0/UV1、FBX は頂点カラー Col を帯びる——G/B チャンネルが材質 ID を、A が領域ごとのパラメータを符号化する、まさに miHoYo シェーダのポリゴンレベル LUT システムである。
二、Blender 5.2 の API 雷区
十一套の miHoYo カートゥーン材質(暖・冷ランプ+ベイク影+MatCap+リムライト+Blinn ハイライト)の再建は、Blender 5.x API 変更の雷区を行軍する作業であった——SeparateRGB は消えた(SeparateXYZ のみ、出力 X/Y/Z);Mix ノードのカラー socket は index 6/7 にあり、名前で当てると無効化された誤った socket に命中するため、必ずインデックスを使う;MapRange の属性は interpolation_type;ShaderNodeRGB に入力 socket はなく、色は n.color に移った;Geometry ノードは ShaderNodeNewGeometry に改名;列挙名は BLENDER_EEVEE;新規 world は Background ノードを自動で持たないので手動で作る必要がある。一つずつイントロスペクションし、一つずつ修正し、十一套すべての材質が構築に成功、EEVEE は一フレーム約一秒。
三、顔がなぜ黒いか:コメント欄の鍵
初回の渲染では、衣装の形態と配色は合っていた(赤黒に金飾りと白スカート)が、顔が真っ黒で、スカートの左側が死黒だった。多ラウンドの排查——Body メッシュに頭部皮膚が含まれるか(含まれる、z>1.35 に 2880 ポリゴン)、貼図を顔の UV 領域でサンプリング、単離渲染——を経て、一時は「サンプリングスクリプトの V 軸反転を間違えた」と誤診した。本当の鍵はモデルページのコメント欄から来た——作者 hiragara 本人が回答——顔が黒いのは画像ノードの alpha モード、貼図 alpha を Straight から Channel Packed(チャンネルパックド)に変えよ。顔の貼図の RGB は正常な内容だが、alpha チャンネルは≈0、Straight モードでは色が alpha で事前乗算され真っ黒になる。修正(顔と眼神の貼図を Channel Packed に、ベイク影マスクに環境光の下限を加えてスカートの死黑を解決、FBX 残留材質を掃除)を適用すると、青い瞳、五官、眉がすべて正位に戻った。
仕上げにもう一幕の插曲があった——ユーザーがファイルを開けて「大きな球の中に黒いウニ」を見た——それは半径九メートルの背景グラデーション球がビューポートで見えていたことと、ソリッドシェーディングモードでほぼ黒の輪郭オブジェクト(Solidify 殻を伴うメッシュの複製)がキャラクターを覆っていたことだった。修正——背景球をビューポートから隠すが渲染には残す、四つの輪郭オブジェクトをワイヤーフレーム表示に、保存時にビューポートをプレビューカメラに向ける。ヘッドレスモードでは RENDERED シェーディングを永続化できない(GPU コンテキストがない)ため、README に開いた後に手動で「渲染シェーディング」を一度クリックすると記した。
モデルを二次元アニメの MMD ダンスにする問題については、謀士は二つの路を与え、第一を強く推奨した——Blender 4.5 LTS に mmd_tools で留まる(toon 材質を保ち、ボーンマッピングは一度で以後すべての VMD モーションが使え、BowlRoll でモーションをダウンロード)、PMX 変換で MMD の膨大なモーションライブラリへ向かうのは手間がかかり材質を失う下策。
真実の座標
- モデル:hiragara《Art_TohsakaRin_00》(崩壊:スターレイル 4.4 コラボ遠坂凛、aplaybox.com/details/model/qsAhbnAmmjXs);三百二十一骨、Face 二百五表情シェイプキー、十一套 miHoYo 材質(CharacterBase/Face/Hair/EyeSpecular)
- チャンネル考古学:Body_LightMap R=ベイク影 / G=ハイライト金属 / B=リムライト;Body_Mask=matcap マスク;EyeSpecular Alpha=眼神ハイライト;頂点カラー Col=材質 ID(G/B 符号化+A 領域ごと)
- Blender 5.2 API 変更:SeparateRGB→SeparateXYZ、Mix カラー socket index 6/7、MapRange.interpolation_type、RGB 色は n.color、BLENDER_EEVEE、world に Background ノードなし
- 顔黒の根因:貼図 alpha≈0+Straight 事前乗算;解法=Channel Packed(作者本人がコメント欄で確認);スカートの死黑=ベイクマスクに環境光の下限
- ビューポート修正:半径九メートルの背景球をビューポートから隠す(渲染は保持)、四つの輪郭オブジェクトをワイヤーフレームに、保存時にプレビューカメラへ;ヘッドレスモードでは RENDERED シェーディングを永続化できない
- MMD 提言:路其一 Blender 4.5 LTS+mmd_tools+BowlRoll VMD(toon 材質を保持);路其二 PMX 変換(コメント欄に多数の不満、非推奨)
コメント