0
$\begingroup$

I have an image from an animation. Here I have a wall being built and bolts and nails come in to add to the process. I have 4 nails here that I have animated, but I still have several more studs to nail down and I would like to take these 4 nails, duplicate them, and then move them over to use as I go down the line ( so I hope there is a way to just move all of the X coordinations on these nails down 16 inches with exact precision ).

Animation duplication

enter image description here

I did get the collection instance to work but the sad part is it gives me no control. I want the animation staggered and here it just makes a straight copy that I can't interact with in any way and all of them fly over at the same time.

$\endgroup$
  • $\begingroup$ Could only animate nails local z and parent to empty. Or make a shapekey animation. $\endgroup$ – batFINGER Dec 11 '19 at 14:10
  • $\begingroup$ I did try to duplicate the items and then parent them to an empty as I have heard of that but I could not figure it out $\endgroup$ – CameronT0101 Dec 11 '19 at 14:14
1
$\begingroup$

If a nail has to be duplicated negative 16 on X axis (in example), you can duplicate it in place, then select all of its X axis keyframes (in graph editor) and press G Y -16 Enter.

Y is because in graph editor Y means up and down (X shifts the timing, and Z doesn't exist).

If you're using bones be aware that the bone axis is relevant, not the world coordinates.

If you make the copy with Shift D, the new istance will be freely editable.

$\endgroup$
  • $\begingroup$ wow that is crazy ... for some reason I tried something similar but I did not know that was really an option THANK YOU! $\endgroup$ – CameronT0101 Dec 11 '19 at 18:25
  • $\begingroup$ Hey Josh, thank you again for your answer I am new to Blender so this is the easiest for me. So I found that yes I can move it along the axis but not precisely just in random units. As I was clicking around I turned on show sliders ( Graph editor > view > show sliders ) and this shows a pretty accurate slider corresponding to whatever unit you are in. Now you can select all of your animation points and slide them around with this on and it is very helpful, however when you grab all your points and try to use the slider it just moves one point ... Do you know how to make this work properly? $\endgroup$ – CameronT0101 Dec 12 '19 at 5:36
  • $\begingroup$ As I said, aftre pressing G, then Y, if you type in the value you would type in the sliders, you will have a precise movement, the same you would reach with the sliders. Another way you can try is to move pressing G, then Y, then holding down Ctrl key: this will make points move in unit steps. As far as I know sliders can affect one point at time (unless you use some Pythoon code). $\endgroup$ – josh sanfelici Dec 12 '19 at 7:14
  • $\begingroup$ ahh ok, Thank you Josh! That is what I am seeing, the sliders only affect one point when you use them. $\endgroup$ – CameronT0101 Dec 12 '19 at 11:43
1
$\begingroup$

Shape key animation

enter image description here

  • Set origin at point of nail.
  • Make a simple shapekey, moving whole mesh in edit mode to "fully nailed". Origin is at head of nail for this shapekey.
  • Orient the nail anywhere, Need only animate the value of the shapekey, from 0 to 1.

The nail in image is animated to nail in local Z direction... The nail object is rotated -90degs about Y axis. should have put local axis on it I suppose.

Drivers

An interesting take on this is to use drivers (make sure that prefs > save & load > auto run python scripts is checked)

Copy the script below, paste into text editor and click run script. To have it run automatically when blend file is opened, name it nail.py and check register.

enter image description here

import bpy

dns = bpy.app.driver_namespace

def nail(start, end, frame):
    if frame < start:
        return 0
    elif frame >= end:
        return 1
    else: 
        return (frame - start) / (end - start)

dns["nail"] = nail

Now in the value property of a nail can type in

#nail(10, 50, frame)

to have a nail start nailing in at frame 10 and finish at 50.

enter image description here

Now we can copy the nail, move it somewhere else, and change the numbers in the driver to change when the nail gets nailed.

This may be a bit "out there", but is an example of there are many ways to skin a cat with blender.

$\endgroup$
  • $\begingroup$ wow.. this is crazy python magic to me THANK YOU $\endgroup$ – CameronT0101 Dec 11 '19 at 18:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.