Announcement

Collapse
No announcement yet.

Instance Tool - Editing instances directly in editor viewport

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

    [SUPPORT] Instance Tool - Editing instances directly in editor viewport

    Click image for larger version  Name:	instancetool_banner_s.jpg Views:	1 Size:	73.2 KB ID:	1192613

    Get it from Unreal Engine Marketplace or itch.io!

    Instance Tool is an editor mode plugin for Unreal Engine, with it you can manipulate instances of Instanced Static Mesh Component and Hierarchical Instanced Static Mesh Component directly in editor viewport. It also comes with align and snap tools to make level editing with instances much easier!

    Features
    • Apply delta transform to instances panel with duplicate option (new in 1.1.3)
    • Distribute/Line-Up instances (new in 1.1.2)
    • Convert between Static Mesh and Instanced Static Mesh (new in 1.1.0)
    • Experimental Blueprint Instances Editing support (new in 1.1.0)
    • Select/move/rotate/scale/add/remove instaces directly in editor viewports
    • Multi-edit supprt
    • Alt + Drag to duplicate instance
    • Marquee select
    • Select by axis
    • Focus to selected instance
    • Hide/unhide widget
    • Lock/unlock selection
    • Align selection by location/rotation
    • Align selection to grid
    • Snap selection by axis
    • Full c++ source code included, works with both Luancher and Github builds
    • Editor mode plugin, works with both c++ and blueprint only projects


    Video: Overview (1.0)



    Video: Timelapse (1.1.0)



    Documentation

    Instance Tool User Guide (WIP)

    UI
    Click image for larger version  Name:	ui_1.1.2.jpg Views:	1 Size:	83.9 KB ID:	1200059

    Get it:
    Marketplace
    itchi.io


    Change Log


    1.2.4
    • Add option to convert actors with negative scale to instances
    • Add option to customize converted actor's label
    • Now source actors will be deleted by default after conversion
    • Support non-unity build; Drop 4.14 support

    1.2.3
    • Add option to mark material 'Used with Instanced Static Mesh' usage flag when converting actors into ISM/HISM instances
    • Change plugin loading phase from 'Default' to 'PostEngineInit' to avoid potential crash reported by users when starting up engine

    1.2.2
    • Now 4.16 ready; drop 4.13 support
    • Add spawn instances on spline

    1.2.1
    • Update for 4.15 IWYU header changes

    1.2.0
    • Add new Spawn panel
    • Now can spawn blueprint instances base on ISM/HISM instances and auto assign instance id to blueprint instances
    • Convert to new ISM/HISM actor base on staic mesh material (thanks Emanuel May from Subiculum Interactive)
    • Set default value of bUseAsOccluder and bDisallowMeshPaintPerInstance for converted ISMA/HISMA,to make it consistent with manual created ISMA/HISMA

    1.1.5
    • Now 4.15 ready
    • Fixed Mac compile error (thanks jeff_lamarche)

    1.1.4
    • Add pivot option for converting instance actor
    • Fixed potential ui setting object name collision

    1.1.3.1
    • Fix bug enabling actor viewport select might cause editor out of memory due to early cancel of undo transaction

    1.1.3
    • Add new Delta Transform panel with duplicate option
    • Now can duplicate/delect instances in Edit menu/Select panel or using standardard Ctrl+W/Del hotkeys
    • Add Use Own Snap Dir option in Snap panel
    • Improve Align to Grid function to get rid of gap between 90/180 degree rotated instances
    • Remove Use Local Bound For World Space Box Trace option in Snap panel
    • Set SnapOffset default to 0.f
    • Fix bug PlaceInstancesInto setting not read from save correctly
    • Fix bug setting scale in Transform panel when parent component has scale was wrong
    • Fix bug marquee select should not select invisible instances
    • Fix bug PlaceSourceActorsInFolder not working properly when converting actors to instances

    1.1.2
    • Add new Distribute panel in Select tab, now can distribute/line-up instances
    • Add Auto Align Scale to Grid option to workaround instances scale drifting issue
    • Avoid applying unnecessary rotation to instances when converting instances between ISMC and HISMC
    • Fixed a bug that undo snapshot not been updated after converting actors to instances

    1.1.1
    • Adding full undo support
    • All properties of static mesh component will be transfered when converting
    • Add Disable Undo option
    • Fixed a bug editing instance transfrom in transform panel alwas use relative transform even parent component set to use absolute transform
    • Change Name of Select Invalid to Select Overlapped
    • Change Name of Snap Use Last Selected to Snap Follw Last Selected Instance

    1.1.0
    • Add new Convert Tool, support flexible conversion between Instances to Static Mesh Actors
    • Add experimental Blueprint Instances Editing support
    • Add Snap Offset option to avoid seams between snapped instances
    • Add options to enable select normal actors in InstanceTool editmode
    • Add tolerance for Select By Axis
    • Add Rotate To Hit Normal option for snapping instances
    • Add Select Parent Acotr/Component option
    • Add more notification message when doing vary operations
    • New Icons
    • Minor bug fixes

    1.0.2 Fixed instances not translate correctly if parent component has rotation applied

    1.0.1 Fixed Mac compile warning

    1.0 Initial Release
    Attached Files
    Last edited by Nate; 09-19-2017, 09:58 PM.
    | twitter | github | #ue4tip

    #2
    Nice one!

    Is it possible to add painting tool for instances? (currently it's only possible to paint foliage and that's slow on mobile)

    Comment


      #3
      [MENTION=1680]motorsep[/MENTION], thanks! The initial version is focus on more general level editing features with instanced static mesh like select/move/rotate/scale/align/snap/multi-edit, that been said, adding placement/painting feature sounds a very good idea, will definitely consider.
      | twitter | github | #ue4tip

      Comment


        #4
        This looks incredibly useful, great work [MENTION=702]Nate[/MENTION]

        This could be even more useful in combination with Rama's ISM conversion tool, here's hoping they both work well together!

        I'll be picking this up when it hits the Marketplace definitely.

        Comment


          #5
          [MENTION=15632]MajorFailure[/MENTION], thanks! You might be insterested to know that I'm adding (Hierarchical) Instanced Static Mesh <-> Static Mesh Actor conversion functionality to InstanceTool:

          Click image for larger version

