Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

CrossSection

Discussion in 'Assets and Asset Store' started by tomekkie2, Jan 21, 2014.

?

What render pipeline are you using or going to use with the CrossSection Asset?

  1. Built-in

    31.4%
  2. URP

    52.9%
  3. HDRP

    15.7%
  4. other

    0 vote(s)
    0.0%
  1. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    I have just updated the asset for Unity 2022.1.6 and URP, HDRP 13.8.

    and made this istructruction for 4 step setup of single plane section:
     
    Last edited: Aug 2, 2022
  2. SocialFuture

    SocialFuture

    Joined:
    Nov 1, 2021
    Posts:
    2
    Hi I have tried several days and can not make it, could you try it or give me some advice? Thanks
     
  3. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    I have uploaded once again.
    Import this package.
    (In case of guid conflict remove the conflicting files first).
    Open plane&cyl_urp scene. When you run play and move the gizmo you should get image like on the screenshots.
     

    Attached Files:

  4. zhuliyi0

    zhuliyi0

    Joined:
    May 12, 2022
    Posts:
    8
    Hi,

    This asset rocks! It helps a lot for my project. However there is one issue with some of the meshes that I am working with. The attached mesh asset file, if I put it in a scene steup with single plane section with a hatch plane, I will see the one of the back faces always showing up with hatch materail, even when there are things in the front.

    The model I am working with has lots of intersecting geometry and there is no way I can avoid it, so I guess I need to work with hatch plane. Everything else works great so far, except this one issue.

    See image below. The mesh is the long one at back. Its scale should be set to 0.001

    upload_2022-8-17_20-17-0.png
     

    Attached Files:

  5. zhuliyi0

    zhuliyi0

    Joined:
    May 12, 2022
    Posts:
    8
  6. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    This mesh is not so much problematic as defective.
    I have tested it and my guess is it is supposed to be the extruded profile like this on the right, but the defects make it self intersecting and containing holes.
    image_023_0000.png
     
  7. Archtica

    Archtica

    Joined:
    Mar 23, 2018
    Posts:
    47
    Hi @tomekkie2, first of all thank you for your work.
    I discovered a strange behaviour when using your CrossSection/Standard shader (Built-in) and Scaleable Ambient Obscurance.
    The cross section shader is somehow affected by the underlaying horizon plane which has a standard unity shader. Switching the Ambient Obscurance off solves the issue OR switching the wall shaders to unity standard or something else resolves the issue.
    Dark line on geometry from horizon plane:

    Changed end wall to unity built-in standard (turning off AO also makes it go away):

    AO settings:
     
    Last edited: Sep 1, 2022
  8. sandeep_immersive

    sandeep_immersive

    Joined:
    Feb 19, 2022
    Posts:
    1
    Hey guys, I'm having an compile error using HDRP crossection. I've tried removing and adding the complete asset and remove/add the URP and Built in assets that I don't need. The error says:

    "Assets\WorldSpaceTransitions\crossSection (HDRP)\Editor\ShaderGUI\CS_LitGUI.cs(28,17): error CS0246: The type or namespace name 'CrossSectionUIBlock' could not be found (are you missing a using directive or an assembly reference?)"


    [EDIT]: Just commented that line and it works just fine for a short while and then again the errors start....

    upload_2022-9-6_10-44-1.png
     
    Last edited: Sep 6, 2022
  9. Choda-Boy

    Choda-Boy

    Joined:
    Sep 28, 2016
    Posts:
    7
    Hello,
    I am trying to reply the example made in single_plane_cap_outl_urp and I cannot reply the outline or edges upload_2022-9-14_18-40-5.png
    I add another cylinder and copy all the properties of the cylinders in the example, and although the cross and the caps are working the oulines are not.
    Probably I am missing something super easy, but I can't find it.

    Can you help me, please?

    thnx
     
  10. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    My guess is the side cylinder stays on the default layer instead of being on the same layer as the TestGameObject, where the outlines do display.
     
  11. Choda-Boy

    Choda-Boy

    Joined:
    Sep 28, 2016
    Posts:
    7
    Thanks tomekkie2,

    I was thinking the same, but the problem is this TestGameObject has no layer. In fact I don't know how to achieve this result. Once I change it to Default or other layer, I cannot return to that 'empty' layer again. upload_2022-9-15_9-43-59.png
     
  12. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    The TestGameObject (together with its children, what really matters) stays on 11th layer in the single_plane_cap_outl_urp scene. So the truth is not that TestGameObject (together with its children, what really matters) has no layer, but the truth is that the 11th layer name in your project is just empty string.

    If the TestGameObject children stayed on layer other than 11th - the outlines on the TestGameObject just wouldn't display in your imported demo scene.

    Assign some name to 11th layer in your project so you will see that.

    In the project, where I upload the package from - I have these layers named, but the names do not get through into the package.
     
  13. Choda-Boy

    Choda-Boy

    Joined:
    Sep 28, 2016
    Posts:
    7
    Thanks a lot.
     
  14. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    494
    Can I use a custom render texture for cross-section material?
     
  15. mchangxe

    mchangxe

    Joined:
    Jun 16, 2019
    Posts:
    69
    Hey, I dont think the crossSectionHDRP/Lit is working correctly. I changed the material type to subsurface scattering and non of my settings work in the material inspector other than base color/albedo.
     
  16. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Not all the HDRP/Lit features are yet supported in the crossSectionHDRP/Lit shader.

    I have added the crossSectionHDRP/Lit shader quite recently in order just to ensure this 4-step workflow depicted here: https://forum.unity.com/threads/crosssection-tool.223790/page-11#post-8329911 to work the same in all render pipelines including HDRP - because it is the default shader assigned on geometry import.

    I can assume your post as a request to add this missing shader feature.
     
  17. mchangxe

    mchangxe

    Joined:
    Jun 16, 2019
    Posts:
    69
    thank you good sir, that would be greatly appreciated. Just so if you are curious, iam using this plugin for a transition effect between gems, whereas an unpolished gem is sanded away to a polished gem. The tool is quite useful! But without proper hdrp lit material support, I cannot get the correct gem texture.
     
    tomekkie2 likes this.
  18. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Thanks for the explanation. Sounds interesting. I will take a look some time in the coming days and let you know.
     
  19. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    494
    How to set material or at least the color for cross section? In my case I can't use your shaders because object has pretty complex own shader.
    Code (CSharp):
    1. Shader.SetGlobalColor("_SectionColor", Color.gray);
    doesn't work
     
  20. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    This is not supposed to work.
    Because _SectionColor is defined at local material level.
    In other words it is a local material property, not global shader property.
    Instead the following should work:

    Code (CSharp):
    1. renderer.material.SetColor("_SectionColor, Color.gray);
    My design assumption in the CrossSection was to use a common section surface and individual colors section materials.

    If your shader is a ShaderGraphs you can try to edit it using these steps from the manual:
    https://virtualplayground.d2.pl/wik...aphs_-_adding_CrossSection_to_any_ShaderGraph

    If your shader is a coded shader possibly it could be adapted by inserting the CrossSection code, copied from the CrossSection shaders, to it. I can't promise anything, but you could also send me a file so I could take a look at it.
     
    Last edited: Nov 7, 2022
  21. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Apologies for answering that late.
    Does this problem still persist?
    I have tried to reproduce this, but I am getting the same results for Standard and CrossSection/Standard shaders.
    If your problem still persists - give me some details on the asset and Unity version, scene and camera settings and possibly share your scene in form of unitypackage.
    image_002_0000.jpg image_001_0000.jpg
     
  22. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Cross-section shaders are based on Unity standard shaders.
    You can use render textures in Unity standard shaders, so the same should apply to the cross-section shaders and materials.
     
  23. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Did you find a solution?
    When I am toggling between the material types or between HDRP/Lit and CrossSectionHDRP/Lit shaders - my settings seem to stay. Except one - that is for Alpha Clipping - which is forced to stay enabled in CrossSectionHDRP/Lit by its dedicated shader gui.
    If you could send me your material and scene I could try to get it to work.
     
  24. bblakesleyIQ

    bblakesleyIQ

    Joined:
    May 11, 2022
    Posts:
    4
    I found the earlier post about changing the shader to allow multiple cross sections. Is there any way to do this without having to alter the shader?
    I have a use case where I need an inverse cutting effect like your cube inverted setup in the cuboid capped scene, but I'm having some problems getting it working correctly. Do you have a setup or prefab for this example similar to the cross section box examples?
     
    Last edited: Jan 4, 2023
  25. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    All depends on what you are going to do.
    For example depends on:
    • whether you are going to have a number of cross sections in the same scene, but working on separate sets of materials
    • or you are going have a number of cross sections in the same materials
    Possibly some alterations might require only adding some keywords to the shader multi compile declaration, while the other might require changes in the clipping function code.
     
  26. bblakesleyIQ

    bblakesleyIQ

    Joined:
    May 11, 2022
    Posts:
    4
    Sorry, your reply came in while I was editing my post. Your inverse cube example is a better fit for my setup. I'll continue trying to get a scene like this set up.
     
  27. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    So looks sometimes it is better no to reply too soon.:)

    I think you can find an example of this in the primitives capped scene.
    It has both the built-in and URP render pipeline versions.

    If you need to use the other shaders than ones used in the scene you might need to add CLIP_CUBOIDS keyword to them.

    I couldn't declare too many keywords in the multi compile statements in the cross section shaders, because too many variants would get generated increasing both build size and build time. So I had to leave adding the less common keywords to users, according to their needs.
     
    Last edited: Jan 4, 2023
  28. bblakesleyIQ

    bblakesleyIQ

    Joined:
    May 11, 2022
    Posts:
    4
    Thank you for the quick replies. Yes, the primitives capped scene is almost exactly what I need. I just need a much simpler setup.:) I've tried and failed to put the shader on an inverted cube that I can manipulate transforms on at runtime. It doesn't cut the target primitives correctly. Is there I way I can set up a very simple cutting cube using the existing shaders? So a setup that doesn't require clicking the surfaces?
     
  29. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    O.K.
    Apologies for getting the example scene so complicated, but that is because I wanted to demonstrate all the "primitives" shader features in single scene.

    I don't think there is any use to put any shader on an inverted cube, except the stencil cap shader.
    You can find a number of inverted primitive prefabs with that shader on in the scene, but they are set inactive.

    You can try to duplicate the example scene and then replace the script attached to TestGameObject with another one:

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections.Generic;
    3.  
    4. public class MultiCubeSectionExample : MonoBehaviour {
    5.  
    6.     private Matrix4x4[] primMatrixes;
    7.     private Vector4[] primScales;
    8.     private int primCount;
    9.     public List<GameObject> prims;
    10.  
    11.     void Start () {
    12.  
    13.         Renderer[] allrenderers = gameObject.GetComponentsInChildren<Renderer>();
    14.         foreach (Renderer r in allrenderers)
    15.         {
    16.             Material[] mats = r.sharedMaterials;
    17.             foreach (Material m in mats) if (m.shader.name.Substring(0, 13) == "CrossSection/") m.DisableKeyword("CLIP_PLANE");
    18.         }
    19.         Shader.SetGlobalColor("_SectionColor", Color.black);
    20.         primMatrixes = new Matrix4x4[64];
    21.         primScales = new Vector4[64];
    22.         primCount = prims.Count;
    23.         Shader.SetGlobalInt("_primCount", primCount);
    24.         SetKeywordsForSingle(primCount == 1);
    25.         SetKeywordsForMultiple(primCount > 1);
    26.         for (int i = 0; i < prims.Count; i++)
    27.         {
    28.             Matrix4x4 mx = Matrix4x4.TRS(prims[i].transform.position, prims[i].transform.rotation, Vector3.one);
    29.             primMatrixes[i] = mx.inverse;
    30.             primScales[i] = prims[i].transform.localScale;
    31.         }
    32.         SetShaderGlobals();
    33.     }
    34.  
    35.     void SetShaderGlobals()
    36.     {
    37.         if (primCount == 1)
    38.         {
    39.             Shader.SetGlobalMatrix("_WorldToObjectMatrix", primMatrixes[0]);
    40.             Shader.SetGlobalVector("_SectionScale", primScales[0]);
    41.         }
    42.         else
    43.         {
    44.             Shader.SetGlobalMatrixArray("_WorldToObjectMatrixes", primMatrixes);
    45.             Shader.SetGlobalVectorArray("_SectionScales", primScales);
    46.         }
    47.     }
    48.  
    49.     void Update ()
    50.     {
    51.         bool changed = false;
    52.         for (int i = 0; i < prims.Count; i++)
    53.         {
    54.             changed = changed || prims[i].transform.hasChanged;
    55.             Matrix4x4 mx = Matrix4x4.TRS(prims[i].transform.position, prims[i].transform.rotation, Vector3.one);
    56.             primMatrixes[i] = mx.inverse;
    57.             primScales[i] = prims[i].transform.localScale;
    58.         }
    59.         if(changed) SetShaderGlobals();
    60.     }
    61.  
    62.     void OnEnable()
    63.     {
    64.         Shader.DisableKeyword("CLIP_NONE");
    65.     }
    66.  
    67.     void OnDisable()
    68.     {
    69.         SetKeywordsForSingle(false);
    70.         SetKeywordsForMultiple(false);
    71.         Shader.EnableKeyword("CLIP_NONE");
    72.     }
    73.  
    74.     void SetKeywordsForSingle(bool val)
    75.     {
    76.         if (val) { Shader.EnableKeyword("CLIP_CUBOID"); } else { Shader.DisableKeyword("CLIP_CUBOID"); }
    77.     }
    78.  
    79.     void SetKeywordsForMultiple(bool val)
    80.     {
    81.         if (val) { Shader.EnableKeyword("CLIP_CUBOIDS"); } else { Shader.DisableKeyword("CLIP_CUBOIDS"); }
    82.     }
    83.  
    84.     void OnApplicationQuit()
    85.     {
    86.         SetKeywordsForSingle(false);
    87.         SetKeywordsForMultiple(false);
    88.         Shader.EnableKeyword("CLIP_NONE");
    89.     }
    90. }
    Then you can find the cubeInverted prefab, set it active, duplicate a number of times, put the duplicates into the prims list in the new script, move them in the scene so they intersect with the cylinders or cube in the scene, run the scene and you will see it working. Then you can manipulate (move, scale or rotate) with these prefab instances and you will see the section gets updates.

    You can also modify this script to work in editor mode, if you need.
     
    Last edited: Jan 5, 2023
  30. bblakesleyIQ

    bblakesleyIQ

    Joined:
    May 11, 2022
    Posts:
    4
    Amazing! I can't thank you enough. The script works perfectly and being able to add multiple primitives opens up even more possibilities than I was hoping for. Thank you so much! Really impressed with the asset - great work.
     
    tomekkie2 likes this.
  31. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    How could I change this demo scene, so it were more clear and easy to understand for anyone?
    If you have some good ideas, please share.
     
  32. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    494
    I got this error on addressables build (one of the scenes use cross section shaders)
    Code (CSharp):
    1. Shader error in 'CrossSectionURP/Lit': 'SAMPLE_GI': Too few arguments to a macro call. at Assets/WorldSpaceTransitions/crossSection (URP)/shaders/LitGBufferPass.hlsl(91)
    Unity 2021.3.21. What actually does it mean?
     
  33. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    My apologies and thanks for letting me know.
    I have skipped updating this particular file when updating to urp 12.0.
    Please import the attached unitypackage.
    The asset packages for higher Unity and urp versions seem fine.
     

    Attached Files:

    Last edited: Jan 18, 2023
  34. PMCTom

    PMCTom

    Joined:
    Jan 3, 2018
    Posts:
    6
    Hey guys,

    I was just wondering, is it possible to adapt this shader to take in the render views camera normal direction to act as the slicing plane orientation? Ie have a 3d Object in the middle with multple cameras rendering to viewport to generate a 2x2 grid view effect like in many cad programs then cut through it on each camera?
     
  35. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    I guess a 2x2 grid view usually consist of 3 ortho views (i.e top, front, right) and a perspective view.
    Do you mean cross-section views instead of side views?
    Artboard 1.png
    To achieve this you do not need any cross-section shaders, you can just manipulate with the camera near clipping planes on these ortho cameras.
    At the most - if you wanted to get capped views - you could add stencils and use cap materials/shaders from the cross-section asset.
     
  36. PMCTom

    PMCTom

    Joined:
    Jan 3, 2018
    Posts:
    6
    Thats basically it, except we also have normal geometry which needs to be rendered hence why we can't use the clipping planes unfortunately! :( We also need the perspective view to display the whole object and not a sliced one our current solution does this but doesn't handle the capping via render layers
     
  37. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    Is it not possible to use dedicated cameras to render the clipped object and normal cameras to render the normal objects?
     
    Last edited: Jan 24, 2023
  38. PMCTom

    PMCTom

    Joined:
    Jan 3, 2018
    Posts:
    6
    We we're attempting to do it all from one material however we are now splitting it up, do you have a recommendation for the cross section shader (Which works with clipping planes) from the asset?
     
  39. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    I think all the cross-section shaders work with clipping planes, but I am not sure if I got right what you are going to do. I you could bring here some drawings or screenshots - it would be a help.
     
  40. PMCTom

    PMCTom

    Joined:
    Jan 3, 2018
    Posts:
    6
    Hey, Ive dropped the email in the asset store some shots to help explain :)
     
  41. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    If you were using the camera to render the clipped object only and one clipping plane - the camera near clipping plane would do the job.
    If you need the camera to render the clipped object and also the background object - unaffected by clipping - you should base on camera transform.
    The shaders should work basing on camera instead of gizmo transform like in the demo scenes inside the asset.
    There are camera specific shader variables to use.
    _WorldSpaceCameraPos is already used in the cross-section variants related to CLIP_BOX, CLIP_SPHERE_OUT and CLIP_PIE keywords.
    The documentation https://docs.unity3d.com/Manual/SL-UnityShaderVariables.html also documents unity_CameraWorldClipPlanes[6] as camera frustum plane world space equations, in this order: left, right, bottom, top, near, far.
    This means we could use
    unity_CameraWorldClipPlanes[5].xyz
    as the camera forward direction.
    Then if you are going to use not one, but two planes back to back, and have the section capped - you should take a look at box_capped example and use the render technique from there.
     
    PMCTom likes this.
  42. PMCTom

    PMCTom

    Joined:
    Jan 3, 2018
    Posts:
    6
    I can't for the life of me inject the CameraWorldClipPlane matrix into the shader and have it work as expected! I think the issue comes in when we need to use 4 cameras each with their own planes only rendering what they need to see and not each others (3 cameras 3 separate planes all on the same object)
     
  43. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    I think it does not matter whether you have one camera or more.
    _WorldSpaceCameraPos and unity_CameraWorldClipPlanes[6] relate to the camera which is actually rendering, you can even have a hundred of them they do not affect each other in any way except using the same hardware resources.
     
  44. Archtica

    Archtica

    Joined:
    Mar 23, 2018
    Posts:
    47
    Hi Tomekkie2
    I think I discovered a bug where the vertex color (on the crosssection standard shader) is disabled when enabling and disabling the RETRACT_BACKFACES keyword. I'm on built-in render pipeline
    When reenabling the keyword again the vertex colors is reapplied again, but stays of with the keyword disabled.

    This is only on the android build both on mobile and on the oculus.
    I use the same thing in other build environments (pc, mac etc.) without this issue.

    Earlier I also had an issue with the EMISSION keyword disabling the retract backface altogether on oculus and android. There seems to be some issues with keywords on that platform in particular.
     
    Last edited: Jan 30, 2023
  45. Archtica

    Archtica

    Joined:
    Mar 23, 2018
    Posts:
    47
    Hi Tomekkie2, thank you and sorry I didn't catch your answer back then.
    Yes, I still have this issue and it is exactly as you display it in your screenshots. The dark horizon line going across the objects with ambient occlusion on. Can this be fixed?
    I will make a test scene for you, but it is like you display it.
     
    Last edited: Jan 30, 2023
  46. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    These are not any keyword issues.
    I think the behaviour you report to happen on mobiles and Oculus is a normal, intended behaviour.
    The situation happens not so much on the crosssection standard shader as much on CrossSection/SurfaceShader/Standard.
    The RETRACT_BACKFACES and VERTEX_COLOR are defined as shader features in
    #pragma shader_feature ...
    , not in
    #pragma multi_compile
    statements.
    Means only the variants used in scenes get included into the build and variants with keywords disabled.

    You can read more about it here https://docs.unity3d.com/Manual/SL-MultipleProgramVariants.html

    If the material inside your scene has both keywords enabled, you have two variants available inside the build:
    • both keywords enabled
    • none of keywords enabled
    At runtime it is enough to turn one from these keywords off In order to switch from "both keywords enabled" to "none of keywords enabled" state.

    If you like to switch these features at runtime you can change shader_feature statement to multi_compile statement or create a Shader Variant Collection asset, and then add it to build settings at Project Settings/Graphics/Preloaded Shaders.
     
    Last edited: Feb 1, 2023
  47. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    But my screenshots show this horizon line is no way specific to the CrossSection/Standard or CrossSection/Standard(Specular) shader.
    The horizon line comes from the reflections.
    It appears when the material reflection is on and depends on smoothness & metallic material settings and on the actual reflection texture.
    Like I have said in the previous post - my results are the same for Standard and CrossSection/Standard shaders and do not depend on ambient occlusion.
    If your results are different - provide the scene packed inside the unitypackage - and I will take a look.
     
  48. Archtica

    Archtica

    Joined:
    Mar 23, 2018
    Posts:
    47
    Thank you for the thorough explanation Tomekkie2!
    I know about the behavior of keywords and shader variants. I'm just surprised that it is not an issue on other platforms with the exact same scene... Maybe shader stripping is more strict on mobile platforms.
    However I am dealing with a lot of materials and objects that are generated at runtime and I did have to deal with the whole shader variants being present in the built version before. I think I'll look into making shader variant collection to make sure that I have all needed variants.
    Thanks again :)
     
  49. Archtica

    Archtica

    Joined:
    Mar 23, 2018
    Posts:
    47
    Thank you, I misunderstood your screen shots.
    My setup does not have reflection on the material. I will test it again and if it's still there I will make you a package. Thank you for your support.
     
  50. tomekkie2

    tomekkie2

    Joined:
    Jul 6, 2012
    Posts:
    951
    My screenshots share the same material, only the shader gets swapped.
    Maybe you were doing the material swap, and the cross-section material had the reflection checked on while the other material had the reflection checked off.