sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ›£οΈ Road Profile Builder | Generate roads, curbs and pavements easily Download

    How to get face uvs if texture is applied to component inst

    Scheduled Pinned Locked Moved Developers' Forum
    18 Posts 5 Posters 815 Views 5 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.
    • W Offline
      Whaat
      last edited by

      You can get the UVs by extracting the PolygonMesh object from the face. (Face.mesh)

      The UVs that you will get will need to be divided by the texture size that is set using the SketchUp materials editor. If the texture is applied directly the face, you can get the UVs directly (i.e. not dividing by the texture height and width).

      SketchUp Plugins for Professionals

      1 Reply Last reply Reply Quote 0
      • J Offline
        jbacigalupa
        last edited by

        @whaat said:

        The UVs that you will get will need to be divided by the texture size that is set using the SketchUp materials editor. If the texture is applied directly the face, you can get the UVs directly (i.e. not dividing by the texture height and width).

        Ok I will give that a shot, I thought I was just getting garbage uvs...I hadn't thought that they were the actual uvs just not set to the proper repeat value. Wow...

        I'll let you know how this goes.

        Joe Bacigalupa

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

          I did a quick test. I took the UV data from the faces with default material, and divided them with the Height and Width of the components material's texture, and then used position_material. The mapping seemed to be identical.


          UVmappingDefault.png


          default_uv.rb

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

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

            @jbacigalupa said:

            You can see the outline of the faces completely in render 1 - and in render 2 you can't. So that is where my assumption about the smooth tool came from. I am not sure if thats what it is but it seems like I'm breaking a "connection" or something when I modify the material. Maybe if I could do a batch material apply operation it would work out better...but since this is just a workaround to get uv info I don't want to muck around too much with the person's scene.

            I've seen that happen. But I don't understand why. What do you do to determine if two faces should be smoothed?
            As mentioned, the edge.smooth? and edge.soft? seem to remain true after you apply a material to the faces connected to it.

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

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

              @whaat said:

              You can get the UVs by extracting the PolygonMesh object from the face. (Face.mesh)

              The UVs that you will get will need to be divided by the texture size that is set using the SketchUp materials editor. If the texture is applied directly the face, you can get the UVs directly (i.e. not dividing by the texture height and width).

              Ah! Didn't see that post. Seems to confirm my theory and testing.

              I guess this means, the parsing of groups/components with materials applied to them won't produce such an overhead any more. πŸ˜„

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

              1 Reply Last reply Reply Quote 0
              • dkendigD Offline
                dkendig
                last edited by

                Shhh, don't jinx it... Joe got sucked off to a meeting, but we have managed to render a sphere with no faceting so far! I don't know what kind of impact this will have on scene parsing... fingers are crossed.

                Devin Kendig
                Developer

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jbacigalupa
                  last edited by

                  @thomthom said:

                  I guess this means, the parsing of groups/components with materials applied to them won't produce such an overhead any more. πŸ˜„

                  πŸ˜„ Yeah - so far it looks like the width/height divide was all we needed. Thanks to Whaat and ThomThom for your help - that issue has annoyed me for so long.

                  I wish I came to this forum sooner!

                  Joe Bacigalupa

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

                    @whaat said:

                    You can get the UVs by extracting the PolygonMesh object from the face. (Face.mesh)

                    The UVs that you will get will need to be divided by the texture size that is set using the SketchUp materials editor. If the texture is applied directly the face, you can get the UVs directly (i.e. not dividing by the texture height and width).

                    Doesn't a PolygonMesh return only triangles? Can you get UV data for distorted textures from just 3 points?
                    Face.position_material requires four samples to set a distorted texture.

                    Here, sample file:
                    uv_sample.skp

                    It contains two identical faces, both triangles. One face has a distorted texture, the other not.

                    uv_sample.rb
                    This script has two different methods to copy the UV mapping from the one face to the other.
                    Select the two faces, ensure one of them does not have a material applied, and try out the following two methods.

                    sample_vertex - samples UV data from the three vertices of the triangle. Notice that the transferred texture does not match.

                    sample_plane - Picks four points from the face's plane. Notice that the transferred texture is identical.

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

                    1 Reply Last reply Reply Quote 0
                    • W Offline
                      Whaat
                      last edited by

                      thomthom:

                      have you released that UV inspector plugin that you show in one of your posts above? I was looking for it the other day and I couldn't find it. It would be really useful to me.

                      SketchUp Plugins for Professionals

                      1 Reply Last reply Reply Quote 0
                      • N Offline
                        nomeradona
                        last edited by

                        seems were having a good news for vraysu here.... β˜€

                        visit my blog: http://www.nomeradona.blogspot.com

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

                          @whaat said:

                          thomthom:

                          have you released that UV inspector plugin that you show in one of your posts above? I was looking for it the other day and I couldn't find it. It would be really useful to me.

                          http://forums.sketchucation.com/viewtopic.php?f=180&t=21472

                          Though, I just noticed some weirdness when probing through groups/components. When I was testing the cylinder I'd draw the info correctly for every other face. πŸ˜• Need to track down a bug there.

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

                          1 Reply Last reply Reply Quote 0
                          • W Offline
                            Whaat
                            last edited by

                            Thanks Thomas!

                            SketchUp Plugins for Professionals

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

                            Advertisement