My wish list based on two large projects.

Features you'd like to see in future versions, gripes, ideas..
Post Reply
ZapWizard
Posts: 9
Joined: Wed Nov 16, 2011 4:44 pm

My wish list based on two large projects.

Post by ZapWizard » Fri Jan 13, 2012 4:33 pm

I have used light up for two large row house projects. While it did allow me to get light maps baked into the models, I had some issues that took a lot of extra time to work around. Each project was imported into Unity so we could do more with the model such as hide floors, make animated narrated tours etc... I was using LightUp primarily as a lightmap baker and exporter. The following is my long list of issues, wishes and questions. Currently these issues are limiting what I can do. Hopefully Adam can address these in time and make LightUp a better product.

Issue 1: The max resolution of the generated light map seems to be very limited.
Even if I compile with a 5cm setting, the lightmap generated is still just a 512x512 texture and shows blocky shadow smoothing on large surfaces. On one project I had board and batten siding, the results were very messy even when the texture was set to high density. About one quarter of the boards had shadows the rest looked flat.

Issue 2: LightUp ignores model shadow settings. I tried setting all the vegetation in my model to receive no shadowing. But LightUp still makes a unique lightmap for each plant.

Issue 3: I would really like a way to compile and export parts of a model, without loosing the influence of surrounding colors and shadows.
Here is what I mean. In this project I had ten row houses. I compiled each row how on it's own to keep the project manageable, compiling the whole model at once posed too many issues. But since compiling a row house on its own means that the one next to it won't cast the proper shadows. So I had to make simpler "dummy" versions of each house so that it could cast a shadow on the one I was interested in. I had similar issues with vegetation. LightUp couldn't handle compiling the 600+ plants in the model so I had to break them up into chunks and then later in Unity delete duplicate portions.
This all was very time consuming. I would love to see the ability to compile a selected portion of a model but still have shadows cast from surrounding models. Or the ability to export only a section of the rendered model rather then the whole thing.

Issue 4: When exporting to FBX the model hierarchy is hit or miss.
Here is how I had my models arranged: Each row house was a component, then inside each floor and the roof of the row house was component. Inside each floor was two more, one exterior and one interior component. Finally inside each interior or exterior component there were the details such as walls, lights, etc...
I set all the major chunks of the model to "Never Collapse", leaving only items like cabinets, or furniture to "allow collapse". The idea is that I need to be able to select and hide portions of the model inside of Unity.
However upon export I find that the hierarchy doesn't stay constant. Some portions of the model had full hierarchy, some was seemingly collapsed in odd ways. For example I had landscaping which had a portion of terrain and about a hundred plants. These all exported fine and each plant was selectable inside of Unity, and each plant was collapsed on its own as it should. However another portion of the model would be collapsed and have only a few of the proper models selectable in Unity. For example an interior model would have tables and furniture collapsed into the walls, yet one or two others wouldn't. Double checking these areas I found that the settings were all properly set. I had to constantly shift the hierarchy levels to get items I needed as separate models in Unity. I had to set the front doors in each buildings to the highest level to get them to stop merging into the walls.

Issue 5: Exported models all end up with unique names and textures.
I set all my vegetation to "receive no shadows" hoping that lightup wouldn't assign a lightmap to each plant and therefor not make each plant a unique entity. However each component ends up marked as "Tree_1, Tree_2, Tree_3" then inside of unity I end up with three unique materials: "Tree_1_Leaves", "Tree_2_Leaves", etc... This makes editing those materials nearly impossible when you have over 600 plants! It also makes the model slow to load and huge in size. What I really would like to see is the ability to make certain models AND materials "not light-mapped". For example I have a cutaway material that is along all the seams between floors. Such that in Unity the roof can be hidden and you can look inside the model. The cutaway material just needs to be black without any light-mapping. The same goes for light emitting surfaces, they are full-bright, yet in Unity a lightmap is still assigned to the surface. It would be great to have more control over what does and doesn't get mapped such that there are less unique components and materials.

Issue 6: Continued from the above.
I do understand that unique light maps materials are assigned to models because obviously their lighting changes based on position. However why is the base material made unique also? In Unity each plant has two materials, their plant leaves, and then a light-map. Why can't only the lightmaps be unique, why is each plant leaf also assigned a unique name? Wouldn't it be better to leave common materials with the same name and only assign unique names to the lightmaps?

Issue 7: It is too easy to press the "start tour tool" button, and hard to cancel the lighting. If the tour tool button is pressed sometimes the escape key won't cancel the lighting for a few minutes, causing lost time when I was simply trying to press the light inspector button.

Issue 8: It is FAR too easy to accidentily exit the tour tool.
Lets say I waited the 20 minutes it takes to do the lighting on my model, I want to inspect it before export. However I am used to using WASD to navigate 3D worlds instead of the arrow keys. But if I press W then LightUp detects that my SketchUp tool has changed and instantly removes the tour tool, and I have now instantly lost time and money doing a second calculation. A confirmation box to exit would be a lifesaver.

User avatar
AdamB
Site Admin
Posts: 2295
Joined: Wed Apr 16, 2008 10:11 am
Location: Brighton, UK
Contact:

Re: My wish list based on two large projects.

Post by AdamB » Wed Jan 18, 2012 3:37 pm

