Rotating several objects around their own axes at once

alaltaccalaltacc Posts: 151

I'm creating an environment (a large room full of furniture, props and etc) and I just made two types of windows shader. One of them is composed of panels (not a problem), but the other is made of several small strips that should rotate (from 0 to 85 degrees) to allow or block external light (see the attached image to understand better). I was able to limit the movement and they rotate just fine. It's exactly as I had imagined, with one single problem: I need to rotate each one of them individually (and there are 18 of them...).

I've tried to group them all together, but now when I rotate the group it rotates around a common axis (and there go the shaders floating).

Is there a way to create some sort of control that rotate ALL of them at the same time around THEIR INDIVIDUAL AXES? If not, how can I create a .DUF to change them all together? I know how to click in one of them and export its position to a DUF (so it can be run later and return it to the position it was). But if I do that with all of them I'll end up with 18 DUFs. :-) Is it possible to make one DUF to run all the others or, even better, one that rotate everyone at once? In this case I could create a few positions (0, 30, 45, 75, 85) and save them.

I tried to look around in the forums, but couldn't find a solution (and about the scene lighting: for now I'm using a flat light; I'll deal with it later - the exterior is a HDRI:-) ).

Thanks!

PROBLEM.jpg
1200 x 1196 - 338K

Comments

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,060

    for an exact amount you could save a pose control where you expand it and uncheck everything except Y rotation I guess,

    yeah this is another thing I find limiting in DAZ studio,

    the way I have to do it is not only select them all in the outliner but hold shift (or ctrl) if not next to each other and select them all in parameters too and use the rotate tool

  • With the Rotate or Universal tool active select them all (by ctrl-click or in the Scene pane), in Tool Settings make sure that Secondary Nodes is checked ane under that Rotate enabled, then just rotate the primary selection as usual and the others will follow suit.

  • alaltaccalaltacc Posts: 151
    edited March 2022

    Thank you both for the replies.

    I'm trying to do something that can be used by anyone in a simple manner, so selecting them one by one is not an option. I've been playing with DUF files, and maybe I have found a way but I couldn't make it work yet.

    Following @WendyLuvsCatz Suggestion, I've saved a pose for one of the shaders (I coudn't find a way to save the pose of multiple shaders at once) and analyzed the file. After some tests, this is the snippet that does the job:

    ========================================

    "scene" : {

          "animations" : [

                                 {

                                   "url" : "name://@selection:?rotation/y/value",

                                   "keys" : [ [ 0, 0 ] ]

                                }

                                ]

                    }

    =============================================

       If I save only these lines as a DUF and appy it in ANY of the shaders, it works. The problem is that DAZ used "selection" as the name (i.e., the object selected). I'm trying to find a way to refer to ONE specific shader, so I could create a DUF file with this piece of code repeated 16 times, each one with the name of one of the shaders, but I had no luck so far.

       How can I refer to a specific object in the scene? I've tried looking into other DUFs and emulating the way it's done, but failed. I've tried to understand the awful DAZ documentation (the part that explains how to refer to an object), but no joy until now.

       I have a programming background, used HTML a lot, etc, so the syntax is not a problem for me. The question is: which name should I put in the "URL" line to refer to one of the shaders?

     

    Post edited by alaltacc on
Sign In or Register to comment.