Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 3d:shading [2025/03/29 15:10] – mh | 3d:shading [2025/08/19 10:13] (current) – [Walkthrough] mh | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| **PBR** (Physically Based Rendering) are best rendered with Cycles render engine. The material reacts to the environment and lighting in a physically realistic way. | **PBR** (Physically Based Rendering) are best rendered with Cycles render engine. The material reacts to the environment and lighting in a physically realistic way. | ||
| - | **HDRi** textures can be used on the World shader to bring lighting to the scene. To turn it off in the display | + | **HDRi** textures can be used on the World shader to bring lighting to the scene. |
| + | |||
| + | To turn off its display | ||
| Line 12: | Line 14: | ||
| ==== Texture Coordinates ==== | ==== Texture Coordinates ==== | ||
| - | For all the texture nodes use a **Texture coordinate** node (use output | + | For all the texture nodes use a **Texture coordinate** node (output |
| + | |||
| + | If you have **Node Wrangler** add-on activated, | ||
| - | If you have **Node Wrangler** add-on activated, the keyboard shortcut '' | + | {{3d:pbr-texture-coordinates.png? |
| - | {{3d: | ||
| Incidently, using **Node Wrangler** add-on you can select the **Principled BSDF** and use '' | Incidently, using **Node Wrangler** add-on you can select the **Principled BSDF** and use '' | ||
| Line 68: | Line 71: | ||
| In the case of texture painting, there is a way to add a bit of normals and bumpiness using the data from the image texture and a few color ramps as so : | In the case of texture painting, there is a way to add a bit of normals and bumpiness using the data from the image texture and a few color ramps as so : | ||
| - | {{3d: | + | {{3d: |
| ==== Texture Atlas ==== | ==== Texture Atlas ==== | ||
| - | A texture atlas is a custom image combining many different textures all in one image. It has the huge advantage of asking the CPU/GPU to load only one image and pick all the textures | + | A texture atlas is a custom image combining many different textures all in one image. |
| + | |||
| + | It has the great advantage of asking the CPU/GPU to load only one image and objects are unwrapped to pick their textures from different pars of that image. | ||
| + | |||
| + | The drawbacks are that you need equivalent maps for different values of roughness, metalness, normals and AO and each texture will have a lower pixel resolution (being part of a greater image) | ||
| + | |||
| + | This technique works very well to add a stunning level of detail to the shading of Low Poly environments instead of flat colors | ||
| + | |||
| + | |||
| + | | {{: | ||
| + | | ::: | Select all vertices and squash down along X axis | | ||
| + | | ::: | Place on desired color column | | ||
| + | | ::: | Scale along the Y axis and place according to desired result. | | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Texture Slots ==== | ||
| + | |||
| + | Texture slots enable you to give different textures to different parts of a mesh. | ||
| + | |||
| + | Select the parts of the mesh and select another slot material and click assign. | ||
| + | |||
| + | ---- | ||
| + | ==== Seamless textures ==== | ||
| + | |||
| + | Seamless textures repeat themselves when scaled down without it being too noticeable at first glance. A pattern does become visible if you scale too much as the texture repeats itself. | ||
| + | |||
| + | There are two ways to scale : | ||
| + | |||
| + | |||
| + | |||
| + | | {{3d: | ||
| + | | In the node editor, on the **mapping** node | In the UV editor, by scaling the unwrap. | | ||
| + | |||
| + | The second option is preferable when exporting the scene to a game engine as the UV unwrap (and it's scale) will be conserved in the export. | ||
| + | |||
| + | |||
| + | |||
| + | A handy feature of seamless textures is that they will continue applying if you modify your geometry. One good way to do this is with an edge slide (Shortcut : '' | ||
| + | |||
| + | {{3d: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Procedural textures ==== | ||
| + | |||
| + | Procedural textures are created by using nodes instead of images or photographs to create a material. Basic texture nodes are mixed together (often with a **MixRGB** node) and the Color output is then used to give both roughness and normals to the material. | ||
| + | |||
| + | {{3d: | ||
| + | |||
| + | When creating textures with this method it's important to think macro-details and micro-details and mix them together. The '' | ||
| + | |||
| + | A rapid shortcut to create a mix node is to '' | ||
| + | |||
| + | The procedural textures can be very easily tweaked and modified. They do not require much artistic skills as opposed to the // | ||
| + | |||
| + | ---- | ||
| + | ===== Sample Low Poly Shaders ===== | ||
| + | |||
| + | ==== Stone with noise ==== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | ==== Wood with noise ==== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Random colors from ramp ==== | ||
| + | |||
| + | {{3d: | ||
| + | |||
| + | ---- | ||
| + | ===== Texture Painting ===== | ||
| + | |||
| + | Texture painting can be done in the **Texture Painting** workspace. | ||
| + | |||
| + | To texture paint on an object, it needs to be UV unwrapped. (The default cube is already unwrapped). | ||
| + | |||
| + | You also need a texture image to paint on. To easily create one, in **Texture Paint** mode select the **Texture slots** drop down menu and click **'' | ||
| + | |||
| + | It will be automatically added to the material in the **Shader** editor. | ||
| + | |||
| + | ==== Color picker & Color Palette ==== | ||
| + | |||
| + | In the **Tool** tab, the **Color Picker** contains the color wheel to select different colors. | ||
| + | |||
| + | Hovering over a color in the 3D Viewport and pressing **'' | ||
| + | |||
| + | With a palette created and open, maintaining **'' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Masks ==== | ||
| + | |||
| + | Masks can be added with the **Mask** brush but need a Stencil Mask to work on. | ||
| + | |||
| + | These can be found with the drop down menu next to the **Texture Slots**. | ||
| + | |||
| + | Once a mask is created and selected, simply paint with the **Mask** brush to apply a mask preventing further painting on that area with another brush. | ||
| + | |||
| + | Remember to tick the **Fake user** icon to save the mask in the project file. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Texture images ==== | ||
| + | |||
| + | Texture images can be added in the **Texture** menu of the **Color Picker** | ||
| + | |||
| + | You can duplicate a brush to create a texture image on the cloned brush. | ||
| + | |||
| + | Once a texture image is created in the **Color Palette** use the **Texture** tab to open an existing image. | ||
| + | |||
| + | Back in the **Color Picker** (**Tool** tab), under the **Stroke** property switch the **Method** to **Anchored** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Decals using UVs ===== | ||
| + | |||
| + | ==== Result ==== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Walkthrough ==== | ||
| + | |||
| + | This works for objects that are already UV unwrapped. | ||
| + | |||
| + | In the shader editor, add an image texture to the base color. | ||
| + | |||
| + | Using **Node Wrangler** use **'' | ||
| + | |||
| + | Replace the **Texture Coordinate** node by a **UV map** node. | ||
| + | |||
| + | If necessary change the scale of the bottom texture. | ||
| + | |||
| + | Duplicate the entire branch (with the Principled BSDF) and in this second branch replace the image with background alpha 0 channel to use as decal. | ||
| + | |||
| + | Use **'' | ||
| + | |||
| + | Use the Alpha of the decal image as factor for the mix. Use **'' | ||
| + | |||
| + | With the object selected, in the **Data** property panel, under UV Maps, add a second UV Map. Rename it decal and use it as the UV Map for the Vector coordinates of the mapping on the decal texture. | ||
| + | |||
| + | Select the object and smart UV project it. Select all, scale it down and put it in an alpha 0 portion on the decal image. | ||
| + | |||
| + | Select the faces where you want to decal and either **project from view** or **angle based projection** and scale/ | ||
| + | |||
| + | ---- | ||
| + | ===== Eevee Bloom ===== | ||
| + | |||
| + | Open the **Compositing** workspace. | ||
| + | |||
| + | Tick the **Use Nodes** option. | ||
| + | |||
| + | Add a **Viewer** node and render the scene. Connect the render to the **Viewer** node. | ||
| + | |||
| + | Optionally add a **Image Editor** viewport and view the **Viewer node** for a clearer view of post-process. | ||
| + | |||
| + | Use **'' | ||
| + | |||
| + | Switch to **Fog Glow** and adjust settings. | ||
| + | |||
| + | {{: | ||
| + | When in Layout view, Rendered preview, the Viewport Shading dropdown menu enables to activate the Compositor when in Camera view, Always or never (default). | ||
| + | This is useful to get any post-process effect to display in real-time in the Layout view. | ||
| ===== Resource sites ===== | ===== Resource sites ===== | ||