Best way to apply material to a sculpted mesh

This is probably a really dumb question…but i just got into sculpting and makeing organic shapes… Like a rock for example…

But…after the sculpting, i want to applie a rock material.

My question is… what is the best way to do this? Im used to UV unwrapping shapes and then applying an image texture and stuff…but I dont think this is the way to go with sculpted shapes.

So im talking about applying materials such as rock, graphite, powder, wood, iron etc. It needs to follow al the nicks and creases and weirdness that is created during the sculp. Im looking to create something like this for example

if somebody can point me in the right direction…it would be appreciated…

or is this just as simple as applying a material, without UV unwrapping? (i seem to get a decent result when i just tested it )

Change the projection type for the image texture and use object or generated from a texture coordinate node.

Or you can use procedural textures.

Thank you for your reply… setting it to ‘flat’ makes a difference…

The problem im running into now…is when im trying to scale the texture… I want it to be a lot smaller than the standard 1 scale… but when i go to small (like 0.1)… its starting to look like the texture is tiling up… Is there a way to overcome this? Use a bigger texture image file?

ANd… the little pieces and loose rocks in the examples pictures… those are made manually i think right? By sculting them 1 by 1? Or maybe a particle system for the smaller ones? SPread out randomly with weight painting?

Making the rocks? I’ve used a subset of rocks generated from a particle system in the past. There are plenty of tutorials about making rocks. Crack-it and cell fracture addons can help.

Yes, the image texture group on the right is magic (custom node group using python)

Randomize several versions of the texture with different size and rotations, then use some noise to blend between them. If you do this on a couple of different textures and blend them it’s even better, especially if the texture is small to begin with, but I tend to prefer a massive single texture and derive stuff (bump, roughness etc) from that.

When you manage to do something you like as a planar mapping (“flat”), make a group of the setup and use it three times with different 2D coordinates to drive it; xy, xz, and yz. Feed those into a box mapping node that supports seam blending (I downloaded mine from blendswap iirc but reduced it’s complexity to only support 3 sides rather than 6). For randomizing rotation and scale, you also need a custom node that does exactly the same as the mapping node but supports inputs.

It’s a lot of work, fairly heavy to render, but unfortunately the builtin box mapping support is extremely limited in that you can’t change anything that goes into it. Keep in mind that randomizing rotation only works on textures that doesn’t have a strong directional sense (such as directional woodgrain). Obviously this doesn’t “follow the sculpted features”, I can’t think of a way that does that.

Which looks like a tiled texture, the left objects or the right objects? :slight_smile:

Here a closeup on properly boxmapped and randomized suzanne, it holds up pretty good I think:

The free texture used for illustration is RustMixedOnPaint012_COL_VAR1_6K.jpg from polygon, in case you want to try for something similar.

Here is how I structured the nodes (custom mapping node not showing, but should be fairly straightforward), with the box mapping node highlighted in the background:

That looks awesome…no tiling at all. Thats really a great result.

I will try this myself with the node setup you provided, and that texture… I hope it will approach your result, because im definatily looking for something like this. Looks great

Thank you guys for your responses, really helpfull

To add to the previous replies…

Texture Proceduralize Nodes on Blendswap: https://www.blendswap.com/blend/23130
More info on Reddit: https://www.reddit.com/r/blender/comments/ccfuiu/im_making_a_node_that_can_proceduralize_textures/?sort=new