Announcement

Collapse
No announcement yet.

Connecting individual settings for multiple objects

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

  • Connecting individual settings for multiple objects

    I'm looking for a good way to connect a largeish number of objects together on the modifier level without completely instancing them.
    As an example, imagine having 50 boxes with individual sizes, but all of them sharing the height setting so all can be changed at once. I know I can wire them together one by one, but that's very time consuming, and not very flexible. So does anyone happen to know of a different way? I basically want to be able to select a bunch of different objects (dissimilar, but all with one spesific setting) and connect them all to a single slider or numeric input.

  • #2
    this may help

    http://www.scriptspot.com/3ds-max/sc...-modifier-zorb

    Comment


    • #3
      I've tried that but it doesn't really do what I want. Soulburn has a similar script as well, but they just modify settings when you click "apply". What I want is for all controllers to reference the same value the way wire parameters do but without having to individually wire a ton of objects.

      Comment


      • #4
        The plugin I'm developing, Mission Control, will allow you to do this pretty easily. (see sig. for links)

        It's not quite ready for release, but I might be able to send you a beta in the next few weeks.

        To do your example, you would select the box class, add the "height" column, then select all the cells of the boxes you want instanced, and choose "make instance" from the context menu. You could also simply select on box's height cell, click "copy", then select all the othe box heights (or any other cell for that matter) and choose "paste instance".

        At the moment, I'm doing this with instanced controllers, rather than wiring, but the end result should be the same for you.

        If you need to disconnect, simply select the cells and choose "make unique" from the context menu.
        Patrick Macdonald
        Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



        Comment


        • #5
          The question is :
          when will we be able to play with this mission control?
          3LP Team

          Comment


          • #6
            It's coming! ... I promise!

            I've ironed out most of the obvious bugs, improved UI performance a huge amount (now easy to have thousands of lights/objects/etc and still be real(ish)time feedback), implemented the licensing system, added support for adding/removing keys, visual feedback of animated or keyed values, visual feedback of dependent nodes (ie texture-maps, materials, modifiers, etc of selected objects are hilighted), persistent column size and choice, undo-buffer per cell ( this one is huge for the tweakers out there; an undo buffer for each parameter that's non linear( ie you can just pick a previous value from a list).

            In between the day job and looking after the newborn I'm doing my best to squeeze in the coding work!
            p.
            Patrick Macdonald
            Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



            Comment


            • #7
              I've looked at Mission Control before and it looks really promising. I'm especially curious about this part:
              Any expression can be entered into a spreadsheet cell to define a value by expression. ie ‘=1024/2′ or ‘=$sphere1.segs’.
              Does that in theory mean you could set a value in a slider and reference it into any cell? like "=degToRad($Slider.value/2)"?
              If so... wow!

              Comment


              • #8
                Ah, thanks for bringing this up! I haven't actually looked at this aspect of the script for a while.
                So far, I have implemented a simple parsing of expressions, but they only evaluate when you enter them; so there's no live linking.
                It should be something I can implement though... I'll see what I can do.
                Thanks again for the suggestion!
                Cheers
                p.
                Patrick Macdonald
                Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                Comment


                • #9
                  I'm happy to be of assistance very much looking forward to hearing more about this project.

                  Comment


                  • #10
                    Good news, I got this working in a rudimentary way...
                    The tricky/annoying issue with this is if you use the pointer to the object that you suggested (ie $slider), then the link would break if the object name changes, or if you have objects with duplicate names.
                    What I need to do is create a way for you to specify a node directly within your expression. What I'm thinking is that you can select a cell and save the pointer to the controller in a controller clipboard. Then when you enter an expression, instead of using $slider, you would enter something like [clipControlA] which I could then parse to connect an internal variable within the script controller to the actual node ($slider.value) stored in 'clipControlA'.
                    Things get pretty complex quickly, as I need to determine whether you are wanting to reference a target, controller or constant and create the relevant variable within the script controller.
                    Still, I'm sure it will be very useful even in a restricted implementation. If you need to make a more complex expression, you can just double click the cell that has the script-controller and it opens up the script controller UI where you can add new targets in the usual way.
                    Patrick Macdonald
                    Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                    Comment


                    • #11
                      Here's a clip showing a basic implementation. Instead of referencing $slider (which breaks if you rename the object), I create a pointer first from the slider.value controller (by copying the cell), then when you use the keyword "target" in the expression, Mission Control places the slider value controller in a target variable within the script_float controller.

                      Patrick Macdonald
                      Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                      Comment


                      • #12
                        And here's a clip showing how this scales up with more objects. Firstly, 100 boxes, then on to 1000 teapots.

                        Patrick Macdonald
                        Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                        Comment


                        • #13
                          That looks incredible! Can you edit the expressions after inputting them once, or are they locked in place until you input a new one?

                          Comment


                          • #14
                            Yup, you can just double click to open up the script_float dialog where you can edit the script.
                            I am investigating how I can impliment a 'utility panel' to sit under the main UI that would allow direct editing of the expressions, access to code snippets, clipboard slots, mass editing tools (relative and absolute adjustments, randomisation, etc similar the modifier zorb). It's likely to be a tabbed interface to access the different kind of utilities/actions without taking up much screen real-estate.
                            Patrick Macdonald
                            Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                            Comment


                            • #15
                              Ok, here's a quick mock-up of a tabbed utility panel that you can access by clicking on the status-bar.


                              General :
                              Mass editing tools. Relative, absolute, random values set to all selected, or based on a conditional if-then statement.
                              A paste-bin for storing many values.
                              Global value history to list recently entered values/nodes/etc (with possible drag and drop functionality)
                              Animation :
                              Expression editor, keyframe tools, other animation related functions…. and more
                              Scripts :
                              Access to user scripts to run on any selected cells/objects.
                              Other Tabs : I am open to suggestions.
                              A big thanks is due to Pete Addington (Lone Robot) for his dotnet radio-button approach to a tabbed interface which looks a hell of a lot better than the standard tab control.
                              Patrick Macdonald
                              Lighting TD : http://reformstudios.com Developer of "Mission Control", the spreadsheet editor for 3ds Max http://reformstudios.com/mission-control-for-3ds-max/



                              Comment

                              Working...
                              X