diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-11-06 15:12:42 -0500 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-11-06 15:12:42 -0500 |
commit | eb84bb298d2b95aec7b2ae12cbf25ac64f25379a (patch) | |
tree | efd616a157df06ab661c6d56651853431ac6b08b /VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs | |
download | unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.gz unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.bz2 unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.zip |
move to self host
Diffstat (limited to '')
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs | 506 | ||||
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs.meta | 12 |
2 files changed, 518 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs b/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs new file mode 100644 index 00000000..2761b216 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs @@ -0,0 +1,506 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +[ExecuteInEditMode] +public class ftLightmapsStorage : MonoBehaviour{ + +#if UNITY_EDITOR + [System.Serializable] + public class LightData + { + public Matrix4x4 tform; + public Color color; + public float intensity, range, radius; + public int samples, samples2; + public int bitmask; + public bool bakeToIndirect; + public bool selfShadow = false; + public bool realisticFalloff = false; + public int projMode; + public Object cookie; + public float angle = 30.0f; + } + + public class ImplicitLightmapData + { + public Dictionary<GameObject, Object> implicitGroupMap = null; + } + + // Saved render settings + public int renderSettingsBounces = 5; + public int renderSettingsGISamples = 16; + public float renderSettingsGIBackFaceWeight = 0; + public int renderSettingsTileSize = 512; + public float renderSettingsPriority = 2; + public float renderSettingsTexelsPerUnit = 20; + public bool renderSettingsForceRefresh = true; + public bool renderSettingsForceRebuildGeometry = true; + public bool renderSettingsPerformRendering = true; + public int renderSettingsUserRenderMode = 0; + public bool renderSettingsDistanceShadowmask = false; + public int renderSettingsSettingsMode = 0; + public bool renderSettingsFixSeams = true; + public bool renderSettingsDenoise = true; + public bool renderSettingsDenoise2x = false; + public bool renderSettingsEncode = true; + public int renderSettingsEncodeMode = 0; + public bool renderSettingsOverwriteWarning = false; + public bool renderSettingsAutoAtlas = true; + public bool renderSettingsUnwrapUVs = true; + public bool renderSettingsForceDisableUnwrapUVs = false; + public int renderSettingsMaxAutoResolution = 4096; + public int renderSettingsMinAutoResolution = 16; + public bool renderSettingsUnloadScenes = true; + public bool renderSettingsAdjustSamples = true; + public int renderSettingsGILODMode = 2; + public bool renderSettingsGILODModeEnabled = false; + public bool renderSettingsCheckOverlaps = false; + public bool renderSettingsSkipOutOfBoundsUVs = true; + public float renderSettingsHackEmissiveBoost = 1; + public float renderSettingsHackIndirectBoost = 1; + public string renderSettingsTempPath = ""; + public string renderSettingsOutPath = ""; + public bool renderSettingsUseScenePath = false; + public float renderSettingsHackAOIntensity = 0; + public int renderSettingsHackAOSamples = 16; + public float renderSettingsHackAORadius = 1; + public bool renderSettingsShowAOSettings = false; + public bool renderSettingsShowTasks = true; + public bool renderSettingsShowTasks2 = false; + public bool renderSettingsShowPaths = true; + public bool renderSettingsShowNet = true; + public bool renderSettingsOcclusionProbes = false; + public bool renderSettingsTexelsPerMap = false; + public float renderSettingsTexelsColor = 1; + public float renderSettingsTexelsMask = 1; + public float renderSettingsTexelsDir = 1; + public bool renderSettingsShowDirWarning = true; + public int renderSettingsRenderDirMode = 0; + public bool renderSettingsShowCheckerSettings = false; + public bool renderSettingsSamplesWarning = true; + public bool renderSettingsPrefabWarning = true; + public bool renderSettingsSplitByScene = false; + public bool renderSettingsUVPaddingMax = false; + public bool renderSettingsPostPacking = true; + public bool renderSettingsHoleFilling = false; + public bool renderSettingsBeepOnFinish = false; + public bool renderSettingsExportTerrainAsHeightmap = true; + public bool renderSettingsRTXMode = false; + public int renderSettingsLightProbeMode = 1; + public bool renderSettingsClientMode = false; + public string renderSettingsServerAddress = "127.0.0.1"; + public int renderSettingsUnwrapper = 0; + public int renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.OpenImageDenoise; + public bool renderSettingsExportTerrainTrees = false; + public bool renderSettingsShowPerf = true; + public int renderSettingsSampleDiv = 1; + public ftGlobalStorage.AtlasPacker renderSettingsAtlasPacker = ftGlobalStorage.AtlasPacker.xatlas; + public bool renderSettingsBatchPoints = true; + public bool renderSettingsCompressVolumes = false; + public UnityEngine.Object renderSettingsSector = null; + public bool renderSettingsRTPVExport = true; + public bool renderSettingsRTPVSceneView = false; + public int renderSettingsRTPVWidth = 640; + public int renderSettingsRTPVHeight = 360; + public int lastBakeTime = 0; + + public bool enlightenWarningShown = false; + public bool enlightenWarningShown2 = false; + + // Light settings from the last bake + public List<int> lightUIDs = new List<int>(); + public List<LightData> lights = new List<LightData>(); + public Dictionary<int, LightData> lightsDict; + + // List of implicit groups + //public List<BakeryLightmapGroup> implicitGroups = new List<BakeryLightmapGroup>(); + public List<Object> implicitGroups = new List<Object>(); + public List<GameObject> implicitGroupedObjects; + + //public List<BakeryLightmapGroupPlain> previouslyBakedGroups = new List<BakeryLightmapGroupPlain>(); + + // List of baked lightmap world-space bounds + public List<Bounds> bounds = new List<Bounds>(); + + // Per-lightmap flags + public List<bool> hasEmissive = new List<bool>(); + + //public float[][] uvSrc; + //public float[][] uvDest; + //public int[][] lmrIndices; + public int[] uvBuffOffsets; + public int[] uvBuffLengths; + public float[] uvSrcBuff; + public float[] uvDestBuff; + public int[] lmrIndicesOffsets; + public int[] lmrIndicesLengths; + public int[] lmrIndicesBuff; + + public int[] lmGroupLODResFlags; // bits which lods are needed for which LMGroups + public int[] lmGroupMinLOD; // minimum possible resolution for given LMGroup given UV island count + public int[] lmGroupLODMatrix; + + // Reuired for network bakes + public List<string> serverGetFileList = new List<string>(); + public List<bool> lightmapHasColor = new List<bool>(); + public List<bool> lightmapHasMask = new List<bool>(); + public List<bool> lightmapHasDir = new List<bool>(); + public List<bool> lightmapHasRNM = new List<bool>(); + + // Partial copy of GlobalStorage to recover UV padding if needed + public List<string> modifiedAssetPathList = new List<string>(); + public List<ftGlobalStorage.AdjustedMesh> modifiedAssets = new List<ftGlobalStorage.AdjustedMesh>(); + + //public Texture2D debugTex; + //public RenderTexture debugRT; + + public void Init(bool forceRefresh) + { + lightsDict = new Dictionary<int, LightData>(); + if (forceRefresh) + { + lights = new List<LightData>(); + lightUIDs = new List<int>(); + } + else + { + for(int i=0; i<lights.Count; i++) + { + lightsDict[lightUIDs[i]] = lights[i]; + } + } + } + + public void StoreLight(int uid, LightData light) + { + lightUIDs.Add(uid); + lights.Add(light); + } + + public static void CopySettings(ftLightmapsStorage src, ftLightmapsStorage dest) + { + dest.renderSettingsBounces = src.renderSettingsBounces; + dest.renderSettingsGISamples = src.renderSettingsGISamples; + dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; + dest.renderSettingsTileSize = src.renderSettingsTileSize; + dest.renderSettingsPriority = src.renderSettingsPriority; + dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; + dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; + dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; + dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; + dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; + dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; + dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; + dest.renderSettingsFixSeams = src.renderSettingsFixSeams; + dest.renderSettingsDenoise = src.renderSettingsDenoise; + dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; + dest.renderSettingsEncode = src.renderSettingsEncode; + dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; + dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; + dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; + dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; + dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; + dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; + dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; + dest.renderSettingsGILODMode = src.renderSettingsGILODMode; + dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; + dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; + dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; + dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; + dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; + dest.renderSettingsTempPath = src.renderSettingsTempPath; + dest.renderSettingsOutPath = src.renderSettingsOutPath; + dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; + dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; + dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; + dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; + dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; + dest.renderSettingsShowTasks = src.renderSettingsShowTasks; + dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; + dest.renderSettingsShowPaths = src.renderSettingsShowPaths; + dest.renderSettingsShowNet = src.renderSettingsShowNet; + dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; + dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; + dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; + dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; + dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; + dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; + dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; + dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; + dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; + dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; + dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; + dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; + dest.renderSettingsPostPacking = src.renderSettingsPostPacking; + dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; + dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; + dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; + dest.renderSettingsRTXMode = src.renderSettingsRTXMode; + dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; + dest.renderSettingsClientMode = src.renderSettingsClientMode; + dest.renderSettingsServerAddress = src.renderSettingsServerAddress; + dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; + dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; + dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; + dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; + dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; + dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; + dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; + dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; + dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; + dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; + dest.renderSettingsShowPerf = src.renderSettingsShowPerf; + } + + public static void CopySettings(ftLightmapsStorage src, ftGlobalStorage dest) + { + dest.renderSettingsBounces = src.renderSettingsBounces; + dest.renderSettingsGISamples = src.renderSettingsGISamples; + dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; + dest.renderSettingsTileSize = src.renderSettingsTileSize; + dest.renderSettingsPriority = src.renderSettingsPriority; + dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; + dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; + dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; + dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; + dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; + dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; + dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; + dest.renderSettingsFixSeams = src.renderSettingsFixSeams; + dest.renderSettingsDenoise = src.renderSettingsDenoise; + dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; + dest.renderSettingsEncode = src.renderSettingsEncode; + dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; + dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; + dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; + dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; + dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; + dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; + dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; + dest.renderSettingsGILODMode = src.renderSettingsGILODMode; + dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; + dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; + dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; + dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; + dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; + dest.renderSettingsTempPath = src.renderSettingsTempPath; + dest.renderSettingsOutPath = src.renderSettingsOutPath; + dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; + dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; + dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; + dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; + dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; + dest.renderSettingsShowTasks = src.renderSettingsShowTasks; + dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; + dest.renderSettingsShowPaths = src.renderSettingsShowPaths; + dest.renderSettingsShowNet = src.renderSettingsShowNet; + dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; + dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; + dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; + dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; + dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; + dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; + dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; + dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; + dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; + dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; + dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; + dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; + dest.renderSettingsPostPacking = src.renderSettingsPostPacking; + dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; + dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; + dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; + dest.renderSettingsRTXMode = src.renderSettingsRTXMode; + dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; + dest.renderSettingsClientMode = src.renderSettingsClientMode; + dest.renderSettingsServerAddress = src.renderSettingsServerAddress; + dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; + dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; + dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; + dest.renderSettingsShowPerf = src.renderSettingsShowPerf; + dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; + dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; + dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; + dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; + dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; + dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; + dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; + dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + } + + public static void CopySettings(ftGlobalStorage src, ftLightmapsStorage dest) + { + dest.renderSettingsBounces = src.renderSettingsBounces; + dest.renderSettingsGISamples = src.renderSettingsGISamples; + dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; + dest.renderSettingsTileSize = src.renderSettingsTileSize; + dest.renderSettingsPriority = src.renderSettingsPriority; + dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; + dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; + dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; + dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; + dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; + dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; + dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; + dest.renderSettingsFixSeams = src.renderSettingsFixSeams; + dest.renderSettingsDenoise = src.renderSettingsDenoise; + dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; + dest.renderSettingsEncode = src.renderSettingsEncode; + dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; + dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; + dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; + dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; + dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; + dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; + dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; + dest.renderSettingsGILODMode = src.renderSettingsGILODMode; + dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; + dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; + dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; + dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; + dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; + dest.renderSettingsTempPath = src.renderSettingsTempPath; + dest.renderSettingsOutPath = src.renderSettingsOutPath; + dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; + dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; + dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; + dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; + dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; + dest.renderSettingsShowTasks = src.renderSettingsShowTasks; + dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; + dest.renderSettingsShowPaths = src.renderSettingsShowPaths; + dest.renderSettingsShowNet = src.renderSettingsShowNet; + dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; + dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; + dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; + dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; + dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; + dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; + dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; + dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; + dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; + dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; + dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; + dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; + dest.renderSettingsPostPacking = src.renderSettingsPostPacking; + dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; + dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; + dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; + dest.renderSettingsRTXMode = src.renderSettingsRTXMode; + dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; + dest.renderSettingsClientMode = src.renderSettingsClientMode; + dest.renderSettingsServerAddress = src.renderSettingsServerAddress; + dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; + dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; + dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; + dest.renderSettingsShowPerf = src.renderSettingsShowPerf; + dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; + dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; + dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; + dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; + dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; + dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; + dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; + dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; + dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; + } +#endif + + // List of baked lightmaps + public List<Texture2D> maps = new List<Texture2D>(); + public List<Texture2D> masks = new List<Texture2D>(); + public List<Texture2D> dirMaps = new List<Texture2D>(); + public List<Texture2D> rnmMaps0 = new List<Texture2D>(); + public List<Texture2D> rnmMaps1 = new List<Texture2D>(); + public List<Texture2D> rnmMaps2 = new List<Texture2D>(); + public List<int> mapsMode = new List<int>(); + + // new props + public List<Renderer> bakedRenderers = new List<Renderer>(); + public List<int> bakedIDs = new List<int>(); + public List<Vector4> bakedScaleOffset = new List<Vector4>(); +#if UNITY_EDITOR + public List<int> bakedVertexOffset = new List<int>(); +#endif + public List<Mesh> bakedVertexColorMesh = new List<Mesh>(); + + public List<Renderer> nonBakedRenderers = new List<Renderer>(); + + public List<Light> bakedLights = new List<Light>(); + public List<int> bakedLightChannels = new List<int>(); + + public List<Terrain> bakedRenderersTerrain = new List<Terrain>(); + public List<int> bakedIDsTerrain = new List<int>(); + public List<Vector4> bakedScaleOffsetTerrain = new List<Vector4>(); + + public List<string> assetList = new List<string>(); + public List<int> uvOverlapAssetList = new List<int>(); // -1 = no UV1, 0 = no overlap, 1 = overlap + + public int[] idremap; + + public bool usesRealtimeGI; + + public Texture2D emptyDirectionTex; + + public bool anyVolumes = false; + public bool compressedVolumes = false; + +#if UNITY_EDITOR + [System.Serializable] + public class SectorData + { + public string name; + + public List<Texture2D> maps = new List<Texture2D>(); + public List<Texture2D> masks = new List<Texture2D>(); + public List<Texture2D> dirMaps = new List<Texture2D>(); + public List<Texture2D> rnmMaps0 = new List<Texture2D>(); + public List<Texture2D> rnmMaps1 = new List<Texture2D>(); + public List<Texture2D> rnmMaps2 = new List<Texture2D>(); + public List<int> mapsMode = new List<int>(); + + public List<Renderer> bakedRenderers = new List<Renderer>(); + public List<Terrain> bakedRenderersTerrain = new List<Terrain>(); + public List<int> bakedIDs = new List<int>(); + public List<int> bakedIDsTerrain = new List<int>(); + public List<Vector4> bakedScaleOffset = new List<Vector4>(); + public List<Vector4> bakedScaleOffsetTerrain = new List<Vector4>(); + public List<Mesh> bakedVertexColorMesh = new List<Mesh>(); + + public List<Renderer> nonBakedRenderers = new List<Renderer>(); + } + + public List<SectorData> sectors = new List<SectorData>(); +#endif + + void Awake() + { + ftLightmaps.RefreshScene(gameObject.scene, this); + } + + void Start() + { + // Unity can for some reason alter lightmapIndex after the scene is loaded in a multi-scene setup, so fix that + ftLightmaps.RefreshScene2(gameObject.scene, this);//, appendOffset); + } + + void OnDestroy() + { + ftLightmaps.UnloadScene(this); + } +} diff --git a/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs.meta b/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs.meta new file mode 100644 index 00000000..7aa162c3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftLightmapsStorage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b7fa80e7116296f4eb4f49ec1544ee22 +timeCreated: 1533932932 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |