マテリアルを変更する

ドキュメント:

Renderer.material | Unity スクリプトリファレンス [公式]

Renderer.materials | Unity スクリプトリファレンス [公式]

参考:

マテリアルのプロパティをスクリプトから変更 | kan のメモ帳

Material が2つ以上ついているオブジェクトの場合は、 どうやってそれぞれの Material に当てはめるのでしょうか? – Yahoo! 知恵袋

プレハブインスタンスのマテリアルを変更する

参考:

インスタンスのマテリアルを変更する | naru design devlog

スクリプトから Material をオブジェクトごとに変更 | はらけんログ

プレハブで生成した複数のオブジェクトの色を分ける方法 – teratail

スクリプトからシェーダーにパラメータを渡す

ドキュメント:

マテリアルパラメーターへのスクリプトを使ったアクセスと変更 | Unity 2049.4 マニュアル [公式]

Material.SetFloat | Unity スクリプトリファレンス [公式]

Material.SetColor | Unity スクリプトリファレンス [公式]

Material.SetColorArray | Unity スクリプトリファレンス [公式]

参考:

C# プログラム側からシェーダに値を渡す – Qiita

ゲームオブジェクトの色をスクリプトから変更する方法 – Qiita

マテリアルのプロパティをスクリプトから変更 | kan のメモ帳

オブジェクトの色/実装の基礎から応用までを徹底解説! | XR-Hub

スクリプトからマテリアルの色を変更する | Continue(s)

URP のマテリアルの色をスクリプトから変更する | はなちるのマイノート

レンダラーのマテリアルを取得する

レンダラーから取得したマテリアルは、使用後に破棄する必要がある。

public class ExampleClass : MonoBehaviour
{
    private Material _material;

    public void Start()
    {
        _material = GetComponent<Renderer>().material;
    }

    public void OnDestroy()
    {
        if (_material != null)
        {
            Destroy(_material);
        }
    }
}Code language: C# (cs)

ドキュメント:

Renderer.material | Unity スクリプトリファレンス [公式]

参考:

Renderer.material で取得したマテリアルは自分で破棄しないとリークする話 | LIGHT11

マテリアルを複製する

ドキュメント:

Material.Material | Unity スクリプトリファレンス [公式]

参考:

スクリプトで複製したオブジェクトのマテリアルを別々に変更する – Qiita

シェーダーからマテリアルを作成する

Material mat = new Material(Shader.Find("Mobile/Particles/Additive"));Code language: C# (cs)

ドキュメント:

Material.Material | Unity スクリプトリファレンス [公式]

Shader.Find | Unity スクリプトリファレンス [公式]

参考:

How to create new materials at runtime? – Unity Answers

Material Property Block

参考:

続・スクリプトから Material をオブジェクトごとに変更 Material Property Block 編 | はらけんログ

マテリアルや SetPass を増やさずテクスチャの UV を変える | テラシュールブログ

Shader.Find

ドキュメント:

Shader.Find | Unity スクリプトリファレンス [公式]

参考:

スクリプトから Shader を変更する | KAZUPON 研究室

GameObject の Shader を一括で変換する関数 | STYLY 開発者ブログ

Shader.Find のパラメータはファイル名ではない | 誰かのメモ

ビルドすると Shader.Find に失敗する – Qiita

Shader.Find でエラーが発生してしまう場合 | My note

シェーダーの一覧を取得する

ドキュメント:

ShaderUtil.GetAllShaderInfo | Unity スクリプトリファレンス [公式]

参考:

ShaderUtil.GetAllShaderInfo – Unity 2018.1.0b2 新機能 | コガネブログ

プロジェクトで使えるシェーダー一覧を取得する | sakaf memo

Sharder Replacer

コード:

Assets 内の全 Material の Shader を一括で置換する Editor 拡張 (SakaITa) – GitHub Gist

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA