Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
マテリアル基礎・初級
第2回UE4勉強会 in 大阪
2
自己紹介
● Twitter: com04
● ゲームプログラマー
● 趣味でUE4プラグイン作ってる
● 横浜×酒×UE4
3
自己紹介
● 第1回UE4勉強会 in 大阪 – エンジン改造ってどうな
の?
– https://www.slideshare.net/com044/1ue4-in
● 第8回UE4ぷちコン
– BPをほぼ使わずにマテリアルでゲーム作りま...
4
もくじ
● マテリアルって何?
● 質感
– マテリアル周りの機能
– よく使うマテリアルノード
– 簡単な作例
● 演出
● その他
5
マテリアルって何?
6
マテリアルって何?
● マテリアル は、シーンの視覚的な外観を制御するために、メッシュに適用
できるアセットです。概要として、マテリアルはオブジェクトに適用する
「ペイント」として捉えるのがおそらく一番わかりやすいでしょう。ただ
し、この考...
7
マテリアルって何?
もっと簡単に!
質感!
演出!
8
質感
9
質感
● 質感≒色
● 下記の写真、同じ「白」
10
質感
● 光のつき方や反射率が違う
紙プラスチック
11
質感
● UE4では「物理ベースのマテリアル」で再現
– Base Color : 材質の色
– Roughness : 表面のざらつき具合
– Metallic : 金属具合
– Specular : 光の反射スケール
12
質感
● Base Color
– 光が入ってない状態での物体の色
● (正確には「入射光をどれくらい反射するかの値」。多分)
● 撮った写真そのままでは光の影響があるので使えない
– とりあえずざっくり言って色味
13
質感
● Roughness(ラフネス)
– 表面の粗さ
● 目に見えない細かい粗さ。凸凹。
– ヤスリの500番がラフネス高め、1200番が低め的な
– 高くなると反射やハイライトがボケる
0.0 0.4 0.7 1.0
14
質感
● Metalic(メタリック)
– どのくらい金属なのか
● UE4 公式より
– > 純粋な金属、石、プラスチックなどの純粋なサーフェスでは、 この値は 0 ま
たは 1 を使用し、その中間値は使用しません
– > 腐食している...
15
質感
● Specular(スペキュラー)
– ハイライト
● 0になる事はない(スペキュラが入らない物質は今の所無い)
● UE4 公式より
– > ほとんどの場合、Specular 入力を接続せずに、デフォルト値
は 0.5 のままに...
16
質感
● 質感は大きく、BaseColor, Roughness, Metalicで構
成される!
● UE4だとノード繋ぐだけですぐに確認出来る!
– ※キッチリした物理ベースをやる人はちゃんと計測し
た数値を当て込みましょう
17
質感
● 参考
– UE4 公式 「物理ベースのマテリアル」
● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M
aterials/PhysicallyBased/i...
18
マテリアル周りの機能
19
マテリアル周りの機能
● マテリアルノードの数値を変えた時に「適用」ボタン
を押して反映させる
20
マテリアル周りの機能
● そして始まるシェーダーコンパイル
21
マテリアル周りの機能
● →マテリアルインスタンスを使おう!
22
マテリアル周りの機能
● マテリアルインスタンス
– 値の変更でシェーダーコンパイルが走らなくなる!
– 他にもマテリアルのパラメーターを変えて使いまわす
ことが出来る
– UE4 公式「インスタンス化マテリアル」
● https://d...
23
マテリアル周りの機能
● コンテンツブラウザでマテリアルを右クリック
– →「マテリアルインスタンス」を作成
– でアセットが作成される。
24
マテリアル周りの機能
● マテリアルインスタンスで操作したいパラメーター
は、元マテリアルで「Parameter」系のノードを使用
する
25
マテリアル周りの機能
● Parameter系ノードを使うと、マテリアルインスタン
ス側にパラメーターが出て来る。
26
マテリアル周りの機能
● 1つのマテリアルから複数のマテリアルインスタンス
も作れる
– 数値だけ変えたマテリアルを使い回せる。効率化。
27
マテリアル周りの機能
マテリアルの出力、
何か他にも一杯ピンあるんだけど?
28
マテリアル周りの機能
● Opacity(オパシティ)
– 透明度。ガラスとか。
● Blend ModeをTranslucencyにすると使える
0.0 0.4 0.7 1.0
29
マテリアル周りの機能
● Opacity Mask(オパシティマスク)
– しきい値以下の値を非表示にする
● Blend ModeをMaskedにすると使える
● しきい値はマテリアルの詳細タブ
– 「オパシティマスク上限値」
0.0 ...
30
マテリアル周りの機能
● ざっくり良く使う所
– Normal
● 法線。ピクセル単位で法線を弄れる。
– World Position Offset
● 頂点座標にオフセットする。上手くやれば頂点アニメーションが実装出
来る
– Ref...
31
マテリアル周りの機能
Blend Mode
32
マテリアル周りの機能
● Blend Mode
– マテリアルの「詳細」欄に有る
● マテリアルの背景との色の混ぜ方。
33
マテリアル周りの機能
● Opaque(オパックとかオペイクとか)
– 不透明。普通のサーフェイス。
● Masked(マスクド)
– オパシティマスクがしきい値以下の所を消す。
– 不透明だけど、一部分だけ表示消したい時とか。
34
マテリアル周りの機能
● Translucent(トランスルーセント)
– 半透明。オパシティの値が透明度になる。
– ガラスとか後を透かしたい時に使う。
● Additive(アディティブ)
– 加算。上に色を乗っける。主にエフェクトで...
35
マテリアル周りの機能
● 参考
– UE4 公式「Material入力」
● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M
aterials/MaterialInp...
36
よく使うマテリアルノード
37
よく使うマテリアルノード
● Power
– 累乗。Exp=1.0はそのまま。Expを上げると0.0~1.0
の中間の色が0.0に近づいていく。=明るい所が際立っ
てくる。
Exp=1.0 Exp=2.0 Exp=3.0
38
よく使うマテリアルノード
● Fresnel(フレネル)
– 端の方が1.0、正面が0.0返ってくる
● 正確には視線と垂直な所が1.0、視線と向き合う所が0.0
39
よく使うマテリアルノード
● LinearInterpolate/Lerp(リニアインターポレート/リープ)
– 引数のAとBをAlphaで補間する。
– ノードを出す時の名前はLinearInterpolateでノード名
はLerp。
40
よく使うマテリアルノード
● Time
– 経過時間が返ってくる。
– 時間毎に数値が増えていくので、アニ
メーションとして使うことが出来る
テクスチャUV テクスチャ
41
よく使うマテリアルノード
● 参考
– UE4 公式「マテリアル式リファレンス」
● https://docs.unrealengine.com/latest/JPN/Engine/Rende
ring/Materials/Express...
42
簡単な作例
43
簡単な作例
● ガラスのマテリアル。
– 本来は視線からの角度で屈折率、透過率が変わる筈
● 第2回:鏡面反射光 反射レベルを素材の値で管理
– http://area.autodesk.jp/column/tutorial/3ds_ma...
44
簡単な作例
Before After
45
簡単な作例
● ガラスのマテリアル。
– 「Fresnel」で視線と角度が急な所(端っこ)を取り出
してリフラクションとオパシティを変更している
46
簡単な作例
● 草揺れる
47
簡単な作例
● 草
– 「Time」で時間経過を取ってアニメーション。
– 「Sine」に繋ぐことで0.0~1.0を-1.0~1.0に変換し
て前後に揺らせる数値にする
– その結果を「ワールドポジションオフセット」に繋い
で頂点を前後に...
48
簡単な作例
● 草
– BoundingBoxBased_0-1_UVW
● メッシュのサイズでUVを取る。RGB→XYZ
– →Bでメッシュの高さを取り出して、根本=0.0、葉先=1.0で
根本だけ動かないようにする
49
簡単な作例
● 簡単な水
50
簡単な作例
● 水
– MaterialFunctionCallノードからMotion_4WayChaos
● エンジンコンテンツを有効にしていると出てくる(最後の
「その他」ページで)
● 4方向からいい感じにテクスチャをスクロールして...
51
簡単な作例
● 水
– テクスチャもエンジンコンテンツの中を”water”で検索
すると出て来る
52
簡単な作例
● 水
–
波の模様のカラーを
2種類混ぜる
波の速度を調整する
波の模様のカラーを
2種類混ぜる
波の模様テクスチャ
53
簡単な作例
● 水
– 透明度を出すにはBlend ModeをTranslucentにしてオ
パシティに繋ぐ
54
演出
55
演出
● マテリアルでアニメーションを付けることが出来る。
– →演出を付けることが出来る。
– 最終的に色やαの数値を書き出すだけなので、その途中
の計算は自由自在。
● 計算は頑張ろう
● また、BPから数値を渡すことも出来るので、ゲ...
56
演出
● 何か光る演出
57
演出
● 何か光る演出
– 「Rate」は外部から0.0~1.0を渡される演出時間
– 「Fresnel」で視線からメッシュの端を抽出
– 「Emissive」に50を入れてギラッと光るように
58
演出
● 何か光る演出→動きが無くて静かな印象を変える
59
演出
● 何か光る演出→動きが無くて静かな印象を変える
– 「Time」ノードで経過時間を取得
● 「TexCoord」ノードに加算してUVアニメーション
– ノイズテクスチャで模様の強弱を付ける
60
演出
● 穴開ける マテリアルの詳細設定
61
演出
● 穴開ける
– 「SphereMask」で「Radius」範囲内1.0、範囲外0.0
の値が取れる。
● 「1-x(OneMinus)」ノードで値を反転すると、位置から近
い所が0.0となり真ん中に穴が開けられる
– 「Actor...
62
演出
● よくあるゲームの敵消滅演出(Dissolve)
– ディザで消えていく
マテリアルの詳細設定
63
演出
● よくあるゲームの敵消滅演出(Dissolve)
– ディザで消えていく
– 「DitherTemporalAA」の引数、「Alpha Threhold」
の1.0~0.0に応じてディザ抜きする数値が返ってくる
64
演出
● よくあるゲームの敵消滅演出(Dissolve)
– ノイズテクスチャに合わせて消えていく
マテリアルの詳細設定
65
演出
● よくあるゲームの敵消滅演出(Dissolve)
– ノイズテクスチャに合わせて消えていく
– 「オパシティマスク上限値」0.01なので、出力の「オ
パシティマスク」がその値以下になると表示が消える
– 「Rate」が0.0の時、...
66
演出
● よくあるゲームの敵消滅演出(Dissolve)
– 消える端を光らせる。焼けて消えるとか
67
演出
● よくあるゲームの敵消滅演出(Dissolve)
– 消える端を光らせる。焼けて消えるとか
– 「SmoothStep」は「Min」以下を0.0、「Max」以上
は1.0、その間は補間してくれる
– ノイズで消える所から0.1の範...
68
その他
69
その他
● エンジンコンテンツを有効にする
– コンテンツブラウザの右下の
「表示オプション」選択
– 「エンジンのコンテンツを表
示」にチェックを入れる
70
その他
● エンジンコンテンツを有効にする
– 参考になるマテリアルやテクスチャが一杯!
71
よく使うマテリアルノード
● エンジン側のマテリアル等の機能を使う
– マテリアルノードのMaterialFunctionCallからエンジン
の機能を使えるようになる
72
その他
● BPからマテリアルへ数値を渡す
– コンテンツブラウザを右クリックでブループリントク
ラスを作る
● →Actorを選択
73
その他
● BPからマテリアルへ数値を渡す
– 開いたコンポーネント欄にある「コンポーネントを追
加」を選択して、メッシュ系を追加
– 詳細パネルに出てくるメッシュに適用なアセットを設
定、Materials欄に作ったマテリアルを設定
74
その他
● BPからマテリアルへ数値を渡す
– イベントグラフ等で追加したコンポーネントから
「Set*Parameter Value」を使うとマテリアルの
Parameterノードに値をセット出来る
75
その他
● まだまだ他にも一杯機能があります!三日三晩語っても尽きない!
– Shading Model
– Post Process Material
– Particle
– Decal
– マテリアル関数
– Material Pa...
76
その他
● 公式のラーニング等のサンプルや、フリーでアップさ
れているマテリアル等が非常に参考になる
– ノードの組み方や発想。知らないノードも。
– 公式Forumにも上がってたりします。
● https://forums.unreal...
77
その他
● ノードの種類が多い!
– 公式ドキュメントに詳しく乗っている
● UE4 公式「マテリアル式リファレンス」
– https://docs.unrealengine.com/latest/JPN/Engine/Renderi
n...
78
参考リンク
79
参考リンク
● UE4のマテリアルを もっと楽しもう!~マテリアルで
ぐっと広がるリアルタイムCG表現の幅~
– https://www.slideshare.net/EpicGamesJapan/advanced-material-44...
80
参考リンク
● 中級者向け
– 大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大
阪: 林武尊様) #UE4DD
● https://www.slideshare.net/EpicGamesJapan/sqex-ue4dd
–...
81
以上!
Upcoming SlideShare
Loading in …5
×

