Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么在编辑模式下调用renderer.material导致实例化材质时出现异常?_C#_Unity3d - Fatal编程技术网

C# 为什么在编辑模式下调用renderer.material导致实例化材质时出现异常?

C# 为什么在编辑模式下调用renderer.material导致实例化材质时出现异常?,c#,unity3d,C#,Unity3d,在EditorWindow脚本类型中: 在该方法中: 公共静态数据 { 对于int i=0;i

在EditorWindow脚本类型中:

在该方法中:

公共静态数据 { 对于int i=0;ipropertyVals[i][j]=properties[i][j].GetValuecomponents[i],null;//这是一条警告消息,一点也不例外

执行var mat=renderer.material时,将实例化新材质并替换渲染器的“材质”属性,此机制的目的是防止意外更改其他渲染器的材质

由于实例化的材质不是资源,因此在编辑器脚本中获取材质属性时,该材质将无法正确保存


如果希望编辑器脚本正常运行,请避免获取诸如Renderer.material、Renderer.materials、MeshFilter.mesh等属性…

我已经理解了这一点,但我不知道它在脚本中的什么位置?这一行中的什么位置propertyVals[I][j]=properties[I][j]。GetValuecomponents[I],null;我正在进行任何实例化?正如异常所说,我应该使用sharedMaterial,但不确定在脚本中的位置和方式。我也想在编辑器模式下使用它,但我不知道在哪里以及如何处理它。在我看来,这似乎是异常,因为在编辑器中有一个红色符号,而不是黄色符号。你知道这是什么吗ertyInfo.GetValue?当您访问Renderer.material时,将实例化该材质。实际上,从未阅读过有关该材质的文档。现在尝试用谷歌搜索,但没有文档。为什么不使用?