[There's some great stuff in here and rather than try and answer all of it at once, I going to pick off items as I get to them..]
ZapWizard wrote:Issue 1: The max resolution of the generated light map seems to be very limited.
Even if I compile with a 5cm setting, the lightmap generated is still just a 512x512 texture and shows blocky shadow smoothing on large surfaces. On one project I had board and batten siding, the results were very messy even when the texture was set to high density. About one quarter of the boards had shadows the rest looked flat.
LightUp will use up to 2048x2048 maps - I'm guessing you've got a single piece of geometry that is very long, so LightUp cannot break it up. If you can provide a simple example to the help email, that would be best. And check you don't have a very long piece of geometry that is forcing LightUp to downsample.
ZapWizard wrote:Issue 2: LightUp ignores model shadow settings. I tried setting all the vegetation in my model to receive no shadowing. But LightUp still makes a unique lightmap for each plant.
LightUp uses per Material settings for renderings. So you can set a Material to be "cast no shadows" and you can set a Material to be "always fully lit" (aka receive no shadows), but per object shadow settings only honor "Cast Shadows" settings.
ZapWizard wrote:Issue 4: When exporting to FBX the model hierarchy is hit or miss.
This is an interesting one. Short answer is: disable "Remove unused Hierarchy".
The requirements of modelling/CAD and realtime graphics are sometimes diametrically opposed. Editing geometry typically wants a data-rich "fat" format with lots of hierarchical instancing to make for a quick workflow. Realtime graphics wants a lean, fairly flat hierarchy for maximum rendering performance.
For example, a standard SketchUp Component tree that you'll find in the 3dwarehouse and is used widely, if kept as individual instances, has around 30,000 instances - in ONE tree. Every leaf is an ComponentInstance, and these are used to build a branch ComponentInstance and on. This is great from a workflow POV - change the leaf definition and you get a new tree. But if you had a realtime engine keeping each of those leaves as truly separate instances, it would kill ANY graphics card.
So LightUp collapses hierarchy where it can to ensure your graphics card isn't swamped with Draw calls. If you are going to manage all your hierarchy and rely on that hierarchy staying "as is" when exported, just turn off the "Remove unused Hierarchy" processing - but you'll need to remember to Explode any crazy deep hierarchies you have in your model if you want perfomant content.
ZapWizard wrote:Issue 5: Exported models all end up with unique names and textures.
I set all my vegetation to "receive no shadows" hoping that lightup wouldn't assign a lightmap to each plant and therefor not make each plant a unique entity. However each component ends up marked as "Tree_1, Tree_2, Tree_3" then inside of unity I end up with three unique materials: "Tree_1_Leaves", "Tree_2_Leaves", etc... This makes editing those materials nearly impossible when you have over 600 plants! It also makes the model slow to load and huge in size. What I really would like to see is the ability to make certain models AND materials "not light-mapped". For example I have a cutaway material that is along all the seams between floors. Such that in Unity the roof can be hidden and you can look inside the model. The cutaway material just needs to be black without any light-mapping. The same goes for light emitting surfaces, they are full-bright, yet in Unity a lightmap is still assigned to the surface. It would be great to have more control over what does and doesn't get mapped such that there are less unique components and materials.
First off, Autodesk FBX format is pretty brain-damaged. It was designed for storing animated characters (from FilmBox days, hence "FBX") but then stretched waay out to being a general interchange format when they acquired Filmbox. So in short, there are many problems with the format, one of which its limited support for instancing whereby you want to share base materials but not lightmaps. But. It is a format that has wide-ish support, and all the information is there if you want to write a "Conditioning" script that cleans up the hierarchy, collapses shared materials etc etc. I guess the time is coming for offering Collada support instead.

Fullbright materials are still mapped, but to a all white texel. Its simply faster to not break the pipeline by having to switch materials for a few triangles with "no lightmap", so your cutaway material is going to be fast from a material switching point of view.

Also keep in mind that LightUp treats top-level SketchUp Groups as "special" in that it will never merge them. This is to allow you to "Zone" your model into regions that will be treated seperately - in fact there is a automatic Zoning function in the LightUp menu: Tools->LightUp->Zone Model, that will build top-level SketchUp Group for your model so that you don't end up with 600 individual plant objects.
ZapWizard wrote:Issue 8: It is FAR too easy to accidentily exit the tour tool.
Lets say I waited the 20 minutes it takes to do the lighting on my model, I want to inspect it before export. However I am used to using WASD to navigate 3D worlds instead of the arrow keys. But if I press W then LightUp detects that my SketchUp tool has changed and instantly removes the tour tool, and I have now instantly lost time and money doing a second calculation. A confirmation box to exit would be a lifesaver.
Its a great suggestion, but unfortunately, when you type a keystroke that is bound to another command, SketchUp gets in first and terminates (with extreme prejudice) the running Tourtool command. So little that can be done here. However, if you start Tourtool again, it *should* pull lighting out of a cache, so not take 20 minutes to restart.

Adam
Developer of LightUp http://www.light-up.co.uk

ZapWizard
Posts: 9
Joined: Wed Nov 16, 2011 4:44 pm

Re: My wish list based on two large projects.

Post by ZapWizard » Mon Jan 23, 2012 4:18 pm

Adam, thanks for the detailed response.

In regards to the texture size: I will send you a sample model via e-mail tonight.

I can work around the Hierarchy issues. Mostly I just want the ability to change all the instances of a plant type inside of Unity, without having to actually place them again inside Unity.

As far as the tour tool, when I do repress the tour button (with Don't use cache unchecked), the processing takes less time, but still quite a few minutes.

Post Reply