Unity 3D - 在运行后强制GI重新烘焙

时间:2016-01-10 17:50:28

标签: c# unity3d

我正在制作程序生成的艺术项目。这个想法是在运行之后,几个陶罐/花瓶是从车床/线和旋转脚本程序生成的。这些盆位于圆形平台上,相机围绕该平台旋转。

在摄像机视野前面生成盆。在摄像机视野通过后删除了盆。在任何给定时间,大约有30艘船。

正在更改脚本,以便在相机移动停止时大批量生成和删除。我想在此时强制Unity重新烘烤GI,但我无法弄清楚如何。

由于没有任何对象在移动,并且所有移动都会完全暂停(观看者不知道CPU被消耗),我想避免使用实时GI。 Baked GI将允许我使用区域灯和更昂贵的GI设置,但是需要考虑运行时生成的对象。

我希望这是有道理的。我不认为我以典型的方式使用Unity,因此没有很多关于此的文档。

此外,如果有人知道访问照明的脚本API - >对象 - >重要的GI [x]非常有用

我能够使用GameObjectUtility制作所有船只Lightmap Static,但它们需要是GI重要的(它们彼此重叠,彼此相互产生等等......并且它们具有略微镜面的材质)

1 个答案:

答案 0 :(得分:0)

最佳解决方案似乎是一个片段化的程序生成场景。这在introduction to Global Illumination中简要提到。

您可以查看5.3的场景​​管理器,它允许制作多个场景并将它们拼接在一起。如果你在这样的场景中烘焙,我想你可以按照自己的意愿将它们组合在一起。