Skip to content

Added support for assigning a new shader to a material.#175

Merged
sakumanaoki merged 2 commits intomainfrom
bugfix/assign_new_shader_to_material
Nov 12, 2025
Merged

Added support for assigning a new shader to a material.#175
sakumanaoki merged 2 commits intomainfrom
bugfix/assign_new_shader_to_material

Conversation

@sakumanaoki
Copy link
Contributor

概要

ShaderGUI.AssignNewShaderToMaterial時にマテリアルキーワードを更新し、初回シェーダー切り替え時にキーワードが切り替えられるようにしました。

https://docs.unity3d.com/6000.2/Documentation/ScriptReference/ShaderGUI.AssignNewShaderToMaterial.html

動作確認

動作確認用に、ParticlesGUI.csに以下を追加しています。

public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader)
{
    base.AssignNewShaderToMaterial(material, oldShader, newShader);

    // 動作確認用に追加
    Debug.Log($"Called AssignNewShaderToMaterial");
    // 追加ここまで

    MaterialChanged(material);
}

ログが呼ばれていることが把握できます。

AssignNewShader.mov

確認したこと

  • 各種シェーダーのAssignNewShaderToMaterialが呼ばれること
  • キーワードが切り替わること
  • 2022.3環境でテストが通ること

@sakumanaoki sakumanaoki merged commit da95720 into main Nov 12, 2025
1 check passed
@sakumanaoki sakumanaoki deleted the bugfix/assign_new_shader_to_material branch November 12, 2025 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants