time: 14:00

輪郭線を付ける

今回は背面法で輪郭線を付けます。

モデルの設定

  1. 輪郭線用のモデルを付ける為にBlenderでモデルを弄ります。
  2. Blenderを起動して、「File」→「Import」→「FBX(.fbx)」で、「Syachiku_chan.fbx」を開きます。
    model_31.png
  3. インポート設定の「!EXPERIMENTAL!Apply Transform」にチェックを入れて、インポートします。
    model_32.png
  4. こんな感じになるかと思います。
    model_33.png
  5. 「Outliner」から「Syachiku_chan_mesh」を選択します。
  6. Objectモードで、メニューバーの「Object」→「Duplicate Objects」を実行します。輪郭線用のモデルを作ります。
    • Mirrorモディファイアでもいけそうですが、別マテリアルを割り当てる方法有るのかとか分かりませんでした……
      model_36.png
  7. 「Outliner」で新しく出来た「Syachiku_chan_mesh.001」を選択し、「Edit」モードで「Shading」タブの「Normals」項「FlipDirection」を実行します。これで法線が反転し内向きになり裏面だけ描画できます。
    model_37.png
  8. 次に通常モデルと別のマテリアルを割り当てたいので、マテリアルを選択し「+」ボタンで増やしていきます。
  9. 「Outliner」で「Syachiku_chan_bone」を右クリック→「Select Hierarchy」でノード全体選択
  10. 「File」→「Export」→「FBX(.fbx)」でFBXを出力します。
    model_39.png
  11. 設定は下記を触り、元にあったFBXに上書きします。
    • 「Main」-「Selected Objects」をON
    • 「Main」-「!EXPERMENTAL! Apply Transform」をON
    • 「Geometrie」-「Smoothing」を「Edge」に
    • 「Armatures」-「Add Leaf Bones」をOFFに
      model_40.png
  12. UE4に戻ります。社畜ちゃんのメッシュのツールバーで「メッシュを再インポート」
    model_41.png
  13. なんかスケールが大きくなった……?高さ635。
    model_42.png
  14. インポートしたてのを見ると高さ250。これも微妙に違う気が。
    model_43.png
  15. メッシュの設定欄下部(マテリアルの下の方)に「Transform」があります。ここでTransformを指定すると、インポート時にそのTransformが適用されます。
    • 社畜ちゃんの身長分からないので、とりあえず160cmに合わせます。「Import Uniform Scale」を0.252を記述
      model_44.png
  16. 再度メッシュのツールバーで「メッシュを再インポート」。今度は高さ160になりました。
    model_45.png
  17. 一息入れます。
  18. oO(なんかモーフが潰れた……)

輪郭線用のマテリアル

  1. メッシュを見るとマテリアルが空になったりしていますが、ひとまず置いておいて輪郭線用のマテリアルを作成します。
  2. ベースマテリアルを弄ります。頂点法線「VertexNormalWS」とスケール値を乗算、「ワールドポジションオフセット」に繋ぎます。これで輪郭線の太さが指定できます。
    model_46.png
  3. ベーテマテリアルに、輪郭線用カラーを追加します。最後の「Clamp」の前に、「VectorParameter」ノードで乗算カラー「EdgeModulateColor」、加算カラー「EdgeAddColor」を追加します。
    • 乗算カラー「EdgeModulateColor」はデフォルト値を(1,1,1)にしておきます。
    • 加算カラー「EdgeAddColor」はデフォルト値を(0,0,0)にしておきます。
      model_47.png
  4. 輪郭線用のベースマテリアルとして、マテリアルインスタンスを新規作成します。「EdgeBaseMaterial」として作成。このマテリアルインスタンスを弄れば一律輪郭線に変更を掛けられるように。
  5. 各テクスチャ分、マテリアルを作成します。今度はParentに「EdgeBaseMaterial」を指定します。
    • 既存マテリアル(ClothesMaterialやFaceMaterial等)を複製して、Parentだけ置き換えるのが楽です。
  6. 現状のマテリアルインスタンス
    model_49.png
    model_50.png
  7. メッシュの方でマテリアルを設定し直します。
    エレメント名使用するテクスチャ
    エレメント0SkinEdge
    エレメント1ClothesEdge
    エレメント2FaceEdge
    エレメント3FaceEdge
    エレメント4FaceEdge
    エレメント5FaceEdge
    エレメント6FaceEdge
    エレメント7FaceEdge
    エレメント8Hair1Edge
    エレメント9Hair2Edge
    エレメント10EyeEdge
    エレメント11EyeEdge
    エレメント12FaceEdge
    エレメント13FaceEdge
    エレメント14FacialEdge
    エレメント15Skin
    エレメント16Clothes
    エレメント17Face
    エレメント18Face
    エレメント19Face
    エレメント20Face
    エレメント21Face
    エレメント22Face
    エレメント23Hair1
    エレメント24Hair2
    エレメント25Eye
    エレメント26Eye
    エレメント27Face
    エレメント28Face
    エレメント29Facial
  8. 結果
    model_51.png

不具合修正

  • 「自前ライティング」項目で出ていた、ライティングがパッキリ出てる線の対処
    • どうやら、同一座標に頂点が複数有り、メッシュが分かれていた模様。共有頂点にしてスムーズにします。
    1. 「Outliner」から「Syachiku_chan_mesh」を選択します。
      model_34.png
    2. Editモードに入り、大体の足部分の頂点を選択し、「w」キー→「Remove Doubles」を実行します。ほぼ同一座標にある頂点をマージしてくれます。
      model_35.png
    3. これで解消されたハズ
  • マスク設定するのを忘れてた。
    1. ベースマテリアルで、詳細パネルの「ブレンドモード」を「Opaque」から「Masked」に
    2. 出力に「オパシティマスク」が追加されるので、テクスチャのアルファ成分を設定する

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS