Maya でモデルを作っていると、形は合っているのに「角がぼやけて見える」「平らな面にグラデーションのような影が出る」「エンジンに入れたら陰影が変わった」といったことが起きます。原因の多くは、形そのものではなく頂点法線(頂点ごとに持たせる、面の向きを表すベクトル)の設定にあります。本記事では、Maya でのソフト/ハードエッジの設定、法線の確認、ロックされた法線の扱い、そして書き出しとベイクで設定を崩さないポイントをまとめます。ノーマルマップとタンジェント空間の理屈は、理論編の「ノーマルマップとタンジェント空間|DCCとエンジンで一致させる」で解説しているので、本記事は Maya での操作に集中します。
本記事の内容は、Autodesk Maya 2027(執筆時点の最新アップデートは 2027.2)の公式ヘルプで確認しています。メニュー名は英語 UI で書き、主な項目には日本語 UI の名称を括弧で添えます。メニューの表記や配置はバージョンによって異なります。
夕宮たいだふぁ……みんな〜、今日は Maya の「スムージング」と頂点法線の話だよぉ。形は合ってるのに陰影だけ変なとき、たいていここが原因なんだぁ。手を動かしながら確認していこ〜。
Mayaの「スムージング」は2種類ある
ひとことで:陰影だけを変える法線のスムージングと、形を細かくする細分化は別の機能です。
Maya で「スムーズ」と呼ばれる機能には、系統の違う2種類があります。
- 法線のスムージング:ソフトエッジ/ハードエッジの設定です。頂点法線の向きだけを変え、頂点の位置や数は変えません。本記事で扱うのはこちらです
- 形の細分化:1〜3 キーで切り替える Smooth Mesh Preview(スムーズ メッシュ プレビュー)や、Mesh > Smooth(メッシュ > スムーズ)です。ポリゴンを分割して形そのものを滑らかにします
Smooth Mesh Preview は表示の切り替えなので、3 キーで滑らかに見えていても元のメッシュは変わっていません。法線の作業は 1 キーで元のメッシュ表示に戻してから行うと、見た目と中身の食い違いに気づきやすくなります。


法線とエッジの状態を表示する
ひとことで:Display > Polygons で、頂点法線とソフト/ハードエッジを見える状態にしてから作業します。
法線は目に見えない情報なので、最初に表示します。メッシュを選択して、Display > Polygons(ディスプレイ > ポリゴン)の次の項目を使います(各項目の説明は公式ヘルプの「ポリゴン(Polygons)のオプション」にあります)。
- Vertex Normals(頂点法線):頂点ごとの法線を線で表示します。選択中のオブジェクトにだけ表示されます
- Face Normals(フェース法線):面ごとの向きを表示します。面の表裏の確認に使います
- Normals Size(法線サイズ):表示する線の長さを変えます
- Soft/Hard Edges(ソフト/ハード エッジ):ソフトエッジを点線、ハードエッジを通常のワイヤフレームで表示します
- Hard Edges (Color)(ハード エッジ(カラー)):ハードエッジを色付きの線で表示します。エッジが多いモデルで見分けやすくなります
- Texture Border Edges(テクスチャの境界エッジ):UV の境界(UV シェルの切れ目)を表示します。ハードエッジと UV の切れ目がそろっているかの確認に使います
頂点法線の見え方はシンプルです。ソフトエッジだけに囲まれた頂点では、法線が1本にまとまって周りの面の平均的な向きを指します。ハードエッジ上の頂点では、面ごとに別々の法線が生えて、束のように見えます。
面の裏返りを探すときは、ビューポートのパネルメニューで Lighting > Two Sided Lighting(ライティング > 両面ライティング)をオフにします。既定ではオンになっていて、裏向きの面も明るく照らされるため、裏返りに気づきにくいのです。オフにすると裏向きの面が暗く表示されるので、Mesh Display > Reverse(メッシュ表示 > 反転)で個別に反転するか、Conform(方向の一致)でメッシュ全体の向きをそろえます。





