以下unity3d的C#代码是什么意思?
voidStartEditor(){if(!matLoaded){back.renderer.sharedMaterial=newMaterial(back.render...
void StartEditor()
{
if (!matLoaded)
{
back.renderer.sharedMaterial = new Material(back.renderer.sharedMaterial);
lines.renderer.sharedMaterial = new Material(lines.renderer.sharedMaterial);
matLoaded = true;
}
} 展开
{
if (!matLoaded)
{
back.renderer.sharedMaterial = new Material(back.renderer.sharedMaterial);
lines.renderer.sharedMaterial = new Material(lines.renderer.sharedMaterial);
matLoaded = true;
}
} 展开
展开全部
back.renderer.sharedMaterial = new Material(back.renderer.sharedMaterial);
根据Material的构造函数来说, new Material(back.renderer.sharedMaterial)是复制了自己原来的材质的shader而新建一个材质,这样做的目的恐怕是在后面的操作中需要更改这个back中的材质,而这个材质是共用的改变了其他共用这个材质的物体也会改变,而新建一个可以获得一个样的材质,而且更改了不会改变其他的材质。
根据Material的构造函数来说, new Material(back.renderer.sharedMaterial)是复制了自己原来的材质的shader而新建一个材质,这样做的目的恐怕是在后面的操作中需要更改这个back中的材质,而这个材质是共用的改变了其他共用这个材质的物体也会改变,而新建一个可以获得一个样的材质,而且更改了不会改变其他的材质。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询