LoginSignup
2
1

More than 5 years have passed since last update.

複数のマテリアルパラメータを同時に触る

Last updated at Posted at 2017-11-25

はじめまして

Qiita初めてなので、ちょっとビビりながら書いてます。実は私、プログラマではないので、
このような場所に投稿してよいものか、正直いまだに躊躇いがあります。なのでシッタカブッタような生意気なこと書くかもしれません。デザイナー視点ではありますがUE4への愛を綴っていければと思っておりますので、お手柔らかにお願いします。

複数のマテリアルパラメータを同時に触る

キャラクターなどのメッシュにはマテリアルが複数アサインされていることがほとんど。今回はアイテムを拾った時などに、キャラクターが一瞬光ったりするのを作ってて発見したので、メモっておくことにします。

同じ共通のパラメータ名にしておくと set *** Parameter Value のノードがひとつで済むというものです。
既出でしたらすみません。

Grayちゃんのデータで試しました。 Grayちゃん公式サイト: http://www.gray-chan.com/

まずプロジェクトを読み込んでメッシュをエディタで開くと、マテリアルが5つほど付いています。

fig00.png

名前でなんとなくアタリをつけて、Element の 1、2、4 番を触ることにします。
下のようなパラメータを仕込みました。

fig01.png

モデルのフチを黄色く光らせようかと。
Emissive Color のピンがちょうど空いていたので、そこにつなぎました。

調整の効率を考えたらマテリアルファンクションとか、マテリアルパラメータコレクションにした方が良さそう。
とりあえず、これと同じノードを全部で3つのマテリアルに仕込みました。コピペなので簡単です。

getget というのが、Scalarパラメータの名前です。後からタイムラインで値を渡します。

で、GrayちゃんのEventGraphに、カスタムイベントをおいてタイムラインノードをつなぎ、パラメータをいじるためのノードをつなぎます。

fig02.png

Target に ”Mesh”オブジェクトをつないでますが、これは Set ScalarParameter Value on Materialsノード を取り出すときにくっついてきます。
fig03.png

コンポーネントとしてブループリントが抱えているのを拾ってるだけだと思うけど、こういう気遣いがとても好きですUE4。
よくみたら、この Set Scalar Parameter ~ の最後が Materials と 複数形になってるんですよね。

これだけで、3つのマテリアルに仕込んだパラメーターが同時に変化してくれます。

fig04.jpg

この便利な Set Scalar Parameter~ ですが、古いアンリアルエンジンのバージョン(4.16以前)だと、まとめて触ること自体は可能でしたが、Material Instance Dynamic を使う必要があったりして、ちょっと面倒でした。

ConstructionScript で、MeshのマテリアルをMaterialInstanceDynamic化。
fig05.png

てなわけで、Qiita初体験でしたが、Wikiみたいな書式で楽しいですね。もっといろいろ書いていきたいです。とりあえずアドカレ目指して頑張ろう。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1