ほよ? 両面ライティングって最初からオンなんだぁ。裏返った面も普通に明るく見えちゃうから、チェックのときだけオフにするといいよぉ。
Soften EdgeとHarden Edgeの基本操作
ひとことで:エッジを選び、Mesh Display メニューからソフトかハードかを指定します。
ソフト/ハードの設定は、モデリング メニューセットの Mesh Display(メッシュ表示)メニューにまとまっています。
- ① 設定したいエッジを選択します。オブジェクトごと選ぶと、すべてのエッジが対象になります
- ② Mesh Display > Soften Edge(ソフト エッジ) を実行すると、選んだエッジがなめらかな陰影になります。法線の角度を 180 度に設定する操作です
- ③ Mesh Display > Harden Edge(ハード エッジ) を実行すると、選んだエッジがくっきりした角になります。法線の角度を 0 度に設定する操作です
これらの操作は、ヒストリに法線を変更するノード(polySoftEdge)を追加します。公式ヘルプの「頂点法線を使用してポリゴンのシェーディングを硬化または軟化する」では、結果を取り消したいときは逆の操作を重ねがけせず、追加されたノードを削除するよう案内されています。
角度でまとめて振り分ける
Mesh Display > Soften/Harden Edge(ソフト エッジ/ハード エッジ) のオプションボックスを開き、Method(方法)を Angle(角度)にすると、指定した角度より鋭い角をハードに、それ以外をソフトにまとめて振り分けられます。ノーマルマップを使わない小物や背景モデルで、形なりの陰影をすばやく作りたいときに便利です。しきい値はモデルに合わせて調整します(この操作のもとになる polySoftEdge コマンドの既定値は 30 度です)。
古いバージョンの Maya や古い解説記事では、同じ操作が Normals > Set Normal Angle という名前で登場します。現在のバージョンでは、この Soften/Harden Edge の Angle がそれにあたります。
UVの境界だけをハードにする
同じオプションの Method で Texture Borders(テクスチャ境界)を選ぶと、UV の境界にあるエッジをすべてハードに、それ以外をすべてソフトにします。ベイクの前に守りたい「ハードエッジは UV シームと一致させる」という原則を一度の操作で満たせるので、ノーマルマップを焼くローポリでは、まずこの状態を作るのがおすすめです。UV シームの入れ方は「MayaのUV展開入門」で扱います。
どこをハードにするかの決め方
ひとことで:ハードエッジは UV の切れ目と同じ場所に置き、それ以外はソフトにするのが基本です。
ゲームエンジンの中では、頂点は「位置・法線・UV」などの組み合わせで管理されます。ハードエッジの上では面ごとに法線が違うため、エンジン側で頂点が分割されます。UV の切れ目でも同じように頂点が分割されます。つまり、ハードエッジと UV シームを同じ場所にそろえれば分割は1回で済み、場所がずれていれば分割がそのぶん増えます。
モデルの種類ごとの決め方は、次の表を目安にします。
| モデルの種類 | ソフト/ハードの決め方 |
|---|---|
| ノーマルマップを焼くローポリ | UV の境界だけハード(Texture Borders)、それ以外はソフト |
| 上のうち、90 度前後の角が多い硬い形状 | 角で UV を切ってからハードにする(UV を切らずにハードにしない) |
| ノーマルマップを使わない小物・背景 | Soften/Harden Edge の Angle で角度ごとに振り分ける |
| キャラクターの体などの有機的な形状 | 基本はすべてソフト |
角度のきつい面どうしをソフトでつなぐと、平らな面に斜めのグラデーションのような陰影が出ます。ノーマルマップを焼くローポリでは、焼いたノーマルマップがこの陰影を打ち消す方向に働きますが、極端な陰影はベイクの破綻につながりやすくなります。気になる箇所は、その辺で UV を切ってハードにするか、ベベルを入れるなどして形状側で角を整えます。





UV を切ってない場所だけハードにするの、絶対ダメだよ! ベイクしたとき、そこに継ぎ目の線が出ちゃうんだぁ。
Lock Normalsとカスタム法線
ひとことで:ロックされた法線はソフト/ハードの操作で向きが変わらないので、効かないときはまずロックを疑います。
Mesh Display > Lock Normals(法線のロック)を使うと、頂点法線の向きがその時点の値で固定されます。固定された法線は、頂点を動かしても向きが変わりません。板ポリゴンの葉っぱの陰影を整えたときなど、手で作り込んだ法線を守るための機能です。
注意したいのは、自分でロックしたつもりがなくても、ロックされた状態になる場面があることです。
- Mesh Display > Vertex Normal Edit Tool(頂点法線編集ツール)で法線を編集すると、設定した法線はロックされます。Set Vertex Normal(頂点法線の設定)など、法線を直接編集する機能を使った後も確認が必要です
- FBX などから読み込んだメッシュは、法線がロックされた状態で届くことがあります。Maya の FBX 読み込みオプションには、読み込み時にロックを解除する Unlock Normals という項目があります
- Modify > Freeze Transformations(修正 > トランスフォームのフリーズ)のオプションには Lock normals(法線のロック)という項目があり、設定によってはフリーズと同時に法線がロックされます
公式ヘルプの「メッシュ表示(Mesh Display)」にあるとおり、ロックされた法線は、ソフト/ハードの操作では向きの値が変わりません。「ソフトにしたのに見た目が変わらない」ときは、Mesh Display > Unlock Normals(法線のロック解除)を実行してから、ソフト/ハードを設定し直します。ロックを解除すると、Maya が既定の計算方法で法線を計算し直します。意図して作り込んだ法線もリセットされるので、残したい法線がある場合は、頂点を選んで範囲を絞ってから解除します。
スクリプトで確かめる場合は、頂点を選んで次のコマンドを実行すると、法線がロックされているかを問い合わせられます(公式コマンドリファレンスの例と同じ書き方です)。
import maya.cmds as cmds
cmds.polyNormalPerVertex(query=True, freezeNormal=True)



