• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[Plugin] OBJexporter v3.0 20130131

Scheduled Pinned Locked Moved Plugins
304 Posts 96 Posters 451.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.
  • T Offline
    TIG Moderator
    last edited by 14 Mar 2011, 10:22

    @stefkeb said:

    Nice plugin. It does work to get SketchUp Free models into Unity3D. At work I have SketchUp Pro with good FBX export, but at home, for the kids, I am learning them to use the free version of SketchUp. This is a good script, although with some models there are waaay to many materials. I assume that the UV mapping is the culprit. But I can not complain, as this was a model from the 3D Warehouse.

    OBJexporter creates one material & texture file for each material.
    If that material has UV mapping it should only make the one file and map it within the code BUT if a texture has been UV mapped AND distorted then there insufficient points on a triangular face to cope so it makes a duplicated material using a distorted texture image file and normal mapping in lieu. The Pro exporter does a similar thing. If you have several distorted textures then you get one extra material for each one. It is possible to have a textured material that looks virtually the same as one that's not been mapped, BUT if there is the slightest distortion you will get a duplicated distorted material being exported... If you want to attach or PM the SKP [or point to the actual file] then I can check it out too.... πŸ˜•

    TIG

    1 Reply Last reply Reply Quote 0
    • T Offline
      TIG Moderator
      last edited by 23 Mar 2011, 11:43

      Here's v1.5
      http://forums.sketchucation.com/viewtopic.php?p=294844#p294844
      It addresses a 'smooth-normal' issue where smoothed surfaces weren't getting exported properly.

      TIG

      1 Reply Last reply Reply Quote 0
      • M Offline
        McGyver
        last edited by 24 Mar 2011, 01:40

        Thank you for the update!!

        [Visit My ShareCG Freebie Gallery](http://www.ShareCG.com/pf/full_uploads.php?pf_user_name)

        1 Reply Last reply Reply Quote 0
        • A Offline
          Alienizer
          last edited by 28 Mar 2011, 04:55

          Thanks for this great plugin. Way better than Sketchup OBj Export.

          I have one request, is it possible to also export back faces that have a color or material, and not those that don't? Say, instead of creating a new face for the back like SKP export do, can yours assing a new OBJ command? For example...

          usemtl White
          bf 9/9/9 10/10/10 11/11/11

          bf for backface!

          That way, we can load the obj and detect any back faces as oppose to treat them as a new face and have duplicate triangles!

          I don't know if I make any sense?

          Thanks

          I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

          1 Reply Last reply Reply Quote 0
          • T Offline
            TIG Moderator
            last edited by 28 Mar 2011, 09:34

            Alienizer

            The Pro OBJ exporter has a 'two-sided' face option BUT when you bring these into many app's the faces 'fight' as they are coplanar.
            What happens is each face is effectively duplicated and one is reversed with the Back material applied to it.
            An OBJ file must use 'f' to define a face, there's no 'bf' coding...
            I've no plans to make a 2-sided version any time soon...

            I suspect that you actually want a quick and lazy way to fix a sloppily modeled SKP, where you have some reversed faces with materials on their backs instead of their fronts... πŸ˜’ I have already written the very tool to fix that for you - 'FixReversedFaceMaterials' - it flips any faces with materials only on their backs and sorts out the material's mapping back onto the 'now-correctly-oriented-face' front etc... Read this and then download the script http://forums.sketchucation.com/viewtopic.php?p=264134#p264134 πŸ€“

            TIG

            1 Reply Last reply Reply Quote 0
            • A Offline
              Alienizer
              last edited by 28 Mar 2011, 22:26

              Great! Thank you. I will use your other tool. What about a face with 2 materials where front and back are visible, say, the back is visible from a mirror when rendered?

              FYI I found a simple model that does not convert properly. All faces are oriented correctly and it export fine with SKP obj export...
              http://sketchup.google.com/3dwarehouse/details?mid=b4b51fe2bdeeeedf56c58b78d29fd8a9&prevstart=24

              Thanks again TIG

              I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

              1 Reply Last reply Reply Quote 0
              • T Offline
                TIG Moderator
                last edited by 29 Mar 2011, 08:01

                An OBJ file contains data for a face with a material.
                If you want a back material you must make a second face that's reversed.
                As most renderers etc expect 'solid' objects it is wise to model your SKP this way - e.g. make a window glass with two outward facing faces ~10mm apart as it would be in the real world [there are never 'single planes' in reality - all things, no matter how thin they are, have two faces each with a front, not one face with a front and a back!]

                I am testing your problem Allosaurus SKP - it is complex with over 800,000 lines of code in the OBJ file. The OBJexporter isn't foolproof - I'll try to see where it might be failing... πŸ˜•

                TIG

                1 Reply Last reply Reply Quote 0
                • T Offline
                  TIG Moderator
                  last edited by 29 Mar 2011, 09:59

                  I found that my OBJexporter did make a correct OBJ version - which imported OK into other packages. It took ages to finish and the OBJ file was 22Mb! The Pro OBJ exporter is quicker because it's compiled etc... BUT mine is 'free' πŸ˜‰

                  There is a problem with my old clunky OBJimporter - it will import some of the faces flipped - it's an issue with smoothed normals.***

                  I suggest you try this quite new and free 'compiled' OBJimporter - it is much faster, and after some initial tweaking this version is now stable and it gave me a perfect re-import back into a SKP of Allo'... see here http://forums.sketchucation.com/viewtopic.php?p=316470#p316470 - read the thread to see how it's evolved... It could probably do with some better reporting in the Status-Bar, but otherwise I like it...

                  ***As we now have this free 'compiled' OBJ 'FluidImporter', I probably won't bother doing any more work on my clunky version...

                  TIG

                  1 Reply Last reply Reply Quote 0
                  • A Offline
                    Alienizer
                    last edited by 29 Mar 2011, 19:50

                    I know you are right, and I do make my models that way, but, in the 3D warehouse, you are not going to find many that follows that rule! They all use an electron thin wall, and don't even know about front/back faces! Let alone paper thin glass (no thickness)!! That's why I try to get some 3ds files, then use AccuTrans3D to convert it to KMZ so that I can load it in SKP.

                    However, you're obj importer is by far the best of all! Thank you, and it's free! 😍

                    Your renderer looks fantastic too. Great job, and thanks for taking the time to answer my post.

                    I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

                    1 Reply Last reply Reply Quote 0
                    • A Offline
                      aapur
                      last edited by 31 Mar 2011, 09:18

                      i cannot get it into sketchup.

                      OS: Win 7
                      SU: 8

                      what should i do. (be detailed please)

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        TIG Moderator
                        last edited by 31 Mar 2011, 11:03

                        Put the .rb file into your ../Plugins folder and restart Sketchup.
                        Use Menu > File > OBJexporter
                        Otherwise please be more specific with your problem's description...

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • A Offline
                          Alienizer
                          last edited by 1 Apr 2011, 00:17

                          TIG, I have another one for you. I created a simple Cornell box with a sphere in the middle. Sketchup OBj exporter rendered perfectly, yours seems to have not soften it! See screen shot...

                          ScreenShot.png

                          I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

                          1 Reply Last reply Reply Quote 0
                          • A Offline
                            Alienizer
                            last edited by 1 Apr 2011, 03:05

                            I have another one for you...

                            Error 404 (Not Found)!!1

                            favicon

                            (sketchup.google.com)

                            This guy did this by the book. It renders fine when exported using SKP obj exporter, but not when using yours!

                            I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              TIG Moderator
                              last edited by 1 Apr 2011, 08:07

                              Are you using the latest version of my exporter [v1.5] ?
                              This was updated to correct some smooth-normal issues, and it seems to work on exports tested by others.
                              Please download it from the first post and retry your sphere/box...
                              [It is also very similar to my Octane exporter which renders smoothed faces as expected too]

                              When re-importing it into a SKP you need to use this http://forums.sketchucation.com/viewtopic.php?p=318928#p318928 new tool - my old OBJimporter is now surpassed [and it never imported 'smoothness' anyway]...

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • T Offline
                                TIG Moderator
                                last edited by 1 Apr 2011, 09:04

                                Here's a quick test.
                                The SKP has two spheres one smoothed [dotted edges] and the other faceted.
                                It is exported as an OBJ and then used in a quick Octane render, which shows the smoothed sphere as a rounded pearl and the faceted one exactly as they are the SKP ?
                                Are you sure you have the latest version of OBJexporter ?TestSKP.PNGTestRender.png

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • T Offline
                                  TIG Moderator
                                  last edited by 1 Apr 2011, 10:30

                                  I also tested the 'Mullaghmore' house.
                                  The roof carpentry [first scene] exported to OBJ fine and here's a render in Octane MullaghmoreRoof.PNG compared to the original it seems perfect ?
                                  When I exported the whole house and its site [house] to OBJ it took a while and it then loaded into Octane but after all of the materials loaded it crashed it [it does have 90 textures and then other materials, although the OBJ itself is relatively modest]. When I re-imported it into a SKP after some considerable wait I got it to import. Clearly all smoothing was lost [currently all OBJ importers to SKP ignore smoothed normals]. I could have then quickly re-smoothed and got back to something like the original. There was considerable redundancy with interior structure, furniture etc that's 'on' in the exported scene but never visible in a 'site' view - luckily the SKP is very well layered, so switching those unneeded things' layers 'off' let it be exported quickly to OBJ and then it rendered nicely in Octane too... The 'tiling' is a function of the original texture mapping rather than the export or render - just compare it with the original SKP view MullaghmoreHouseSite.png I'm not getting any real issues here - only that I can't expect a renderer to cope with a zillion unneeded hidden things in the model line floor joists and WCs as it needs to calculate all of them unnecessarily... πŸ˜•

                                  TIG

                                  1 Reply Last reply Reply Quote 0
                                  • A Offline
                                    Alienizer
                                    last edited by 1 Apr 2011, 18:58

                                    Thanks TIG, but I do have the latest. I think I found the problem. It is that in some instances, your exporter export some faces as back face, that is, in the obj file, f 1/1/1 2/2/2 3/3/3 is f 3/3/3 2/2/2 1/1/1. Here is how I found out. Check this model...

                                    Error 404 (Not Found)!!1

                                    favicon

                                    (sketchup.google.com)

                                    You see the first brown door on the right? Erase everything except that door, then remove the frame and the back door (it's a bifold). Now you are left only with the 3d rect (6 faces, not paper thin). Now, the last two line foe example, is the front...

                                    f 21/21/21 22/22/22 23/23/23
                                    f 22/22/22 21/21/21 24/24/24

                                    and it is reverse. a ray bouncing of the normal goes inward, not outward. Now, it I modify it like this...

                                    f 23/23/23 22/22/22 21/21/21
                                    f 24/24/24 21/21/21 22/22/22

                                    it now renders fine and the face if oriented properly.

                                    Most render such as yours may not be affected by this, but mine is! The fact remain that the face is not oriented properly.

                                    Or is it just me that's going nuts?

                                    I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

                                    1 Reply Last reply Reply Quote 0
                                    • T Offline
                                      TIG Moderator
                                      last edited by 1 Apr 2011, 22:19

                                      I've checked your linked SKP.BrukSKP.PNG
                                      It isn't modeled perfectly - there are a few reversed or missing faces [showing as blue or 'nothing' here].BrukMono.PNG
                                      My Octane render seems much like the SKp.BrukOctane.png
                                      My Twilight render is too [although it does auto-correct the rubbish modeling [reversed face on the end of the stone-wall and a triangle pane in particular].BrukTW.jpg
                                      This crap render from AC3D also mimics Octane's output with the expected problemsBrukAC3D.PNG
                                      Finally here's it exported to OBJ, re-imported into an empty SKP and a Twilight renderBrukOBJ=TW.jpg

                                      They all seem to cope quite well with the original SKP - TW even forgives the reversed faces πŸ˜’

                                      What's your renderer that seems to be causing this weirdness ? πŸ˜•

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • A Offline
                                        Alienizer
                                        last edited by 1 Apr 2011, 22:47

                                        I was only using a simple raytrace to verify the orientation of the faces. When I click on a face, it shows me the reflected vector (also shows the normals etc), and it shows it correctly with the skp export, but with yours, it shows the reflected vector to go inwards. Not for the whole model, only for the 2 brown doors to the right. When I reverse the face (f #/#/#...) as I explained, then the reflected verctor is proper. The same thing happens with the body of the allo dinosaur, but not the head.

                                        I know the renders takes care of that, but imho I think it's better to have a flawless obj than one the render has to fix, so I present you my findings. It seems that for those 2 doors, the triangles are CWW instead of CC (or CC instead of CCW). This makes a big difference when you do a ray/troiangle test and test for face culling or want to know if it hit the back face or not.

                                        I'm from Mars and moved to Earth to alienize you. Unfortunately, I became humanized.

                                        1 Reply Last reply Reply Quote 0
                                        • T Offline
                                          TIG Moderator
                                          last edited by 1 Apr 2011, 23:25

                                          Thanks for the analysis...
                                          The tool's 'triangulation' method is built in to the Ruby API's face / mesh methods.
                                          There's little control over it, other than telling it what extent of detail the mesh will include - like back face UVs...
                                          ...except that there are some arcane face / edge methods 'reversed_in' etc that are used to orient faces that share an edge but face opposite directions [i.e. one is reversed].
                                          At the moment I can't see how... BUT perhaps you could reverse an edge's vertices on a particular face that is 'wrong' before making the triangulated mesh... I wonder if the problem 'door' face has some small facets - fluking it? I'll look more closely...

                                          As it is, I see this glitch as a shortcoming of the API mesh method that is making occasional glitches in the mesh that the OBJ is then using in its exporting... πŸ˜•

                                          TIG

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

                                          Advertisement