# How to create a good workflow

**URL:** <https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014>\
**Category:** Questions\
**Created:** [September 8, 2020, 6:08pm UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014 "2020-09-08T18:08:58Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![theblackneko](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/theblackneko/32/11451_2.png) [@theblackneko](https://forum.babylonjs.com/u/theblackneko)\
**Post date:** [September 8, 2020, 6:08pm UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/1 "2020-09-08T18:08:59Z")

</div>

Hi guys,

We are currently creating models of buildings in 3DMax and implementing them in a BabylonJS viewer with some custom functionalities ( spaces highlights, floor plans etc ). We want to implement this solution for a couple hundred buildings.

These are the problems that we are facing right now and some solutions that we tried:

1. The model of a building that is exported from 3DMax to GLTF, when it is loaded in the browser freezes for about 10 seconds, after the GLTF file is transferred ( as I researched I understand that this is cause by the reading and interpretation of the file by js, that blocs the main thread ). Is there a better solution for loading a bigger model without freezing the main thread?

2. There are some properties that the PBR materials in 3DMax doesn’t translate to BabylonJS or to the GLFT export. Currently we are exporting the GLTF model and then playing with the materials in the sandbox, but we don’t have a workflow from this point to implement this properties either in 3DMax materials or in the code. Is there a solution for this?

3. We use IBL, but some materials are getting a tinted color from it. Is there a property or other method to not let it borrow the color?

Any advice on any topic is welcomed!

Thanks!

---

<div class="post-metadata">

**Author:** ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)\
**Post date:** [September 9, 2020, 7:35am UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/2 "2020-09-09T07:35:52Z")

</div>

1. Is your model a lowpoly ? 10s of freezing seems a lot, even the loading screen doesn’t react?

2. You will probably be interested by the [Replay function](https://doc.babylonjs.com/how_to/delta_file) of the Inspector:  

3. Here I think you can simply unsaturate your hdr into Photoshop, drag&drop the .hdr file into a sandbox, and use the Inspector’ “generate .env” function:

---

<div class="post-metadata">

**Author:** ![theblackneko](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/theblackneko/32/11451_2.png) [@theblackneko](https://forum.babylonjs.com/u/theblackneko)\
**Post date:** [September 10, 2020, 7:47am UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/3 "2020-09-10T07:47:37Z")

</div>

1. Here is a link with a model of a floor with some fitouts in place. As you can see when it freezes, you cannot interact with the tab in anyway. [Gherkin - Gherkin](http://demo-gherkin-v2.brightspaces.ro/projects/gherkin/spaces)

2. I missed that, it works great. I had an issue with the ambient color, it saves it in the json, but its not applied when applying the delta file.

3. Great! No more blueish walls, but they still get a grey look, and cannot get them white. Any ideas on how to get the white? If I remove the env texture on the walls and create an ambient light in the scene will overexpose the other objects, right?

---

<div class="post-metadata">

**Author:** ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)\
**Post date:** [September 10, 2020, 8:52am UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/4 "2020-09-10T08:52:06Z")

</div>

![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/2X/0/0d1c91b98a53883ff73f2ea35307e18db1091874.png)

Your model doesn’t looks like too heavy, 3.6MB is a light file. Did you try without draco compression just to see if it’s better on scene loading or not?

About the greyish walls, you can try to play with ambientColor of your materials, added to a white ambientColor of the scene. And also still editing the HDR, using exposure or contrasts for example.

Nice app by the way.

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [September 10, 2020, 9:04pm UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/5 "2020-09-10T21:04:38Z")

</div>

Did a quick profile for the first question. It looks like a ton of time is being spent on `ConvertCubeMapToSphericalPolynomial`. What kind of IBL environment are you using? Might be good to use an `env` file to make this part much faster. See [Use a HDR environment (for PBR) - Babylon.js Documentation](https://doc.babylonjs.com/how_to/use_hdr_environment#creating-a-compressed-environment-texture).

@sebavan will know more about this.

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [September 10, 2020, 9:34pm UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/6 "2020-09-10T21:34:44Z")

</div>

Totally agree as the .env contains those data there won t be any need to generate them

---

<div class="post-metadata">

**Author:** ![theblackneko](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/theblackneko/32/11451_2.png) [@theblackneko](https://forum.babylonjs.com/u/theblackneko)\
**Post date:** [September 15, 2020, 8:41am UTC](https://forum.babylonjs.com/t/how-to-create-a-good-workflow/14014/7 "2020-09-15T08:41:23Z")

</div>

It is loading super fast now. It was a combined problem from the environment texture and a the skybox. I converted the environment CubeTexture to an env file and transformed the EquiRectangularCubeTexture for the skybox to a normal CubeTexture.

Thanks a lot for the help guys!
