Tex objectの作り方

117000-スクリーンショット+2016-12-01+13.36.38.png

添付画像にある Param Tex Objectモード?のテクスチャーの作り方を教えてください。
そもそもTex Objectが何なのかよくわかってないです。どういう時にこれらが使われるのでしょうか。
教えてください。

そのノードはTexture Object Parameterですね。

概要はこちらのドキュメントにあります。

私もマテリアルに詳しくないので、正確な回答か自信はありませんが、

Texture Obejctはコンテンツブラウザから持ってきた生のTextureデータだと思います。

Texture Sampleを経由することで、Materialに適用可能なデータに変換しているのだと思います。

TextureObjectを使用する時はTexture Sample等で変換される前のTextureデータに対して何かしらの変更を加えたい場合などに利用されます。

例えば、WorldAlignedTextureなどのMaterial Functionの引数として使用する場合などが考えられます。

回答ありがとうございます。

あまり理解できなかったのですが、ノードにTextureを読み込むと添付画像のようになりますよね。

117004-スクリーンショット+2016-12-01+15.47.48.png

ここからどうすればParam Tex Objectに変換できますか?
そもそもTextureデータ自体が違うのでしょうか?(pngやtga形式の画像データではないという意味)

また、生のTextureデータとは何の事ですか?
逆に生じゃないTextureデータとはどういったものなのでしょうか?

わからない事だらけで申し訳ありません・・・。
教えてください。

一つ一つ紐解いていきましょう(私も理解が甘い部分ですので、誤りがあれば申し訳ないです)

まず、生のテクスチャという表現が悪かったです。訂正します。

生のテクスチャと呼んだのはサンプリングする前のテクスチャです。

テクスチャの解説(長いので飛ばしていただいても構いません)

テクスチャには、テクセル(テクスチャのピクセルの配列)が含まれます。

各テクセルの位置は (u,v) の形式で表現されます(uv座標と呼ばれるものですね)

u は幅、v は高さで、テクスチャの幅と高さに基づいて 0 ~ 1 の間に位置がマップされます。

テクスチャをサンプリングするときには、その結果のテクスチャ座標を使用してテクセルのアドレスが指定されます。

ノードの説明

・TextureObjectParameter

テクスチャパラメータの定義。

テクスチャオブジェクトを出力します。

・TextureObject

テクスチャ入力と関数を呼び出す際に使用します。

・TextureSample

入力されたUV値を用いて設定されているテクスチャのカラーを取得します。

・回答

Q.そもそもTextureデータ自体が違うのでしょうか?(pngやtga形式の画像データではないという意味)

A.テクスチャデータは同じものです。

Q.ここからどうすればParam Tex Objectに変換できますか?

A.添付いただいた画像のTextureSampleをTextureObjectParameterに変換することはできないと思います。

TextureSampleを経由しないと、MaterialのBaseColorなどに接続できません。

丁寧に教えていただきありがとうございます。とてもわかりやすいです。

添付画像のようなノードを組みたいのですが、TextureObjectParameterを呼ぶ事ができません。
同じような質問をしてると思いますが、TextureSampleをどうこうするのでないのであるならどうすればTextureObjectParameterを生成する事ができますか?

図のようにtextureobjectで検索した際にTextureObjectParameterが出てきませんか?

Parameters, TextureのどちらのTextureObjectParameterでも良いです。

もし、出てこない場合はEngineのVersionとスクリーンショットをアップしていただけると回答しやすいです。

もしくは、アップいただいた画像のVariation Textureを選択してCtrl + Wで複製することでもとりあえず、対応は可能だと思います。

ああああああああああ!何かものすごい勘違いをしていました!普通に出てきました!
根本からわかってなかったみたいですw

本当に助かりました!ありがとうございます!

TextureObjectParameterとTextureObjectとTextureSampleは全て別々のノードです。

その上で上記の説明を再度読み直していただくと、より理解が深まると思います。

解決できたようでなによりです!

パラメータ化できるノードは右クリックでパラメータ化できるのに、Texture Objectだけは右クリックからできないんですよね。
なので見つからなかったのだと思います。
paperbugさんのおっしゃるように検索すれば見つかります。これは不便だなと思っています。。

また、TextureObjectの使い方ですが、TextureSampleノードには「UV」と「Tex」の2つの入力ポートがありますが、UVにはUV情報を入力してTexにはTextureObjectによって純粋に画像の情報のみを入力します。
つまり1つの絵柄(TextureObject)をUVが違う複数のTextureSampleノードに繋ぐといったことができます。
また同様の理由で、マテリアル関数の入力ポートが(T2D)となっている場合はTextureObjectしか受け付けません。
マテリアル関数を自作し始めていくと、便利さが分かってくるかと思います。