sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] 'Camera2Vue.rb'

    Scheduled Pinned Locked Moved Plugins
    36 Posts 12 Posters 37.9k Views 12 Watching
    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
      Alex Jenyon
      last edited by

      @craftycurate:

      I'm honestly not sure - I just tried to record my own process as closely as possible.

      It's worth checking in 'vue' to see if the orientation of the object is nearly right - i.e. the vertical axis in SU is the same as the 'up' in Vue.

      If it is, there are a couple of things to check:

      1. The field of view matches (SU's 'field of view' is the VERTICAL field of view in 'VUE'

      2. The units are the same. My script outputs the camera data in METRES. If your obj exporter uses mm, feet, or something else it's not going to match.

      3. The object is not hidden by the ground plane in 'vue' (delete it to make sure). Also check that vue doesn't automatically centre or resize your obj geometry.

      Hope you can sort it out!

      @matteo:

      Vue d'esprit can only read python scripts that e-on has created themselves. I don't have a copy, so I can't test out your problem. It should be possible to use the FoV and the aspect ratio to calculate the camera focal length - there's plenty of info around on how to do this, but it's a bit tricky. Let me know if you find a workaround, and I might try to add it to the script.

      @Solo:

      Yay! Great news - glad you got it playing ball. Did it work the way I described, or did you have to put in a bit of extra legwork?
      Please put together a video tutoral if you've got the time - I'm not sure it's something I'm going to be able to do.

      Thanks for your time everyone - most appreciated.

      AJ

      Concept artist / Matte painter
      www.aj-concepts.net

      1 Reply Last reply Reply Quote 0
      • C Offline
        craftycurate
        last edited by

        Hi Alex ...

        Thanks - I'll try out your suggestions.

        Cheers
        Richard

        1 Reply Last reply Reply Quote 0
        • C Offline
          craftycurate
          last edited by

          Here's another one - used a Sketchy Edge style to cover the inaccuracies, but it looks quite nice!


          blank_scene2c.jpg

          1 Reply Last reply Reply Quote 0
          • C Offline
            craftycurate
            last edited by

            I'm very close but not quite there - not sure what needs changing. I am working at maximum precision in Sketchup ... maybe rounding errors in Vue, which only accepts 3 dps.

            it isn't just a scaling error, but there is a slight rotational one too - the left corner is matched, but the bottom one isn't.

            I import the SKP file into Vue as an SKP - the free OBJ exporter creates a mirror image for some reason.

            If I can get this working for the SKP file, it might be useful to other Free SU users.

            Cheers
            Richard


            Camera2VueTest1b.jpg

            1 Reply Last reply Reply Quote 0
            • MarianM Offline
              Marian
              last edited by

              Doest it work with any of those free vue types?

              http://marian87.deviantart.com/

              1 Reply Last reply Reply Quote 0
              • soloS Offline
                solo
                last edited by

                Should work with the PLE version.

                http://www.solos-art.com

                If you see a toilet in your dreams do not use it.

                1 Reply Last reply Reply Quote 0
                • soloS Offline
                  solo
                  last edited by

                  Here is a quick pdf tutorial with installation files:

                  http://www.box.net/shared/md8inqn1yd

                  http://www.solos-art.com

                  If you see a toilet in your dreams do not use it.

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    Alex Jenyon
                    last edited by

                    @Solo: That's brilliant - thank you so much for taking the time to put that together. Mind if I host a mirror of it on my own server?

                    @craftycurate: Can you upload / email me the skippy file, and let me know which version of 'Vue' you are using? I'll look into it, see if I can some up with a solution for you. alex [at] aj-concepts.net

                    Cheers

                    AJ

                    Concept artist / Matte painter
                    www.aj-concepts.net

                    1 Reply Last reply Reply Quote 0
                    • soloS Offline
                      solo
                      last edited by

                      Sure thing Alex.

                      http://www.solos-art.com

                      If you see a toilet in your dreams do not use it.

                      1 Reply Last reply Reply Quote 0
                      • A Offline
                        Alex Jenyon
                        last edited by

                        Okay, I've got a workaround for folks who only have SUfree.

                        I have absolutely no idea WHY it works, but it seems to - so please test it and see if you can work it out yourself.

                        1. Export the geometry as a google earth .kmz file

                        2. Rename the file from name.kmz to name.zip (i.e. change the file type to .zip)

                        3. Unzip the .zip file

                        4. Open the 'models' folder, and find 'name.dae' - this is a collada file

                        5. Import the collada file to 'Vue'

                        6. Scale it by 3.937. No, I have no idea why, but it seems to work. Anyone know why it's this value?

                        (To do this, if you're not sure: Select your object, and click on the 'size' icon - the cube that's been stretched vertically. Calculate what the 'x' size of the object multiplied by 3.937 is. Then lock x, y and z sizes together - using the padlock icon - and enter this value in the 'x' size field. All the values should scale together.)

                        1. Follow the rest of my method to match the camera.

                        AJ

                        Concept artist / Matte painter
                        www.aj-concepts.net

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          sepo
                          last edited by

                          Will it work with Vue 5 Infinite ?

                          1 Reply Last reply Reply Quote 0
                          • S Offline
                            sepo
                            last edited by

                            Ok I will try and let you know. Thanks for your reply. I never really upgraded from Vue 5 as I hated camera...Donno if it is any better now.

                            1 Reply Last reply Reply Quote 0
                            • A Offline
                              Alex Jenyon
                              last edited by

                              @sepo - I don't know, and don't have any way of testing it.... Only one way to find out, I guess.

                              I'm using fairly basic python commands in Vue, but I think the command to select the camera changed between Vue 6 and Vue 7, which might mean the script doesn't work.

                              You could try deleting the first two lines of the python script, manually selecting the camera in Vue, and then running the script normally.

                              Otherwise, you might need to do a bit of digging into the python documentation for Vue 5 to get it working seamlessly, but it shouldn't be too tricky.

                              AJ

                              Concept artist / Matte painter
                              www.aj-concepts.net

                              1 Reply Last reply Reply Quote 0
                              • C Offline
                                craftycurate
                                last edited by

                                @alex jenyon said:

                                @sepo - I don't know, and don't have any way of testing it.... Only one way to find out, I guess.

                                I'm using fairly basic python commands in Vue, but I think the command to select the camera changed between Vue 6 and Vue 7, which might mean the script doesn't work.

                                You could try deleting the first two lines of the python script, manually selecting the camera in Vue, and then running the script normally.

                                Otherwise, you might need to do a bit of digging into the python documentation for Vue 5 to get it working seamlessly, but it shouldn't be too tricky.

                                AJ

                                Thanks Alex - it works beautifully. Looks pixel perfect. Here's an example render.

                                Thanks for all your help & for providing this great script - I'll be interested to try it with some architectural models.
                                RichardC2V Test4.jpg

                                1 Reply Last reply Reply Quote 0
                                • S Offline
                                  sepo
                                  last edited by

                                  Are you saying it works with Vue 5?

                                  1 Reply Last reply Reply Quote 0
                                  • C Offline
                                    craftycurate
                                    last edited by

                                    By the way, a workflow tip that will help with the scaling issue (via Alex's Collada method).

                                    If your SKP model has a nice bounding box, simply measure the length of one of those sides in SKP, and then paste that dimension into the corresponding dimension in Vue.

                                    If that isn't possible, scaling by 3.937 will do the same job.

                                    1 Reply Last reply Reply Quote 0
                                    • C Offline
                                      craftycurate
                                      last edited by

                                      OK another render, to prove the method works with complex models which would show up flaws.

                                      I've added a subtle outline, which is the SKP render, overlaid on a Vue 7 Global Radiosity render, though it looks great with a simple Ambient Occlusion one too.

                                      View in full size to see the detail.

                                      Thanks
                                      Richard


                                      C2V Taj1 Vue1b.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • M Offline
                                        matteo
                                        last edited by

                                        So, there is no need for trigonometric conversions to convert degrees into 35mm camera FoV, as I feared.

                                        Here the steps to make it work in Vue 7 Esprit.

                                        1. Run the plugin 'camera to vue' inside sketchup and, when you're prompred to save the python script, save it as simple text by adding the '.txt' extension to the name you choosed to save it.

                                        2. Open it with a text editor and leave it open.

                                        3. In Vue just go to the options panel and under 'display options' check -show camera Fov in Object properties-.

                                        4. Select the camera and copy and paste from the previous opened text all the single values of camera position and rotation, plus Sketchup's field of view in the upper right panel.

                                        You're done:
                                        render and enjoy!

                                        /matteo


                                        vue-options.gif


                                        zorro-greeble-vue.jpg

                                        hire me: http://www.nonsolo3d.it/ !

                                        1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          matteo
                                          last edited by

                                          The funny standard measure unit of Vue, 10,00cm, divided by one inch (2,54cm) equals 3,93700787

                                          But don't ask me why this is needed 😲

                                          hire me: http://www.nonsolo3d.it/ !

                                          1 Reply Last reply Reply Quote 0
                                          • thomthomT Offline
                                            thomthom
                                            last edited by

                                            @matteo said:

                                            The funny standard measure unit of Vue, 10,00cm, divided by one inch (2,54cm) equals 3,93700787

                                            But don't ask me why this is needed 😲

                                            SU always uses inches, so if Vue uses cm (10cm...?) then that's why you need that conversion I guess.

                                            Thomas Thomassen — SketchUp Monkey & Coding addict
                                            List of my plugins and link to the CookieWare fund

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

                                            Advertisement