• Login
sketchucation logo sketchucation
  • Login
โ„น๏ธ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

Instancing

Scheduled Pinned Locked Moved SketchUp Discussions
sketchup
11 Posts 7 Posters 1.3k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    Al Hart
    last edited by 30 Apr 2008, 13:34

    I have been thinking about a "dummy component" tool for SketchUp to replace high-poly component instances with low-poly versions while modelling, and then restore the high-poly versions for final rendering.

    Basically, the idea is this:

    1. You would place one or more high-poly instances of a component into your model.

    2. The "dummy component" tool would create a low-poly, dummy version of the component by creating a new component with a alpha transparency, raster image of the original component in it instead of all the geometry and replace all but the first instance with the dummy component, and then let you place additional copies of the dummy component into the model.

    3. The "dummy components" would probably look dumb, but would lower the number of faces which had to be handled by the OpenGL viewer. This should make it much faster to work with the complex model.

    4. When you were ready for a high-quality rendering, the tool would replace the dummy component with a copy of the high-poly version (by including the high-poly version as a sub-component) (This could also be easily done with layers - "low poly" for the image, and "high-poly" for the sub-component)

    5. Rendering engines could be "smart enough" to read the high-poly layer even though it was turned off, or you could turn on the high-poly layer just long enough to create the rendering.

    Is this a good idea?

    Does Didier's "component spray tool" already do this. (If not, it could still be used to spray paint with the low-poly version of the component)

    Is there another script out there which does this already?

    Al Hart

    http://wiki.renderplus.com/images/e/ef/Render_plus_colored30x30%29.PNG
    IRender nXt from Render Plus

    1 Reply Last reply Reply Quote 0
    • R Offline
      remus
      last edited by 30 Apr 2008, 14:08

      Al, this would be wicked. Especially for all those rendering engines that don't have an instancing system. Now i tihnk aobut it, it sounds better than the instancing in skindigo which ive always found ot be a little clumsy and not very intuitive.

      Good luck if you decide to go ahead with this.

      http://remusrendering.wordpress.com/

      1 Reply Last reply Reply Quote 0
      • S Offline
        sorgesu
        last edited by 30 Apr 2008, 14:13

        A simple version of this really already exists.
        If you create a simple dummy compoment that is no more than block shapes and occupies the same height, and width as your real complex component, you can place the dummy in all the appropriate places in your model.
        When you have completed your model and have selected all of your scene views you are ready to replace the dummies with the real hi poly component. Simply right click on any one of the dummies and from the context menu select "reload". This will open a window where you can navigate to the place where you have stored your real componnent and you click on it and all of your dummies are replaced with the real thing.

        Susan Sorger
        Former Seller Hand Rendered Entourage
        Former Canadian Authorized Training Centre, SketchUp

        1 Reply Last reply Reply Quote 0
        • A Offline
          Al Hart
          last edited by 30 Apr 2008, 14:21

          We are going to try this today.

          We will put two layers in the component:

          "Low Poly" will contain the image of the component, or a "block shape" as suggested by sorgesu, (probably a user option) and

          "High Poly" which will contain the original geometry.

          We will either: a.) create a new component with a new name so the high-poly layer can contain an an instance of the original component. or b.) keep the original component name, but place the existing geometry in a group so we can give it a layer. - Both of these have advantages, so we may make it a user option.

          This should just work. (It will be easy to test it by creating the same two layers by hand)

          The current plan is to add this to RpTools and IRender. People who don't want to purchase either product would be able to use it for free in the IRender Trial version (even after the trial period expired) and perhaps would want to try the "Instancing" in the IRender engine to see how well it works. (In IRender you can still test renderings after the trial version - but you get a watermark which gets worse and worse as time goes on.)

          Al Hart

          http://wiki.renderplus.com/images/e/ef/Render_plus_colored30x30%29.PNG
          IRender nXt from Render Plus

          1 Reply Last reply Reply Quote 0
          • G Offline
            gksl4
            last edited by 30 Apr 2008, 14:22

            Sketchup exporter to Indigo from Whaat does a great job with instancing.

            Below is an example made by Kwistenbiebel at Indigo SketchUp Forum
            http://www.indigorenderer.com/joomla/forum/viewtopic.php?t=2451&postdays=0&postorder=asc&start=120

            1 Reply Last reply Reply Quote 0
            • A Offline
              Al Hart
              last edited by 30 Apr 2008, 14:56

              @gksl4 said:

              Sketchup exporter to Indigo from Whaat does a great job with instancing.

              This thread isn't really about instancing in external renderers, but about applying a similar concept - (perhaps I should have called it "Dummy Instancing") - for SketchUp - to use low poly instances while modeling and the converting them to high-poly instances when ready for final rendering within SketchUp.

              If the idea makes sense (to make SketchUp faster), then external renderers could take advantage of the layering concept by turning on the High-Poly layer and turning off or ignoring the "Low Poly" layer when extracting geometry from the SketchUp model.

              Al Hart

              http://wiki.renderplus.com/images/e/ef/Render_plus_colored30x30%29.PNG
              IRender nXt from Render Plus

              1 Reply Last reply Reply Quote 0
              • P Offline
                plot-paris
                last edited by 1 May 2008, 08:10

                hi Al,

                all your ideas are already possible in sketchup:

                model your high-poly model, group it and put it in a layer called "high_poly" (what else ๐Ÿ˜‰ ).

                then you model a simple version in the same place, group it and put it in a layer called "low_poly".

                now you switch off the "high_poly" layer and save the file.

                if you now are working on another model in SketchUp and insert the just created component, you will automatically get the two layers with the "high_poly" layer set to invisible. - isnt that what you wanted? ๐Ÿ˜„

                or did you mean to automate the process of creating the low_poly version? if yes, that will be quite difficult. because how are you going to choose the level of simplification. just using the bounding box will be too imprecise sometimes (look at the red shape). perhaps you should be able to choose the simplification grade (edges shorter than 10cm will be simplified for example - like in the green shape)

                low_poly.jpg
                however, I think that is a wonderful idea - for you can structure your model with as many layers as you want (moving the components into the different layers) and still be able to swith from low_poly to high_poly, changing the level of tetail within all the components.

                1 Reply Last reply Reply Quote 0
                • I Offline
                  ilay7k
                  last edited by 1 May 2008, 08:21

                  and what Vlado gets from ChaosGroup for his Vray - http://www.spot3d.com/vray/help/150SP1/vrayproxy_params.htm

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    kwistenbiebel
                    last edited by 1 May 2008, 10:18

                    Al,

                    Whaat wrote a tutorial SU file which explains the proxy/instancing method for Skindigo.

                    See the zipped SU file in attachment: the scene tabs 'instancing' and 'proxy' explains it.
                    In my experience, that proxy/instancing method works superbly.
                    The only thing I think could be improved is that the low poly variant would be automated, meaning that when one imports a high poly component, a dummy component would be generated automatically. I usually model a stick when I proxy a tree etc...

                    Cheers,
                    Kwistenbiebel


                    Advanced Features indigo.zip

                    1 Reply Last reply Reply Quote 0
                    • A Offline
                      Al Hart
                      last edited by 1 May 2008, 14:52

                      Thanks,

                      These previous three comments are quite helpful.

                      What we are working on is a way to automate the process.

                      The user will:

                      1. right click on an existing component instance and select "Create Lo-res Proxy"

                      2. The user will select options from a dialog box:

                      2a. Alter existing component definition or create new component definition with "_proxy" added to the name.

                      • There are good reasons for both choices - for instance if the components are being counted by component name, then you would want to retain the current name.
                      1. The user will choose one of several low-res options

                      3a. simple box using component extrema

                      3b. Always face camera image of component thumbnail (will not loof perfect, but will at lest use an alpha transparent image of the thumbnail so you can tell which component is which)

                      3c. Cris-cross images of thumbnail

                      3d. Thumbnail places on all sides of box

                      1. The new component will have old geometry in a group in layer "RPS HI-RES", and new, proxy geometry in a layer "RPS LOW-RES", so it will be easy to flip flop between the display.

                      2. External renderers can automatically extract the HI-RES geometry without having to turn on the layer within SketchUp.

                      In the next day or so we should have a "timing test" for SketchUp models and some complex components. (we are going to time a single operation - like "Zoom Extents" to make sure the approach works, and to see what the differences between options 3a-3d are.

                      Al Hart

                      http://wiki.renderplus.com/images/e/ef/Render_plus_colored30x30%29.PNG
                      IRender nXt from Render Plus

                      1 Reply Last reply Reply Quote 0
                      • I Offline
                        ilay7k
                        last edited by 1 May 2008, 15:00

                        about "5" point...will be need to develop external modules-scripts or assigning with authors of renders-exporters for supporting...or make api-sections for devs....near cad-skipy future ๐Ÿค“
                        great features are.... ๐Ÿ˜

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        1 / 1
                        • First post
                          1/11
                          Last post
                        Buy SketchPlus
                        Buy SUbD
                        Buy WrapR
                        Buy eBook
                        Buy Modelur
                        Buy Vertex Tools
                        Buy SketchCuisine
                        Buy FormFonts

                        Advertisement