name | 要覆盖的常量缓冲区的名称。 |
value | 用来覆盖常量缓冲区值的 ComputeBuffer,或为 null(用于清除绑定)。 |
offset | 相对于要绑定的 ComputeBuffer 起始位置的偏移(以字节为单位)。必须是 SystemInfo.MinConstantBufferAlignment 的倍数,或为 0(如果该值为 0)。 |
size | 要绑定的字节数。 |
nameID | 要覆盖的常量缓冲区的着色器属性 ID。 |
将 ComputeBuffer 设置为材质的指定常量缓冲区。
可使用此方法覆盖驻留在具有给定名称的常量缓冲区内的所有着色器参数。使用给定 ComputeBuffer 的内容覆盖这些参数。要使用此方法,以下必须为 true:
必须使用 ComputeBufferType.Constant 标志创建了 ComputeBuffer。
常量缓冲区的数据布局必须与 ComputeBuffer 中提供的数据完全匹配。
对于给定常量缓冲区,材质的所有不同着色器变体都必须是相同的常量缓冲区布局。
使用非 null ComputeBuffer 调用此函数后,如果 Material.SetFloat 等包含指向被覆盖常量缓冲区内的变量的参数名称,则对它们的任何调用均无效。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.