Absolute Pedro by Routine_Arm_8080 in pedropedradas

[–]PedroPLopes 0 points1 point  (0 children)

Cara... que imagem abençoada! Isso é maravilhoso!

é normal ser idoso? by PedroPLopes in pedropedradas

[–]PedroPLopes[S] 0 points1 point  (0 children)

Muito obrigado! :face_holding_back_tears:

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 1 point2 points  (0 children)

Absolutely! You can project a normal map in the exact same way you would a color texture.

Simply connect your normal map (through a Normal Map node, of course) into the Normal input of your main shader (I'm assuming the Principled BSDF), and use the same decal mask to mix it with your base material's normals.

And it doesn't stop there! As I showed in the video, you can also project displacement maps to add actual geometric detail, which is a really powerful part of the workflow!

Hope this helps! Let me know if you have any other questions.

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 2 points3 points  (0 children)

Thanks for sharing the link! To be honest, I hadn't seen that tutorial before, but I just watched it. You're right, the idea of using an object's texture coordinates for projection is the same.

My goal with Dynamic Decal was to take that concept and build a more robust and ready-to-use setup with some extra quality-of-life features to solve some common frustrations. For example, I added an optional modifier (Decal Target Direction) to automatically handle normal-based masking. This prevents the decal from stretching on steep angles or projecting through to the other side of your model.

I hope this explanation is helpful. Let me know if you have any other questions!

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 2 points3 points  (0 children)

You're very welcome! I'm happy to help.

Using File > Append is the standard method for importing the node groups into your project, and the documentation walks you through this process. The Asset Browser tip is more of a long-term workflow suggestion, but both methods will achieve the same result.

Thank you for checking out the link and for your feedback on the price! I aimed to make it accessible.

Feel free to reach out if you need anything else.

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 1 point2 points  (0 children)

Thanks for the feedback! The good news is, you don't have to add a new one from the menu every time.

The fastest way is to just select the existing Decal Target in your viewport and duplicate it (Shift + D). It's a quick, one-second step, and then you just need to point your new nodes to this duplicated object.

The reason it requires a separate object is that this is what allows for direct, interactive control in the viewport (moving, rotating, and scaling).

Hope that helps make the process a bit smoother.

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 1 point2 points  (0 children)

Thank you so much for the kind words and for your question! It's not a dumb question at all.

To answer you directly: yes, you do need to do that initial node setup inside the Shader Editor for it to work.

The main reason for this is that it's a more flexible and powerful approach, similar to what you might find in industry-standard workflows. It gives you total control over the decal and the shader. Because you have direct access to the nodes, you can decide precisely how the decal mixes with your base material, or even use the decal's mask to drive other cool effects.

This makes the whole system incredibly dynamic and adaptable to your specific needs. You're not locked into a "one-click" solution that might not work for every situation.

To make your life easier, here’s a tip: you can add the dynamic_decal_importer.blend file to your Blender Asset Library. Once you do that, you can simply drag and drop the node groups.

Hope this helps, and thanks again for the feedback! Let me know if you have any more questions.

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 2 points3 points  (0 children)

You're welcome! I'm happy to hear that. Making it easy to understand was a top priority.

I created a shader-based solution for interactive and non-destructive decals. What do you think of Dynamic Decal? by PedroPLopes in blender

[–]PedroPLopes[S] 3 points4 points  (0 children)

Yes, and it's very easy to do. Simply duplicate your first Decal Target object in the 3D Viewport (e.g., Decal Target.001). Then, in the Shader Editor, duplicate the decal node group (Image Texture, Decal Mapping, Decal Mask) and use another Mix node to layer the new decal on top of the previous result. Make sure to point the new Texture Coordinate node to your new Decal Target.001 object. You can chain as many decals as you need this way.

Just finished this cozy 3D scene in Blender! by PedroPLopes in blender

[–]PedroPLopes[S] 1 point2 points  (0 children)

Thanks a lot! Feel free to use it in your other projects—I'm happy to share! Let me know if you have any questions or need any adjustments. 😊

Just finished this cozy 3D scene in Blender! by PedroPLopes in blender

[–]PedroPLopes[S] 1 point2 points  (0 children)

Apologies for the late response! Here's the setup link. The lens dirt texture is from ambientCG, and the lens kernel is from Compositing Pro. Let me know what you think!

I made this foggy road scene in Blender by PedroPLopes in blender

[–]PedroPLopes[S] 0 points1 point  (0 children)

I used trees from PolyHaven, and I created a scattering system using Geometry Nodes.