Tutorial: how to create custom Enscape assets

Please note: Should you experience issues with Enscape or your subscription, and in case of any urgent inquiries/questions (e.g. regarding our upcoming licensing changes) please reach out to our dedicated support team via the Help Center or Support button as detailed here.
  • Hello everyone, excuse my English before everything, I have been following each of the threads of this topic and I found it very interesting, to the point that I have implemented it in my workflow and it has worked very well. Unfortunately, from my country I cannot access the link that you indicate to obtain Asset Creator 1.3, if you were so kind and could put it somewhere else where you could download it, I would appreciate it.

  • Is anyone actively optimizing assets when converting them?


    I am converting assets in 3dsMax and want to downsize many of the texture maps used in asset models we've purchased. It is easy enough to do. I'm just wondering what a comfortable maximum image size might be.


    With VRay and a workstation with a lot of RAM, bitmap image size doesn't matter that much. But for Enscape, I think it is important that both the polygon count and bitmap dimensions be optimized for GPU VRAM usage.

    I realize the quality of the appearance depends on the distance from the camera to the asset and/or the size of the asset relative to the rendered image.
    Performance will depend on hardware...


    I'd love to hear other's thoughts.

    p.s. For those having issues with Opacity mapping, the only image formats accepted for Opacity are png, dds and tga.

  • I am downsampling my texture sizes yes. The new creator will now at least warn you when you have assets with large textures.


    Would people be interested in a button in the asset creator to downsample the textures automatically? And if so, to what resolution?

  • Hi everyone, I do not know if the same thing happens to someone but unfortunately the Specular channel is not expressed in the object once it is visualized by Enscape, I already tried using the Metallic channel but I did not achieve anything, I have configured the materials according to this tutorial ( https://docs.blender.org/manua…ddons/io_scene_gltf2.html)

    If anyone had a suggestion about it, I would appreciate it, I attached a screenshot of how the material was and how they look in Blender


  • Enscape doesn't follow the standard Gltf spec for roughness . You will need to edit the gltf to adjust it so Enscape can understand it. I'll try to post a tutorial on it next week.

  • I am downsampling my texture sizes yes. The new creator will now at least warn you when you have assets with large textures.


    Would people be interested in a button in the asset creator to downsample the textures automatically? And if so, to what resolution?

    Hi Pieter,

    Firstly, appreciate your work with this, a real asset for the community.

    All of our non-visualisers use the same hardware, which usually have hardly any vram. What would be epic, is a slider/option for downsizing. Maybe go as low as 128 x 128 pixels. While that likely wouldn't hold up close to the camera, chair with a fabric texture of that resolution in the background would be fine, as a crude example. That way, we can create assets that suit our machines (with RTX2080Ti) and assets for our non-viz staff members.

  • The method I was thinking of using would only allow to downsample images. Once downsampled you wouldn't be able to upsample again.


    My main concern is people using 50 mb worth of textures. If you have too many assets like that you might get in trouble. I was thinking having a simple and easy way to downsamples textures from the creator might help solve that a bit.

  • I am downsampling my texture sizes yes. The new creator will now at least warn you when you have assets with large textures.


    Would people be interested in a button in the asset creator to downsample the textures automatically? And if so, to what resolution?

    Pieter,
    Thank you for the quick reply.


    I am writing a script to batch process many assets. I am downsampling large files and also converting filetypes to png (from tiff or other formats that GLTF ignores). So those two options would be great but not necessary for me.

    Another question regarding Opacity maps.
    How do I make them work? The Babylon exporter seems to ignore maps in the Opacity slot. I read that we can use the Alpha of the Diffuse map for Babylon.js, but does Enscape read this? Is there a flag I need to add to the GLTF?

  • Thanks a lot Pieter for your time indeed while our developers are busy working on this feature to become available natively. :)

    Demian Gutberlet
    In the meantime, is there a possibility we could look at all of the gltf extensions Enscape is using as well as the aspects of GLTF you are ignoring? The babylon exporter for 3dsmax only gets us part way to where we need. It ignores opacity/cutout for example. We are working on adding those textures using JSON. It would be great to get a complete map of Enscape's version of GLTF. Similar to this diagram:
    https://github.com/KhronosGrou…s/gltfOverview-2.0.0b.png

    Thank you,
    Jonah

  • Thanks, having regular and detailed feedback really helps with improving it!

    Pieter,

    Could you please help me with step 2? Where do I find "Enscape Asset collection" in Blender? I'm trying to use this from DAE file exported from Sketchup.




    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.
  • A few experiences so far:

    Our custom library only has now 10-15 items, so it's pretty small so far. But the new 1.3 version is awesome, thanks for it, Pieter. The management is very good, especially for newbies, who have to keep adjusting their models, textures, etc. to make them work better. I can now just go through my library and fix the items to be consistent, have decent tags and thumbnails, and whatever.


    Obj-files as triangulated is a must, otherwise, in Revit, they show weird.


    Also, notification about collections in Blender. We model the actual model first, then export it (with "selection only", and I have it selected), and then we model the placeholder, select it, and export it as *.obj as "selection only". So we don't use the collections, layers, or whatever. It seems to work fine without it.


    One weird thing I noticed: trying to get a texture with cutouts was pretty difficult, and so far our cutout textured models seem a bit off, but as I was editing the gltf-files with Notepad++, I noticed that in a texture listing section, there were indexes a bit off. So, the section where the textures are given and "index" number, had numbers going like 0, 1, 2, 3, 4.. but then it went weird, and there were 4, 5, 4, 5... I did add mine as just "6" after those and it kinda seems to work.


    I'll propably later ask more about how to get the cutout textures work.


    Again, great thanks for the asset creator.

  • Pieter,

    Could you please help me with step 2? Where do I find "Enscape Asset collection" in Blender? I'm trying to use this from DAE file exported from Sketchup.


    I just created the "enscape asset" collection (=layer) in the example file so it's easier to follow the tutorial. If you create your own blender file and import our own content you won't have that layer (but you also don't necessarily need it, as Sheik has rightly pointed out, you can structure the blender file however you like, all that matters are the .gltf and .obj exports).

  • Pieter
    Thank you for the continued work on this.


    What are your thresholds for the warnings?

    I had a little feedback from Enscape support. They specified 40k triangles as an upper limit of any of their built-in assets. And for texture maps, they go pretty low with some; as low as 64x64 and the majority at 256, all 8bit color depth.

    I wonder if we could develop some sort of rule of thumb for texture size. Pixels per surface area, for example.

    Are you planning to implement a batch processor function in your tool?

  • Thanks for that information jonahhawk that's very helpful.


    You can set your own limits (in bytes) by editing the Asset Creator.exe.Config file as shown below:



    So currently I have the max suggestions as:

    • Placeholder: 500 polygons
    • Gltf: 5mb
    • Textures: 5 mb

    It's hard to come up with definitive standards because people might be using Enscape in very different ways. Scene sizes might be different (one room vs entire campus), the number of assets you use, the importance and size of those assets... I think every office needs to do their own testing (and ideally report back here with their findings), maybe then we can come to a good default setting.


    But for now, I'm not a a 100% sure so that's why I didn't hardcode these values and made it (relatively?) easy for you to change them.


    Let me know if that's helpful!

  • Are you planning to implement a batch processor function in your tool?

    Forgot to answer this question: I can definitely to that, as soon as we can figure out a good UX/UI for it, that isn't too crazy to implement. Easiest for me would be to be a button that pops up a dialog that lets you select max resolution, and then any images that are above that treshold are downsampled to that size? Do you think that would be valuable?

  • That all makes good sense. We are weighing several factors here. Especially in a work-from-home environment. Laptop, remote desktop, ISP bandwidth... There are also differing needs/preferences per platform. For some assets, a bounding box is all we want in Revit, but in Rhino or SketchUp, a proxy mesh representative of the asset is preferred.

    I would love if Enscape added functionality to switch between proxy mesh shapes; tetrahedron, cube, proxy mesh, original mesh. Similar to VRayProxy.

    Given that individual workstation hardware can vary wildly, we are toying with the idea of a benchmark scene and some sort of diagnostics app like FRAPS to get a sense of how asset complexity affects rendering speed on various hardware.