メインコンテンツへスキップ
< すべてのトピックに戻る

マテリアルをランタイムで動的に生成する方法は?

new Material(Shader.Find(“Universal Render Pipeline/Lit”)) を実行して作成します。

 

エディタ上で事前に用意するのではなく、ゲーム実行中にユーザーが色をカスタマイズしたマテリアルを新規で割り当てたい場合などに必要になるからです。

 

1. スクリプト内で Material dynamicMat = new Material(Shader.Find(“Universal Render Pipeline/Lit”)); と書きます。

 

2. dynamicMat.color = Color.blue; 等で色を設定し、Rendererにセットします。

 

3. オブジェクト消滅時や不要になったタイミングで、必ず Destroy(dynamicMat); を実行してメモリを解放してください。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に