示例#1
0
    static int AddLightmap(string scenePath, string resourcePath, int originalLightmapIndex, Texture2D lightmap, Texture2D lightmap2)
    {
        int newIndex = -1;

        for (int i = 0; i < sceneLightmaps.Count; i++)
        {
            if (sceneLightmaps[i].originalLightmapIndex == originalLightmapIndex)
            {
                return(i);
            }
        }

        if (newIndex == -1)
        {
            var lightmap_Remap = new Texture2D_Remap();
            lightmap_Remap.originalLightmapIndex = originalLightmapIndex;
            lightmap_Remap.originalLightmap      = lightmap;

            var filename = scenePath + "Lightmap-" + originalLightmapIndex;

            lightmap_Remap.lightmap0 = GetLightmapAsset(filename + "_comp_light.exr", resourcePath + "_light", originalLightmapIndex, lightmap);
            if (lightmap2 != null)
            {
                lightmap_Remap.lightmap1 = GetLightmapAsset(filename + "_comp_dir.exr", resourcePath + "_dir", originalLightmapIndex, lightmap2);
            }

            sceneLightmaps.Add(lightmap_Remap);
            newIndex = sceneLightmaps.Count - 1;
        }

        return(newIndex);
    }
    static int AddLightmap(string scenePath, string resourcePath, int originalLightmapIndex, Texture2D lightmap, Texture2D lightmap2)
    {
        int newIndex = -1;

        for (int i = 0; i < sceneLightmaps.Count; i++)
        {
            if (sceneLightmaps[i].originalLightmapIndex == originalLightmapIndex)
            {
                return(i);
            }
        }

        if (newIndex == -1)
        {
            var lightmap_Remap = new Texture2D_Remap();
            lightmap_Remap.originalLightmapIndex = originalLightmapIndex;
            lightmap_Remap.originalLightmap      = lightmap;

            var filename = scenePath + "Lightmap-" + originalLightmapIndex;

            string path = FileUtil.GetProjectRelativePath(EditorUtility.SaveFilePanel("Lightmap Far Path",
                                                                                      LIGHTMAP_RESOURCE_PATH, SceneManager.GetActiveScene().name + "_light-" + originalLightmapIndex, "asset"));

            lightmap_Remap.lightmap = GetLightmapAsset(filename + "_comp_light.exr", path, lightmap);
            if (lightmap2 != null)
            {
                path = FileUtil.GetProjectRelativePath(EditorUtility.SaveFilePanel("Lightmap Near Path",
                                                                                   LIGHTMAP_RESOURCE_PATH, SceneManager.GetActiveScene().name + "_dir-" + originalLightmapIndex, "asset"));
                lightmap_Remap.lightmap2 = GetLightmapAsset(filename + "_comp_dir.exr", path, lightmap2);
            }

            sceneLightmaps.Add(lightmap_Remap);
            newIndex = sceneLightmaps.Count - 1;
        }

        return(newIndex);
    }