text:
How can I create and project a symbol/rune on a sculpture? (like Blizzard's games)
How can I create and project a symbol, rune or logo to a sculpture and make it look like it is from a Blizzard game? What are the sculpt brush settings to project it on any surface (flat or round), how to avoid artifacts and bad compression, keep the aspect ratio and hide the borders of the projected image?

Please edit the question to include a sample image of the desired effect - not everyone is familiar with Blizzard games.

Symbol preparation
You must draw the shape of your symbol in black with a sharp brush with a white background and add spikes. Use a big resolution to get less compression. If you are bad at drawing you can create the symbol in a 2D mesh in Blender. You can also use a text font, preferably that looks like the Unreal Engine font with spikes: https://www.dafont.com/
The silhouette should look like the U of the Unreal Engine logo:

For this demonstration I will download the Blender logo to show you how to convert it into an image you can project.
Here is the source image, like I said we must use an high resolution:

With a color ramp invert the image by inverting the sliders' position, then move the black slider to the position 0.01 and the white is at 0. Now we get a completely black silhouette on a white background. To make it more like a Blizzard rune sharp claws must be painted with sharp black and white brushes to make the peaks look like claws. As a reference you can imagine that you are converting it into a Shuriken weapon while keeping the initial symbol recognizable. This is the hardest part if you are bad at drawing.
Then use the Inner Glow technique that you can see here: https://blender.stackexchange.com/a/121470/23134, a Filter > Dilate/Erode in Threshold mode with both values at 50, this value depends on the thickness of the lines, resolution and the result you want. This effect allows to perform an inset on the symbol to improve his projection and the normal map baked from it.
Add a Color > Gamma node at 2.2, to convert it to Linear to have a flat slope when the image is projected.
Finally use a slight blur to avoid getting lines, this is especially useful if the resolution of your image is low to avoid getting aliasing.

Save the image, it is important that you save it in 32 bit float to avoid compression on the Inner Glow effect and Blur, otherwise the surface won't be smooth, so choose the OpenEXR format in Float (Full).

Projecting the symbol on a mesh
The symbol will be projected in Sculpt mode. You will need an high polycount to get as much details as possible. You can create a plane, in edit mode do W > Subdivide until you reach 1 million triangles.

In sculpt mode choose the Inflate brush
In Texture click on New and in the property panel at the right import the symbol. In Brush Mapping choose Stencil.
Set Sample Bias to -1 to avoid that the white background pulls the geometry, at the default 0 the middle grey doesn't move the geometry.
In Stroke choose Anchored.
In the Curve menu set it to the maximum effect, it must have no falloff, use the latest preset.
In the 3D view place the stencil on your image, hold Shift + right click to scale it. If you rotate it by mistake click on Reset Transform, then on Image Aspect.
Go in orthographic view, left click at the center of your stencil and drag the mouse to the exterior so it envelops the entire stencil. In perspective check the depth, you can adjust the strength to dig more or less.


text:
How can I create pre-rendered animated sprites with Blender and use them in Godot game engine?
How can I generate an animated pre-rendered sprite in Blender like in the 2000s games like Age of Empires, Commandos, StarCraft and then use them in Godot game engine? The animations played must change depending on the key inputs.

Note: for this demonstration I have used the character Akai E Espiritu and the animations Idle (looking left and right) and Standard Run from https://www.mixamo.com/. The animations were exported in FBX at 60 FPS.
Note 2: it is possible to use pre-rendered sprites in a 3D view, it is called an Imposter Card. It is useful on assets like fences and wood planks bridge like in Rayman 2. And also for characters (they can be animated), trees and building far away like we often see in car games. In 3D you won't need to render the lighting information but the color, roughness, metallic and a normal map. More informations: https://youtu.be/YvOhIFnAa8U
You can also use Billboard, it's 2D images always facing the camera,you can use Sprite3D or AnimatedSprite3D for that in Godot.
Download the Godot project and the .blend used to generate the sprites: https://drive.google.com/file/d/1Pqz6iRkdhgR2prsMmH_R-S-cnmXkqxNu/view?usp=sharing
Benefits of using pre-rendered sprites

Those types of games age very well because they use realistic lighting, shadows, material and have smooth interpolated animations. To remaster them the only thing necessary is to increase the screen resolution setting, if the sprites becomes too tiny the sprites just have to be be re-rendered at an higher resolution and the source images overwritten.
You get a good result and can fake a top down 3D game, it is ideal for an RTS, MOBA, adventure game, top down shooter and more.
Very low system resources are required, this allow to display thousand of characters on an old computer and even a mobile device at the same time. A basic AI would take more computing power than the animated sprites.
You save a lot of time, you can create very smooth animations at 60 FPS and get every angles. You have nothing to draw.
You can edit your animations, models, shaders then re-render it to overwrite your image files.
If you are making a plateformer you will only have two directions to render or a single direction if your sprite and animation are symmetrical allowing to quickly implement your sprites and actions.

Games that use(d) this technique
A lot of Real-Time Strategy games (Age of Empires II, StarCraft, Diablo II, Ceasar III, Red Alert, Heroes of Might and Magic..) and Real-Time Tactic games (Commandos, Desperados, Robin Hood) and some adventure games (Heart of Darkness, Toy Story), RPG (Final Fantasy VII), some SNES games (Donkey Kong Country, Killer Instinct, Toy Story) used this technique. This technique was mostly used in early 2000 when the power of computers were limited.
At that time almost all the best looking 2000s isometric games were pre-rendered and today they often look better than most 3D games because they allow to get almost an infinite amount of details as long as the texture resolution allows it: https://www.kotaku.com.au/2013/03/the-best-looking-isometric-games/
They often age very well. When Donkey Kong Country showed the first pictures of the game, the journalists thought this was a sneak peek of the new Nintendo 64 and it looked better than almost all the 32 bits games available at that time.
BLENDER PART
Cycles render will be used to generate the sprites.
Ground with shadow catcher
You need an invisible ground used to catch the shadows projected by the sun. Add a plane, scale it by 10 and center it (Alt + g). To make it invisible but catch the shadow go in the Object tab of the property panel (the icon is a cube) and at the bottom in Cycles Settings check Shadow Catcher.
Asset settings
Your model must be above the ground and all your animations must loop.
It is important that you animate your asset in different actions and not pack all your animations in the same timeline. This will later allow to play all the actions at once to position the camera correctly because once the camera will be positioned it will need to keep the same coordinates for every other sprites of the same asset.
Duplicate your character and set a different action in each layer, this will allow to switch between animations by enabling a layer.
Use the first layer for the ground and sun, this layer will always be enabled to bake your sprites.
Render settings:

Add a sun for his orientation I recommend you to set it completely vertically, it will allow you to make the shadows fit in the sprite more easily to avoid having to unzoom (and make the sprite more pixelated) and to flip it for the movements on the side if the asset and animations are symmetrical. If you want to use an angle for the sun use a small angle, like 35 degrees maximum. I recommend you a strength of 100 for the sun.
Enable the Sky Texture with a strength of 10.
Enable Filmic in the Scene tab of the property panel, Color Management and View.
Enable transparency in the Cycles render settings, Film and check Transparent.
The direct lighting must not bounce, this is to avoid to get a noisy shadow or large shadow area on the ground that could get out of the camera border. In the render settings, in Light Paths use the Direct Light preset.
I do not recommend you to enable denoising because black pixels could appear, instead increase the samples if needed.
Set the render samples to 200 minimum.
In Output set the file format to PNG 8 bits RGBA and set the output path, you can add a prefix like Heroe_ (I explain bellow how to organize your folders).

Camera settings:
Set your camera in orthographic view mode and the render resolution. For a retro game style or a game where the assets are displayed from afar like a strategy game or simply to save space and memory you can use a low resolution. I will use a render setting of 64x64 for my character, do not forget to set the percentage scale to 100%.
On most isometric games the camera angle is like this:

X: 60
Y: 0
Z: 0 or 45

I recommend you to keep the Z axis at 0 degree to render your character with different orientations and 45 for your building.
For your character you can generate a sprite oriented in 4 directions by incrementing the Z rotation of the camera by 90 degrees or in 8 directions by incrementing it by 45 degrees.
To place your camera center it with Alt + g, go in Camera view with the key 0 of the numpad, press G to move it then press your middle mouse button and drag the mouse to the bottom to move it backward. This is just to make your asset visible, to unzoom change the Orthographic Scale in the property panel.
Add an empty at the center of your scene and make it the parent of the camera (select the camera first, then the empty with shift then press Ctrl + p and click on one of the setting).
To know the best position for your camera display all your animations at the same time by pressing Shift on the layers to open them. Set the animation frame when the character does a long movement like for example the leg behind when running. Rotate the empty and check if everything is visible in the camera border, don't forget to check the shadows too by enabling the rendered view.
After that change of key frame and check another action of the character with a big amplitude like an attack with the hands or sword forward. The border of the camera from the previous action must not be changed, you can only unzoom and move the camera slightly.

Folder structure
Create your folder structure directly into your game's folder, for example from the root of your Godot project.
You can put all those folders inside a GFX parent folder:
-> Sprites
--> Characters
---> Heroe
----> Run
-----> Down
-----> Left
-----> Up
-----> Right
If you use 8 directions don't forget to add those folders:
-----> Down Left
-----> Down Right
-----> Up Left
-----> Up Right
Render the sprites
Important: do not render the last frame of your animation so your character can loop correctly.
Enable the first layer which contain the ground and sun only and enable the layer of the character action you want to  render.
Click on your rigging to see the number of frames used and set it at the end frame of your animation.
Click on Animation in the render properties or press Ctrl + F12 to render it.
Each frame will be saved and each time you will switch back to Godot the sprites will be imported or updated.
GODOT PART
Import settings
In Godot select all your sprites with Shift, in the Import tab uncheck Filter or set the preset to 2D Pixel. The filter blurs your image, it behave like an anti-aliasing to avoid flickering but if you have used a low resolution and don't want post-processing for a retro style looking game or simply want to display the source images untouched I suggest to disable it.
You can also get a bit more anti-aliasing by increasing the render samples.

Using the sprites
Add a KinematicBody2D with two children: the AnimatedSprite node and the CollisionShape2D. For the collision use a Circle shape on the feet of your character. Don't move anything excepted for the AnimatedSprite node, this is because your sprite must be  to get his correct Y position in order to fix the visibility of it (in the "Fixing the depth" section).
The sprites with the collision looks like this:

Create different animations, to nae them indicate the action and the direction like this: "runUpLeft". For 8 direction here are all the actions you should get (you can use spaces):

idleDown
idleDownLeft
idleDownRight
idleLeft
idleUp
idleUpLeft
idleUpRight
idleRight
runDown
runDownLeft
runDownRight
runLeft
runUp
runUpLeft
runUpRight
runRight

Do not forget to set the correct frame rate and to check if loop is enabled or not.

The script

In the script create a direction string variable it will allow to keep the same direction for the idle action after running.
Add a speed variable, to adjust his value use the running to the left or right sprite and try to match the legs with the movement speed so the character doesn't slide.
A motion variable is use to move the character, it is a Vector2().
The motion variable is equal to the multiplier time the speed. The multiplier is in each input condition it is used to set the direction and to reduce the speed. In up and down the speed is halfed because in isometric the scale ratio is equal to 2:1. In diagonal we reduce the speed by 1/4, so it is 1*(3/4) = 0.75 for Y and 0.5*(3/4) = 0.375 for X.

Here are the vectors multipliers:

In each key input condition we must indicate that the other keys must not be pressed at the same time or multiple actions will try to be played at the same time.
The script looks like this:
extends KinematicBody2D

var speed = 12500
var direction = "Down"

func _ready():
    Input.set_mouse_mode(2)

func _physics_process(delta):

    var motion = Vector2()

    #Run

    if Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_left") and not Input.is_action_pressed("ui_right"):
        direction = "Up"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(0, -0.5)

    if Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_left") and not Input.is_action_pressed("ui_right"):
        direction = "Down"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(0, 0.5)

    if Input.is_action_pressed("ui_left") and not Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_right"):
        direction = "Left"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(-1, 0)

    if Input.is_action_pressed("ui_right") and not Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_left"):
        direction = "Right"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(1, 0)

    #Run in Diagonal

    if Input.is_action_pressed("ui_up") and Input.is_action_pressed("ui_left") and not Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_right"):
        direction = "UpLeft"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(-0.75, -0.375)

    if Input.is_action_pressed("ui_up") and Input.is_action_pressed("ui_right") and not Input.is_action_pressed("ui_down") and not Input.is_action_pressed("ui_left"):
        direction = "UpRight"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(0.75, -0.375)

    if Input.is_action_pressed("ui_down") and Input.is_action_pressed("ui_left") and not Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_right"):
        direction = "DownLeft"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(-0.75, 0.375)

    if Input.is_action_pressed("ui_down") and Input.is_action_pressed("ui_right") and not Input.is_action_pressed("ui_up") and not Input.is_action_pressed("ui_left"):
        direction = "DownRight"
        $AnimatedSprite.play("run" + direction)
        motion = Vector2(0.75, 0.375)

    #Idle

    if motion == Vector2():
        $AnimatedSprite.play("idle" + direction)

    #Make the character moves
    move_and_slide(motion * speed * delta)

    #Quit the game with escape

    if Input.is_action_just_pressed("ui_cancel"):
        get_tree().quit()

You can improve the script by creating a string variable called "state", the variable will have the string "walk" by default and the string "sprint" will get assigned while the key Shift will be pressed. You will need to replace the prefix "run" of the script by the variable.
You can also add a timer, when a key is pressed the countdown is reseted. When no key are pressed and the countdown reaches 0 you can add an extra animation, like the character sleeping or dancing (or one of both with a randi() % 1).
The result

Fixing the depth (sprite in front of another)
In a top down 2D game, bellow is closer to the camera so a sprite bellow another must appear in front. By default the sprite visibility priority is set by the Z index then the position in the node hierarchy.
To set the sprite bellow on top of the others you just have to add all your sprites as a child of an YSort node. You can eventually add them as a child of a TileMap node an check Y Sort.

TIPS
Adding contours
You can add contours in the compositor by plugin the Alpha output of your image to a Filter > Dilate/Erode node. Use a negative distance, then multiply it with the original image with a Color > Mix node. You can then render the animation, the contour will be added automatically on every images.

Use 4 directions
Instead of 8 directions use 4 directions only, do not use the diagonal inputs script. This will also divide by two the amount of sprites used in your project.
Low game resolution
To get a retro look you can reduce the resolution of the game and keep this resolution in fullscreen mode. For that go in Project > Project Settings, in Display > Window and divide the 1920x1080 resolution by the same number to keep the same aspect ratio. For example 640x360 by dividing by 3.
Check the fullscreen button. At the bottom at Stretch change the Mode to "2D" and the Aspect to "keep".
You can also use the camera zoom setting but decreasing the game resolution in the Project Settings slightly improves the performances.
Low framerate
To reduce the framerate you will need to reduce the animation scale to delete keyframes and will need to rebake your sprites.
Before starting duplicate your original animation in a backup folder because animation data will be lost.
Select your rigging, in the graph editor go in the first frame, select every frame with the "a" key then press S then the number you want. If your source animation is at 60 FPS and you want to reduce it to 15 FPS you will need to divide the scale by 4, so type 0.25. With a scale of 0.1 the framerate will be reduced from 60 FPS to 6 FPS, ideal for a Game Boy type of game. Again do not render the last frame especially in low framerate or your character will do a long pause between the last and first frame.
Don't forget in Godot to set your animation at the same framerate.
8 to 256 colors
You will need to download a batch processing image to import all your sprites and reduce the indexed colors between 8 to 256 colors. SNES games used 16 colors (15 colors + alpha) and old PC games like Age of Empires II used 256 colors (255 + alpha).
You can use Positioned dithering (because for retro game look because less efficient) or Floyd-Steinberg dithering to improve the color transition.
A software you can use is XnConvert: https://www.xnview.com/en/xnconvert/#downloads
Once you have opened it, do Add folder, you can add the entire Godot game project if you want to change every images.
Go in the Action tab, you will find the Color Depth in Add action > Image > Change color depth. You can also find presets in Add action > Misc > Retro.
Once it's finished click on Convert.

This is awesome, it would be nice adding it to the https://github.com/godotengine/godot-demo-projects

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
How can I create a diffuse texture for stylized models?
How can I create a diffuse texture for my rendered models or game assets ? If possible with a single node setup and no compositing needed.

Download the node setup
Generate an Asset automatically

Base color and blood color
We start with the base color and the Sub-Surface Scattering to add blood to the model.
For the SSS, add an Input > Ambient Occlusion node, you can reduce the Samples for it to 8, you can reduce it even more if the amount of blood visible is subtle. Check Inside to invert it and Only Local. For the Distance use 0.4, it varies depending on the model, this is the size I will use with the Monkey mesh.
Connect the AO output to a Color Mix RGB and connect it to the Factor. Set Color1 to R; 0.7 GB: 0.1.
The Color2 will be the Base Color, add an Input > RGB and connect it.
Connect the Mix node to the Color1 of another Mix node set to Value. For the Color2 plug the RGB node of the base color. This will allow to have the blood with the same value of the base color, if you make the base color brighter the blood will be more visible.
Now add another Mix node for the amount of blood visible. In Color1 plug the RGB node, in Color2 plug the previous Value node. Set the Factor to 0 to have no blood by default.
Here is what our node setup looks like:

Ambient Occlusion
We then add an Ambient Occlusion node, you can enable Only Local if you want. To make it more realistic you can connect it to a mix node to add bluish shadows to fake ambient lighting, for that connect the AO output to the Factor of a Mix node. Set the Color1 to RG: 0 B: 0.1. Set the Color2 to white.
Add a Mix node and connect in the Color1 the node for the amount of blood and in Color2 the Ambient Occlusion effect. Set the node to Multiply and the Factor to 0.8.
The node setup:

Vertical Gradient
The vertical gradient will darker the bottom part of your model to focus the attention at the top of your model.
To create it add an Input > Texture Coordinate, connect the Generated output to a Converter > Separate RGB and use the Blue channel, that's all you have to do for this effect.
Connect the gradient to a multiply node, in Color1 plug the AO amount and in Color2 the Vertical gradient, set the Factor to 0.5.

Here is the result you should get in the viewport (connect it to an Output > Material Output to see it):

Top Lighting
For the fake top lighting effect add an Input > Texture Coordinate (or use the previous node), connect the Normal output to a Converter > Separate RGB, connect the Blue channel in the first Input of a Mix node set to Screen mode, for the second Input keep the grey color (RGB: 0.5), we do that to avoid to have completely dark areas. Then connect it again to a screen node in the first Input with the RGB 0.5 grey in the second color to make the image a bit brighter. Connect the vertical gradient and top lighting to a Soft Light node and set it to 0.8.
Here is the node setup:

And the current result:

For now it is too bright but we will correct the gamma later.
Curvature
The curvature will add an hand painted effect to your texture.
Add an Input > Geometry and connect the Pointiness output to a Converter > ColorRamp. Move the left cursor at 0.45 and the right at 0.55. Connect the fake lighting and curvature on an Overlay node and set it to 1.

Gamma Correction
The texture is too bright, by default Blender works in sRGB, it brighten everything, this was ideal for older screens. We need to fix this to have the middle grey displayed with half the luminosity.
For that set the RGB node used for the base color to a value of 0.5 in HSV mode or type this Hexadecimal code: 7F7F7F.
The base grey color is now in Linear instead of sRGB, but in order to make it blend correctly with the other effects we need to add a node to set it to sRGB temporarly, for that add a Converter > Gamma, in Color connect the SSS node and in Gamma connect a Converter Math in Divide mode with Value 1: 0.5, Value 2: 2.2.

After the last node add a Converter > Gamma and set it to 2.2:

Here is the final result with the gamma corrected:

Here is the result I can get by changing the color and adding a bit of SSS:

Notes

You can now tweak the different factor if you want to add more curvature, more lighting effect, etc. Change the amount of blood on organic models and the Inverted AO distance.

To make the Vertical Gradient and Top Lighting effect work correctly, apply the rotation with Ctrl + A.
You can now directly bake your game texture in Emit mode. If you connect it to the base color input of a shader you must bake in Diffuse mode and disable Direct and Indirect lighting in the baking settings.
You can create a node group, I suggest to replace the Input RGB by the Input of the node and to allow to change the amount of blood. The Blood color and the factor of the other settings aren't necessary.

You can add a slider to switch between a version with no lighting information (PBR) and with the lighting. For that add a mix node between the Top Lighting node and the Curvature, in the first slot plug the Top Lighting in the second plug the first gamma node for the color. You can then add the setting in your node group.

The PBR version looks like this, you will need to bake your AO map separately:

Single Node way with Cycles!
Assume you have a model with some texture and properly UV unwrapped

Just create New Image with desired dimensions and select it in node editor

Set Cycles Sampling Render to ONE (1)
Select Diffuse Bake Type and uncheck Direct with Indirect leave only Сolor
And press Bake

Don't forget to save or pack result diffuse color texture.

You can use a diffuse shader to give you a single node setup of a simple diffuse.  You also can use a principled shader which is default in 2.8 to give you a diffuse appearance.  You just have to turn all the values to zero except diffuse to give you a pure diffuse shader.

You can see in the question title and the answer of the OP that they are talking about stylized diffuse shader, not plain diffuse surface

Sorry. By diffuse it sounded like he/she meant a solid color shader.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How can I create an advanced addon with a GUI and multiple settings for Blender 2.8x?
How can I create an advanced addon for Blender 2.8x that is displayed in the n menu (right panel of the viewport) with multiple settings.
What are the most important GUI scripts, how to add settings, how to access settings between multiple files, how to add icons, how to read the documentation to find lines of code?

related or dupe: How to create a custom UI?

I wanted to make a more in depth answer with multiple scripts snippets. I have edited my question.

Here is how to create addons with an interface in Blender 2.8x. I share here minimalist scripts snippets.

If the addon has multiple files compress it to a .zip.
To enable the addon go in Edit > Preferences..., in the Addon section and type "Minimalist Addon". I suggest you to name your main file __init__.py, it's a convention between every addons. Make sure to use the extension .py for all your files.
To edit your addon you don't need to reimport it each time, you can find it here on Windows: C:\Users\NAME\AppData\Roaming\Blender Foundation\Blender\2.8x\scripts\addons
And here on Linux: /home/NAME/.config/blender/2.8x/scripts/addons/
You will need to reopen Blender to see the changes. If the addon doesn't appear it means you have made a mistake somewhere, if it is still visible in the Preferences try to re-enable it to see the error message.
Your addon must be in a folder and not directly in the "addons" folder, otherwise you won't be able to find it in the Preferences.
If you need console (to print message and values by doing print("my message") ) do Window > Toggle System Console on Windows. On Linux download Blender from the website, open the Linux terminal (shortcut Ctrl + Alt + t), type the path to the Blender folder using cd (ls to list the files and folders) then launch Blender by typing ./blender.

Single file addon

This is the most minimalistic addon you can create, it contains a single file, it displays a button that prints "Hello World!" in the console.
__init__.py
bl_info = {
    "name" : "Minimalist addon",                        # The name in the addon search menu
    "author" : "Your name",
    "description" : "A minimalistic addon",
    "blender" : (2, 80, 0),                             # Lowest version to use
    "location" : "View3D",
    "category" : "Generic"
}

import bpy

class theInterface_PT_Panel(bpy.types.Panel):
    bl_label = "Panel Name"
    bl_category = "Tab name"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout

        layout.label(text= "Properties:")

        row = layout.row()                              # Create a new line
        row.operator("view3d.print_text", text = "Print text", icon='WORLD_DATA') # Display the operator by calling his idname

class theTools_OT_Operator(bpy.types.Operator):         # Create the operator
    bl_idname = "view3d.print_text"                     # idname to display the operator
    bl_label = "Simple operator"
    bl_description = "Tool description when overing the mouse"

    def execute(self, context):                         # What the operator does
        print("Hello World!")
        return {'FINISHED'}

classes = (theInterface_PT_Panel, theTools_OT_Operator) # Classes name here

register, unregister = bpy.utils.register_classes_factory(classes)

Multiple files addon

__init__.py (gives the addon informations and gather the files)
The difference here are that the classes are in other files. You must add the lines with the name of your file without .py and class like this:
from . File_Name import Classe_Name
bl_info = {
    "name" : "Minimalist addon",
    "author" : "Your name",
    "description" : "A minimalistic addon",
    "blender" : (2, 80, 0),
    "location" : "View3D",
    "category" : "Generic"
}

import bpy

from . Interface_Panel import Interface_PT_Panel
from . Tool_Operator import Tool_OT_Operator

classes = (Interface_PT_Panel, Tool_OT_Operator)

register, unregister = bpy.utils.register_classes_factory(classes)

Tool_Operator.py (what is executed in the addon)
import bpy

class Tool_OT_Operator(bpy.types.Operator):
    bl_idname = "view3d.print_text"
    bl_label = "Simple operator"
    bl_description = "Tool description"

    def execute(self, context):
        print("Hello World!")
        return {'FINISHED'}

Interface_Panel.py (the interface)
import bpy

class Interface_PT_Panel(bpy.types.Panel):
    bl_idname = "MenuName_PT_Panel"
    bl_label = "Panel Name"
    bl_category = "Tab name"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout

        scene = context.scene

        layout.label(text= "Properties:")

        row = layout.row()
        row.operator("view3d.print_text", text = "Print text", icon='WORLD_DATA')

Getting commands

You can get the commands of every tools each time you use one in the Info Window, you can display it by clicking on the Scripting tab at the top of Blender's interface.
For example after selecting a mesh, doing right click and selecting Shade Smooth, this command appears:
bpy.ops.object.shade_smooth()

Adding settings and using the values

WIP

Frequent mistakes

If you operator isn't visible in the interface, check if his class name is unique and do not forget to import it at the classes line at the bottom by writing his name.
Your addon won't be accessible if it is directly in the scripts folder, you must put it in a sub-folder.

FAQ

What is an operator?
An operator does one or several actions like adding a cube in the 3D view, scaling it then applying a material, all with a single button. The operators are often available by the interface.
What row = layout.row() does?
It creates a new line in the interface, without it your button operators and settings can't be displayed. You can add multiple settings at the same line, however it is recommended to displayed one on each line for a better visiblity.

Your naming of the panels and operators doesn't match the bl_idname. For example Tool_OT_Operator has bl_idname = "view3d.print_text" which means it should actually be called VIEW3D_OT_print_text. The naming convention is explained here

If I use uppercase OT and remove the dot the script doesn't display the button, maybe I am doing something wrong.

He didn't mention removing any dot. Don't call single file addons __init__.py ... foo_bar.py or if multi file, eg using the folder as a module, have a folder foo_bar (generally all lower case) with an __init__.py  Both if in the sys path can be imported with import foo_bar See python docs re modules.  I would recommend having a register method in panels.py in __init__.py can import the module and call panels.register() to register panel classes rather than importing the classes and registering.   Notice that a lot of addons use if "bpy" in locals(): to imp the script ....

reloadng the script with updated changes, it is not always necessary to restart blender.  See also bpy.ops.script.reload()  The paths and toggle system console are for MS windows users only.  This catchall question is pretty broad, many of the sub-questions have answers already, perhaps link to some of them.

I don't understand really well, can you edit my post if you have time, try to keep it as simple to read as possible if you do so, I want to keep it minimalist. Thank you.

How do you reload the add-on when you make changes?  This would be good info to include.


text:
Background is not moving with respect to camera position
I have a simple animation where the camera is moving to the planet's location.
The issue that I'm having is that the background is not moving with respect to the camera's location. What is the proper way to achieve this?

 The camera is moving to toward the spinning planet, but the background is not moving in respect to the camera's change of position.

 The node setup of the world's environment to create stars.

 The movement of the camera in this scene.

You may be able to achieve what you want by adding a texture coordinate note and a mapping node to the vector input of your noise texture. Connect the generated coordinate to the mapping input and then the mapping output to your texture. Now in the mapping node you can animate the location values to make it look like the stars are moving past you.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Exporting to 3ds without smoothing
First I'm not a 3D modeler and I cant change the geometry of the model. Can I export to a .3ds without smoothing? Smoothing is causing tons of issues in my model (shading issues). I want it to just look like it does when it's flat (when viewing inside of blender). Can this be done?

Hi, where/how are you looking at the exported model?

@m.ardito Inside of our own renderer (OpenGL).

This object is badly designed, imho :) but it surely can be fixed!
I guess it comes from a vector import (cad maybe) but even if blender in solid mode does a decent job of displaying it, this mesh has many flaws. You shouldn't believe me, you should believe the numbers.
Numbers: your model has 70% duplicated verts. A simple "remove doubles" reduces your 38287 verts to 11504!You have 26783 doubles...
But it's not all, imho: in wireframe mode you can even see many weird edges here and there, but to get more numbers, I used the bundled "3d print toolbox", which makes easy to find mesh problems.
Here the result after removing doubles...

Since we know nothing about your "own renderer (OpenGL)" it could be this one to visually show the model weird, probably due to many issues in the model. If you could post a picture of the model in that renderer something could perhaps be guessed...

You can always make faces to look sharp, just select the object, go to  Edit Mode (Tab, select the faces and then on the left panel (press T to open it) you can find a tab callled Shading / UV -> Faces -> and click Flat.

Kaderabek I've tried this but I receive the exact same output. I'll play with it more. What I don't gt is why is what I see in Blender so different than the output?

Can you attach you .blend file via this link? http://blend-exchange.giantcowfilms.com

I attached file to original post. Thanks!

I cant see any, I have exported it to 3ds and imported ... it looks just exactly the same. How can I reproduce the problem?

Can you upload the .3ds to me? We are using our own renderer to view the .3ds file. Example if you open my original blender file exmaple.blend in Blender. If you select all the faces and set the shading/uvs to smooth. You should see the issue I am getting when I export to .3ds and bring into our software.

The main issue is the geometry (topology) is really untidy - lots of overlapping edges / faces etc, I tried Remove Doubles and it removes over 26k vertices .... try to make some really simple scene with the tool you used for creating the scene and make sure you don't have problem right from the beginning. Unfortunately I am not sure what to do with such complex scene without time consuming manual retopology, sorry :-/

no worries and thank you for taking the time to look at it, I really do appreciate the help.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
{Solved}(Camera Troubles) Scene Disappears After Using Camera
I'm mildly new to blender, but I've been having a bit of trouble with the camera. You see, I have my scene set up perfectly fine:
However, Clicking on the camera and pressing Numpad 0, this is what happens:
It has been super frustrating, as it's been like this for days. If anyone can help, I'd greatly appreciate it.

I do believe so, I'll redo the pictures. Is there another way to access the camera without the numpad?

In the lower screenshot you are on a layer that has no objects or cameras.

Oh wow! facepalm it works when I used the menu to get to the camera... that's strange, but at least it works. Thanks for your patience, sorry for wasting your time!

You mean that when you select View > Camera from the menu you get a different result than when you press num0? Because that should not happen. Can you check again?


text:
Particle system from material
I built a Material that displaces a Plane with a Noise-Texture. Then I take the Normals form the faces and dependend on that the Material sets an Image-Texture (gras on the flater parts or rock on the steeper parts).
For that desicion I use a Normal-Node compared with a Color-Ramp-Node.
I plan to use a particle system for planting gras and trees.
Is it possible to use that Material to define where the particles are alowed and where not?

Please elaborate on the first sentence it's hard to understand.

Thanks for the advice. I hope now it's more understandable.

You could use weight painting but I don't think there is a easy and straight forward way to do it.

Would it be possible to save the material output as an img and use that img as particle wieght texture?
So I would have to refresh it manualy every time I change somthing, but still it would save a lot of time and be accurate.

In theory you could not sure how though.


text:
Transfer a Rig from Motionbuilder to Blender
I created a rig from a motion capture in MotionBuilder 2012. It's just a simple rig with a few motion tracks and now I want to do the rest of the work in Blender 2.72, but have problems with the rig representation in Edit mode.
I exported a BVH file in MotionBuilder and imported it into Blender and all motions are correct and look like expected. In Pose mode the rig has the expected T shape in the first key frame and all other key frames look correct, too. However, when I go into Edit mode the shoulders and arms, as well as the neck and the head, point straight down. Additionally, the whole rig is rotated by 90° around the X axis. It is unclear to me why I see this behavior in Edit mode.
Here you can get the BLEND file that illustrates the problem. In that "wrong" Edit mode position I can't skin the rig and if I try to put it in form the new angles influence the movements.
Do you know a better way to get the rig in Blender?

Re target copy rig with new rest pose.

Similarly to this answer,
Select rig, and run the following script (takes a minute-ish).  You will get a new copy rig, with rest pose the same as the T-pose in frame 1 of original, and animation adjusted to fit new rest pose.
import bpy
from bpy import context

remove_constraints = True
scene = context.scene
scene.frame_set(1) # TPOSE frame
rig1 = context.object
# copy the rig and armature
rig2 = rig1.copy()
rig2.data = rig2.data.copy()
scene.objects.link(rig2)
scene.objects.active = rig2
bpy.ops.object.mode_set(mode='POSE')
# apply the pose in frame 1
bpy.ops.pose.armature_apply()
if not rig2.animation_data:
    rig2.animation_data_create()
# remove animation from dupe
rig2.animation_data.action = None
# add copy transform constraint to each bone
for pb in rig2.pose.bones:
    ct = pb.constraints.get(pb.name)
    if ct is not None:
        ct.influence = 1
        continue
    ct = pb.constraints.new('COPY_TRANSFORMS')
    ct.name = pb.name
    ct.target = rig1
    ct.subtarget = pb.name

action = rig1.animation_data.action
f = action.frame_range.x
# add a keyframe to each frame of new rig
while f < action.frame_range.y:
    scene.frame_set(f)
    for pb in rig2.pose.bones:
        #pb2 = rig1.pose.bones.get(pb.name)
        m = rig2.convert_space(pb, pb.matrix, to_space='LOCAL')
        if pb.rotation_mode == 'QUATERNION':
            pb.rotation_quaternion = m.to_quaternion()
            pb.keyframe_insert("rotation_quaternion", frame=f)
        else:

        # add rot mode checking
            pb.rotation_euler = m.to_euler(pb.rotation_mode)
            pb.keyframe_insert("rotation_euler", frame=f)
        pb.location = m.to_translation()

        pb.keyframe_insert("location", frame=f)
    f += 1

# set constraints to zero or remove entirely.
for pb in rig2.pose.bones:
    ct = pb.constraints.get(pb.name)
    if ct is not None:
        if remove_constraints:
            pb.constraints.remove(ct)
        else:
            ct.influence = 0

Good one.  feel free to upvote too 8^)...


