以编程方式导入层次结构Unity中的资产

时间:2016-04-26 15:31:18

标签: c# unity3d

对于一个学校项目,我们正在开展一个将BIM模型加载到一起的项目。我们正在使用.ifc文件,我们暂时将其转换为.dae。我们创建了一个使用EditorUtility.OpenFilePanel导入文件的脚本。我们正在使用IFCOpenshell的IFCConvert(命令行实用程序)。

这很顺利,资产显示在Assets文件夹中。现在唯一要做的就是将资产运行时导入层次结构 *,而不将其拖入场景或层次结构*

我们尝试使用WWW流来获取文件并为其分配AssetBundle以及其他一些方法,但还没有运气。

1 个答案:

答案 0 :(得分:6)

"现在唯一要做的就是将资产运行时导入层次结构"

除非我误解你:对于项目"项目" (例如,您的资产),如果您想将它们放在当前场景中..将它们拖入场景。

(即,将它们拖入Heirarchy面板或者直接拖到场景编辑器的中间。)

你是说你试图自动化这个? (我真的不知道你怎么可能 - 你添加的任何按钮都会比......拖动它们更难。)

如果您只是询问如何加载(在运行时)资源,请查看

Resources.LoadAll()

您将了解到您必须将这些项目保存在"资源/"文件夹等。这是有据可查的。该主题有1000多个QA。示例代码片段

ra = Resources.LoadAll("VO/", typeof(AudioClip) ).Cast<AudioClip>().ToArray();

提供关于&#34;资源&#34;的教程超出了QA网站的范围。但你可以在Unity3d.com上立即找到它。

请注意,如果非常简单,您只想在构建中使用特定模型。除此之外,将其拖动到场景并将其放置在您想要的位置。然后在代码中

  public GameObject yourBuilding;

并使用检查器拖动根据需要链接该变量。然后您可以根据需要使用该变量。请注意,对于大型复杂模型,通常您会继续使用不同部件的不同检查器变量,而不是费力去钻取。 (所以,你可能有#34;医院&#34;,&#34;东方&#34;&#34;走廊&#34; ...等等,然后继续&#34;督察 - 拖动&#34;那些。)