第2回UE4勉強会 in 大阪 - マテリアル基礎・初級

5,322 views

Published on

Gif画像がアニメーションしなくなってます。
元データはこちら
http://com04.sakura.ne.jp/data/UE4/第2回UE4勉強会 in 大阪 - マテリアル基礎・初級.ppt

「第2回UE4勉強会 in 大阪」
https://ue4study-osaka.connpass.com/event/64903/

Published in: Technology
  • Be the first to comment

第2回UE4勉強会 in 大阪 - マテリアル基礎・初級

  1. 1. マテリアル基礎・初級 第2回UE4勉強会 in 大阪
  2. 2. 2 自己紹介 ● Twitter: com04 ● ゲームプログラマー ● 趣味でUE4プラグイン作ってる ● 横浜×酒×UE4
  3. 3. 3 自己紹介 ● 第1回UE4勉強会 in 大阪 – エンジン改造ってどうな の? – https://www.slideshare.net/com044/1ue4-in ● 第8回UE4ぷちコン – BPをほぼ使わずにマテリアルでゲーム作りました。 ● http://com04.sakura.ne.jp/unreal/wiki/index.php? %C2%E88%B2%F3UE4%A4%D7%A4%C1%A5%B3%A5%F3
  4. 4. 4 もくじ ● マテリアルって何? ● 質感 – マテリアル周りの機能 – よく使うマテリアルノード – 簡単な作例 ● 演出 ● その他
  5. 5. 5 マテリアルって何?
  6. 6. 6 マテリアルって何? ● マテリアル は、シーンの視覚的な外観を制御するために、メッシュに適用 できるアセットです。概要として、マテリアルはオブジェクトに適用する 「ペイント」として捉えるのがおそらく一番わかりやすいでしょう。ただ し、この考え方は誤解につながる恐れがあります。マテリアルは文字通 り、そこからオブジェクトが作成されたかのように見えるサーフェスのタ イプを定義するものだからです。色、光沢の度合い、オブジェクトの透過 可否などを定義することができます。専門用語では、シーンのライトが表 面とぶつかる際に、ライトと表面が相互に作用する方法を計算するために マテリアルを使用します。こうした計算は、様々な画像 (テクスチャ) や 計算式、またマテリアル自体に固有の様々なプロパティ設定からマテリア ルに入力されるデータを用いて行われます。
  7. 7. 7 マテリアルって何? もっと簡単に! 質感! 演出!
  8. 8. 8 質感
  9. 9. 9 質感 ● 質感≒色 ● 下記の写真、同じ「白」
  10. 10. 10 質感 ● 光のつき方や反射率が違う 紙プラスチック
  11. 11. 11 質感 ● UE4では「物理ベースのマテリアル」で再現 – Base Color : 材質の色 – Roughness : 表面のざらつき具合 – Metallic : 金属具合 – Specular : 光の反射スケール
  12. 12. 12 質感 ● Base Color – 光が入ってない状態での物体の色 ● (正確には「入射光をどれくらい反射するかの値」。多分) ● 撮った写真そのままでは光の影響があるので使えない – とりあえずざっくり言って色味
  13. 13. 13 質感 ● Roughness(ラフネス) – 表面の粗さ ● 目に見えない細かい粗さ。凸凹。 – ヤスリの500番がラフネス高め、1200番が低め的な – 高くなると反射やハイライトがボケる 0.0 0.4 0.7 1.0
  14. 14. 14 質感 ● Metalic(メタリック) – どのくらい金属なのか ● UE4 公式より – > 純粋な金属、石、プラスチックなどの純粋なサーフェスでは、 この値は 0 ま たは 1 を使用し、その中間値は使用しません – > 腐食している、埃っぽい、あるいは錆びたメタルなどのハイブリッドなサー フェスを作成する場合には、 0 と 1 の中間値を使用する場合もあります。 0.0 0.4 0.7 1.0
  15. 15. 15 質感 ● Specular(スペキュラー) – ハイライト ● 0になる事はない(スペキュラが入らない物質は今の所無い) ● UE4 公式より – > ほとんどの場合、Specular 入力を接続せずに、デフォルト値 は 0.5 のままにしておきます。
  16. 16. 16 質感 ● 質感は大きく、BaseColor, Roughness, Metalicで構 成される! ● UE4だとノード繋ぐだけですぐに確認出来る! – ※キッチリした物理ベースをやる人はちゃんと計測し た数値を当て込みましょう
  17. 17. 17 質感 ● 参考 – UE4 公式 「物理ベースのマテリアル」 ● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M aterials/PhysicallyBased/index.html – Cygames Engineers' Blog「物理ベースレンダリング -基礎編-」 ● http://tech.cygames.co.jp/archives/2129/
  18. 18. 18 マテリアル周りの機能
  19. 19. 19 マテリアル周りの機能 ● マテリアルノードの数値を変えた時に「適用」ボタン を押して反映させる
  20. 20. 20 マテリアル周りの機能 ● そして始まるシェーダーコンパイル
  21. 21. 21 マテリアル周りの機能 ● →マテリアルインスタンスを使おう!
  22. 22. 22 マテリアル周りの機能 ● マテリアルインスタンス – 値の変更でシェーダーコンパイルが走らなくなる! – 他にもマテリアルのパラメーターを変えて使いまわす ことが出来る – UE4 公式「インスタンス化マテリアル」 ● https://docs.unrealengine.com/latest/JPN/Engine/Render ing/Materials/MaterialInstances/index.html
  23. 23. 23 マテリアル周りの機能 ● コンテンツブラウザでマテリアルを右クリック – →「マテリアルインスタンス」を作成 – でアセットが作成される。
  24. 24. 24 マテリアル周りの機能 ● マテリアルインスタンスで操作したいパラメーター は、元マテリアルで「Parameter」系のノードを使用 する
  25. 25. 25 マテリアル周りの機能 ● Parameter系ノードを使うと、マテリアルインスタン ス側にパラメーターが出て来る。
  26. 26. 26 マテリアル周りの機能 ● 1つのマテリアルから複数のマテリアルインスタンス も作れる – 数値だけ変えたマテリアルを使い回せる。効率化。
  27. 27. 27 マテリアル周りの機能 マテリアルの出力、 何か他にも一杯ピンあるんだけど?
  28. 28. 28 マテリアル周りの機能 ● Opacity(オパシティ) – 透明度。ガラスとか。 ● Blend ModeをTranslucencyにすると使える 0.0 0.4 0.7 1.0
  29. 29. 29 マテリアル周りの機能 ● Opacity Mask(オパシティマスク) – しきい値以下の値を非表示にする ● Blend ModeをMaskedにすると使える ● しきい値はマテリアルの詳細タブ – 「オパシティマスク上限値」 0.0 0.4 0.7 1.0
  30. 30. 30 マテリアル周りの機能 ● ざっくり良く使う所 – Normal ● 法線。ピクセル単位で法線を弄れる。 – World Position Offset ● 頂点座標にオフセットする。上手くやれば頂点アニメーションが実装出 来る – Refraction(リフラクション) ● 背景を屈折させる(歪ませる)。水とかで向こうが歪んでいる感じ。 ● 1.0で歪みなし。
  31. 31. 31 マテリアル周りの機能 Blend Mode
  32. 32. 32 マテリアル周りの機能 ● Blend Mode – マテリアルの「詳細」欄に有る ● マテリアルの背景との色の混ぜ方。
  33. 33. 33 マテリアル周りの機能 ● Opaque(オパックとかオペイクとか) – 不透明。普通のサーフェイス。 ● Masked(マスクド) – オパシティマスクがしきい値以下の所を消す。 – 不透明だけど、一部分だけ表示消したい時とか。
  34. 34. 34 マテリアル周りの機能 ● Translucent(トランスルーセント) – 半透明。オパシティの値が透明度になる。 – ガラスとか後を透かしたい時に使う。 ● Additive(アディティブ) – 加算。上に色を乗っける。主にエフェクトで使う。 Additive Translucent
  35. 35. 35 マテリアル周りの機能 ● 参考 – UE4 公式「Material入力」 ● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M aterials/MaterialInputs/index.html – UE4 公式「Material Blend モード」 ● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M aterials/MaterialProperties/BlendModes/index.html UE4 公式「シェーディング モデル」 ● https://docs.unrealengine.com/latest/JPN/Engine/Rendering/M aterials/MaterialProperties/LightingModels/index.html
  36. 36. 36 よく使うマテリアルノード
  37. 37. 37 よく使うマテリアルノード ● Power – 累乗。Exp=1.0はそのまま。Expを上げると0.0~1.0 の中間の色が0.0に近づいていく。=明るい所が際立っ てくる。 Exp=1.0 Exp=2.0 Exp=3.0
  38. 38. 38 よく使うマテリアルノード ● Fresnel(フレネル) – 端の方が1.0、正面が0.0返ってくる ● 正確には視線と垂直な所が1.0、視線と向き合う所が0.0
  39. 39. 39 よく使うマテリアルノード ● LinearInterpolate/Lerp(リニアインターポレート/リープ) – 引数のAとBをAlphaで補間する。 – ノードを出す時の名前はLinearInterpolateでノード名 はLerp。
  40. 40. 40 よく使うマテリアルノード ● Time – 経過時間が返ってくる。 – 時間毎に数値が増えていくので、アニ メーションとして使うことが出来る テクスチャUV テクスチャ
  41. 41. 41 よく使うマテリアルノード ● 参考 – UE4 公式「マテリアル式リファレンス」 ● https://docs.unrealengine.com/latest/JPN/Engine/Rende ring/Materials/ExpressionReference/index.html ●
  42. 42. 42 簡単な作例
  43. 43. 43 簡単な作例 ● ガラスのマテリアル。 – 本来は視線からの角度で屈折率、透過率が変わる筈 ● 第2回:鏡面反射光 反射レベルを素材の値で管理 – http://area.autodesk.jp/column/tutorial/3ds_max_kitchen_stadium/2_ha nsyalevel/Before After
  44. 44. 44 簡単な作例 Before After
  45. 45. 45 簡単な作例 ● ガラスのマテリアル。 – 「Fresnel」で視線と角度が急な所(端っこ)を取り出 してリフラクションとオパシティを変更している
  46. 46. 46 簡単な作例 ● 草揺れる
  47. 47. 47 簡単な作例 ● 草 – 「Time」で時間経過を取ってアニメーション。 – 「Sine」に繋ぐことで0.0~1.0を-1.0~1.0に変換し て前後に揺らせる数値にする – その結果を「ワールドポジションオフセット」に繋い で頂点を前後に揺らす。
  48. 48. 48 簡単な作例 ● 草 – BoundingBoxBased_0-1_UVW ● メッシュのサイズでUVを取る。RGB→XYZ – →Bでメッシュの高さを取り出して、根本=0.0、葉先=1.0で 根本だけ動かないようにする
  49. 49. 49 簡単な作例 ● 簡単な水
  50. 50. 50 簡単な作例 ● 水 – MaterialFunctionCallノードからMotion_4WayChaos ● エンジンコンテンツを有効にしていると出てくる(最後の 「その他」ページで) ● 4方向からいい感じにテクスチャをスクロールしてくれる
  51. 51. 51 簡単な作例 ● 水 – テクスチャもエンジンコンテンツの中を”water”で検索 すると出て来る
  52. 52. 52 簡単な作例 ● 水 – 波の模様のカラーを 2種類混ぜる 波の速度を調整する 波の模様のカラーを 2種類混ぜる 波の模様テクスチャ
  53. 53. 53 簡単な作例 ● 水 – 透明度を出すにはBlend ModeをTranslucentにしてオ パシティに繋ぐ
  54. 54. 54 演出
  55. 55. 55 演出 ● マテリアルでアニメーションを付けることが出来る。 – →演出を付けることが出来る。 – 最終的に色やαの数値を書き出すだけなので、その途中 の計算は自由自在。 ● 計算は頑張ろう ● また、BPから数値を渡すことも出来るので、ゲームや 映像の進行に応じた演出も可能
  56. 56. 56 演出 ● 何か光る演出
  57. 57. 57 演出 ● 何か光る演出 – 「Rate」は外部から0.0~1.0を渡される演出時間 – 「Fresnel」で視線からメッシュの端を抽出 – 「Emissive」に50を入れてギラッと光るように
  58. 58. 58 演出 ● 何か光る演出→動きが無くて静かな印象を変える
  59. 59. 59 演出 ● 何か光る演出→動きが無くて静かな印象を変える – 「Time」ノードで経過時間を取得 ● 「TexCoord」ノードに加算してUVアニメーション – ノイズテクスチャで模様の強弱を付ける
  60. 60. 60 演出 ● 穴開ける マテリアルの詳細設定
  61. 61. 61 演出 ● 穴開ける – 「SphereMask」で「Radius」範囲内1.0、範囲外0.0 の値が取れる。 ● 「1-x(OneMinus)」ノードで値を反転すると、位置から近 い所が0.0となり真ん中に穴が開けられる – 「ActorPosition」はActorの原点。外部から値を渡せ るようにすれば当たった所に穴を開けるとかも出来る
  62. 62. 62 演出 ● よくあるゲームの敵消滅演出(Dissolve) – ディザで消えていく マテリアルの詳細設定
  63. 63. 63 演出 ● よくあるゲームの敵消滅演出(Dissolve) – ディザで消えていく – 「DitherTemporalAA」の引数、「Alpha Threhold」 の1.0~0.0に応じてディザ抜きする数値が返ってくる
  64. 64. 64 演出 ● よくあるゲームの敵消滅演出(Dissolve) – ノイズテクスチャに合わせて消えていく マテリアルの詳細設定
  65. 65. 65 演出 ● よくあるゲームの敵消滅演出(Dissolve) – ノイズテクスチャに合わせて消えていく – 「オパシティマスク上限値」0.01なので、出力の「オ パシティマスク」がその値以下になると表示が消える – 「Rate」が0.0の時、1.0 – テクスチャの値 – 「Rate」が1.0の時、0.0 - テクスチャの値。で全部 0.0になる
  66. 66. 66 演出 ● よくあるゲームの敵消滅演出(Dissolve) – 消える端を光らせる。焼けて消えるとか
  67. 67. 67 演出 ● よくあるゲームの敵消滅演出(Dissolve) – 消える端を光らせる。焼けて消えるとか – 「SmoothStep」は「Min」以下を0.0、「Max」以上 は1.0、その間は補間してくれる – ノイズで消える所から0.1の範囲を補間して色を付ける
  68. 68. 68 その他
  69. 69. 69 その他 ● エンジンコンテンツを有効にする – コンテンツブラウザの右下の 「表示オプション」選択 – 「エンジンのコンテンツを表 示」にチェックを入れる
  70. 70. 70 その他 ● エンジンコンテンツを有効にする – 参考になるマテリアルやテクスチャが一杯!
  71. 71. 71 よく使うマテリアルノード ● エンジン側のマテリアル等の機能を使う – マテリアルノードのMaterialFunctionCallからエンジン の機能を使えるようになる
  72. 72. 72 その他 ● BPからマテリアルへ数値を渡す – コンテンツブラウザを右クリックでブループリントク ラスを作る ● →Actorを選択
  73. 73. 73 その他 ● BPからマテリアルへ数値を渡す – 開いたコンポーネント欄にある「コンポーネントを追 加」を選択して、メッシュ系を追加 – 詳細パネルに出てくるメッシュに適用なアセットを設 定、Materials欄に作ったマテリアルを設定
  74. 74. 74 その他 ● BPからマテリアルへ数値を渡す – イベントグラフ等で追加したコンポーネントから 「Set*Parameter Value」を使うとマテリアルの Parameterノードに値をセット出来る
  75. 75. 75 その他 ● まだまだ他にも一杯機能があります!三日三晩語っても尽きない! – Shading Model – Post Process Material – Particle – Decal – マテリアル関数 – Material Parameter Collection
  76. 76. 76 その他 ● 公式のラーニング等のサンプルや、フリーでアップさ れているマテリアル等が非常に参考になる – ノードの組み方や発想。知らないノードも。 – 公式Forumにも上がってたりします。 ● https://forums.unrealengine.com/ – マテリアル本も非常に参考になります ● https://www.unrealengine.com/ja/blog/ue4-books-material-design
  77. 77. 77 その他 ● ノードの種類が多い! – 公式ドキュメントに詳しく乗っている ● UE4 公式「マテリアル式リファレンス」 – https://docs.unrealengine.com/latest/JPN/Engine/Renderi ng/Materials/ExpressionReference/index.html ● (ただ多くて全部は覚えれない)
  78. 78. 78 参考リンク
  79. 79. 79 参考リンク ● UE4のマテリアルを もっと楽しもう!~マテリアルで ぐっと広がるリアルタイムCG表現の幅~ – https://www.slideshare.net/EpicGamesJapan/advanced-material-44530654 ● アンリアルエンジン4で ノンフォトリアル描画しよう! @UNREAL FEST 2015 YOKOHAMA – https://www.slideshare.net/EpicGamesJapan/4-unreal-fest-2015-yokoham a-54129845 –
  80. 80. 80 参考リンク ● 中級者向け – 大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大 阪: 林武尊様) #UE4DD ● https://www.slideshare.net/EpicGamesJapan/sqex-ue4dd – マジシャンズデッド ポストモーテム ~マテリアル編~ (株式会 社Byking: 鈴木孝司様、成相真治様) #UE4DD ● https://www.slideshare.net/EpicGamesJapan/byking-ue4dd – マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD ● https://www.slideshare.net/EpicGamesJapan/epic-games-japan-ue4dd
  81. 81. 81 以上!

×