Announcement

Collapse
No announcement yet.

Instance Tool - Editing instances directly in editor viewport

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Hi. I'm having a problem with intancing.

    When I'm instancing, between instanced meshes have always small gap.

    Click image for larger version

Name:	gap.JPG
Views:	1
Size:	105.7 KB
ID:	1117483

    Can you tell me how can I fix this problem?

    Thank you!
    Please visit and follow my Artstation
    https://www.artstation.com/artist/archivolts

    Comment


      #32
      Hi, I'm adding more information.

      It's happening when I'm instancing with Alt key in viewport and only Rotated.

      When I Rotate with Alt key, it scales down little bit like 0.99998 then it breaks up and makes a gap.

      How can I prevent this!? Thank you!

      Click image for larger version

Name:	rotate.JPG
Views:	1
Size:	20.1 KB
ID:	1117484
      Please visit and follow my Artstation
      https://www.artstation.com/artist/archivolts

      Comment


        #33
        [MENTION=49052]MeepMeep[/MENTION], if the issue only occurred when the instance been rotated, it might has something to do with how transform matrix stored for Instanced Static Mesh instances. Do you get similar gap when setup instances using Unreal's build-in add instance tool (manually input the rotation value in array field)?

        I'll address this issue as soon as I'm back from my trip, but as a workaround, you can selected all rotated instances and input exact scale value in the transform panel. (It might not works, but worth a try). Another possible solution is to play with the snap tools's snap offset value, basically it will snap instances together with some tiny overlap.
        | twitter | github | #ue4tip

        Comment


          #34
          Hi Nate! How are you?
          I'm happy to be answered.

          I've been digging this problem.
          My level scene is 100% used with 2 Meter x 2 Meter per texel density 2048x2048 textyres, with all Instanecd Static meshes, and keeping under 50 to 120 draw call in visible area.

          But I've never rotated my modulized static meshes because it's very difficult one by one hand to hand.
          It was first time to rotate with your plug-in because it's so robust.

          Here is the point, Even I rotate without plug-in, it makes a gap and changes scale.
          Therefore my opinion about this issue is actualy unreal engine's own issue, not from your plug-in.

          It leaks lightmasses and makign a light though the gap.

          I've been digging this issue from year 2015, and quite many people mentioned and apply to bug reporting.
          Only I can fix my problem is I rotate in Maya and import pre-rotated mesh and instance as different static meshe ( It causes double draw call per pre-rotated meshes )
          Sad but I hope Epic team would fix this problem.

          Thank you !

          PS. Your plugin is AWESOME. Thank you for make this !!!


          Originally posted by Nate View Post
          [MENTION=49052]MeepMeep[/MENTION], if the issue only occurred when the instance been rotated, it might has something to do with how transform matrix stored for Instanced Static Mesh instances. Do you get similar gap when setup instances using Unreal's build-in add instance tool (manually input the rotation value in array field)?

          I'll address this issue as soon as I'm back from my trip, but as a workaround, you can selected all rotated instances and input exact scale value in the transform panel. (It might not works, but worth a try). Another possible solution is to play with the snap tools's snap offset value, basically it will snap instances together with some tiny overlap.
          Please visit and follow my Artstation
          https://www.artstation.com/artist/archivolts

          Comment


            #35
            Hi, I'm back

            I've just updated Instance Tool to v1.1.2.

            One main feature introduced in v1.1.2 is new Distribute panel, which might come in handy when you trying to line up or distribute instances in global/local space.

            Click image for larger version

Name:	distribute_panel_1.1.2.jpg
Views:	1
Size:	12.6 KB
ID:	1118080

            There's one interesting feature in Distribute panel: Distribute Ignore Smae Location? might worth some explanation:

            Say you have 3 rows of instances, and you like them to be distribute in X axis in 3 group

            Click image for larger version

Name:	distribute_group_1.jpg
Views:	1
Size:	56.5 KB
ID:	1118081

            That's Distribute Ignore Smae Location? option for

            Click image for larger version

Name:	distribute_group_2.jpg
Views:	1
Size:	3.3 KB
ID:	1118082

            Basically it will treat all instances with same location in aligning axis as one group

            Click image for larger version

