2

I make many animations with my speed cubes. So I'm wondering if it is possible to rig the cube in a way that if I want to rotate the left side (L) it will select all the objects on the left side and just like the video below shows if I wanted to then rotate the top layer (U) it will select only the objects that are currently on the top layer.

As you can see, I'm showing with the arrow that the one piece changes orientation but also would be considered a top layer piece even though it's on the left side when I'm wanting to only rotate the top layer. I know I can just select the pieces from each side and animate them like anyone else would, but I do this a lot and I figured if it can be rigged then maybe it will speed up my process and make things easier because I do animate several speed cubes.

example of rotation on left and upper 'faces' commands and the faces they would rotate

For example, a rig that will select any pieces that are on the side I choose and will rotate the whole side. Just like this video below. If I select one of the 2 wireframe objects I put in place, it will know to only select the objects that are within the boxes and I can control the rotation of those pieces. But I wonder if it matters that the cube pieces origin is all set to the center, so could I still set something up like this even if the cube pieces origins are not within the wireframe box?

enter image description here

AlexWillis21
  • 789
  • 3
  • 15
  • 1
    related: https://blender.stackexchange.com/questions/77756/animation-nodes-rubiks-cube – lemon Nov 19 '21 at 18:05
  • Rigging a cube in the way you're describing is not possible, not over infinite transformations. But it is possible for each element-- each subcube-- to have a control where you just box select the 9 controls and rotate them about the center of the cube at the same time. – Nathan Nov 19 '21 at 18:14

1 Answers1

-1

I think it should be possible. You basically have six orientation points, so you need to have bones for each one of them, as well as one bone for each cube, and a root bone like any rig should have.

Both the rotation and cubes' bones are parented to the root bones, but the cubes' bones also have a Child Of Constraint for each rotation bone possible.

Then theoretically, all you have to do is before each rotation - set each cube bone's Child Of weights depending the rotation you want to perform and key their offset - then do rotation.

Now that sounds quite long to set each bone cube's constraint state. Maybe there's a way to detect which bonecubes are near a rotation bone and do the constraints weights accordingly.

L0Lock
  • 15,965
  • 1
  • 20
  • 44
  • Can you elaborate? As far as I know Rubik's with rig only is not possible. – lemon Nov 19 '21 at 19:21
  • @lemon https://www.blendernation.com/2019/06/11/dynamic-fluid-rig-tutorial/ this may be a stretch, but I saw this rig and thought that the box placed over the wine hides the wine level. So I'm wondering if the cube can be rigged with the same concept where the box covers the left objects and if you select the "box" it will just select all the objects on that side and rotate all at the same thing and if there was another box that only covered the top layer pieces. Does that make sense?? I hope I'm saying it clearly – AlexWillis21 Nov 19 '21 at 19:31
  • I'm at work atm so I can't do tests but python scripting aside I think it would be possible in Blender, it's just a matter of seting up contraints and keying their influence and offset over time. (now that I think about it, keying the offset of a constraint is maybe doable only in Maya's constraints. But then, we can probably try performing a visual keying on the cubes) – L0Lock Nov 19 '21 at 19:35
  • You would have to either keyframe the child-of inverses-- which isn't possible-- or you'd need a new child-of for every subsequent rotation, which is not something you can keep up for very long. I'd recommend trying it out if you disagree. – Nathan Nov 19 '21 at 19:38
  • I'm interested in your ideas, as I do not know how to transfer a rig influence as a cube face rotates... – lemon Nov 19 '21 at 19:42
  • @lemon I'm mainly looking for an easier way to just click one object (rig maybe) that controls all the pieces on each side of the cube. So 6 different sides with 6 different "rigs" for objects for each side of the cube. So I can just click on the one object, and it will rotate the pieces that are currently on that side. Cause right now I have to face the side I want and box select it, then do the rotation. And repeat it for every side. I would just like to stay on one angle view and be able to select a whole side without changing view to do it. – AlexWillis21 Nov 19 '21 at 19:42
  • @AlexWillis21, rig is not (afaik) supposed to shift as a cube face rotates. How to transfer a bone influence as (say) a corner becomes on a side instead another? – lemon Nov 19 '21 at 19:45
  • another way to say that is: the rig should be spatially defined independently of the mesh parts location... can that be? – lemon Nov 19 '21 at 19:52
  • @lemon I added a sample video to try and show what I'm imagining in my head. I'm not sure what you just said. I'm sorry, but you may have to dumb it down for me, :P I'm trying to understand what everyone is talking about. – AlexWillis21 Nov 19 '21 at 20:07
  • @AlexWillis21 I'm dumb too... I've seen your edit but don't know how to use it is that case. Finally, why do you need all that to be a rig? (instead of another way to do it) – lemon Nov 19 '21 at 20:10
  • I don't have to have a rig, but I thought rigs were the only other way to easily animate something and I wanted to easily select any entire side from one angle so animate cube patterns. I tried to open the blend file to the link you sent, but I can't get the animation node add-on to show up, so I can enable it. So since I can't get that add-on to show, i won't be able to try that path. – AlexWillis21 Nov 19 '21 at 20:15
  • If you want to make an animation that shows rotations of any rubiks cube part in any way it should be possible, then you probably should use a rig of some sort. If you just need to do some very specific rotations, then just a few constraints on some dumy objects should do. – L0Lock Nov 19 '21 at 21:15