質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1021閲覧

【Unity】テクスチャ部分とテクスチャ透過部分とで、マテリアルを個別に設定する

aaachi

総合スコア69

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2019/03/20 14:22

いつもお世話になっております。
下図のように、文字の部分(テクスチャ部分)と、そうでない部分とで、質感を変えたいと思っています。

ひとつのオブジェクトに対して、マテリアルを分けて適用することは可能でしょうか?
詳しい方いられたら、ご教示頂けますでしょうか。

イメージ説明
・ボタンは全部まとめて、1個のオブジェクトです。
・文字は光沢のあるシルバーにしたい。
・ボタンの質感は、ゴムにしたい。

###試したこと
・テクスチャ…文字の部分以外を透過にし、Albedo Alphaにする
→文字部分だけしかSmoothnessの値が適用されない

・テクスチャ…文字の部分以外を黒ベタ塗にし、Metalic Alphaにする。
→Smoothnessが適用されるが、個別にできず、質感が統一されてしまう。

何卒、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Metallicにももう一つテクスチャをセットするのが手軽ではないでしょうか?

一例として、Albedoテクスチャはアルファチャンネルを持たせず...

アルベド

MetallicテクスチャはRGBは金属部分を白、非金属部分を黒とし、アルファはなめらかな部分を白、荒い部分を黒として...

RGBA合成後
メタリックスムースネス合成後

SmoothnessはMetallic Alphaとすれば、MetallicテクスチャのアルファがSmoothnessを示すものと解釈され、金属性となめらかさを両方ともテクスチャで制御できるかと思います。

適用結果

投稿2019/03/20 23:18

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaachi

2019/03/22 08:25

Bongo様 回答頂きありがとうございます。 おかげさまで無事解決致しました。 ↓念の為、私の理解が合っているか確認したいです。 Albedoテクスチャは、色そのものだけを付与する。(smoothnessとmetalicの調整が不可) Metalicテクスチャは、RGBAでmetalicとsmoothnessが調節でき、 ■smoothness 粗く(A0%)↔つるつる(A100%) ■metalic 非金属(RGB#000)↔金属(RGB#fff) で合っていますでしょうか?
Bongo

2019/03/22 17:50 編集

はい、その解釈で大丈夫です。もう少し補足しますと、[Metallic モード: Metallic パラメータ - Unity マニュアル](https://docs.unity3d.com/ja/current/Manual/StandardShaderMaterialParameterMetallic.html )によればMetallicテクスチャのRGBのうち金属性情報として使われるのはRだけで、GとBは無視されるようです。ですので、RGBが等しいグレー画像でなくとも、赤色だけでもMetallicを表現可能かと思います。ですが、個人的な好みとしてはグレーで表現した方がわかりやすいような気がしますね。 また、設定によっては他の選択肢も使えるでしょう。[Smoothness - Unity マニュアル](https://docs.unity3d.com/ja/current/Manual/StandardShaderMaterialParameterSmoothness.html )によると、例えばモデル全体の金属性は一定で構わないけれどなめらかさはテクスチャで制御したい...といった場合、Smoothnessを「Albedo Alpha」に設定すれば今度はAlbedoテクスチャのアルファがSmoothnessの値として採用されるようになりますので、AlbedoテクスチャをRGBAとしアルファでなめらかさ(A0%~100%)を表現すれば、テクスチャの総量を削減することもできそうです。
aaachi

2019/03/25 06:16 編集

Bongo様 詳しく説明頂きありがとうございます! 大変助かり、感謝しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問