Name:	distribute_group_3.jpg
Views:	1
Size:	55.7 KB
ID:	1118083

            Aother feature introduced in v1.1.2 is "Auto Align Scale to Grid", which is a workaroud of instance scale drifting issue (as [MENTION=49052]MeepMeep[/MENTION] reported). For more info regarding scale drifting, Niklas Frykholm wrote an detail article here. But unfortunately keeping the scale from drifting wont fully fix the gap between rotated instance bug in engine itself. (The bug dated from 4.8 according to this answer hub post). Good new is that the bug is related to issue UE-17458 which is targed to be fixed in 4.15.

            Meanwhile I found the simplest solution for fixing the gap between rotated instances (before 4.15), is to add a tiny scale to rotated instance. (I'm adding Delta Transform function to make it easier in next version.)
            Last edited by Nate; 11-08-2016, 11:26 PM. Reason: Change name of "Force Scale Align" to "Auto Align Scale to Grid"
            | twitter | github | #ue4tip

            Comment


              #36
              Nate,

              It's amazing that you have solved the real issue that I have suffered such a long time.
              Mostly, this bug has been make my project 64 times more of draw calls because I had such a no choice for not using ISM because it's modulized in very small chunks with sensitive shader.
              So for fixing gap was just importing with each 90 degree of base static meshes, which costs 8 more each pre-rotated meshes consumes.

              Thank you very much and I wish this should be known to other devs. Such a good news.
              Please visit and follow my Artstation
              https://www.artstation.com/artist/archivolts

              Comment


                #37
                Hello!

                I'm actually implementing to 4.12 version UE engine but I can't update from Launcher.
                Would you let me know how could I update your new version plugin? Thank you!
                Please visit and follow my Artstation
                https://www.artstation.com/artist/archivolts

                Comment


                  #38
                  Originally posted by MeepMeep View Post
                  Hello!

                  I'm actually implementing to 4.12 version UE engine but I can't update from Launcher.
                  Would you let me know how could I update your new version plugin? Thank you!
                  Hi [MENTION=49052]MeepMeep[/MENTION],

                  You can install plugin through marketplace product page:

                  Click image for larger version

Name:	Update_01.jpg
Views:	1
Size:	120.1 KB
ID:	1118236

                  In the product page, click "Install to Engine" button

                  Click image for larger version

Name:	Update_02.jpg
Views:	1
Size:	33.4 KB
ID:	1118237

                  If you have already installed the plugin, then you can update the plugin from Library:

                  Click image for larger version

Name:	Update_03.jpg
Views:	1
Size:	79.6 KB
ID:	1118238

                  Under the engine version, click "Installed Plugins" text link:

                  Click image for larger version

Name:	Update_04.jpg
Views:	1
Size:	57.2 KB
ID:	1118239

                  You should able to update the plugin from the list. (Here all my plugins are up to date, so there's only Remove button")
                  | twitter | github | #ue4tip

                  Comment


                    #39
                    Hello Nate!

                    Finally I solved my problem with your support. Thank you very much!
                    I'd like to ask when does it gonna be updated for 4.14?
                    I wish I could get your answer soon!
                    Please visit and follow my Artstation
                    https://www.artstation.com/artist/archivolts

                    Comment


                      #40
                      [MENTION=49052]MeepMeep[/MENTION], I have submitted v1.1.3 with 4.14 support to Marketplace, should be available through Launcher soon. itch user can download it now.

                      One main feature implemented in 1.1.3 is new Delta Transform panel.

                      Click image for larger version

Name:	delta_transform_panel.jpg
Views:	1
Size:	17.8 KB
ID:	1118507

                      You can also duplicate instances while applying delta transform, which could be use to generate interesting structures.

                      Click image for larger version

Name:	delta_transform.jpg
Views:	1
Size:	134.2 KB
ID:	1118508

                      Click image for larger version

Name:	delta_transform2.jpg
Views:	1
Size:	88.5 KB
ID:	1118509
                      | twitter | github | #ue4tip

                      Comment


                        #41
                        1.1.3 with 4.14 support is now live on the Marketplace.
                        | twitter | github | #ue4tip

                        Comment


                          #42
                          1.1.3.1 update is now live on both Unreal Engine Marketplace and itchi.io.

                          It fixed a user reported bug when enabling actor viewport select might cause editor out of memory due to early cancel of undo transaction.
                          | twitter | github | #ue4tip

                          Comment


                            #43
                            Hi Nate, I just bought your plugin and I already love it, so convenient and easy to use.
                            I have one issue though. I don't know if this even makes sense but when I instance a static mesh that I have previously mirrored (Transform -> Mirror X/Y/Z) the normals gets flipped when I later turn it into an instance with your plugin.
                            It's not a huge issue and I could alter my work flow to avoid it (I'm building half an apartment building and then mirror it to create the other half) but it would be great if this could be avoided somehow.

                            Thanks!

                            Comment


                              #44
                              [MENTION=766]Sitrec[/MENTION], so glad you like it!

                              The issue you noticed is a long overdue UE4 bug: (https://answers.unrealengine.com/que...-mesh-bug.html)
                              Basically negative scale is not yet supported in instanced static mesh rendering.

                              One thing I did noticed is that if you change scale value to negative value through Instanced Static Mesh Component's Instances array property, the editor will "secretly" change it back to positive value. I thought about doing the same thing when converting instances, but decided against it because that means user might miss the chance to correct the mirrored instances.

                              There's one workaround though, merge all meshes with positive scale into one instanced actor, then select and change all meshes with negative scale to positive scale and merge them into another instanced actor, then change the instanced component's scale to negative which will make all instances be mirrored.
                              | twitter | github | #ue4tip

                              Comment


                                #45
                                Originally posted by Nate View Post
                                [MENTION=766]Sitrec[/MENTION], so glad you like it!

                                The issue you noticed is a long overdue UE4 bug: (https://answers.unrealengine.com/que...-mesh-bug.html)
                                Basically negative scale is not yet supported in instanced static mesh rendering.

                                One thing I did noticed is that if you change scale value to negative value through Instanced Static Mesh Component's Instances array property, the editor will "secretly" change it back to positive value. I thought about doing the same thing when converting instances, but decided against it because that means user might miss the chance to correct the mirrored instances.

                                There's one workaround though, merge all meshes with positive scale into one instanced actor, then select and change all meshes with negative scale to positive scale and merge them into another instanced actor, then change the instanced component's scale to negative which will make all instances be mirrored.
                                Ah I see, I'll try that. Thank you! This tool is going to help my workflow so much.

                                Comment

                                Working...
                                X