提问:关于 Unity MaterialPropertyBlock 使用上的一些疑问
在利用 MaterialPropertyBlock 修改单个物体的材质时,许多教程都是这样做的:
Renderer render=transform.GetComponent<Render>();
MaterialPropertyBlock propertyBlock = new MaterialPropertyBlock();
renderer.GetPropertyBlock(propertyBlock);
propertyBlock.SetFloat("Brightness", 0.5f);
renderer.SetPropertyBlock(propertyBlock);
但是这里我有一个疑问:
为什么要先 GetPropertyBlock 再 SetPropertyBlock呢?
直接用 SetPropertyBlock 修改材质参数好像也可以。这里就不知道 GetPropertyBlock 的作用了。
有朋友能解答一下吗? 感激不尽!♥
相关推荐
VertexAnimationBaker_Muilt-Rows
Unity Vertex Animation Baker-Muilt-Rows 从这个项目修改: : 附加功能 烤的Muilt-Rows动画纹理。 添加填充像素以修复Muilt-Rows动画纹理“双线性”错误的像素采样。 使用MaterialPropertyBlock设置随机开始时间。 参考 资产来源 3D模型 动画
Renderer 使用材质分析:materials、sharedMaterials 及 MaterialPropertyBlock
Unity 开发时,在 C# 中通过 Renderer 取材质操作是非常常见的操作,Renderer 有两种常规获取材质的方式:.sharedMaterials 和 .materials,当然,除了 clone material instance 来做表现差异化,Unity 更希望你用 MaterialPropertyBlock,这个才是做材质表现差异化的正确路子
Unity中文脚本参考
Unity中文脚本参考。应经将其格式化好,可直接下载打印,绝对是对Unity学习的一手好资料。
ShaderLab开发实战详解代码(Unity5版)
将ShaderLab开发实战详解中的代码升级到的Unity5,在Unity5.3.5f1中亲测,运行完美
OpenBrushVR:在3d空间中为Vive,Tango和ARKit进行Unity VR和AR绘画
OpenBrushVR Open Brush是适用于Vive,Tango和Iphone的3D VR / AR绘画应用程序 它仍处于beta阶段,但进展遥遥无期,并且有一条明确的途径可以将其交付给秋季产品。 在此处查看一些视频。 安装说明:Tango和Vive应该仅通过切换到所需的平台并运行即可构建。 iOS:请确保启用应用程序,并使用xcode中的iTunes文件共享来允许obj导出。 待办事项:修复openvr不断切换到vr支持的模式的问题。 添加transform调用添加项目保存/加载Daydream / gearvr版本。 更新了UI /场景文件。 多人连接。 这里是我


