尝试使用 SceneKit 烘焙光照贴图时出错
Posted
技术标签:
【中文标题】尝试使用 SceneKit 烘焙光照贴图时出错【英文标题】:Error when trying to bake light map using SceneKit 【发布时间】:2019-04-04 10:32:18 【问题描述】:我有一个.dae
模型,转换为.scn
场景。我添加了一个静态光源。但是当我尝试将光照贴图烘焙到纹理时,我收到错误消息:
烘焙光照贴图时出错。无法为网格烘焙光照贴图 […]
任何想法可能导致这种情况?顶点数会不会太高?
【问题讨论】:
安装Xcode 10.1,Xcode10.0可能有bug @ARGeo 是的,我之前安装了它。不幸的是,它没有解决这个问题。 那么,你的密码是什么? @ARGeo 尚未使用任何代码。这是通过 SceneKit 编辑器 gui 实现的。我所做的只是导入 .dae 文件,添加漫反射和粗糙度纹理,添加静态光源,然后按“烘焙”按钮将光照贴图烘焙到纹理。然后出现错误。 【参考方案1】:我在 Xcode 10 中尝试过多次烘焙,我可以说如果你的几何图形很好,它就可以正常工作。我成功地为具有 300K 多边形的模型烘焙了 2Kx2K 纹理。
当您的 .dae
几何存在以下问题之一时,可能会发生错误:
非平面
四边以上的面
椎板面
非流形几何
长度为零的边
几何面积为零的面
地图区域为零的面孔
凹面
带孔的面
解决方案:在将模型导出到 .dae
之前,在 3D 创作应用程序中清理模型。
例如,在Autodesk Maya 中,此选项可通过主菜单Mesh
> Cleanup
访问。
希望这会有所帮助。
【讨论】:
谢谢!就是这样。问题是网格没有三角化。现在可以了!奇怪的是 Xcode 在导入时没有这样做,或者有更好的错误消息。 很高兴能帮上忙。以上是关于尝试使用 SceneKit 烘焙光照贴图时出错的主要内容,如果未能解决你的问题,请参考以下文章
Unity基础(四)渲染烘焙Lightmap光照贴图(未完)