text:
In Python how can I name the active selection Low Poly, join the others and name them High Poly?
In a Blender 2.8 script I want to bake multiple high poly objects on one low poly.
I want to create a script in Blender 2.8 that bakes in selected to active mode. The active selection must be named "low poly", the other selections are joined and are named "high poly".

Worth noting: https://blender.stackexchange.com/questions/2848/why-avoid-bpy-ops

Could you please make this a bit clearer. Maybe with a 3 or 4 object example.

I'd like to help but I don't get what you want. What's your situation exactly? And what's your actual goal? Just baking all and join them? Why a random selection when the low-res geometry is already prepared?

I hope that's what you're looking for.
Select the low-poly object and run the script to add a <Name>_LowPoly suffix to the objects name in the first place, join all other mesh objects of the collection and rename the result to <Name>_HighPoly:
import bpy

suffix = "_LowPoly"
act_obj = bpy.context.view_layer.objects.active

# Append the suffix to the active object
if suffix not in act_obj.name:
    act_obj.name = act_obj.name + suffix

# Get the collection of the active object
obj_coll = act_obj.users_collection[0]

# Create an empty list
high_poly_objects = []

# Append all mesh objects (of the collection) to the list
for ob in obj_coll.objects:
    if not "Low" in ob.name and ob.type == 'MESH':
        high_poly_objects.append(ob)

# Deselect all objects
bpy.ops.object.select_all(action='DESELECT')

# Select all High-Poly objects to call the join operator
for ob in high_poly_objects:
    ob.select_set(True)
    bpy.context.view_layer.objects.active = ob

# Join all objects selected before
bpy.ops.object.join()

# Get the object in context and re-name it
if "High" not in bpy.context.object.name:
    bpy.context.object.name += "_HighPoly"

# Optional -> Invert the selection for fun
for ob in obj_coll.objects:
    if "Low" in ob.name:
        bpy.context.view_layer.objects.active = ob
        ob.select_set(True)
    else:
        ob.select_set(False)

You can also override the context of bpy.ops.object.join() to avoid any viewport selection changes. Select all objects, make the low-poly object the 'Active Object' and run the script:
import bpy

hp_suffix = "HIPOLY"
lp_suffix = "LOWPOLY"

C = bpy.context
scene = C.scene

ob_active = C.active_object
if not ob_active.name.endswith(lp_suffix):
    ob_active.name += "_{}".format(lp_suffix)

obs = []
for ob in C.selected_editable_objects:
    if ob.type == 'MESH' and ob != ob_active:
        obs.append(ob)

if len(obs) > 1:
    c = {}
    c["object"] = c["active_object"] = obs[0]
    c["selected_objects"] = c["selected_editable_objects"] = obs

    # Blender 3.2+
    with C.temp_override(c):
        bpy.ops.object.join()

    # Blender 2.8+
    #bpy.ops.object.join(c)

if not obs[0].name.endswith(hp_suffix):
    obs[0].name += "_{}".format(hp_suffix)

No problem, glad it is working @DanylBekhoucha Let me know if you need something else.

Looks super sweet, thanks for adding how to override the context @p2or.

In the script of p2or, the line "if len(obs) > 1:" must be set to 0 otherwise we need 3 objects selected minimum (so 2 high polys) to add the suffix "_HIPOLY".


text:
How to create an Inner Glow node effect
The Inner Glow effect is a filter that allows to soften the edge while keeping a clear line of the main silhouette at his center. It is heavily used by Blizzard and many other stylized studios to project decorations and text to an high poly sculpture with a stylized crack look like if a dagger was used to sculpt it.
Michael Vicente has made a tutorial about this technique in a PDF: https://www.pearltrees.com/s/file/preview/139604217/OrbBevelTIP.pdf or in a video: https://youtu.be/eGHU8DI6fo4?t=5183
I try to achieve this:

It is important that we get only thin lines and not holes in more complex and wider areas. If we look at the displacement horizontally it should look like a V with a thin tipping point.

And here is what he gets by projecting it, as you can see there is just a think line at the center and the depth is flat:

The final result after using the Polish modifier of ZBrush:

The source image for your tests:

With the Inner Glow effect:

Why can't you do it in photoshop, and then import the  inner glow image to blender

I try to make my entire workflow inside Blender or at least in free software. Subscribing to Adobe just for one filter that I will use occasionally isn't worth it.

Use the Erode Node
A simple Dilate/Erode node in Threshold mode with "Distance" set to the same value as "Edge" does exactly the right thing.

With the math node "Power" afterwards the result matches the image from the tutorial perfectly.

Additional explanation
Linearity of the gradient
The Threshold mode of the Dilate/Erode node has a linear falloff. Here is a proof:
In the viewer-result you see the texture above and the output of the erode node below.
Congruence of the results
Here is a proof that the result of photoshop's inner glow effect is the same as the result of my proposed node graph above. The differences still visible are caused by different image formats and scaling blurriness.

