7
$\begingroup$

Objective: build a virtual suburb in blender for use in creating exterior shots (not realtime: shots will be rendered in Cycles).

The angles of these shots will not be known in advance, so it's impossible to guess in advance which elements need to be high detail and which can be low detail.

Large scene becomes unwieldy and incredibly memory-intensive with hundreds or even thousands of high-detail objects, especially when many are not in shot. Scene will be utilized by an artist on home computer, so excessive memory use is not viable. Convenience is the primary objective to maximize efficiency in setting up and rendering shots. Renderer to be used is Cycles.

The higher detail of the nearby models would not necessarily be provided by subdivision. A perfect example of the sorts of things I'd be working with are buildings; up close, they would have fully modeled doors, windows, and other small details like flags, while far away, those fine details could be baked into textures, made more rudimentary, or simply omitted altogether.

Is it possible to automatically swap out lower detail meshes/materials at long distance for these renders?

I am also interested in alternate solutions. Since there are only 20 layers available, the only alternate solution I can come up with would be to divide the suburb into sections and have a high-detail and low-detail version of each section put onto adjacent layers, which the artist will toggle based on the position of the camera and what is visible in the shot, but this would be less than optimal. Any other ideas are welcome.

$\endgroup$
7
  • 1
    $\begingroup$ Maybe this addon is for you: cgcookiemarkets.com/all-products/lod-manager $\endgroup$
    – aliasguru
    Commented Oct 9, 2016 at 8:48
  • $\begingroup$ This appears to be a perfect solution to the problem at hand, thank you! I wish you'd offered it as an answer, I'd have marked it as the correct solution to the problem~ $\endgroup$
    – Arcane
    Commented Oct 9, 2016 at 14:30
  • $\begingroup$ A link isn't considered to really be an answer here at BSE, that's something we usually put in comments. Furthermore, the plugin is commercial, even though the price is really more than fair. I was thinking about putting together a small script to switch models based on distance to camera, when I had the idea to browse what's on Blender Market already. And bang, exactly that in a more professional shape was available already :) $\endgroup$
    – aliasguru
    Commented Oct 9, 2016 at 14:33
  • $\begingroup$ Well, I suppose that is understandable enough, though the question was "is it possible;" commercial product notwithstanding, it does demonstrate the viability of the premise and simultaneously provides me with the specific solution I need. So thanks again! $\endgroup$
    – Arcane
    Commented Oct 9, 2016 at 19:16
  • 1
    $\begingroup$ @piegames the link has changed, as the blendermarket website received an update: blendermarket.com/products/level-of-detail-manager $\endgroup$
    – aliasguru
    Commented Jan 9, 2017 at 20:24

2 Answers 2

3
$\begingroup$

I have two pretty detailed posts that when added together, would seem to come up with a pretty good fit for your situation.

I won't detail out those steps, but I will link to them, and summarize the workflow in a summary of logic.

Creating Distance/Rotation/Scale Based Drivers - See this post

Swapping Groups of meshes with drivers - See this post

The main rundown here, would be to drive your level of detail threshold by camera distance values, then using the same logic of swapping groups of meshes, use this threshold value to determine which LOD group to select on any given instance with this driver attached.

$\endgroup$
2
  • $\begingroup$ I'll have a looksie and see if I can get it working :9 $\endgroup$
    – Arcane
    Commented Feb 11, 2017 at 19:22
  • 1
    $\begingroup$ Sorry for the long delay, but this has worked perfectly. Marked as the answer, thanks so much :9 $\endgroup$
    – Arcane
    Commented Apr 11, 2017 at 12:05
0
$\begingroup$

If you enable Experimental will you get 'adaptive' in the Subsurf modifier:

enter image description here Just enable adaptive and you shouldn't need to do more.

enter image description here

If it uses too much RAM you should use these settings:

enter image description here

The subdivision rate is how many pixels it is between each subdivision. If you increase the value it will decrease the quality.

For more info try this Youtube clip https://youtu.be/dRzzaRvVDng

$\endgroup$
3
  • 1
    $\begingroup$ I think it would be helpful if you explained what the 'Adaptive' option is meant to do and how it will help. Same goes for the 'Geometry' settings. $\endgroup$ Commented Nov 8, 2016 at 17:40
  • $\begingroup$ I will be away untill monday. The last edit shuld be enoth to understand Ad/Ge if I diden't go to lasy on the english. @ray_mairlot feal free to clean the answer if you like, the other you have done have been aprichiated $\endgroup$ Commented Nov 8, 2016 at 18:50
  • $\begingroup$ Sorry that I missed this answer when it was posted, I've been away from the Blender scene for a while. I don't believe this suffices for my situation; the detail in the meshes is not something that subdivision provides. I will add more detail to the question to better explain what I'm looking to accomplish. $\endgroup$
    – Arcane
    Commented Jan 11, 2017 at 2:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .