Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
Unity3d 从统一的资源中加载材质_Unity3d_Assets_Unityscript_Unity5 - Fatal编程技术网

Unity3d 从统一的资源中加载材质

Unity3d 从统一的资源中加载材质,unity3d,assets,unityscript,unity5,Unity3d,Assets,Unityscript,Unity5,在我的资产文件夹中,我有一个名为Material的文件夹,我在其中存储了所有需要的材料,材料文件夹中的一个材料是Night_Sky,我希望在游戏的某个时刻将其替换为day_Sky,并将Night_Sky设置为我的默认天空框。我尝试了许多代码,它们都返回空对象,例如: night = Resources.Load("Material", typeof(Material)) as Material; 或 如何加载我的Night_Sky资料,或者如果有更简单的方法将我的skybox切换到Night_

在我的资产文件夹中,我有一个名为Material的文件夹,我在其中存储了所有需要的材料,材料文件夹中的一个材料是
Night_Sky
,我希望在游戏的某个时刻将其替换为
day_Sky
,并将
Night_Sky
设置为我的默认天空框。我尝试了许多代码,它们都返回空对象,例如:

night = Resources.Load("Material", typeof(Material)) as Material;


如何加载我的
Night_Sky
资料,或者如果有更简单的方法将我的skybox切换到
Night_Sky
感谢您共享它

这将不能作为资源。加载要求您将对象放置在资源文件夹中。这些信息也可以在

要使其正常工作,您需要在Assets文件夹中创建一个名为Resources的文件夹。之后,您可以将材质文件夹添加到此文件夹。因此,文件夹结构如下所示

Assets/Resources/Materials/Night_Sky.mat
此外,加载材质的脚本看起来还不错

如果您确实不想使用resources文件夹,可以尝试使用System.IO文件夹搜索选项获取材料。但我建议您只使用内置资源功能

但是,当您使用
Resources.Load()
时,需要记住几件事。
路径
区分大小写,并要求您添加文件扩展名。因此,在上述示例中,这将导致:

myMaterial = Resources.Load("Materials/Night_Sky.mat"); 
Unity 5.0或> 如评论中所述。在unity 5.0或更高版本中,必须省略扩展。制作正确的语法


这对我不管用。我尝试了不同的方法,但加载材料从来都不起作用。还尝试了不同的目录以及有后缀和无后缀,但材料始终保持空。在inspector中的公共变量中设置材质没有问题。但我真的很想知道如何以编程方式加载它@亚历山大 如果它不工作,请确保以下事项区分大小写路径区分大小写<代码>铸造到类型,因为需要材料或类型(材料)<还需要添加代码>文件扩展名。要加载它,您必须从资源中强制转换路径,因此在上面的示例中,它将导致
myMaterial=Resources.load(“Materials/Night_Sky.mat”)你也可以看看我可以通过最后一条评论获得材料的答案
myMaterial=Resources.Load(“Materials/Night_Sky.mat”)非常感谢。。
myMaterial = Resources.Load("Materials/Night_Sky.mat"); 
myMaterial = Resources.Load("Materials/Night_Sky");