Thank you for your answer. Is there an easier way than using the RGB Curve?

I think the yellowish colors are from the YouTube compression, I have updated the images from a PDF.

Thank you for accepting the answer. I changed the node graph, so that the power node replaces the RGB node and the yellowish tint is removed.

This isn't the most elegant solution but I believe it gets the right result; combine the output from multiple Erode nodes to pare down the original image to successive layers and average them all together. This produces a (stepped) linear fall-off - the smaller the erode 'Step' at each stage, the more accurate the result but the more layers need to be generated. The 'stepped' result can be 'Blurred' at the final stage to remove the discrete steps.
The compositor nodes are as follows :

Continue the chain up to the required number of levels to handle the thickest part of the original image.

Note the Divide - set to the number of times the image/mask is combined (in this case 19), to produce the average. The whole node tree is as follows :

This produces the following result (negated (see Subtract node) and with Color Management disabled to make it clearer) :

Blend file included

Your solution is like my first attempt: combining erode nodes with math. Later I realized that the Threshold mode of the erode mode gives exactly the same result...

Here is an image of the mathematical stacking I tried. Fortunately the solution can be compressed to only a few nodes.

ouh, yes you are right: removing it is not a good way. Yes, The Threshold mode uses a linear falloff. I'll put a proof in my post.


text:
How to improve the contrast and colors without getting clamping?
Is there an alternative node I could use to improve the contrast and colors while being sure it will never clamp the values?

You can use the Dodge and Burn nodes for that and they will add a glow effect too on your image.
The dodge node will brighten your image, the burn will darken it. Both have more effect on bright areas and no effect on dark areas, so to avoid clamping we will apply more dodge on the darker parts and more burn at the brighter area, then we will mix them to only have the burn from the dark value of the source image and the dodge from the bright values. If this is not clear here is a step by step.
For this example I will use this source image:

Burn node:
To apply the burn on bright areas, add a Mix node in Burn mode and plug the source image to the 3 inputs. If an area is dark the image used as a factor won't apply the burn so it won't set the value bellow 0.
Dodge node:
For the dodge add a Mix node in Dodge mode then plug the source image to the 3 inputs but this time invert the image for the factor. This is the opposite, the dodge will be mostly applied on the darker value, but at the same time it has less effect on those so you will mostly get the effect on middle gray values, you won't have any clamping.
Blending the nodes:
Now to blend the two images add a Mix node, use the original image as a factor. The first slot will be the image used for everything dark to middle gray and the second for middle gray to bright.
For the first slot connect the Burn mode, to get the slight effect he has added on the shadows, for the second the dodge.
The contrast will probably be too strong, you can add a mix node and plug the original image in the first slot and the image retouched in the second slot. Now use the factor to adjust the contrast, here it is at 0.5:

The Adobe PDF blend modes are strictly display referred, meaning they won’t behave the same as your demonstration here in a scene referred light transport model. They only appear to work because you are cheating and using nonlinear display referred input imagery.


text:
How to create an equivalent to the Hard Light blend type?
Blender doesn't have an hard light blend type. I thought it would maybe be possible to get a similar result with multiple nodes.
Here is the source image:

And the result wanted when adding red:

Blender cannot work with a majority of the original AdobePDF blend mode types as they are strictly display referred and fail miserably when operating on scene referred imagery.
From the AdobePDF specification, where cb is background and cs is source.

Multiply (cb, 2 * cs), if cs ≤ 0.5
  Screen (cb, 2 * cs – 1) if cs > 0.5

As you can see, the "minus one" portion, as well as the screen operation, will yield completely erroneous results on scene referred imagery.
Also, 0.5 comparison values would be on display referred nonlinear imagery, which would be post display referred transform.
Ultimately, it is a meaningless blend mode within a raytracing context. You could of course write your own screen node as well as hard light, generate a display referred output, and try to hack something together. It would seem that more optimal approaches might be wiser than a hacked mess, however.

How about simply mixing with a Color Ramp between tinted (generated by Multiply) and non-tinted images. Vary the color ramp for harder/softer edges and to vary the amount of highlight/strength of highlight (by changing the greyness of the Black/White color ramp colors).

Why the downvote? This answer provides a method of taking the ‘original’ image as supplied in the question and producing a result very similar to the stated desired result using Compositor nodes (question is tagged with “Compositor”).

You can achieve this result by increasing your global illumination strength and adding a color to it.

Hard Mix
Adds the red, green and blue channel values of the blend color to the RGB values of the base color. If the resulting sum for a channel is 255 or greater, it receives a value of 255; if less than 255, a value of 0. Therefore, all blended pixels have red, green, and blue channel values of either 0 or 255.
This changes all pixels to primary additive colors (red, green, or blue), white, or black.
https://helpx.adobe.com/photoshop/using/blending-modes.html


text:
How to generate contours around a mesh with modifiers?
I am making a shoulder armor easily editable. I want to keep the original flat mesh and generate the golden contour like you can see on this image by using modifiers:

I don't think that can be done with modifiers alone

@Danyl Bekhoucha have you considered a (subtle) displacement through an image? Depending on desired result also some boolean trick could be used perhaps. Not sure but... maybe.

A displacement image would require UVs.


text:
Is There A Way To Make Reflections Act Similar To Cycles In EEVEE?
I have a low-poly glossy character in my scene, and when I render with cycles, each face is sliced into reflective triangles which looks very good.
But, when I try to render the scene in eevee, the faces reflect without being cut. Is there a way to make the character look similar to cycles in eevee?
Blend File:

EEVEE

Cycles

If it's literally the quads to triangles part that you want... have you tried the Triangulate modifier?  You would not want keep normals (since you actually want the normals to differ across two triangles), and may need to experiment with the quad method to get the best results.

If you have suggestions on how to improve the answer I would like to hear them.  I could have tried it myself and posted screenshots as to the comparison but that would require access to a computer, downloading the example, and setting it up, when it really is a very simple and potentially helpful answer.  That said if there are any comments on things I -should- do to improve this answer I would love to hear them.

Creating a Light Probe > Reflection Cubemap and a Light Probe > Irradiance Volume brings you close to the Cycles result. If you need any explanation on light probes, please ask.


text:
Animating rotation along edge
I'm animating a product and I want to rotate an object along an edge which is not aligned to any global axis.
I found out that rotation is possible in Edit mode, set Pivot Point as Active Element and change Transform Orientation to Normal.
It just doesn't seem possible to Insert Keyframe for Location & Rotation in Edit mode. This way, I just change the overall specs of the object without animating the rotation of it.
Here is a video example of the problem where I attempt to rotate the object 20 degrees.
Does anyone know how to solve this / make this work?

You should align your object with the global axis, parent it to an empty, rotate the empty the way you want in order to align with the edge, then animate the object, its new global orientation is now relative to the empty, see my answer here: https://blender.stackexchange.com/questions/129834/how-do-i-rotate-an-object-along-its-own-axis-windmill/129836

Also related https://blender.stackexchange.com/questions/140629/custom-rotation-for-a-tilted-aircraft-flap  A lot will depend on usage. With  parenting directly, or with an  empty inbetween , via an armature or with axis angle:  sets up the ability  to keyframe  a single channel which  quite likely will  reduce headaches later.

Thanks @batFINGER @ moonboots for your answers! I looked at both of them.
I'm using a complex imported .svg file for the shapes of my animaton. This means that aligning all objects with the global axis to parent it to an empty, is a lot of work (unless it's possible to align an empty to the axis of the object???).
So, I tried the bone method, which seems to work well! I'm going to give every object a bone, and will continue the animation when every object is boned. Thanks again!

I stumbled upon a new problem, but first: the bone armature mothod works!
I started animating, and found out that some objects did have Armatures, but they were not assigned as Bone (see video: https://youtu.be/NMPotn01ox8 ).
If I adjust them now, the objects will jump to another location. Set Inverse and Clear Inverse returns the objects to their original locations, so that doesn’t work either.
Is there any way to prevent the displacement? Or do I have to go back in the animation and correct the objects before starting to animate?

I figured it out already! I just have to go back to the keyframe before the parent object starts moving, and assign the armatures as bone + set inverse. The rest of the animation stays intact that way :). In my case, the order of < assigning armature as bone + Set inverse > is important because multiple objects are parented to other parented objects.


text:
Oscurart_tools show 'Needs at least two selected objects' when distribute objects in blender 2.91
My configuration:
ubuntu 20.04
python 3.8.5
blender 2.91

Followed this:
https://blenderartists.org/t/oscurart-tools-not-included-in-2-91/1267891
Clone it:
git clone https://github.com/oscurart/Blender-28-Addons

And copy subfolder to addons:
sudo cp -r /home/alex/workspace/Thirdparty/Blender-28-Addons/oscurart_tools/ /usr/share/blender/2.91/scripts/addons

Then try to distribute 5 selected objects,but got error:
Needs at least two selected objects

and it seems this error occurred in old version.
https://blenderartists.org/t/oscurart-tools-update-rig-model-render-setting-more/576702/28

Hi please [edit] your question and add a gif or some images that detail the steps you are taking. Also see this question. Thanks :)

@Timaroberts,thanks for your suggestion,but for a blender user,my question is very clear already

The Oscurart Tools need to be accessed in the Tool category under the Properties menu in the right-side panel.


text:
Subdivision Surface modifier not working if applied
Well, I started making a plate for my pie. I added an subdivision modifier, when I do not apply it, in the render it shows in the level I set. If I apply it, in the render it shows subdivision on level 1. I don't know what to do. Please help.

When you apply a subsurf modifier, it uses the number of levels in the Viewport box, not the Render value, so make sure the first one is set to the number of subdivisions you want.

Thank You! Just noticed that, I'm dum

