※この記事で使用しているUnrealのVersionは04.21.1です。※この記事のサンプルプロジェクトは以下URLにアップされています。今回は、需要があるかは皆無ですが、マテリアルで関数グラフを書いてみたいと思います。関数グラフとは、中学から習うY=aXなどの関数をグラフに表したものです。(↓こんなやつ)このX軸とY軸をマテリアルノードにある「TextureCoordinate」を代用することで再現します。グラフのもととなる仮想の座標系となるマテリアル関数を作成します。座標系を作成する際は、「UVRemap_0-1_ToRange」というマテリアル関数を仕様すると簡単に作れます。次に、ひとまず簡単な指数関数(Y=aX^n+b)のグラフを書こうと思いますので、指数関数用のマテリアル関数を作成します。指数関数とは中身↓MF_ValueStepの中身そして、作成した2つの関数を使って以下のように組んでみます。できたマテリアルをPlaneにはっつけてみるとこんな感じの見た目になりました。きれいに二次関数のような見た目になっています。グラフの線の部分で白黒に分かれてしまっているので、これを普通の線にしたいと思います。MF_PixelOffsetの中身かなり処理がぐちゃぐちゃですが、大雑把な処理の内容としては、基準の座標とOffsetされた座標の値を比べ、差がある部分の値を抽出しているというものです。これを適応したPlaneメッシュを見てみるとこのように関数グラフの線が浮かび上がってきます。ついでにグリッド線も入れてみます。結果↓いい感じの見た目になりました。今度は、仮想の極座標を使って正葉曲線(バラ曲線)を作ってみたいと思います。cosθといった比較的簡単な式でできています。これをマテリアルで再現するには、以下のように処理を組みます。MF_RoseCurve_AngleMathの中身この関数を使って、先程のようにグラフ構築する処理を書きます。これをPlaneにはっつけてみると、こんなように面白い形を生成してくれます。値を変えることで葉の数や大きさが変わるので、ぜひいろいろいじってみてください。説明してきましたが、このようにすることで役に立つかは微妙ですが、関数グラフをマテリアルで表現することができます。センスや知識がある人なら、さまざまな関数を使って面白い表現ができるかもしれませんので、ぜひ遊んでみてください。※この記事のサンプルプロジェクトは以下URLにアップされています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。【UE4】【C++】独自の簡単なスクリプトシステムを作る-後編。