4
$\begingroup$

enter image description here

Looking at the image above, I would like to replicate this setup but with spotlights rather than cones. Basically I need an "array" of lamps, but lamps do not support modifiers. So by looking a bit online, I found that the only way to do an "array" of lamps was to use dupliverts. Now dupliverts would work well if I needed them all to point in the same direction, but they point away from one another. Usually with a mesh, I would set up my tracking axes correctly and then rotate my child object and apply its rotation, to get the result you see on the picture. However with spotlights, even if you CAN rotate it, you cannot APPLY its rotation (error message "Objects have no data to transform").

How can I achieve this setup?

$\endgroup$
  • $\begingroup$ THIS particular setup may be achieved by duplicating (linking) a spotlight, rotate by 360/6=60° with the 3d cursor as pivot point and repeating the steps for 4 more times. Anyway it would be cool to find an "automatic" way to do it. (I'm still thinking about how can this can be done..) Why do you need to APPLY a spotlight rotation? What would the advantage be by being able to do it? $\endgroup$ – Carlo Sep 8 '15 at 1:52
  • $\begingroup$ Because you cannot get the result as seen on the picture with duplivert and rotation without applying a rotation. Try playing with the tracking axis and object rotation and you will see what I mean (however, maybe there is a way if using object constraints on top of that but that it point is becomes completely counter-intuitive when trying to adjust the angle). I thought about simply using linked duplicates, but any adjustment the location with necessitate reduplicating. $\endgroup$ – Eranekao Sep 8 '15 at 2:21
  • $\begingroup$ Probably I don't get what method you are referring to. Could you post a blendfile with your usual setup with a mesh instead of a lamp? $\endgroup$ – Carlo Sep 8 '15 at 2:58
  • $\begingroup$ I was going to say that my question was already answered, but noticed you were the one who actually posted the solution with duplifaces. The question is: are you able to achieve the same setup you did with duplifaces, but with dupliverts instead? If not, then surely you understand what I mean? I must say I'm a bit confused now by your request. $\endgroup$ – Eranekao Sep 9 '15 at 3:41
  • $\begingroup$ But since you requested it, here it is. You can see the setup that I aim for in scene 001, for which I had to apply the child's rotation. Now go to scene 002 and try to replicate scene 001 by tilting the child cone on its X axis, without applying the rotation. See how they all move in the same direction if you don't apply the rotation? Once you apply it, they point away from one another, like they should. If you succeed in making them point away without applying the rotation by playing with the tracking axes, please do tell me! I never suceeded. $\endgroup$ – Eranekao Sep 9 '15 at 3:50
3
$\begingroup$

1) Dupliverts + Origin offest

For your particular situation, where your base geometry is made by vertex and edges only you can obtain the effect by shifting the object's origin from the geometry.

enter image description here

Since you don't have faces but ony edges and vertex, vertex normals (which is the vector that the lamp will follow, blue in animated the image below) is always directed as the origin-to-vertex vector is, letting you achieve the desired result.

enter image description here


2) Duplifaces

As moving the origin may not be suitable for all the kind of workflows, you can duplifaces instead of dupliverts. You'll have more controle on the faces normals, which is the vector that your lamps will point to.

enter image description here

In the picture below you can see the target shape in orange, and in vivid yellow (active object) the shape parented with the lamp. It's the same shape, rotated by (360/6)/2=30° and scaled a bit to get the center of the face overlayed with the target shape vertices. Faces were created by extruding the edges.

enter image description here

Adjusting the Z difference between the innee and outer boundary edgeloop will give you full control of the lamps orientation.


3) Particle System

Emit particles by mesh's vertex, one for each (in your case the number must be 6) without any randomness (we must be sure to have one, and just one lamp for each vertex). Set Size=1 and Rotation checkbox enabled. Than rotate the Lamp on its Y axis by the choosen factor:

enter image description here

$\endgroup$

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.