Suspended particles inside a material (procedural) Inspired by reading this very intense thread about procedural materials, I decided to try and build upon saunam's material of "suspended particles in a recipient" to create a material for a watermelon ice pop such as this (the red, top bit):



The idea is to create a translucent material inside of which are present black seeds. I have created a mesh for the seed with a shiny black material, but also tried creating the seeds procedurally.

However, my node-wrangling mastery fails to achieve what I have set myself to do. When I tweak the node setup from saunam, for example to replace the emission node by a translucent node, or the volume scatter node by a glass node, everything breaks. I'm not sure I understand how the node setup works.

I don't even know if this is possible, but I would really like to procedurally scatter the shape inside the material.

I have tried with a Particle Setting, but it just doesn't stay inside the mesh and the particles aren't dispersed evenly. Since I will be making the object move, I'd prefer to use a material than a Particle System.

Current blend:
For your purposes, a particle system based setup will work best as any material will cause the grains inside to appear very flat.

Starting with your blend file, on the object Cylinder.001, under Particles > Emission, I set these values:

End: 1

Emit From: Volume

Distribution: Grid 

Distribution Resolution: 5

Distribution Random: 1



Now we have an object filled by volume with the grain object. Don't worry that some of the grains are outside the object, we will fix that.

Under Particles > Rotation, I ticked the Rotation checkbox and set the Velocity/Hair Random to 1. This will make the grains appear to have frozen in random floating orientations.

Next, we're gonna need some room to work with our particles. So, with your object selected, press M and click the next open layer to move your object there. Then press 2 on your keyboard to go to that layer.

With the object still selected, go to the Modifiers tab and under the particle system modifier, click Convert.

Now all your seeds are individual objects. In solid 3D view mode (Z), check the outside of your object and just manually delete any remaining grains that accidentally protruded the mesh.

Next, select your cylinder and hide it with H. Using B, select all your grains and press Ctrl + J to merge them into one object.

This will make them much easier to manage. Unhide your cylinder (Alt + H), and with both the cylinder and grains selected, press M and select the original layer to move them back. If you are planning on making your objects move, you can parent the grains to the cylinder with Ctrl + P.

You will discover on your first layer that Blender also expanded your original grain object with the particles. You can either choose to move this object to another layer, or hide it with H.

Here is the result:



Not bad, with the existing node setup. Please note that I disabled depth of field for this render. For a clearer icepop, you can fiddle with the balance between the translucent material and the glass material. I might also experiment with mixing in some subtle volume density or subsurface scattering for a more photorealistic render, but I do not have the time to test right now. Maybe someone else can comment on better ice-pop materials?