ロックされてると Soften が効かないの、むずかしいねぇ……。「効かない」と思ったら、まずロックを疑う、って覚えとこ〜。
書き出しとベイクへの影響
ひとことで:ソフト/ハードはベイクの前に確定させ、FBX ではスムージング グループを書き出して、エンジン側の設定とそろえます。
ベイクの前に確定させる
ノーマルマップのベイクは、ローポリの頂点法線を基準にしてハイポリとの差を記録します。そのため、ベイクした後にソフト/ハードを変えると、ノーマルマップと法線の組み合わせが崩れて陰影がおかしくなります。ソフト/ハードはベイクの前に確定させ、変えたら焼き直すのが原則です。Maya の中でベイクする場合は、レンダリング メニューセットの Lighting/Shading > Transfer Maps(マップの転写)を使いますが、ローポリの法線が基準になる点は同じです。Substance 3D Painter で焼く手順は「Substance 3D PainterのHigh to Lowベイク実務」で扱います。
FBXではスムージング グループを書き出す
FBX で書き出すときは、File > Export Selection(ファイル > 選択項目を書き出し)のオプションで File type を FBX export にし、Include > Geometry の Smoothing Groups(スムージング グループ)をオンにします。このオプションは、Maya のソフト/ハードエッジの情報をスムージング グループに変換して書き出します(公式ヘルプ「FBX 書き出しオプション」)。オフの場合は法線の値だけが書き出され、エッジの情報は含まれません。Unreal Engine では、スムージング グループのない FBX を読み込むと「No smoothing group information was found in this FBX scene」という警告が表示されます。
エンジン側の設定もそろえる
エンジンのインポート設定には、法線をファイルから読み込むか、エンジン側で計算し直すかを選ぶ項目があります。Unity の Model タブにある Normals は既定が Import(ファイルから読み込む)で、Calculate にするとスムージング グループや角度をもとに計算し直します。Unreal Engine 5.8 のインポート設定には Recompute Normals(読み込んだ法線を無視して計算し直す)があります。計算し直す設定では、Maya で作り込んだ法線(ロックしたカスタム法線を含む)は使われません。Maya で整えた法線をそのまま使いたい場合は、読み込む設定になっているかを確認します。
単位や軸、三角化、タンジェントを含む書き出し設定の全体は「MayaのFBXエクスポートと座標系トラブル」で詳しく扱います。



ぁぅ……Maya では完璧なのに、エンジンで陰影が変わっちゃうことがあるんだよねぇ。インポート設定までセットで確認してねぇ。
よくある失敗と対処
ひとことで:「効かない」「線が出る」「黒い」「エンジンで変わる」の症状から原因をたどります。
- Soften Edge をかけても見た目が変わらない:法線がロックされています。Mesh Display > Unlock Normals で解除してから設定し直します
- 平らな面にグラデーションのような影が出る:角度のきつい辺までソフトになっています。その辺で UV を切ってハードにするか、形状側で角を整えます
- ノーマルマップの継ぎ目に線が出る:UV を切っていない場所がハードになっているか、ベイクの後にソフト/ハードを変えています。ハードエッジと UV の境界をそろえて焼き直します
- 面が黒く見える・エンジンで面が消える:面が裏返っています。Two Sided Lighting をオフにして探し、Reverse や Conform で直します
- エンジンで陰影が変わる:Smoothing Groups がオフになっているか、エンジン側で法線を計算し直しています。書き出しとインポートの設定を見直します
- やり直すたびにヒストリが増える:逆の操作を重ねがけしています。不要な polySoftEdge ノードを削除してからやり直します
チェックリスト
- [ ] Soft/Hard Edges と Texture Border Edges を表示して、エッジの状態を確認した
- [ ] ハードエッジが UV の境界とそろっている(UV を切らずにハードにしていない)
- [ ] ソフト/ハードが効かない箇所がなく、意図しないロックが残っていない
- [ ] Two Sided Lighting をオフにして、裏返った面がないことを確認した
- [ ] ソフト/ハードの設定をベイクの前に確定させた
- [ ] FBX 書き出しで Smoothing Groups をオンにした
- [ ] エンジン側で、法線を読み込むか計算し直すかの設定を確認した
次に読む記事
- ノーマルマップとタンジェント空間|DCCとエンジンで一致させる:本記事の理論編。スムージングとノーマルベイクの関係
- MayaのFBXエクスポートと座標系トラブル:三角化、タンジェント、単位と軸まで含めた書き出し設定
- MayaのUV展開入門:ハードエッジとそろえる UV シームの入れ方
- Substance 3D PainterのHigh to Lowベイク実務:整えたローポリを Painter で焼く手順
- ベイク全体論|MayaとPainterの責任分界とエラー対処:ベイク工程全体での Maya 側の役割



ふぁ……ソフトとハード、ロック、書き出しまで、ひととおりつながったかなぁ。陰影が変なときは、今日のチェックリストを上から順に見ていけば大丈夫だよぉ。