Hi and Welcome! Do you mind adding an answer? This is no forum rather a Q&A site, meaning a knowledge base. In order to help future visitors, please do not add [ANSWERED] to the question title, add an answer instead. Thanks. How this site works: https://blender.stackexchange.com/tour

@brockmann you could answer as well by now to get this off the unanswered list. OP may or may not be back to this Q.

Yeah of course, main concern was to provide a few hints to the OP on how this site works @Timaroberts

When you apply a subsurf modifier, it uses the number of levels in the Viewport box, not the Render value, so make sure the first one is set to the number of subdivisions you want.


text:
Uvs Unwrapping in a Staircase Made of Quads
I have a 5/7 that I want to bake a normal map to and then texture, but when I unwrap with proper seams, or even if I do smart uv, it simply projects in a staircase made of uniform quads and some tris splitting them in half.

Hi and welcome :) Images would make your question much clearer, please [edit] your question and add some that would help clarify your issue. Thanks

i cant add images and post text at the same time. is it possible to comment with images?

You may [edit] your question to add images using the inbuilt tools provided and also any additional information needed at any time. There is an edit link in my comment as well as below your question. :)

i tried to use an image but the best i could do was a discord link


text:
Can't use the middle mouse button
This is my first time using Blender and the shortcut button G + MMB  doesn't seem to be working for moving the object along the axes. Could anyone please help me with this?

You will only see the Axis you can snap to once you start dragging! So, press G, hold MMB  and then drag, and select the axis you want to move across!


text:
How Can I Select A Single Edge Among Linked Duplicates?
I duplicated a bunch of cubes to model buildings and I used the linked duplication method, Alt + D but when I tried to select an edge of a cube in Edit mode (while in Edge Selection Mode), it selects multiple edges at once.
It does not select all of the linked object edges but almost half of the same sided edge is selected. How can I select a single edge of a single object? Deselecting does not work.

I can't replicate what you mean, can you share your .blend file please?

Actually I don't really know that in linked selection method is it even possible or not!
But I can tell you another way to achieve what you want.
You can use (shift+d) method to duplicate.
Then select all the duplicates and join them as a single object with (ctrl+ J). You can also move them individually in edit mode. But you can't move them separately in object mode,  they are all now one single object. Hope that helps.


text:
How can I close the bottom of a cup?
I´m learning blender now and I was practicing modelling a cup but when I got almost to the end of it I realized it was botomless. I guess I did that when I was trying to fix the subdivision surface that was curving the bottom too. Is there a way I can close it?

Select the bottom loop and do Grid fill. Else extrude, press the escape key and scale inwards. Repeat extrusions and finally merge vertices at the center to close.

In Edit Mode select the bottom edge by Alt+LMB.
Press F to make a face.


text:
Trackball Behaviour With Modal Operator
I need to create a trackball like behaviour for a modal operator.
Is there a possibility to implement this into the functionality by moving the mouse?
I just need to know how the math works when converting the x and y movement from the mouse to the view bound xyz rotation conversion.
This is what I got for now
#n = AXIS OF ROTATION
#a = DEGREES TO ROTATE
#v = VECTOR TO ROTATE
def axesAngleRot(n, a, v):
    return v * math.cos(a) + (v.dot(n))*n*(1-math.cos(a)) + (n.cross(v)*math.sin(a))

def getViewMatrix():
    area = [area for area in bpy.context.window.screen.areas if area.type == "VIEW_3D"][0]
    with bpy.context.temp_override(area=area):
        view3d = bpy.context.space_data
        view_matrix = view3d.region_3d.view_matrix

    right_viewMatrix = mathutils.Vector((view_matrix[0][0], view_matrix[1][0], view_matrix[2][0]))
    up_viewMatrix = mathutils.Vector((view_matrix[0][1], view_matrix[1][1], view_matrix[2][1]))
    forward_viewMatrix = mathutils.Vector((view_matrix[0][2], view_matrix[1][2], view_matrix[2][2]))

    return [right_viewMatrix, up_viewMatrix, forward_viewMatrix]


text:
Glitchy/distorted object when exporting to .obj file format but looks fine while in Blender
** I am new to Blender
I am trying to model and export a Glock 18 for my game. In viewing in Edit mode, Object mode, Shading or basically every mode in Blender, the weapon looks fine and doesn't get distorted until exporting the object to .obj format.

Here's what it looks like in Blender:

And here's its wireframe:

Is there anything wrong with the wireframe or how I exported it that affected the .obj file? Any answer is appreciated.

Did you apply the scale to all the objects it is made from before exporting?

I kept the original scale. I also tried to import it as an .fbx file and it has the same error, so the problem must be with the wireframe. However, when I imported it into Unity and Unreal, both objects aren't distorted. I'm really confused

You'll need to upload the blend file ( https://pasteall.org/blend/ ) in that case so that someone can have a look.

Looks like triangulation problem. Transform all your non coplanar faces to triangles before exporting

https://pasteall.org/blend/aeb1a95eb16b4930b4af0fd859e7ea9c // Here's my .blend file, excuse the crappy modelling because I'm new. I also followed @Gorgious instructions and it still doesn't work. :(

Try to recalculate normals in blender. Here: https://www.youtube.com/watch?v=7sK2pDByXOE A similar face-missing problem, where they recommend to recalculate normals.: https://www.reddit.com/r/unrealengine/comments/s5u5ve/missing_texturemeshes_in_import_from_blender_to/

Try to recalculate normals in blender.First, face orientation:

2nd, switch to edit mode, select all the vectors, edges and faces, choose normals under mesh:

3rd, choose recalculate outside.
Here is an example more detailed:
https://www.youtube.com/watch?v=7sK2pDByXOE
A similar face-missing problem, where they recommend to recalculate normals.:
https://www.reddit.com/r/unrealengine/comments/s5u5ve/missing_texturemeshes_in_import_from_blender_to/


text:
Blender is not responding after opening
I'm having trouble working with Blender. I'm using Windows 10, Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80 GHz processor, 8 GB RAM with Intel(R) UHD Graphics 620 and Radeon(TM) 520 graphics cards. I installed Blender 3.0 and when opened it just flashed a white screen and disappeared. With versions 2.9, 2.8, and below, I was able to see the workspace, but after clicking on the options and objects, the screen froze and turned out to be "Not Responding". It would be very helpful if anybody could solve this issue. How can I use Blender stably in my system?


text:
How do I change the size of a liquid simulation?
I want to add some delicious honey to my waffle but since my waffle is only like 10cm big the liquid simulation comes out way too big. How can I change the size of these 'balls' and thus change the liquid size.

Maybe first try to increase the Resolution of the Domain (it will decrease the size of the mesh faces), also under Liquid, decrease Particle Radius (it will decrease the thickness of the mesh around the particles), and increase the Sampling a bit (it will increase the amount of particles):


text:
Blender 2.82 - Objects are not visible in solid/wireframe shading
suddenly I have this problem. In the main window in 3D Viewport all objects (excl. ref images) are not visible while viewport shading is solid or wireframe, even the outlines. In material or rendered is everything as it should be.
In my secondary window it's ok and I can see them. When I select an object in the second window I can transform it in the main window. I just don't see it there, only in the main window. And in the main window is this weird "shadow" wich is formed like a pyramid. The settings for the viewport (at least the screenshots below) are the same for both windows.
Does someone know where I can switch that off?

I use Blender 2.82

 main window
 second window

The screenshot are too small and there is no setting visible. I would check visibility settings first

thanks,
the Screen shots with the complete screens should show the pyramid formed shadow.
Your are right the with the settings but they are the same in both windows.

I know this is a late answer, but I found it by accident. I had the same problems and suspected it might be something to to with clipping. So I tried this and it worked. In the 3d viewport there are some menues. Click on the view menu ..

Choose "View Regions" and then choose "Clipping Region"
Voila!

Thank you! This was it. I had mistakenly pressed ALT+B instead of CTRL+B to bevel..


text:
Errors exporting model to .pmx (multiple plugins) and .x

I keep getting nonetype errors Trying to export a model with multiple plugins
It wont even let me export it as .x with out an error what am I doing wrong? Just getting one to work is enough for me.

sorry, what format is .pmx, or .x ? which exporting addon are you using? which kinf of object are you trying to export, can you show it in blender?

Im using mmd_tools and i installed Pymeshio in desperation. I cant even get it to export with the direct x plugin that comes with blender. Heres a picture of what Im exporting  https://imgur.com/a/2rrhU

.pmx Is a model type recognized by a program called MMD. But I cant even get it to export as .x

About non-bundled export plugins you could show which versions are you using and where we can get those, exactly, to maybe replicate the problem. I can export the default cube using the bundled "import-export Dirext X format", without errors, so maybe is an issue with your model. If you can share it (or part of it) use http://blend-exchange.giantcowfilms.com/ then paste the provided link in you question text or comments...

I just put it up on the stack exchange I also just noticed im having an issue with the normals flipping over?

Welcome to bse, Lotte.  You have a number of empty material slots.  (show as icon only, no material associated) try removing these before export.

Is there a tutorial on how to do so? I read somewhere that opening and closeing the file is supposes to rid of them. But it hasent for me.


text:
Glass in Shower has Strange Glare
Issue: I can't seem to fix this strange shower glare that's happening at the top of my glass for a shower. Can anyone help me figure out how to remove this glare, and/or explain why it's happening?
Context: I know the source of it is caused by an Area Light above it, which is used to light the shower area, but I can't figure out how to remove the strange glare from the light that reflects into the glass. It also reflects on the ceiling behind it, and I don't know how to get rid of this. Any suggestions?
Thank you in advance!
Link to downloadable file
The glare:

The Area Light setup above the shower:

The shower glass node setup (includes a raindrop material for creating condensation on the glass):

Thanks! I believe the issue is now resolved -- they appear to be related to the "raindrop" normal image that I had worked into the glass BSDF. I just decided not to include the normal and now those strange reflections are gone. ¯_(ツ)_/¯


text:
Rendered image doesn't show what Rendered Viewport shows... (pictures below)
It's kind of an interesting result.
Here is how render viewport should look on frame 1:

