Tutorial: how to create custom Enscape assets

  • I want to share a workaround we’ve developed to set up a custom Enscape asset library. We’ve been using this workflow for 8 months and it has worked well for us. That said, use this at your own risk because it’s not officially supported by Enscape.


    A screenshot of our custom library with 347 assets


    To create an Enscape asset you will need:

    • A 3d model (.gltf file + .bin + textures )
    • Optional: a simplified placeholder (.obj , units in meters)
    • Optional: a thumbnail (256x256 jpg)
    • Our in-house Asset Generator tool

    Enscape uses the open source .gltf format for its assets. We’ve build most of our custom assets in 3ds Max, exporting them to Gltf with the free Babylon Exporter.


    However, for this tutorial we will be using the powerful new Blender 2.83, as it’s free, open source and has a built in .gltf exporter.


    In this tutorial, we will be using Blender to convert the ‘Kai Lounge Chair’ model into an Enscape asset.



    Kai Lounge Chair model


    Step 1: Exporting the rendering asset

    1. Download and install the new Blender 2.83
    2. Download the blender example file and its textures here.
    3. Open the blender file and select all the chair parts
    4. Go the File > Export > Gltf 2.0
    5. Set the export settings as shown in the screenshot below. Be sure to select “Gltf Separate (+gltf + .bin + textures)”

    Gltf export settings


    Step 2: exporting the placeholder geometry


    The placeholder geometry needs to be exported as a triangulated obj file (units: meters)

    1. In the Blender file, turn the Enscape Asset collection off and turn the Enscape Placeholder collection on (layers are called 'collections' in Blender).
    2. Select the simplified geometry
    3. Go to File > Export > Wavefront (.obj).
    4. Set the export settings as shown in the screenshot below. Be sure to turn triangulation on.


    Obj export settings


    Step 3: Thumbnail


    The thumbnail should be a .jpg. The asset creator will automatically downssample the image to 256x256px .


    You can use Blender to render out a preview (the backdrop, lighting and camera are on the ‘rendering setup’ collection). Or you can render it later in Enscape and update the thumbnail. If you don’t add a thumbnail the asset creator will use a black square instead.


    You can download the thumbnail for the Kai chair here.


    Step 4: Creating the Enscape asset


    Download our ‘Asset Creator’ tool here. Unzip it and run Asset Creator.exe. You should see this:


    asset creator tool 1.3 (developed in-house by A+I)


    Create a folder for your Enscape asset library (for example: D:\Asset Library ). Make sure that it is accessible to your entire team (local LAN server, google drive, ...).


    Load the folder in the asset creator. Hit "new asset" and fill in the form and add all files created in the previous steps.


    asset information for the Kai Chair.


    Click save.


    If the models are too detailed/heavy, the asset creator will warn you with red labels. Notice that in this example, the Outline geometry for the Kai is too detailed (the recommended limit is 500 polygons).


    Step 5: Setting up a custom library


    The following steps are to enable a custom library and only need to be done once.

    1. Navigate to %USERPROFILE%\AppData\Local\Enscape
    2. Open Encape.config with Notepad
    3. Set the developer line to true: <IsDeveloper>true</IsDeveloper> (if you can’t see this line, add it)


    This will enable an extra panel in the Enscape general settings dialog that allows you to add a custom library



    On this panel, there are 3 options

    • Remote: Enscape will render standard assets only, the asset library panel will show the standard library
    • Local: Enscape will render custom assets only, the asset library panel will show the custom library
    • Mixed: Enscape will render both standard assets and custom assets, the asset library panel will show the custom library (this is what we use as our default)

    Set the panel to mixed and point it to your library location (for example: D:\Asset Library ).


    We're done! Reopen the library panel in Enscape. You should see your asset there! If you had trouble following the tutorial, you can download an example of the files here.




    Tips

    • You might need to turn off your firewall in order to run the Asset Creator tool
    • It’s important that none of the texture maps have spaces in their names. Remove the spaces before exporting to gltf
    • When creating assets in 3ds max or blender, make sure to apply all transformations and place them at the origin
    • If you are using Blender to export to Gltf, make sure to check ‘strip mimetype’ in the Asset Creator
    • If you are using 3ds Max: more information on how to install the Babylon plugin can be found here.
    • Keep placeholder geometry low poly, especially if you are working in Revit. The asset generator will warn you when you load in an .obj with more than 500 polygons.


    Additional tutorials

    • How to make cutout maps work with Enscape assets
    • I might post additional tutorials later on Gltf material optimizations for Enscape rendering (Enscape does a good job at rendering the default Gltf materials so for most assets it's not strictly necessary). Let me know what you'd be interested in!


    Acknowledgments


    Special thanks to:

    - Anton Cromas for helping to come up with this workaround

    - Christian Radowski from Enscape who helped us with advice and tips when we got stuck

    - Thomas Willberger from Enscape for encouraging us and allowing us to post this workaround here


    I'm sure the Enscape team will release their official custom asset functionality soon, but we hope that this workaround might be helpful to some of you in the mean time.


    Let us know if you found this interesting, or whether you're interested in sharing assets.

    Edited 5 times, last by Pieter: changed with asset creator release 1.3 and blender 2.83 ().

  • Pieter,


    Wow this is a game changer, I have followed your steps perfectly but i cannot get any asset to show up in Enscape, (i have even tried with your example files) i get the developer menu and can select the asset source but if i select local or mixed nothing shows up in the asset library.


    Are you able to share 1 of your finished assets so i can find out where the issue may lie

  • Hey Nuge,


    I added some more information and also added a example asset (see Step 5).


    The folder structure and naming needs to be exact. So for example, it needs to be 'Output' not 'output'


    The example asset has the folder structure set up right. If you unzip that straight into your library it should be fine.

  • Pieter



    Thank you I had it as output not Output!!!! simple fix to allow us create our own library, amazing work thanks,


    Note that the mixed option only shows my custom objects not the full enscape library, i have to switch between mixed and remote to get both

  • Note that the mixed option only shows my custom objects not the full enscape library, i have to switch between mixed and remote to get both

    Unfortunately there is no way to see both the default library and the custom library at the same time in the library panel. You have to switch back between remote and mixed as you said.


    However, once you start using custom assets, it's important to keep the setting on Mixed when you're rendering. If you're on remote, your custom assets won't show up in the rendering. When you're on Mixed, both custom assets and default assets will show up in the rendering.

  • Pieter


    Thanks got it, I was trying to adjust the size of the bounding box (rather than use an OBJ) and i wont let me use and figures that are decimal ie 1.3x1.3x2.2 the numbers need to be whole ie 1,2,3,4 etc is there some workaround here?


    Just trying to get my head around blender!!! (not sure i like how it does materials/textures) I have C4D and can export a GLB file and then "unpack it" using this visual studio addon here everything looks correct and your asset creator works correctly, i get an asset to place in enscape, but nothing shows up in the render (and it sometimes crashes), any suggestions where to start problem solving


    Regards

  • Thanks got it, I was trying to adjust the size of the bounding box (rather than use an OBJ) and i wont let me use and figures that are decimal ie 1.3x1.3x2.2 the numbers need to be whole ie 1,2,3,4 etc is there some workaround here?

    Yes another user reported that bug as well. I fixed it and uploaded a new version of the Asset Creator (v1.1). It should now accept decimals aswell (0.5 and 0,5 should both work)

  • Just trying to get my head around blender!!! (not sure i like how it does materials/textures) I have C4D and can export a GLB file and then "unpack it" using this visual studio addon here everything looks correct and your asset creator works correctly, i get an asset to place in enscape, but nothing shows up in the render (and it sometimes crashes), any suggestions where to start problem solving

    Obviously I have no knowledge of the internal implementation of Gltf in Enscape so a lot of this stuff is trial and error. For example we figured out that Enscape doesn't accept mimetype declarations and spaces in the texture paths (some gltf implementations allow for this). We found these issues by removing parts of the gltf bit by bit to see what it is that enscape doesn't like.


    There might be other limitations that you're running into by unpacking from glb to gltf (or your cinema4d exporter might write a glb in a way that's incompatible with Enscape).


    If you could share your asset (particularly the gltf), I'm happy to take a look, but can't guarantee I will find anything.

  • download a test object here

    Checked the .gltf but nothing stood out for me. One thing you could try is importing this object in Blender, export to Gltf and then compare the results. I may have some time this weekend to help you, but please let me know if you found a solution before that.


    Is there some trick to get the alpha channel to show (or not) in enscape?

    Yes, check the alpamodes section of the Gltf section: https://github.com/KhronosGrou…cation/2.0#alpha-coverage


    Enscape supports this, but can't say for sure whether your c4d exporter supports it.


    Enscape has a custom Gltf extension to give more material control in the application (it has settings for 'face-me', 'enscape water effect', 'enscape grass', as well as a bunch of other tweaks). I'm sure the official assets use it extensively, but we rarely use it, mainly because the assets usually look good enough for our purpose without further tweaking. But if there's enough demand, I'm happy to write a tutorial on it.

    Just trying to get my head around blender!!! (not sure i like how it does materials/textures)


    I know what you mean. It took me a while to get used to Blender, but the more I use is, the more I'm loving it. And it's free and open-source!

  • Pieter


    Thanks, i have reverted to using blender!!! so dont bother with the c4d exported option.


    Yes, check the alpamodes section of the Gltf section: https://github.com/KhronosGrou…cation/2.0#alpha-coverage


    Enscape supports this, but can't say for sure whether your c4d exporter supports it.


    Enscape has a custom Gltf extension to give more material control in the application (it has settings for 'face-me', 'enscape water effect', 'enscape grass', as well as a bunch of other tweaks). I'm sure the official assets use it extensively, but we rarely use it, mainly because the assets usually look good enough for our purpose without further tweaking. But if there's enough demand, I'm happy to write a tutorial on it.


    Well that just confused me even more!!!


    I must be missing something!!! no matter what i do i can get it to work, can you please take a look at the files here and let me know where i am going wrong

    Or can you please provide a sample with it working correctly so i can trouble shoot,


    ps love you work, image of the assets i have made from C4D rendered in archicad! much more to come

  • Hello, same problem as above. I made an account for this as this will be amazing to use! I'm having issues with alpha modes. Neither the blender export method or substance painter export method are shown in enscape. Is there a setting missed that allows for alpha clipping? I have followed the guidelines, and online viewers with gltf are showing opacity but enscape won't clip. Is something wrong with how I've set this up?