Unreal Engine 4で動きのあるマテリアル作ってみた話 —UE4活動と時々C, C++学習ノート-5日目-
Unreal Engin4すごい!(語彙力)ってなったので、少しいじりつつ、むかーしかじった事あるC,C++の基礎学びなおしを終え、UE4で色々やってる学習ノート。C, C++再学習編もあります。よろしければどうぞご覧ください
※注意:この記事で扱っているUE4のバージョンは少し古い(4.17.2)ものとなっています。ご了承ください。m(_ _)m
例のごとく、↓の本でマテリアルについて学習させていただいているのですが、
その学習の合間に「あ、なんかいけそうかも!」と思ったので作ってみたものをご紹介させていただきます。
ライトファンクションで点滅するライト作ってみた
↑のgifのように、点滅するライトを作れたので、方法を書いておきます。
「Time」ノードというので経過時間を取得できるのを知って、学習の片手間に作ってみたものになります。
まず、ライトを設置しなければいけないのは当然なのですが、そのライトを点滅させるためには、詳細パネルの[Light Function]↓という項があるので、その場所の”ライトファンクション”という所に入れるための専用のマテリアルを作成する必要があります。
というのは、その新規作成したマテリアルをマテリアルエディタで開いて、少しマテリアル自体に設定を加えなければならないのです。
↓のマテリアルエディタの詳細パネルで、[Material]という項があります。その中の”マテリアル属性”という所の横のプルダウンメニュー から”Light Function“を選んで指定しておく必要があります。
肝心の中身は、「”Light Function”だから」というような特殊な設定やノードは必要ないですが、「メインマテリアルノード」でつなげられる場所が”エミッシブカラー”(発光色)しかなくなります。(少し考えれば当たり前な気がしますが一応書いておきます)
別バージョンで、点滅の仕方が違うライトも作成してみました。
ちなみにエディタの内容晒してみます。
「緩やかな明滅」っていうのが1つ目に紹介したもので、2つ目に紹介したものは一番下のやたらめったら”Multiply”ノード使いまくっている「徐々に明度を落としながら明滅」っていうものです。
ライトじゃないけど点滅するアイテム作ってみた
ワールド座標からのノーマル情報の取得を応用した「輪郭強調」の方法を学んだので、それを前項での「Time」ノード使った点滅表現を転用して、作ってみたものになります。
↑は、前項のようにライトファンクションと言うわけではないのですが、点滅っぽい感じの、キーアイテム向きな表現のマテリアルだと思います。
おまけ(?):模様が動く球体作ってみた
それと、他にもテクスチャを経過時間でX・Y方向へ動かす方法も学んだので、それと組み合わせれば、前回の記事↓でも紹介させていただいたオパールっぽい球体に使ったマテリアルを加工できそうだと思ったので作っちゃいました。
ちなみに、↓が模様が動く球体に使ったマテリアルエディタです。
前回は、テクスチャもう一枚使ってたんですが、どうにも浮いちゃって使いづらかったので、今回はスカラー値のノードに変えてしまいました。
あとがき
マテリアルについてなら、多少は勝手がわかってきた気がします!継続は力なりを信じて、少しずつでも進んでいきますよ!
ご意見・ご感想・ご質問、また、ここ間違ってるよとか、もっといい方法あるよといったご指摘などございましたら、お手数ですがコメント欄やtwitterアカウントほろほろり(@_horo_horori)へお願いしますm(_ _)m