Here is what happens when I press F12:

It's like I have a second camera (although I don't) somewhere below. What is even weirder is that If I place the camera behind the wall...

it shows everything correctly (example cube is seen):

As you can see, my camera is following an object that is on Bezier curve WHILE being on Bezier curve (right) itself. This animation is working perfectly on rendered viewport but not if I use ctrl+F12. Just the same grey viewpoint.
What could be the issue?

Do you have a compositing node setup? Also, upload your file here

Nodes are there. Blend is added.

You appear to have a plane in front of your objects and the camera:

Which is not visible in the file because it was hidden:

You could either delete the Plane object or hide it from the camera render (Check the camera icon).

If this answered your question, press the check mark next to my answer to mark this question resolved.


text:
My particles are halfway inside the floor, can I move them up the z axis?

As you can see, those bullets are halfway in. Floor normal face is facing the right way. I fiddled with most of the settings, but haven't found a way to raise them on the floor.
Haalp?
Blend file:

Try moving the "Origin" to the bottom of your mesh.

See https://blender.stackexchange.com/questions/57576/how-do-i-make-hair-particles-appear-on-top-of-the-emitter-and-not-through-it. Normals of the emitter are important but have nothing to do with what is shown on the screenshot

@Dontwalk  I was sure that origin point was gonna fix the problem  once you mentioned it, but surprisingly after I changed my origin to bottom mesh, bullets were still halfway in. Other settings weren't the issue either as I reset everything.

@Boyka You moved the "Origin(s)" of the bullet particles correct? Also, it would be helpful if you posted your .blend file using http://blend-exchange.giantcowfilms.com/

@Dontwalk added

Try changing the Emitter from "Hair" to "Emitter". Then change the "End" frame from 200 to 1.

@Dontwalk Can't see particles on the ground.

It worked for me with your .blend file. Try playing the Timeline from frame one. (I'm trying to upload your modified .blend now).

ah indeed, was on 0 frame, my bad. But on frame 1 it's still halfway inside and with next frames it just jumps and emits down by gravity.

Change the Emitter Velocity to Zero and change the Physics to "No".

@Dontwalk Hmm, it's still inside the floor, even with Physics on "no". Same result with your uploaded file. Also I can't seem to find Emitter Velocity, only "Emitter Geometry" and "Emitter Object" under Velocity.

@Dontwalk Is it fine on your end? I have Blender 2.79, maybe it's some kind of a bug because I had to change frames from 1 to 0 and back to 1 to have bullets in their original positions. Otherwise they were floating in the air.

I have 2.79 also. I re-saved the file I modified. Here  We'll need to take this into chat if you need more help but Im not sure how...

Naah bro, you helped me a lot already. It's some kind of a bug probably. Plus I don't haven enough reputation for chat :D

thanks for taking the time. Appreciate it. By the way, the file you sent me showed me them like this:https://i.imgur.com/pM5TSvP.jpg So it's still for some reason considering origin somewhere in the middle. Freaking bugs!

@Dontwalk If interested, the issue was was with rotation as mentioned in other comment. Change the x rotation and apply it.

The easiest way to fix your problem is (from the file you uploaded) rotate your bullet object on the x axis by -90 degrees in object mode, then apply the rotation on your bullet with ctrl-a.
The reason your bullets are like that is because blender thinks that (for some reason) the y axis is what should be facing up. Rotating the bullet as describes above sets the origin point of the bullet on the bottom relative to the y axis.


text:
After rigging with automatic weights, my mesh becomes HUGE!

Like I don't know why it's so huge after applying ctrl P and setting parent to armature deform with automatic weights.
Both mesh and armature's scale and rotation is reset.
HALP!

Yep, like I said I applied scale, rotation, and even location. Everything is reset.

I did import the mesh as fbx from my co-worker. So the mesh may have not been made in blender. Maybe that somehow affect it?

The scale in other application is much bigger than Blender and is not Z=up. It's the armature that is keeping the character from its actual size. Try this, copy the mesh paste it then Alt+P to unparent the mesh from the rig you'll find a big sleeping giant.


text:
How to bake AO + Diffuse into one map in cycles?
I have AO Map baked and a diffuse map. I combined together in cycles node editor and changed AO intensity through colorRamp.

Now I'd like to save these node settings and bake it into one. I've tried different things but I think I missed something.
What is the right wey?

Generally, you do not want to do this for AO, see Adding Ambient Occlusion to Material
However, if you really want to in this case, you can just bake the diffuse channel. Since you multiplied AO into diffuse, it is now part of diffuse. So just bake that. If you don't want to also include lighting, set bake type to "diffuse" and bake only the color pass:

(remember, however, by multiplying AO over diffuse, you are already "including lighting" as AO is lighting, not color)


text:
Object Mode shows mesh one way, and in Edit Mode another (pictures below)
All modifiers are applied.

It has probably something to do with decimate modifier. I reduced the vertices amount significantly to be VR friendly.
Could it be a bug or... am I missing something?

If modifiers were all applied then Decimate like any of them can't be the reason. Try pressing Alt+H in Edit mode and see if there's hidden geometry

@MrZak I am stupid..... yeah I forgot to check hidden objects. You saw nothing, Mr Zak!


text:
Waist bone won't move. Only rotates in place
The bone I used to control my character's upper body is stuck in place and only rotates when I try to move it.
From what I checked, it is not the same problem as this question:
In Pose mode, my bones are stuck in rotate, and wont transform
Yes, clearing the parenting to the root bone solves it, but that is not what I want and from all the models I've done before, this is the first it happened.
Here is the model:
https://drive.google.com/open?id=0B4Okp_8X219XU0s2Zk1Nb280SkE
Any ideas?

It's solve thanks to Vectorius. I removed the model from the link since it's from a personal project.

Its is related,  actually, since your Main bone is acting like the last bone in a connected chain
Enter Edit Mode, select the Belly bone and go to its Bone Data Panel to uncheck Connected. Do the same for the Hips bone. Now you can translate the Main bone in Pose Mode

you saved me :D


text:
How to import bpy module in PyCharm IDE?
I know that bpy is not available in python outside of blender which is totally fine, however I'd like to work on my blender python scripts using an IDE (in my case PyCharm from Jetbrains).
Therefore I'd like to somehow let the IDE know about the bpy module so my import bpy statements are not marked red and also autocompletion features would work. What would be the best way to achieve this?

I don't have PyCharm on this machine, but have used it with Blender on my dev machine. So I can't detail the setup now - but for starters, see this dev doc regarding debugging Blender with Eclipse: https://wiki.blender.org/index.php/Dev:Doc/Tools/Debugging/Python_Eclipse
should be close enough for you to use with PyCharm (which is a custom eclipse). I presume you're okay with local (single machine) debugging - that's what I have setup in Eclipse/PyDev, tho in other Python work, I came across a browser-based setup that I adapted to PyDev - so now I debug Blender in the Browser - with the api docs in the 'tab next door' - very convenient.
if you're interested in remote debugging instead, see this recent dev blog entry: http://code.blender.org/2015/10/debugging-python-code-with-pycharm/
m23d


text:
Why is my normalmap rippled and pixelated?
I've built a high-poly model and manually reduced it to low-poly, by applying the subsurface modifier and merging excess edge loops. I then imported copies of these in .obj format to XNormal, where I rendered a normal map. When applied to the low-poly model in Blender, it recieves these fine, rippling artifacts:

Where do these artifacts come from? How do I get rid of them?

Comment on answer by cmomoney: Thank you, this was exactly the problem. I applied the Mirror mod and remapped the UV. Now I've got problems with the high-poly poking through, so I'll have to remake the low-poly anyway... but that is beyond this question.

Have you tried removing doubles and recalculating normals?

Just did and it looks precisely the same :/

It could be an ngon face problem.

Can you upload your file through blend-exchange.giantcowfilms.com It will help in troubleshooting your problem

Try to Retopo-ing the mesh. Maybe reduce the amount of vertices and faces in the area.

@Grimlock Uploaded :-) I'll hold off on the retopo, this is present across the model

The image isn't packed with the file.

There is a Mirror modifier on the model on the X and Y axis. So you have four parts UV mapped to the same place after you export( I'm assuming you had the "Apply modifiers" option checked). The artifacts are "layering" caused by the normals being baked four times to the same area. Either apply the modifier and remap the UVs, or export without the modifier applied and bake.


text:
How to normalize the color values of a shader (Pointiness)?
The contrast for the pointiness changes depending on the vertex density on the model. The Normalize node to have a value range of 0 to 1 isn't available in the shader editor. I thought it would be maybe possible to get this result with some Math nodes.
On the image bellow I am trying to get the same contrast between those two Suzannes, they have a different material each:

Note that you can use the new Bevel node for a similar effect that won't change with subsurf. This is because the bevel is calculated differently.

In order to map the pointiness values in the current view to a 0-1 range, a renderer would have to accumulate information about the entire frame or object, and then backtrack to adjust values between the maximum and minimum found. I'm confident Cycles can't do that.
There might be a more accurate method via baking and a histogram, but the approach I took to doing it by eye was to put the values through a color ramp, with the top 2% yielding blue, and the bottom 2%, red.
I then adjusted the 'Add' node to get a bare minimum of red, and the Multiply node to just hit the blue end. These were the figures for Suzanne, (top row), and Suzanne subddiv 2.

The top pair below were for calibration, the bottom pair the result with the color ramp taken out.

Maybe the regions would match more closely if we glue her eyes in.

The Pointiness surface property is not very suited to this as, as you found, the result is very dependent on the vertex density of the mesh. Simply adding a Subsurf modifier will produce drastically different results.
As mentioned in @RobinBetts answer, it's not possible to automatically 'normalize' such a shader function as Blender would need to evaluate every point to be able to determine the true 'range' in order to determine how to normalize that range to fit 0.0 to 1.0.
A better solution would be to produce consistent results irrespective of the actual vertex density. Such a function isn't available in the current 'official' (2.79b) release of Blender but the development builds do now provide an Ambient Occlusion node that can be used to produce an alternative to Pointiness which is more configurable and that is not dependent on vertex density.
The new Ambient Occlusion node will sample the surrounding mesh to determine effectively how 'flat' that point on the surface is, which could be considered a measure of 'pointiness'. The node allows the strength of the effect to be controlled by adjusting the 'Distance' from which to calculate the occlusion and can also determine the 'reverse' occlusion (as it would be occluded from the 'inside' of the object) which can be used for 'negative pointiness' ("concavity"?).
By combining two Ambient Occlusion nodes - one set to 'Inside' and the other 'Outside' - we can produce an overall 'pointiness' that varies from 0.0 for 'full pointiness' to 1.0 for 'full concavity' as follows :

The above image shows the result on a cube flanked by two Suzannes, one with no subdivision and the other with two levels of subdivision, showing that the results are effectively the same regardless of vertex density and without requiring any manual adjustment - with the color ramp showing red for 'pointiness' through to green (flattness) and blue (concave).
The two Ambient Occlusion nodes will produce values in the range 0.0 to 1.0. These are combined by inverting the range (to 1.0 to 0.0) so that the 'flat' regions of both relate to 0.0), negating one, and adding together to produce a range from -1.0 to 1.0. This is then scaled and shifted to correspond to the range 0.0 to 1.0 by the Divide (by 2) and Add (0.5) nodes.
The strength of the 'inside' occlusion is dependent on the scale of the mesh and this can be adjusted via the Distance of the bottom Ambient Occlusion node. Also note that Blender determines the occlusion based on a number of samples of the surrounding geometry - lower number of samples will be quicker but produce more 'grainy' results; higher number of samples will produce smoother results but longer render times.

