Unreal Engine 4 (UE4) 其の弐 Advent Calendar 2015 - モデル3
のバックアップ(No.2)
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
バックアップ一覧
差分
を表示
現在との差分
を表示
現在との差分 - Visual
を表示
ソース
を表示
Unreal Engine 4 (UE4) 其の弐 Advent Calendar 2015 - モデル3
へ行く。
1 (2015-12-06 (日) 14:06:52)
2 (2015-12-06 (日) 14:15:30)
輪郭線を付ける
モデルの設定
輪郭線用のマテリアル
不具合修正
time: 14:00
輪郭線を付ける
†
今回は背面法で輪郭線を付けます。
通常のモデルにもう1体モデルを被せて、少し拡大、裏面のみを描画することで輪郭線が描画できます。
XIIIの秘密〜プログラマブルシェーダを使わなくてもできる効果的な表現(中編) (1/2)
下部にも説明があります。
▲
▼
モデルの設定
†
輪郭線用のモデルを付ける為にBlenderでモデルを弄ります。
Blenderを起動して、「File」→「Import」→「FBX(.fbx)」で、「Syachiku_chan.fbx」を開きます。
インポート設定の「!EXPERIMENTAL!Apply Transform」にチェックを入れて、インポートします。
こんな感じになるかと思います。
「Outliner」から「Syachiku_chan_mesh」を選択します。
Objectモードで、メニューバーの「Object」→「Duplicate Objects」を実行します。輪郭線用のモデルを作ります。
Mirrorモディファイアでもいけそうですが、別
マテリアル
を割り当てる方法有るのかとか分かりませんでした……
「Outliner」で新しく出来た「Syachiku_chan_mesh.001」を選択し、「Edit」モードで「Shading」タブの「Normals」項「FlipDirection」を実行します。これで法線が反転し内向きになり裏面だけ描画できます。
次に通常モデルと別の
マテリアル
を割り当てたいので、
マテリアル
を選択し「+」ボタンで増やしていきます。
「+」ボタンを押すと、.001と末尾に付いた
マテリアル
が出来上がります。それを全
マテリアル
繰り返します。
「Outliner」で「Syachiku_chan_bone」を右クリック→「Select Hierarchy」でノード全体選択
「File」→「Export」→「FBX(.fbx)」でFBXを出力します。
設定は下記を触り、元にあったFBXに上書きします。
「Main」-「Selected Objects」をON
「Main」-「!EXPERMENTAL! Apply Transform」をON
「Geometrie」-「Smoothing」を「Edge」に
「Armatures」-「Add Leaf Bones」をOFFに
UE4に戻ります。社畜ちゃんのメッシュのツールバーで「メッシュを再インポート」
なんかスケールが大きくなった……?高さ635。
インポートしたてのを見ると高さ250。これも微妙に違う気が。
メッシュの設定欄下部(
マテリアル
の下の方)に「Transform」があります。ここでTransformを指定すると、インポート時にそのTransformが適用されます。
社畜ちゃんの身長分からないので、とりあえず160cmに合わせます。「Import Uniform Scale」を0.252を記述
再度メッシュのツールバーで「メッシュを再インポート」。今度は高さ160になりました。
一息入れます。
oO(なんかモーフが潰れた……)
▲
▼
輪郭線用の
マテリアル
†
メッシュを見ると
マテリアル
が空になったりしていますが、ひとまず置いておいて輪郭線用の
マテリアル
を作成します。
ベース
マテリアル
を弄ります。頂点法線「VertexNormalWS」とスケール値を乗算、「ワールドポジションオフセット」に繋ぎます。これで輪郭線の太さが指定できます。
ベーテ
マテリアル
に、輪郭線用カラーを追加します。最後の「Clamp」の前に、「VectorParameter」ノードで乗算カラー「EdgeModulateColor」、加算カラー「EdgeAddColor」を追加します。
乗算カラー「EdgeModulateColor」はデフォルト値を(1,1,1)にしておきます。
加算カラー「EdgeAddColor」はデフォルト値を(0,0,0)にしておきます。
輪郭線用のベース
マテリアル
として、
マテリアル
インスタンスを新規作成します。「EdgeBaseMaterial」として作成。この
マテリアル
インスタンスを弄れば一律輪郭線に変更を掛けられるように。
「Parent」にベース
マテリアル
を指定。
各テクスチャ分、
マテリアル
を作成します。今度はParentに「EdgeBaseMaterial」を指定します。
既存
マテリアル
(ClothesMaterialやFaceMaterial等)を複製して、Parentだけ置き換えるのが楽です。
現状の
マテリアル
インスタンス
メッシュの方で
マテリアル
を設定し直します。
エレメント名
使用するテクスチャ
エレメント0
SkinEdge
エレメント1
ClothesEdge
エレメント2
FaceEdge
エレメント3
FaceEdge
エレメント4
FaceEdge
エレメント5
FaceEdge
エレメント6
FaceEdge
エレメント7
FaceEdge
エレメント8
Hair1Edge
エレメント9
Hair2Edge
エレメント10
EyeEdge
エレメント11
EyeEdge
エレメント12
FaceEdge
エレメント13
FaceEdge
エレメント14
FacialEdge
エレメント15
Skin
エレメント16
Clothes
エレメント17
Face
エレメント18
Face
エレメント19
Face
エレメント20
Face
エレメント21
Face
エレメント22
Face
エレメント23
Hair1
エレメント24
Hair2
エレメント25
Eye
エレメント26
Eye
エレメント27
Face
エレメント28
Face
エレメント29
Facial
結果
▲
▼
不具合修正
†
「自前ライティング」項目
で出ていた、
ライティング
がパッキリ出てる線の対処
どうやら、同一座標に頂点が複数有り、メッシュが分かれていた模様。共有頂点にしてスムーズにします。
「Outliner」から「Syachiku_chan_mesh」を選択します。
Editモードに入り、大体の足部分の頂点を選択し、「w」キー→「Remove Doubles」を実行します。ほぼ同一座標にある頂点をマージしてくれます。
これで解消されたハズ
マスク設定するのを忘れてた。
ベース
マテリアル
で、詳細パネルの「ブレンドモード」を「Opaque」から「Masked」に
出力に「オパシティマスク」が追加されるので、テクスチャのアルファ成分を設定する