Name:	convert_instances_ui_01.jpg
Views:	1
Size:	79.5 KB
ID:	1115393

          Please ignore the reused icons, haven't got time to make some
          | twitter | github | #ue4tip

          Comment


            #6
            This looks great. Can you edit instances placed with the Procedural Foliage Tool or Foliage Mode with this?

            Comment


              #7
              [MENTION=766]Sitrec[/MENTION], thanks!

              Can you edit instances placed with the Procedural Foliage Tool or Foliage Mode with this?
              No, you have to use Foliage Mode tools to edit Foliage instances since there're very specif logic and data structures behind Foliage instances editing. It's technically possible to add Foliage instances support to Instance Tool (it was enabled in the initial test verison), but that means many duplicated code between Foliage Mode and Instance Tool Mode which could be messy and might not survive future engine update if implementation detail of Foliage Mode changed.

              Is there any specifc functionalities Instance Tool has but lacking in Foliage tools? I think I can try extract them and submit pull requests to epic for them to consider merge in.
              | twitter | github | #ue4tip

              Comment


                #8
                Would be nice if this tool would also generated (hierarchical) instanced static meshes based on the original static meshes with actor tag (HISMCs don't work on mobile, so ISMCs is the only option for now).

                For example, if I place 5 rocks and 10 pillars on the level, then select 5 rocks and press a button, an instanced static mesh BP would be created, containing 5 instanced of the rocks (with option in the Details panel to hide/unhide original meshes). Same goes for pillars.

                Is it something you could add to your tool?

                Comment


                  #9
                  [MENTION=1680]motorsep[/MENTION], yes, that's exactly what I'm working on: adding (Hierarchical) Instanced Static Mesh <-> Static Mesh Actor conversion.

                  In your example, you can select 5 rockes and 10 pillars (there's no need to set tag first), press "Convert Selected Actors to Instances" button, there'll be 2 ISMC/HISMC actors created: one with 5 instances of rock, one with 10 instances of pillars. You can choose to turn these 2 actors into blueprints later.
                  There'll options to hide original actors, or put original/converted actors into folder. I'm also thinking instead of creating new actors each time, there could be option to add instances to an existing ISMC/HISMC actor.
                  | twitter | github | #ue4tip

                  Comment


                    #10
                    aha, sounds like a plan [MENTION=702]Nate[/MENTION] !!!

                    Btw, will you provide pre-built plugin? Will generated (H)ISMCs work on any platform ?

                    Comment


                      #11
                      [MENTION=1680]motorsep[/MENTION], I'm packaging windows prebuilt plugin binaries in itch.io release (My Mac is too old to handle Unreal).

                      As Unreal Marketplace release, from what I've been told, they have built it on both Windows and Mac, so I assuem it'll be released with both win and mac binaries.

                      As far as generated/converted (H)ISMC actors, they are just normal actors with (H)Instanced Static Mesh Components, they should works on whatever platform Unreal supported. (IIRC there's software instancing emulation added on platforms without hardware instancing support since 4.6 or so)
                      | twitter | github | #ue4tip

                      Comment


                        #12
                        [MENTION=702]Nate[/MENTION]

                        Sent you a PM

                        Comment


                          #13
                          Originally posted by Nate View Post
                          [MENTION=15632]MajorFailure[/MENTION], thanks! You might be insterested to know that I'm adding (Hierarchical) Instanced Static Mesh <-> Static Mesh Actor conversion functionality to InstanceTool:

                          Please ignore the reused icons, haven't got time to make some
                          [MENTION=702]Nate[/MENTION] That's awesome, thanks for letting us know! This has just become even more indispensable

                          PS: RevertMe looks like another great idea!

                          Comment


                            #14
                            [MENTION=702]Nate[/MENTION]

                            Any ETA for adding (Hierarchical) Instanced Static Mesh <-> Static Mesh Actor conversion tool? (per https://forums.unrealengine.com/show...l=1#post594656)

                            Any news from Epic about Marketplace release ?

                            Thanks

                            Comment


                              #15
                              [MENTION=1680]motorsep[/MENTION], I just released Instance Tool 1.1.0 on itch.io, two major features introduced in this version: ISM <--> SM converter, and Blueprint editing support (experimental).

                              And I finally sit down to start writing documentation for Instance Tool, wip version could be found here. Since the scope of Instance Tool is starting to glow beyond my original planning, I figure that it'll require proper documentation sooner or later...

                              I submited the 1.0.1 version to Epic on Aug 23, and it was accepted and entering "code review" phase on Aug 26. I haven't got any update on the review result since then. According the marketplace stuff I'm contacting, they got lots of code plugins to process, so it might still in the queue.

                              Thansk everyone who purchased Instance Tool on itch, your support really means a lot! And please do let me know if you run into any issues/difficulities when using Instance Tool.
                              | twitter | github | #ue4tip

                              Comment

                              Working...
                              X