Isn't the effect symmetrical? (i.e. the 'outside' values are just as dependent on scale as the 'inside' values?) ...it's just that outsides of familiar objects tend to be dominantly  smooth-convex?

@RobinBetts You're quite right - it should - but it appears to produce different results between 'Inside' and 'Outside' when the Distance is zero, so I'd increased distance for the Inside as otherwise it didn't detect inside edges. Having retried this, it seems to provide better results when both are set above zero - I presume zero actually relates to effectively infinite distance. A small value for both seems to work well, but this will mean that both are dependent on scale.


text:
An Issue with Normals and SubDivison
A visible seam is observable during SubD operations on a boolean cut.
Prior to applying the Boolean I created supporting edge loops which are not approximately* in line, they are exactly* in line, ie. mesh topology looks so good it brings a tear to the eye.
Despite this, for the past 2 weeks this issue persists. Weighted normals and proximity loops help the overall shape, but only minimize this particular effect. A blend file should be attached. Picture illustrates issues.

Is anyone able to identify this issue, and what the solution is?

Did u try increasing mean crease near that area?

I did yes, thank you though. Most of those solutions only minimized the issue, apparently it was bad topo! Took me by surprise as everything was quaded rather nice, but the answer I've marked below shows the version which seems to work. I think the gist is to really drive home a full perimeter edge loop around any of these sort of things.

Your topology is not good, if we enable the Subdivision Surface modifier On Cage display option, here is what it gives, the central vertex is completely stretched, which gives the bad result:

If you choose this topology it will work fine:

So it is! I drummed up a different solution, but all of them seem to rely on having a proximity edge loop between the edge proper and the rest of the mesh to sort out the issues. I didn't realize that was, or could really, be an issue until today! Thank you.

Merge by distance M>B and change the threshold until you've removed enough vertices to minimize the seam.
Then add an edge loop to support the geometry in front of that area.
See the gif below for a visual:

Note that this will fix the issue for now, but in the future, you should consider better topology, and not strictly rely on booleans for modeling.
topology guides is a good resource to begin with, and there are many questions here on the site that will lead in the right direction also.

Hi! Thank you for the suggestion. I didn't use a boolean, but it was an easier way of describing the process. I find it odd though, I created and positioned loops to be perfectly perpendicular to the project, I'll need to look at my topo again to see what specifically was the issue there maybe?

Here are a few solutions:

bevel around the area selected as shown below

add an edge loop and move it the direction as shown below

Hi there, thanks for this! After posting this question those were some the things I tried, and they all helped indeed! But it seems the issue was with the way I set up topo here, I thought I had it set but no dice! Cheers


text:
How to set up rig so it automatically switches between object mode and pose mode?
The title pretty much says it all, I remember on one .blend file I tried, it was set so that depending on what rig/object you clicked, it would switch accordingly. How would you do this?
Example:
.blend I found online:

My .blend

As you can see, in mine I cannot switch between rig <> object or rig <> rig.

Go into Edit Menu & disable Lock Object Modes.


text:
Baking from high poly gives unexpected results
When I tried to bake my high poly to my low poly I followed every step of the tutorial online. But the image just doesn't appear like it should. I've also tried shuffling with the ray distance from 0.0 to 0.001 to 0.5 and even 12....

Could you please add the tutorial you were watching?

please share your objects so that we can try: https://blend-exchange.giantcowfilms.com/

On high poly object go through any modifier that may affect the baking and turn them off for render like this:

In addition, make sure you follow this steps too posted here:
High Poly to Low poly normal bake looks weird


text:
Reload image does not apply to the actual shader
As you can see in this video, the image updates automatically in the image library. I even hit Alt + R in the Image Editor, even though the image has been already updated, but in the Shader Editor the image remains that in buffer.
Even trying to reload the same image will not replace the one in the buffer.
The only way is to load another image, and then reload the right one.
Is this a bug or am I missing something?

While it's not the same use case, I use this addon to help with a similar process. I pinned the Reload function to the Q menu so I can get to it from any viewport and it works a treat for reloading images from disk: https://github.com/samytichadou/Auto_Reload-Blender_addon

Thank you very much!


text:
How do I achieve this texture/look?
I am trying to make a pill in blender and am trying to achieve optimal realism. I have attached my model thus far as well as what I would like the end result to look like.
Do I add texture in blender or is this more of a Photoshop thing at this point? I want to achieve the crater like indentation on the Tesla/playboy pill. Do I use a PBR texture? I have tried and it looks as if there is a picture of the texture on it instead of the pill taking on the actual texture of the PBR. Any advice would help.

I would sculpt some details and imperfections: https://i.sstatic.net/ndcX3.jpg

@Blunder - wow that looks so good.. I'm going to do that

You should bevel the edges to make them rounder (here I haven't done it for the letters), and give it a material with a bit of noise for the color and a bit of noise for the bump. Also, lower down the Specular value:

Woah.. you really did that.. thank you so much this looks really good! You've been great help


text:
Engraving Logo onto Pill
Can somebody help me turn my model to look more pill like? I need to smoothen out pretty much all the hard edges now but when I click shade smooth it turns into a mess. I am trying to engrave/deboss a logo onto a pill.

hello please share your file: https://blend-exchange.com/

Right click > Shade Smooth, then in the Object Data panel > Clear Custom Split Normals Data, then Auto Smooth:

Here it what it gives, if you want a rounder object you'll need to create some bevels manually and give your object a Subdivision Surface modifier.

Yes this mostly helped, I am going to restart and add more geometry to the pill + circle engraving. Should be much better along with your solution. Thank you moon boots

I would also recommend you to use a SubD modifier and a bevel modifier to achieve more realism.

@Evripidis Lalissidis Sure, that's what I say in my answer, but it would need a bit of work around the letters

If you apply the Scale it works

Oh ok I couldn't make it work, I must miss something


text:
How to simulate bloom of light in fog
How would you recreate something like the photo below in Blender? I'm refereeing to the effect generated by the lights and the fog. I know that this effect is rather intensified/created by the exposure time of the photo being really long, despite this, could you still in Blender do something similar? (targeting Cycles and a single image render)

+1 I'm glad that you want to recreate that image. It's quite scary to have traffic lights which show red, yellow and green at the same time.

In my opinion it has nothing to do with exposure time, exposure time creates streaks when the light object is moving, which is not the case here.
You could do it with some Spot lights within a fog, created by volumetrics: Create a cube and give it a Principled Volume node plugged into the Volume input of its Output. Keep the Density value of the Principled Volume very low. Put the spots inside the cube:

In Eevee it will need some additional tweakings: in the Render panel, increase the Sampling values, and under Volumetrics, lower down the Tile Size and increase the Samples values to have a better quality).
But volumetrics are heavy to calculate, if you want a lighter solution, you can create a cone for each light beam and give it the following material: Use a mix between emission and transparency with a Layer Weight as factor to create transprency on the borders, and use a Separate XYZ to create transparency on the length. In Eevee don't forget to choose Alpha Blend in the material Settings:

This is great! Thank you I will give it a try!

It might be more practical to use an Empty ➝ Cube for the volume.

@ Joachim, what do you mean? You can't give any material to an empty


text:
Material reflects generic light but not custom emissive material
I have a wall with a reflective material. If I put a generic light source (point and area) they are both reflected and you can see their form in the reflections, however I have then a custom emissive material (the large pink beam) but the form is not reflected like the other two.
Why doesn't it also reflects it? (and how can I make it do it)

P.s: Really new to Blender

Are you using eevee? If so, emissive surfaces are not reflected as they are in Cycles. You must use an Irradiance Volume  to make emissions "light things up/cast a glow", and possibly a reflection plane and/or reflection cubemap if you want the shape of the emitter object to be reflected. Lastly, screen space reflections must be enabled.

maybe check this answer: https://blender.stackexchange.com/questions/190642/how-do-i-get-proper-reflections-eevee

Thank you, will check both!


text:
Can't see texture through Principled Node?
Maybe I am missing something obvious but when I connect my image texture to principled shader (using PBR Material Nodes) it doesn't show the texture in rendered viewport, or in materials viewport.

But through typical Diffuse Node, everything works fine. Using cycles.

Halp?

How many UV channels are there in your object?

@DuarteFarrajotaRamos only 1 UV Map

Ok I found the reason. My Subsurface scattering was maxed to 1, but if you want to see the texture, it needs to be lowered.