对于一个学校项目,我们正在开展一个将BIM模型加载到一起的项目。我们正在使用.ifc文件,我们暂时将其转换为.dae。我们创建了一个使用EditorUtility.OpenFilePanel
导入文件的脚本。我们正在使用IFCOpenshell的IFCConvert(命令行实用程序)。
这很顺利,资产显示在Assets文件夹中。现在唯一要做的就是将资产运行时导入层次结构 *,而不将其拖入场景或层次结构* 。
我们尝试使用WWW流来获取文件并为其分配AssetBundle以及其他一些方法,但还没有运气。
答案 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;那些。)