URPにて unlitシェーダにテクスチャをスクリプトからセットする方法

実現したいこと

スクリプトで「mesh」「mesh Renderer」「unlitシェーダ」のコンポーネントをゲームオブジェクトに追加して、メッシュを表示させています。
このメッシュに、起動後にサーバから取得した画像をテクスチャとして、スクリプトからをセットして表示させたいと考えております。

発生している問題・分からないこと

エディタ上ですが、起動後に表示されたオブジェクトのインスペクタで、
空になっているシェーダのテクスチャにマテリアルのテクスチャをドラッグすることで、
画面のメッシュにテクスチャが表示されました。
なので、shader にテクスチャをセットするメソッドを探して書けばいいんだなと思って、
メソッドに関してネットに情報があるだろうと思っていたのですが、
なかなか見つからないので、そもそも「仕組み自体の理解を間違っているかも…」と思い、
質問させて頂きました。

該当のソースコード

gameObject = new GameObject( "mesh" ); gameObject.transform.position = new( 0.0f, 1.0f, 0.0f ); this.gameObject.AddComponent<MeshFilter>(); meshRenderer = this.gameObject.AddComponent<MeshRenderer>(); mesh = this.gameObject.GetComponent<MeshFilter>().mesh; Shader shader = Shader.Find( "Unlit/TestUnlitShader" ); ※ここにシェーダにマテリアルセットすればいいのかと思っていたのですが… meshRenderer.material = new Material( shader ); this.gameObject.GetComponent<MeshFilter>().mesh = mesh;

試したこと・調べたこと

上記の詳細・結果

すでにセット済みのマテリアルやテクスチャの色を変えたりするスクリプトの説明は山ほど出てくるのですが、
知りたい「シェーダ」と「テクスチャ」を紐づける方法に関する情報がみつかりませんでした。

補足

Unity 2022.3.27f1
Universal RP 14.0.11 · April 24, 2024

コメントを投稿

0 コメント