Search Unity

Bakery - GPU Lightmapper (v1.96) + RTPreview [RELEASED]

Discussion in 'Assets and Asset Store' started by guycalledfrank, Jun 14, 2018.

  1. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
    I have some 200 + skybox set up already for 6 sided
     
    atomicjoe likes this.
  2. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    You can create a cubemap asset out of 6 textures though, right?

    Ah I see. Well it's not too hard to add. Bakery skybox shader is extremely simple. Will try today.
     
  3. andrewc

    andrewc

    Joined:
    Aug 20, 2008
    Posts:
    180
    Hello,

    I ran into an issue using IES files. There seems to be some kinda weird cut off with the direct lighting from the IES light. Full disclosure, this IES file is not that bright and I have the intensity pretty far up. Seems like some rounding error but this IES file works fine in Turtle so I think it should work. I also don't think it's compression because I can see the cutoff, even if the light is way brighter. Let me know if you have any idea what's up, I can send you the actual IES file to test if that would be helpful.

    Thank You

    Capture2.PNG

    Capture3 copy.png
     
  4. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
    thank you
     
  5. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Interesting - haven't seen this problem before. Yes, please send the file, that would help :)
     
  6. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
    so I briefly viewed thru for any info about crunch compression and light maps, found a few discussions on this topic. could I recommend you add something in manual for best practice for project performance after baking, also I understand your working hard to get this next update out not even certain if this subject is out of scope for this chat but adding a experiential option to auto compress light maps to crunch could be something .


    using UnityEditor;
    using UnityEngine;
    using System.Collections;
    using System.Linq;
    public class TextureCruncher : EditorWindow
    {
    #region Variables
    int compressionQuality = 75;
    int processingSpeed = 10;
    IEnumerator jobRoutine;
    IEnumerator messageRoutine;
    float progressCount = 0f;
    float totalCount = 1f;
    #endregion
    #region Properties
    float NormalizedProgress
    {
    get { return progressCount / totalCount; }
    }
    float Progress
    {
    get { return progressCount / totalCount * 100f; }
    }
    string FormattedProgress
    {
    get { return Progress.ToString ("0.00") + "%"; }
    }
    #endregion
    #region Script Lifecylce
    [MenuItem("Window/Texture Cruncher")]
    static void Init()
    {
    var window = (TextureCruncher)EditorWindow.GetWindow (typeof (TextureCruncher));
    window.Show();
    }
    public void OnInspectorUpdate()
    {
    Repaint();
    }
    void OnGUI ()
    {
    EditorGUILayout.LabelField ("Texture Cruncher", EditorStyles.boldLabel);
    compressionQuality = EditorGUILayout.IntSlider ("Compression quality:", compressionQuality, 0, 100);
    processingSpeed = EditorGUILayout.IntSlider ("Processing speed:", processingSpeed, 1, 20);
    string buttonLabel = jobRoutine != null ? "Cancel" : "Begin";
    if (GUILayout.Button (buttonLabel))
    {
    if (jobRoutine != null)
    {
    messageRoutine = DisplayMessage ("Cancelled. "+FormattedProgress+" complete!", 4f);
    jobRoutine = null;
    }
    else
    {
    jobRoutine = CrunchTextures();
    }
    }
    if (jobRoutine != null)
    {
    EditorGUILayout.BeginHorizontal();
    EditorGUILayout.PrefixLabel (FormattedProgress);
    var rect = EditorGUILayout.GetControlRect ();
    rect.width = rect.width * NormalizedProgress;
    GUI.Box (rect, GUIContent.none);
    EditorGUILayout.EndHorizontal();
    }
    else if (!string.IsNullOrEmpty (_message))
    {
    EditorGUILayout.HelpBox (_message, MessageType.None);
    }
    }
    void OnEnable ()
    {
    EditorApplication.update += HandleCallbackFunction;
    }
    void HandleCallbackFunction ()
    {
    if (jobRoutine != null && !jobRoutine.MoveNext())
    jobRoutine = null;

    if (messageRoutine != null && !messageRoutine.MoveNext())
    messageRoutine = null;
    }
    void OnDisable ()
    {
    EditorApplication.update -= HandleCallbackFunction;
    }
    #endregion
    #region Logic
    string _message = null;
    IEnumerator DisplayMessage (string message, float duration = 0f)
    {
    if (duration <= 0f || string.IsNullOrEmpty (message))
    goto Exit;
    _message = message;
    while (duration > 0)
    {
    duration -= 0.01667f;
    yield return null;
    }
    Exit:
    _message = string.Empty;
    }
    IEnumerator CrunchTextures()
    {
    DisplayMessage (string.Empty);
    var assets = AssetDatabase.FindAssets ("t:texture", null).Select (o => AssetImporter.GetAtPath (AssetDatabase.GUIDToAssetPath(o)) as TextureImporter);
    var eligibleAssets = assets.Where (o => o != null).Where (o => o.compressionQuality != compressionQuality || !o.crunchedCompression);
    totalCount = (float)eligibleAssets.Count();
    progressCount = 0f;
    int quality = compressionQuality;
    int limiter = processingSpeed;
    foreach (var textureImporter in eligibleAssets)
    {
    progressCount += 1f;
    textureImporter.compressionQuality = quality;
    textureImporter.crunchedCompression = true;
    AssetDatabase.ImportAsset(textureImporter.assetPath);

    limiter -= 1;
    if (limiter <= 0)
    {
    yield return null;
    limiter = processingSpeed;
    }
    }

    messageRoutine = DisplayMessage ("Crunching complete!", 6f);
    jobRoutine = null;
    }
    #endregion
    }
     
    guycalledfrank likes this.
  7. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
     
  8. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Crunch ONLY reduces the SIZE of the texture ON DISK.
    It doesn't gain performance. In fact, it makes textures harder to read from disk and it lowers quality without any gains in realtime (the texture size in memory will be the same with or without crunch, but the quality will be lower with crunch)

    If you really want to crunch your textures, you can easily do so by writing your own AssetPostprocessor script.
    That's what I do for everything: setting textures max sizes, compression per platform, setting mipmap bias...

    Also, if you want to post code, use the "insert code" function on the toolbar of the textbox. It makes it way easier to read :)
     
    guycalledfrank likes this.
  9. andrewc

    andrewc

    Joined:
    Aug 20, 2008
    Posts:
    180
    Here you go. Thanks
     

    Attached Files:

    guycalledfrank likes this.
  10. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    will the new lightprobe system make working with lightmapped prefabs (with probes) possible? This is the biggest hurdle for procedural generated environments on mobile for me.
     
  11. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59
    Hello, anyone know how to solve
    "
    Error (-1): Unknown error (Details: Function "_rtContextLaunch2D" caught exception: Encountered a CUDA error: cudaDriver().CuMemcpyDtoHAsync( dstHost, srcDevice, byteCount, hStream.get() ) returned (719): Launch failed)
    "
    ?
     

    Attached Files:

  12. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    That's the plan!

    Seems like you crashed on a point light? How many samples was it using?
     
    Mark_01 and atomicjoe like this.
  13. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59
    I tried to modify TDR to 60s. Then it crash while saying:

    Error (-1): Unknown error (Details: Function "_rtContextLaunch2D" caught exception: Encountered a CUDA error: cudaDriver().CuMemcpyDtoHAsync( dstHost, srcDevice, byteCount, hStream.get() ) returned (999): Unknown)

    samples are 8.
     
  14. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59
    even I turned off all point lights, still it crashes saying 719. I'll try remove some objects.
     
  15. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Thanks! Found the problem. Please try this patch: https://drive.google.com/open?id=1_CcIxjDh0AVIicH1BDPWYj4Fvh6Fv60l

    So I did the shader part, however I'm not sure how exactly were you intending to use it?
    Reason behind the original Bakery Skybox shader is that it supports arbitrary 3D rotation synchronized with Skylight object. Also the brightness is in simple linear units.
    Skylight component takes a cubemap as input and can transform current skybox shader into Bakery shader with the same cubemap. However, with a 6-sided shader there is no direct match between the shader and the component.
    Lightmapper doesn't really use the shader, it only cares about the Skylight component data. Shader is just to make baked/realtime rendering match.

    Yeah... 8 samples is not a problem. There must be something weird in the geometry.
     
  16. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
    So I did the shader part, however I'm not sure how exactly were you intending to use it?



    Yes basically I am early in the project and my roadmap has been changing as I am learning more every day as what works best, I am open to your suggestions and can change. the only reason I looked at the 6 sided method is I have copy of the skyforge assets that's already set up with some 200+ 6 sided texture maps and I found most skybox assets from the store are set up the same way. however I do realize the easiest path is not always the best

    Current Build
    Skybox 6 sided: its a dark night scene to match with below using a little haze green and blue glow
    Moon sphere: directional light / skylight / lens flare moon glow ignoring transparentFX and raycast
    Stars: Particle system with star dome sphere
    Northern Lights: using Norther lights pack from asset store
    Clouds: not added yet
     
    guycalledfrank likes this.
  17. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
    Note this project is for Use in VRchat so I pay a lot of attention to the project size on disk to support this
     
  18. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Ah, I see. Are you going to use ALL 200 skyboxes though? Or are you just trying different options and will stick with one in the end?
    Based on your build I feel like baking skybox + northern lights + future clouds into a single cubemap and then using it as Skylight is the best option. You can just create an empty scene with just the sky (all its elements), put a Reflection Probe in, bake it and use the resulting cubemap :)
     
  19. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437

    for the other boxes i was only thinking forward for future use that's all. Trying different options at this point, I just looked into converting the 6 sided to cubed. tested using Legacy Cubemap Assets and a online tool I found https://www.360toolkit.co/convert-cubemap-to-spherical-equirectangular.html . However I could not get close to the quality as the original 6 sided . I will try your recommendation today and rinse repeat as needed

    I see you suggest baking the particle systems, is this something that is support yet ? (Running in Unity 2017.4.15f LTS I also see on your roadmap "Can be used for particle/fog lighting in custom shaders" could you give a reference document I can study or just wait for the next update
     
    Last edited: Jan 21, 2019
  20. andrewc

    andrewc

    Joined:
    Aug 20, 2008
    Posts:
    180
  21. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    You totally don't need to convert faces to equirectangular. Cubemap is just an array of six faces anyway - just stored in a way GPU can look up faster. Rendering a reflection probe from a skybox-only scene will essentially produce a full-quality cubemap asset, given you use identical resolution.

    I only mean rendering them into reflection probes. Reflection probes are rendered by the engine. Whatever Unity camera can see, can be baked into a probe.

    That was about the new light probe system - which is not done yet and not related.
     
  22. Firewalker

    Firewalker

    Joined:
    Mar 30, 2012
    Posts:
    39
    Only if you are not using post rendering on that camera. If you are, then you need to render into cubemap from runtime.
     
  23. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437
     
  24. DEEnvironment

    DEEnvironment

    Joined:
    Dec 30, 2018
    Posts:
    437

    Perfecto , thank you so much It working smoothly
     
    guycalledfrank likes this.
  25. andrewc

    andrewc

    Joined:
    Aug 20, 2008
    Posts:
    180
    guycalledfrank likes this.
  26. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Hey Frank, I'm losing count on all the little patches for Bakery. How is that update going?
    At this rate, you will be releasing Bakery 3.0 when you do! :D
     
  27. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Last edited: Jan 23, 2019
    atomicjoe and maart like this.
  28. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    As long as I can use prefabs to construct a scene and lightmap the scene as a whole, I'm good. :p
    I mean, I use prefabs as building blocks: the same prefab can be used several times in the scene and will be lightmaped differently for every instance (since each position is different).
    I don't "need" to store lightmaps "inside" the prefab for my current project. Although it could be useful for other use cases.
     
  29. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    This will always work. But some find it useful to store it inside prefabs and then clone it together with lightmaps - there are enough developers using that to convince me to implement the Lightmapped Prefab component.
     
  30. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    maart, DEEnvironment and Mark_01 like this.
  31. ArtR

    ArtR

    Joined:
    Sep 27, 2011
    Posts:
    48
    Hi guycalledfrank (or anyone else in the forum who might know a solution)... what would be a good way to blend between sets of bakery lightmaps.. for changing lighting conditions such as night to day, etc? I assume there are many ways to do this, but I'd like to know what you'd do, since it's probably the smartest way to go about it.

    Thanks!

    R.
     
  32. maart

    maart

    Joined:
    Aug 3, 2010
    Posts:
    82
    Yes to nested prefabs. This is going to be big in unity.

    Is there a github for all the (bundled) patches available before the update will be available?

    I would also love to hear from someone who allready experimented with blending lightmaps.

    You do an AMAZING job at helping everyone out on the forum with answering questions and updating your software. Still I think you will benefit from a more extensive manual. Also a good tutorial video with additional information on do's and don'ts will be helpful. A good promotional video could help you a lot with selling bakary. At the moment you have to buy the software to check out the results. When you can see that results are actually better than unity's internal baking opp's and at a fraction of the rendering time, the use of baked prefabs... If you got compatible hardware it's a no brainer.
     
    atomicjoe and ArtR like this.
  33. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Finally fixed it. And also that bug where you could get a Win32Exception if your project name had an apostrophe in it :D

    You would need to write a shader that would sample 2 different lightmaps and interpolate. I would use MaterialPropertyBlock to set all the maps per-renderer.

    No. Not sure if it's worth putting it there without proper testing. Every public release is heavily tested and even after that I still get bug reports. Any fix or (especially) a new feature can potentially introduce more bugs. If everyone would use untested mid-dev versions, hell would break loose.

    Thanks. Video and manuals: yes... I agree we need more of them. I'll see what I can do about it.
     
    maart, Mark_01 and ArtR like this.
  34. ArtR

    ArtR

    Joined:
    Sep 27, 2011
    Posts:
    48
    Thank you! I will look into this!
     
  35. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    edit: removed the animated gif. I don't want to cause seizures to people... :p
     
    Last edited: Jan 23, 2019
    maart likes this.
  36. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Actually, now that I think of it, this feature would be VERY useful to bake 3D elements that need to move like moving platforms.
    A feature that would make this even more useful would be a button to bake ONLY ambient occlusion. This way we could bake AO for the prefabs and use lightprobes on them as they move through the level.
     
    guycalledfrank likes this.
  37. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
    Also, is skinnedmesh baking support on the next update?
     
  38. hrgchris

    hrgchris

    Joined:
    Oct 26, 2016
    Posts:
    19
    Hi there. I have a slightly unusual scenario due to the nature of the way our game is built. We create unity scenes as you might expect, however these are then uploaded in pieces to the server. The idea is, they are then downloaded in pieces at run time, into a different scene.

    I can easily run the baking process on the unity scene at edit time, however I'd like to then:
    - extract/upload the generated lightmaps
    - download and assign the lightmaps to the objects as they appear at run time

    Could you advise on how I might approach this. It seems theoretically possible, as it's a similar problem you've solved with lightmapped prefabs - taking a set of lightmap textures and applying them to a specific set of instantiated objects.

    Thanks

    Chris
     
  39. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59
    Cuda
    Still debugging the cuda crash problem, I start to wonder if my GPU's drivers version is solid.
    Do you have a recommended version ? I'm using the latest 417.
     
  40. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59
    BTW, is there a way to install a stable version of cuda separately?
     
  41. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Not yet. But it might be not that hard - I'll take a look now.

    Can you use asset bundles for that?

    If you want to do it manually, you can, yes.
    In every scene (or inside any lightmapped prefab) Bakery generates a storage object. In scenes it's invisible and named "!ftraceLightmaps", and in prefabs you can see it as BakeryPrefabLightmapData. Both of them hold a ftLightmapsStorage component where the list of lightmaps is stored. Awake()/Start()/OnDestroy() are called on the object doing the loading/unloading/assigning. At the time of Awake() it's assumed all associated lightmapped objects are loaded. Main applying function being called is RefreshScene(), you can find it in ftLightmaps.cs.

    If you want to script it yourself without ftLightmaps/ftLightmapsStorage:
    - All renderable lightmaps must be set to LightmapSettings.lightmaps.
    - MeshRenderer.lightmapIndex is what links the object to the lightmap.
    - MeshRenderer.lightmapScaleOffset tells which part of the lightmap is used.
    - RNM and SH maps are applied using MaterialPropertyBlock.
    - Vertex lightmaps are assigned using additionalVertexStreams.

    Most important relevant ftLightmapsStorage properties:
    - maps: array of color lightmaps.
    - masks: array of shadowmasks.
    - dirMaps: array of directional maps.
    - rnmMaps0: either array of 1st RNM coefficients or L1.x SH coefficients
    - rnmMaps1: either array of 2nd RNM coefficients or L1.y SH coefficients
    - rnmMaps2: either array of 3rd RNM coefficients or L1.z SH coefficients
    - mapsMode: array of lightmapping modes per lightmap index (integer; 0 = regular Unity-compatible lightmap, can contain direction/shadowmask; 1 = vertex lightmap; 2 = RNM; 3 = SH).
    - bakedRenderers: array of lightmapped MeshRenderers.
    - bakedIDs: array of lightmapIndex values for each mesh renderer.
    - bakedScaleOffset: array of lightmapScaleOffset values for each mesh renderer.
    - bakedVertexColorMesh: array of additionalVertexStreams meshes (or nulls) for each mesh renderer.

    Most versions seem to be fine except the old ones that throw errors on denoising. I doubt driver has to do anything with it.

    You can get it from nvidia site, but I don't think you need it. Drivers should contain all runtime components already.
     
    atomicjoe likes this.
  42. b4th

    b4th

    Joined:
    Jul 4, 2016
    Posts:
    65
    Sorry, I'm afraid I haven't been keeping up with the thread, so this has most likely already been answered ages ago, but I've just encountered an issue in the Store version of Bakery (1.45) where light is not transmitting through objects with Transparent materials. I have to set Shadow Casting to Off to allow light to transmit through, but sometimes this is not possible since some Mesh Renderers can contain multiple materials assigned to different vertex groups. For instance, I have a Window object that has been constructed as a single Mesh Renderer with an Opaque material for the window frame vertices, and a Transparent material for the window glass vertices. I can't turn off shadow casting, because I want to see shadows from the frame, but not the glass. This worked in previous versions of Bakery - will it be fixed in the future?

    EDIT - I just searched through the thread and found that Semi-Transparent Materials are not currently supported in Bakery. I'm currently trying to get around this limitation by changing my glass objects to a Cutout material before baking, and changing them back after baking. But this is a real shame. It means we can't achieve effects like caustics or light passing through stained glass. I really hope this will be fixed in the future.
     
    Last edited: Jan 24, 2019
  43. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    I'm not sure it ever worked before. For now:
    - partial transparency is not supported (only cutout)
    - if using a non-cutout transparent material, it still works as cutout (with threshold value being 0.5)
    - if using a transparent material with no texture, it's just... opaque (that's the problem).
    Would it make sense to skip such materials if alpha < 0.5? I'm not sure. You may have a 0.55 glass. Would it make sense to skip all untextured transparent materials? I'm not sure either. You may want some of them (especially with > 0.8 alpha) to still cast shadows.
    Any better idea?

    Checked. It actually is a pain in the ass to add. Even though MeshRenderer and SkinnedMeshRenderer share many properties, they are still different classes and can't be cast into each other. Goes to "nice to have" list, but I don't have time for it at the moment :(
     
    Last edited: Jan 24, 2019
  44. b4th

    b4th

    Joined:
    Jul 4, 2016
    Posts:
    65
    If it's a transparent material with no texture, couldn't you just treat it as a transparent/cutout material with the same opacity as its base color if it has one, and zero opacity / full transparency if it doesn't have a base color or texture? Long-term I think semi-transparent materials should be fully supported, but I think this will suffice in the meantime.
     
  45. liudian208

    liudian208

    Joined:
    Aug 30, 2018
    Posts:
    59

    BTW, is there a way to install a stable version of cuda separately?
    You can get it from nvidia site, but I don't think you need it. Drivers should contain all runtime components already.

    I tried to narrow it down by removing some gameobjects from baking, but the result seems pointing to that when certain objects baked into one map, CUDA would throw out exception. Really hard to determine what's wrong, do you have any suggestion for finding out the key of exception?
     
  46. tntfoz

    tntfoz

    Joined:
    Sep 29, 2016
    Posts:
    129
    Hi, getting an error in my scene with Bakery v1.45 as below:
    Code (CSharp):
    1. Error: Can't decompress UVGBuffer position (5091)
    2. UnityEngine.Debug:Log(Object)
    3. <RenderLightmapFunc>c__Iterator2:MoveNext() (at Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs:3821)
    4. ftRenderLightmap:RenderLightmapUpdate() (at Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs:2549)
    5. UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
    I've just added a number of light probes to the scene (previously the scene baked fine). Do you have any pointers regarding how to fix? Thanks.
     
  47. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    1,869
     
    guycalledfrank likes this.
  48. tntfoz

    tntfoz

    Joined:
    Sep 29, 2016
    Posts:
    129
    I cleared the baked data and tried again and it worked.

    However next scene I tried to bake crashed windows with a MEMORY_MANAGEMENT stop code :/

    Tried again and then had this error:

    Code (CSharp):
    1. Error: Can't load vbtraceTex.bin (501)
    2. UnityEngine.Debug:Log(Object)
    3. <RenderLightmapFunc>c__Iterator2:MoveNext() (at Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs:3821)
    4. ftRenderLightmap:RenderLightmapUpdate() (at Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs:2549)
    5. UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
    Again, scene worked okay without light probes in it before. Does the error reflect anything I can do at my end or is it a problem with Bakery?
     
  49. guycalledfrank

    guycalledfrank

    Joined:
    May 13, 2013
    Posts:
    1,672
    Fair enough. That lead me to finally dig into this problem.
    - Found a bug that could make some alpha textures use incorrect cutoff value. Fixed it.
    - Transparent surfaces without a texture and with alpha < 0.5 will be now skipped.
    - Transparent surfaces WITH texture will use alpha value to modify cutoff.
    Overall, here is how it works now:

    upload_2019-1-25_0-4-30.png

    Real partial transparency is on the road map. Will be exciting.


    So they work fine when separated to different maps? I'm out of ideas. Do you get the crash on a fresh project with just these objects?

    Do you have any free disk space?

    Might be faulty memory. It's pretty hard for any software to cause a BSOD like this without any hardware problems.
     
    b4th, atomicjoe, tntfoz and 2 others like this.
  50. frankadimcosta

    frankadimcosta

    Joined:
    Jan 14, 2015
    Posts:
    203
    We want this !

     
    ftejada, atomicjoe and keeponshading like this.