4
$\begingroup$

I would like to bring a natural look to my dupligroups by giving every instance a different scale and/or rotation.

  1. Predictable: All locations, rotations and scales fields in blender can be computed (give 3*2 and it will compute 6). But is it possible to give a rotation like RotX = "a factor" * LocX instead of having a fixed value ? Then moving the object would rotate it and duplicating it with dupligroups would give predictable rotations to the instances.

  2. Random: Is there a special symbol as well for random ? (for example like writing "r" in a field to make it random ?)

I know a particle system can give such result, however, this method misses some of my goals :

  • easy real-time preview while editing : Unlike Blender 2.49, newer versions still don't offer any 3D preview in particle painting mode, you have to constantly switch back and forth to/from object mode to see what your changes look like.
  • I didn't find any way to take the area of an Ngon to define the scale of the emitted instance. Dupligroups allow it as allowing to only have 1 instance per Ngon and not per triangle.

If I'm just bad and there are options to have this 2 goals reached with a particle system, I'm ok for such a solution.

$\endgroup$
3
$\begingroup$

Now seems your after DupliFace objects with a random scale, without making them real?

  1. Setup DupliFaces with Scale enabled.
  2. Add an empty vertex group to your emitting mesh.
  3. Add a Edge Split modifier.
    • Set Split Angle to 0°.
  4. Add a Vertex Weight Mix modifier.
    • Set Vertex Group A to the one created in the previous step.
    • Set Default Weight A to 1.
    • Set Mix Set to All.
    • Set Global Influence to 5.
    • Set Texture Mask to a Distorted Noise texture with a small scale.
  5. Add a Smooth modifier.

$\endgroup$
  • $\begingroup$ Thanks Aldrik, it works pretty well. I still have sometime 2 instances near each other with the exact same rotation and scale (happens pretty often in my case, sadly). I try to change many factors, the rotation seems to have different but a "limited domaine" : for example face A will start rotate it's instance at a factor of 1 in the smooth modifier, but will stop at 1.4. After and before those values, only the scale will change. Because the "random domaine" is so small, most faces are in their "not random" domaine. Better than 100 words, I uploaded my file: pasteall.org/blend/23677 $\endgroup$ – matali Aug 27 '13 at 12:33
  • $\begingroup$ @matali The issue is your texture, if you switch renderer from Cycles to Blender you'll get a preview (like in my answer), you should be able to see that it's not all that random. $\endgroup$ – Aldrik Aug 27 '13 at 13:05
  • $\begingroup$ Thanks a lot and sorry, don't know why I changed it to 2! $\endgroup$ – matali Aug 27 '13 at 13:52
3
$\begingroup$
  1. Yes, this is called a driver.

  2. You can evaluate a expressions by pre-pending your input with a #. There are a number of modules pre imported for convenience, use noise.random() to get a random floating-point number, e.g. #noise.random() * 5

$\endgroup$
  • $\begingroup$ My wording is maybe bad, sorry, I do my best in English... but the question is more about getting different rotations/scales for every instance to give a natural look. I know the particle systems can do that, but they don't take what I need into account like faces total area for scaling instances, real time preview of new instances (the particle paint mode is still without 3D preview unlike in Blender 2.49), etc... I Try to reformulate my question. $\endgroup$ – matali Aug 25 '13 at 9:52
2
$\begingroup$

Any value that can be keyframed can also use a driver to calculate the value. While there is no random functions built in there is a way to add them.

See this previous answer for adding random functions that can be used within drivers.

$\endgroup$
  • $\begingroup$ My wording is maybe bad, sorry, I do my best in English... but the question is more about getting different rotations/scales for every instance to give a natural look. I know the particle systems can do that, but they don't take what I need into account like faces total area for scaling instances, real time preview of new instances (the particle paint mode is still without 3D preview unlike in Blender 2.49), etc... I Try to reformulate my question. $\endgroup$ – matali Aug 25 '13 at 9:52

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.