extrude, intersect, slice complex shapes?

I think that the solution to this is Blender's inset function. The goal is to separate all faces equidistantly from another and do this in an efficient way.

Please be aware of the fact, that Blender is not intended to be a precision CAD software. The primary use is and always will be 3D modeling and rendering.

In the first step we need to change the unit settings to the Units we want to take our measures in (Properties Window - Scene Panel). In this example this will be "Metric", "Degrees" and a conversion scale of 1.0

We also want to apply the scale of the object to ensure that the values will be applied in the right scale. Hit Ctrl+A and select "Scale.

This is how your object's Transform values should change.

The next step is to separate the faces from each other. Tab into Edit Mode, type A to select all faces, hit Space, type "Edge Split" and hit Enter

Now that we have separated faces in our mesh we can inset them. Blender is not capable to do this in one step but the method we are going to use is still fairly easy.

If something else is selected, switch to "Face Select", type A to select all Faces, then I to start Face inset. Use the mouse to resize the inset value to approximately the desired size. If the gap's size between the faces should be 3mm go to the operator panel and set "Thickness" to 1.5mm (type in both the value and the unit here). Do not select or deselect any faces after that!

The last step is to delete the newly created redundant faces. Type Ctrl+I to invert the selection, hit X to delete and choose "Faces".

As a result you should get a model which is made out of separated and evenly spaced faces.

The described method works also on ngons.

To get a cutting pattern for your Tiffany work, you could uv-unwrap your model, increase the margin width between the islands and export it as svg. With inkscape you would be able to resize the pattern and move the pieces around until you get something useful.


Duplicating light along path in blender 2.8

Not sure if this is going to help you but:

1 Create a light and a curve.

2 Convert the curve to Mesh.

3 Select the Light go to >> object >> Relations >> Parent (here, put the curve).

4 GO to the Curve >>Object >> Instancing >>Verts.

Good Luck


Is there a way to set initial state with rigid bodies?

Use the "Apply Visual Transform" operator. You can find it in the "Apply" submenu of the "Object" menu in the 3D view header or by pressing ctrl+a.
This way you don't need to bake the simulation and don't loose the rigid body settings.


To get the best result you should sculpt the highpoly surface, bake the displacement, paint the surface and build a shader. This is a lot of work so when you have a reference texture you can do following in your favorite 2D app:

Remove any lighting from the texture. I used cloning-brush to remove the gloss and dodge-tool to re-light the shadows. You should get diffuse like this:

Paint a displacement map. Go into 32-bit depth as you don't want mini-stairs on your mesh from not enough precision.

Always blur your displacement a bit.
Create a glossy mask:

And finally a detail bump map. This will be only noticeable in close ups so otherwise skip it:

Now for the geometry: Simple-subdivide a plane enough-times and apply displacement:

The ceramic tile itself is matte bumpy colored surface with clear glossy smooth coating on top:

The Glossy shader takes gloss mask as color through curves to adjust the glossiness intensity. Do it like this and not with the mix shader slider - you want to keep the diffuse part constant in the shader.
Pick a nice HDR environment or setup some area planes around to give the tiles something to reflect. Here's a render with the reference for comparison:


"No layers in render result" - please help :(

Yes export your file as obj, you have options available to include the animations and other datas


AFAIK there isn't a python utility to do this, it wouldn't be too difficult to emulate it

import bpy

import re
def strip_trailing_number(s):
    m = re.search(r'\.(\d{3})$', s)
    return s[0:-4] if m else s

def unique_name(collection, base_name):
    base_name = strip_trailing_number(base_name)
    count = 1
    name = base_name

    while collection.get(name):
        name = "%s.%03d" % (base_name, count)
        count += 1
    return name

# check

print(unique_name(bpy.data.objects, "Cube"))
print(unique_name(bpy.data.objects, "Cube.004"))


A smooth transition between edges of tho parts of mesh

Why don't you build it from scratch without any boolean, shrinkwrap, retopo, etc?


Is my texture gone if I accidently clicked on "blank" in UV mapping?

Yes, unfortunately it's gone forever. Hopefully there will be a day where you can undo that, but in the meantime you should save your images often or paint your textures in another app. There are lots of decent texture painting softwares out there: Mudbox, Mari Indie, 3D Coat, Mari, Substance Painter, Quixel Suite, Bodypaint, and so on, and most of them have better layer management than Blender and care more about keeping your data intact.

If you pick Mudbox make sure to turn up Brush Sample Area under Painting in the prefs. The other apps have sane defaults. If you stick with Blender (which is actually not a bad choice) just make sure to constantly ask yourself, If Blender crashed right now or my image disappeared, would I cry?


How do I turn off pen pressure for texture painting?

Just press this icon, you want it deselected just like in this picture.


How do I make an object which hides 3d objects behind it, but shows my video background?

As Mechanic says, what you ask is not clear, please show some screenshots. Do you want to create an alpha transparency wherever you want on your 3D object? The Holdout shader does that. Don't forget to activate the Properties panel > Render > Film > Transparent option.


how do you create the stretched effect on clothes when you move your rigged body

You can create extra bones for the strap and use the stretch to constraint.
You will need to create at least 2 bones per strap, one that is parented to the head, and is located where the strap is tied to the head (this one is the target) and another that is parented to the neck, that runs along the strap *this is the strap bone). The strap bone should have a stretch to constraint targeting the target bone.

The strap should be weight painted to the strap bone, the target bone should not deform the mesh.

You can also make a chain of bones for the strap with a stretch to constraint on each bone. To get this to work you will need to reduce the influence slider to some value less than one on each bone except the last (this can require a bit of fiddling to get right though). I would recommend trying one strap bone first though.
Alternatively, if you want the strap to curve a little you can also look at bendy bones


Most of the hotkeys for basic commands in blender are structured the same:

Ctrl+Key > Command

Alt+Key > Inverse of the command

Shift+Key > Alternative of the command

In your case to clear the object from the parent is Alt+P


Text doesn't appear in render. (File attached)

The text objects and the grease pencil drawings lie in the same plane. Visibility is therefore depending on the drawing order, also Z-fighting may occur. I would suggest to move the text slightly along the Y-axis in order to position it in front of the grease pencil drawing. Another approach is to change the Stroke Depth Order for the grease pencil objects from 2D Layers to 3D Location. This seems to work as well, although Z-fighting may still occur.


Best practice for UV mapping buildings from CAD software

I used to do this kind of UV mapping a bit and found 3 methods useful.

UV Project modifier, you can use a camera for each wall angle and the cameras project onto the closest aligned walls. very fast to setup and you can edit your geometry afterwards without having to fix UV's.
Smart UV project, this gives simple projections but has the disadvantage that the bricks on the walls for example, wont line up.
Manually - which can be done quite fast infact - Select a face, Shift+G, Select Similar Normal. Then project from view, or from a Camera if you want to have more control over alignment and quickly re-apply the same projection again can be handy too.

Other things to be aware of...

You may want to move the projected UV's for each surface so they dont overlap.(just makes it easier to edit and manage). with tiling textures it wont effect the displayed mapping on the mesh.
topology may be important to improve, this depends weather you are simply projecting UV's or if you intend to manually edit them (in that case you care more about topology and avoid skinny faces for example).


Assuming that the actual renders are rendered correctly, you can try something like this to merge the separate renders from within Blender: Stacking cycles renders in the compositor?


Why is the glass transparency not consistent?

ok, i deleted some planes you created (i have no idea what they did) and i changed your cylinder material to this:

result was (after i added a ground plane with some color)

and here is my changed blend file to check out:


How to get a list of all unlinked objects in the scene with python?

API method bpy.data.objects.remove(...)

A common theme in blender is using the remove(...) method of a collection to remove an item. Akin to removing from a list.

Quick test script, find all objects in blend with no users or hidden and add to a list named "trash"

Print then empty the trash.

import bpy

context = bpy.context

trash = [o for o in bpy.data.objects
        if o.hide or not o.users]
print([o.name for o in trash])

while(trash):
    bpy.data.objects.remove(trash.pop())

The "trash" list after running question script 4 times.

['AAA.001', 'AAA.002', 'AAA.003',
 'BBB.001', 'BBB.002', 'AAA', 'BBB',
 'BBB.003']

Note: there will be no "unlinked" objects in the scene objects collection.  Once unlinked AFAIK there is no way to determine from which scene they were once linked.  There may be hidden objects in the scene objects collection. Code above will remove all hidden objects in blend.

Use object reference

Recommend you get out of the habit of referencing by index or name. eg after running an operator

bpy.context.object.name = 'AAA'
bpy.data.scenes[0].objects.unlink(bpy.data.objects['AAA'])

If there is an object named "AAA" still in blend, then the newly added primitive will be named "AAA.001" and so on...  In most cases the scene you are interested in is the context scene.

Recommend instead using object reference

aaa = context.object
aaa.name = "AAA"
scene.objects.unlink(aaa)

Before I get a comment "needs to be bpy.context.object"  inferred I have  variables defined for context be it context = bpy.context for testing where later can be pasted into operator def execute(self, context): method code, where the context argument passed is not necessarily bpy.context.  And scene = context.scene.


Found a way here Convert particle system to animated meshes

This solution is not perfect. The euler rotation of the particles is not captured perfectly and the workflow to export to unreal is a bit tricky and "crashy".

When you export to fbx make sure you only select a single mesh as more than a couple might crash unreal engine on import. But the interesting thing is that there are multiple animations stored. So you can duplicate the mesh in unreal and select a different animation to create a flock of birds for example. It's no where near as good as the blender particle animation but good enough for a variety of applications.

Hopefully someone else can provide a better solution.


It may be possible to do it procedurally but here is a way to do it with a normal bake:

Built your pattern, it's like half pyramids that merge each others. Use the Mirror modifier as it's completely symmetrical.

Give your object 2 Array modifiers to make a whole grid. Also add a Subdivision Surface and Shading Smooth it.

Now create a plane, put it above your grid, unwrap and bake the normals.

Use the normal map on the object you want. As your surface seems a bit glossy, mix a Glossy with a Diffuse, and don't forget to plug the Normal map in both these 2 nodes.


How do I add a curve to a vertex to bend an edge / face

Use a Bevel (Ctrl + B) on the edges you want to curve. Once you have beveled, select "Custom Profile" from the operator panel that appears, and you can define all aspects of the bevel, including custom curvature. In the example below, I deformed it heavily on purpose just to demonstrate. If you line up your object in front of a reference image, you can replicate the curve precisely.


bpy.context.selected_objects: Context object has no attribute "selected_objects"

The context is dependent on quite a number of things, and not every context holds the scene's set of selected_objects. A safer and more consistent way to get the selected objects is this:

selected_objects = [ o for o in bpy.context.scene.objects if o.select ]


How to get all of the meshes that are attached to an armature via Python?

You can loop through all objects and check if they are parented to the armature.

rig = bpy.data.objects['rig']
for obj in bpy.data.objects:
    if obj.parent == rig:
        # Do stuff
        pass

If some objects are only connected via the armature modifier, simply check that the rig is the object of the armature modifier.

rig = bpy.data.objects['rig']
for obj in bpy.data.objects:
    if (obj.type == 'MESH' and
        rig in [m.object for m in obj.modifiers if modifier.type == 'ARMATURE']
        ):
        # Do stuff
        pass


Is there an easy way to re-import / re-append image files in a large quantity?

Nevermind, found the answer:

Issue solved by clicking on file > external data > find missing files and navigating to the folder with the textures.


How to create a glass textue with streaks

You could try a mix between 2 textures like a Musgrave Texture and a Noise Texture that are used as factor between an Emission and a Transparent node. In Eevee don't forget to choose Blend Mode > Alpha Blend in the Material panel > Settings.


If the camera exist but this is NOT set; then you get the error

you must set the camera


How to access all selected files from a file selector in Python?

You can access files for any operator using the file-selector, by defining a files collection of OperatorFileListElement.

Here is a complete example of an operator that opens a file selector and prints the paths you select.

Note: you may want to test os.path.isfile(filepath) since its possible to select directories too.

import bpy

from bpy_extras.io_utils import ExportHelper
from bpy.props import (
        StringProperty,
        CollectionProperty,
        )
from bpy.types import (
        Operator,
        OperatorFileListElement,
        )

class SlideshowAddSlide(bpy.types.Operator, ExportHelper):
    bl_idname = "slideshow.add_slide"
    bl_label = "Add Slide Show"
    files = CollectionProperty(
            name="File Path",
            type=OperatorFileListElement,
            )
    directory = StringProperty(
            subtype='DIR_PATH',
            )

    filename_ext = ""

    def execute(self, context):
        import os
        directory = self.directory
        for file_elem in self.files:
            filepath = os.path.join(directory, file_elem.name)
            print(filepath)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(SlideshowAddSlide)

def unregister():
    bpy.utils.unregister_class(SlideshowAddSlide)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.slideshow.add_slide('INVOKE_DEFAULT')


Is there a way to "virtually" rotate a face normal to get a different shade without actually rotating the face?

What you are looking for are generally called Split-Normals, these are normal values that are stored independent of the geometry they belong to.

Blender has built-in support for them, and even has a modifier that allows basic editing. It can be found in the Properties Window > Modifiers > Modify and is called Normal Edit modifier.

It  provides basic control, but as of version 2.78, as  far as I know it can't be manually controlled as you desired. To best of my knowledge there is no builtin way to manually adjust per-vertex or per-face normals in Blender natively.

There may be third party addons that do allow this though.

One such example is Blend4Web's normal editor. The addon's greater goal is completely different, but if you are willing to install its considerable size it does provide normal editing tools among its functionalities. It can be found under the 3D View > Toolshelf > Blend4Web Tab > Normal Editor.

EDIT Fresh from the news page, it seems that for GSOC 2017 there will be a project tackling normal editing


How can I subdivide a face which is next to a face that is already subdivided?

As these are ngons, you aren't able to use neither Loopcut, nor W > Subdivide. So you can do that in 2 ways:

Select ngon's edge in the bottom and subdivide it. Use then J to connect vertices and split faces.

Press K to activate Knife Tool. By clicking LMB you mark places where vertice will be placed.


Blender Cycles How to have hair not go through mesh *WITH HAIR DYNAMICS*

In a newer version of Blender, this was fixed. Now all you have to do is add a collision modifier/physics property to the emitter object and the hair emitted will collide with the emitter.


python - Creating an addon, what am I doing wrong?

I'm using Visual Studio Code to run & test my addon and it got fixed for one of these 3 reasons:

I ran VS Code as an administrator
I reinstalled python (but checked the PATH option)
I installed the ptvsd as done in this video


This is a place where it's probably okay to use a triangle to cut off some of those edge loops. You don't want them to continue going down, and adding a triangle probably won't add much distortion. You can read about some of their uses here.. You need to be wary when using them, but it's usually okay if you're careful.

In that images, I would merge the circled red edges over to the highlighted red edge, then I would merge the right green edge over to the left green edge.

Another method is to slide edges that are causing problems in one place but are needed in another down so that they aren't creasing that part of the mesh.

There are other options available like edge creasing, but I think it's better to stay away from those because they can take away control and cause distortions if used incorrectly. But like all tools, they have their uses in some instances.


Looks like a weighting issue. This should fix it:

Tab into Edit mode.
Select one set of the problem vertices (making the armature modifier work in edit mode will be useful here).
Go to the mesh properties tab of the Properties panel (the triangle), and find the vertex group matching their bone. Hit Assign.
Repeat with the other arm.


How can I dynamically generate operator classes?

As you found, you can't register operators during some actions such as drawing or polling. We can define custom operators within an addons register() or within an operators execute() method, you can also manually run your script from blender's text editor without any issue.

For brevity I'll replace your for loop with a function called create_custom_operator()

def create_custom_operator(i):
    idname = "object.operator_" + i
    .... # rest as above

You can then use it in an addons register() -

def register():
    for n in ['a','b','c']:
        create_custom_operator(n)

Or you could use it in an operator's execute(). Note that I use a file list to define the operators here, we can do this in an operator's execute but not while registering an addon as we can't access the filesystem during addon registration.

class MakeCustomOperators(bpy.types.Operator):
    """Create custom operators"""
    bl_idname = 'object.add_custom_ops'
    bl_label = 'Add operators'
    bl_description ='Dynamically create multiple operators'

    def execute(self, context):
        for f in os.listdir('/path/to/data'):
            create_custom_operator(f)
        return {'FINISHED'}

I have given a more complete example in answer to the question that inspired this question.


Blender in ElementaryOS installed from most recent 2.79 build

Others seemed to have a similar issue as well but couldnt resolve it: Blender with system python failing

Here is my solution also posted over there:

All right... I had the same error appearing today and I have been able to solve it. It's been pretty easy. After removing blender and installing blender from ppa:thomas-schiex/blender There were some files still around.
To make sure everything works try:

sudo apt-get purge blender
cd /usr/lib
sudo rm -r blender
sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt-get update
sudo apt-get install blender

Since everything is purged AND manually removed from versions installed manually it should be fine now. Have fun  :)


You track forward/backward the same way that you scroll a web page. Often, a trackpad does this this with a two-finger drag up and down.

Note, that even when this works correctly, it will still not allow you to view the back side of the cube. By default, it will track toward an invisible pivot point i the center of the view. As it approaches that point, the track will become slower and slower, so that you never go past that point.

If you want to view the opposite side of you cube, you will have to rotate. But there is a setting that makes this a little easier. In User Preferences in the Interface tab, turn on "Rotate Around Selection."

This will force the view to orbit whatever object you have selected, instead of orbiting the center of the view. This will make it MUCH easier to just rotate around to the other side of an object. Check out the other options there, as many of them are very useful.


How to make a futuristic helmet visor/mask material?

It's pretty simple. Basically it's just Principled BSDF.

Set:

Color to #F7E4D3
Metallic to 1
Roughness to 0.4
Anisotropic to 1
Anisotropic Rotation - here is 0.2 but for another mesh it could be
different value. Tweak it as needed.


How to export pivot point from Blender to Unreal Engine?

Before exporting from Blender, add an empty to your scene where you want your origin point to be, then parent the cupboard to the empty.  Optionally rename empty to 'cupboard' or whatever you want.  This works for Unity, and I assume it'd work in UE4.


Python Script to import obj and create collections

I guess what happens here is that the command bpy.ops.import_scene.obj imports the obj files into blender as children of the Scene Collection (i.e. bpy.context.scene.collection). This just seems to be the behavior of that import command and there seems to be no parameter of that import command allowing you to change the behavior.

Now, your code creates new collections and links the imported obj's to those new collections. Linking means that these obj's are referenced by those new collections as well as the Scene Collection.

The point here is that objects can be referenced by as many collections as you want. This effectively allows you to build a graph, not just a tree. That behavior resembles the behavior of layers in Blender version < 2.8.

What you need to do is unlink those obj's from the Scene Collection which you can do by adding an unlink command in your for loop:

for ob in bpy.context.selected_objects:
    myCol.objects.link(ob)
    bpy.context.scene.collection.objects.unlink(obj)


Does Blender have an asset library plugin?

This one seems very great : https://blendermarket.com/products/asset-management/ (I haven't try it yet).


Mirrored circle not showing in edit-mode

Vertices not visible ....

vertices now visible in edit mode .....


I guess there are 2 main ways to do it in a clean way: with Boolean or with LoopTools > Circle.

With a Boolean modifier you must make sure that your boolean object is well placed and has the right amount of vertices. You will probably make some vertices merge. Don't forget to bevel the ring so that it stays clean and sharp.
With the LoopTools > Circle tool, you must first delete some faces, use the LoopTools > Circle, then extrude inwards and close it manually.


It looks like you have a diffuse shader assigned to the surface of your domain.  Make sure that there is nothing (or a pure white transparent shader) plugged into the surface socket on your domain object, and that the smoke nodes are plugged into the volume socket.


How do i get rid of this red dotted rectangle?

The red checkered box is a render region.
It's used to render only parts of your screen.
Clear it using Ctrl+Alt+B
Or through View > View Regions

Read: Render Border's related check boxes - How do they work?


It looks like your character is moving forwards both in Pose mode and in Object mode. I guess it's your problem.

Most of the time, when you create a repetitive walk cycle in Pose mode, you'll make your character (i.e. his root bone) stand "still" on the X and Y axis, like if he was walking on a treadmill. It's only once in Object mode that you'll make the whole armature move forwards, either with a Follow Path constraint or just making him move from point A to point B with keyframes.

It's the combination of treadmill animation and movement in the scene that will recreate the illusion of walk.

Making an armature move forwards in Pose mode (i.e. moving its root bone or moving the other bones away from the root bone) is only useful for small moves through the scene, or for some complex and non-repetitive movements, and in that case you generally won't make him move in Object mode.


Current version of HardOps (00986_MercuryX_24) works with Blender 2.9. You might have to restart Blender before it starts working.


Is there a way to minimize my boolean modifiers?

Use the Array modifier on the window cube. Make sure to increase the relative distance to be greater than 1.0 otherwise, your cubes won't separate.


Repeat a generated texture in Blender 2.91

As others have suggested, you can achieve the effect you want for this specific pattern by changing the way you create the pattern (using a color ramp node).  For this application that is probably best, however in general it may be useful to know how to tile generic coordinate systems.
It looks like the area of your texture which you would like repeated is within the bounds $-1\leq x,y\leq1$, think of this as a 2x2 tile.  To repeat the texture, you need to map all values outside of this range into this range by shifting by an even number of 2x2 tiles (e.g. the point $(3.2, 7.8)$ should be shifted $2\times 2$ units to the left and $2\times 4$ units down, bringing it to $(-0.8, -0.2)$).
The mathematical modulo function does exactly this.  However, in Blender the modulo operator unfortunately doesn't work exactly like its proper mathematical counterpart for negative numbers*.  Mathematically, the result of the modulo should always be positive, however Blender calculates the modulo of negative numbers to be the negative of their positive counterparts (i.e. if $x\geq 0$, $-x,y \text{ mod } y = -(x \text{ mod } y)$.  To fix this I made a corrected modulo node which fixes this inversion for negative inputs.

Now we simply use this version of the modulo operation on our position coordinate system, with an offset to account for the desired $[-1,1]$ resultant range.

*Update:
As Robin Betts mentioned, there is now a math option called wrap available in both the scalar and vector math nodes which both implements a mathematically correct modulo operation and allows for an offset shift.  This then can be done with just one node added to your setup.


What's this camera viewport/clipping visualization for and how do I get rid of it?

This might be because you accidentally used the shortcut Alt+B (Viewport clipping?) while trying to define the camera border.
The solution it that case is to press Alt+B once again in 3D viewport mode.


simple UV map on a cube gets rendering artifacts near edges

OK, I could eventually solve this. Seems with a camera at 50mm focal length artifacts occur. Set focal to 100mm and moved camera, no more artifacts.


It turns out I had somehow enabled controlled folder access in windows defender and it was blocking keeping blender from modifying folders.


The dark regions are caused by inverted normals. This is a thing many people struggle with when starting to make 3D art. Blender has a function for quickly fixing most of such cases - all you need to do is (from within Edit Mode) choose Mesh > Normals > Recalculate Outside (or Ctrl+N).

The ugly "pinching" effect is a result of all the subdivided geometry pulling in toward one point, creating a spoke-like look. This can be fixed by making an all-quad mesh instead. Try selecting that center vertex, deleting it, and instead select the remaining edges and doing a Grid Fill. Tweak the Grid Fill settings until they are to your liking.

But wait... you can't do that just yet, because there is one more problem with your mesh: you're trying to create boundaries by filling in faces to section off areas of it, but this will not work. Making paper-thin hymen-like membranous faces is a topological no-no. This results in what is known as a non-manifold mesh. To explain what does or does not encompass the definition of "non-manifold" is beyond the scope of this answer, but to sum it up, understanding that concept will enable you to create geometry that will result in the shading you want to achieve.

Your wine glass: fixed (Screen Shot - The lighting is crap, but I think it illustrates the point well enough)

Your wine glass: fixed (.blend)

And here is a side profile illustrating the boundaries of the areas you want to have thickness:

For comparison, here is the geometry you had created (after the Solidify Modifier has been applied):

I've outlined the two problem areas with the Grease Pencil tool. To sum it up, you don't want all of the wine glass to be "solidified". Think about the structure of a wine glass - the foot and stem of the glass are not hollow inside, rather they are solid glass. Yet by adding a Solidify Modifier to the entire wine glass that is what you have made - a wine glass with a hollow bottom. This is where you are having difficulty, because you haven't created geometry that accurately reflects the structure of a wine glass.

The second problematic area (which is related to the first), is that to compensate for the hollow area in the stem you tried to just add some faces between the stem and the cup (what I referred to as the "membrane"). This is where you created non-manifold geometry and further confused the problem.

Understanding these concepts will help you in every 3D sculpting project you undertake from now on, so I can't stress enough how important this is.

Here's a mediocre Maya tutorial explaining non-manifold geometry: https://www.youtube.com/watch?v=vrqxp89ilM4&spfreload=10 (sorry, it's the best video explanation I could find - of course this concept is the same whether using Maya, Max, Blender, etc.). Hopefully this will help you out beginning your understanding of non-manifold vs manifold geometry. In Blender you can highlight non-manifold geometry by pressing Shift+Ctrl+Alt+M. You can also select non-man geo by going to the menu within Edit Mode and choosing Select > Non-Manifold.


Specific object moves too much when moving it

Try setting the origin point of the object to itself
If that doesn't help, also try resetting its scale and location.


How to move wedge directly away from center?

One way is with the Manipulate Origins option:

Center the origin of the wedge(s) by pressing ⎈ Ctrl⎇ Alt⇧ ShiftC> Origin to Geometry.
Enable Manipulate Center Points (⎇ Alt,)
Set the Pivot Point to 3D cursor (.). Ensure the cursor is in the center of the circle.
In object mode with the wedge(s) selected, scale them outward (S).

This works for multiple wedges at once:


Why does X-mirror and Topology mirror hide mesh when all vertices are selected and translated? How can I view my mesh again?

Your mesh contains a lot of bad data, you should find that this bad data is causing the issues you are having.

With your object in edit mode, change to vertex select mode and de-select all vertices. With the mouse over part of the mesh press L - this will select all vertices linked to what is under the cursor. I see 748 vertices selected by this method.

I find that doing a select inverse and deleting the unconnected vertices still leaves some bad data. The following script deletes vertices that have one or more location values identified as NaN (Not a Number) which would be the reason you are having issues. After running this script I see 555 remaining vertices and find I can work with the remaining mesh and don't see any visual change.

import bpy, bmesh

obj = bpy.context.object
bm = bmesh.new()
bm.from_mesh(obj.data)
bad_verts = 0

for v in bm.verts:
    if isnan(v.co[0]) or isnan(v.co[1]) or isnan(v.co[2]):
        bad_verts += 1
        bm.verts.remove(v)

print('Removed {} bad vertices'.format(bad_verts))

bm.to_mesh(obj.data)
bm.free()


Why is my imported obj not showing up on the grid where I need it to be

This method has always worked for me:

Firstly, is the origin of the Obj object at the center of the scene (0,0,0)?

If so, skip step 1 and go straight to step 2.

Select the imported obj object whilst in object mode; press Shift+Ctrl+Alt+C. A menu will pop up with a few options - choose Origin to Geometry. (An orange dot should appear near the center of the object).
Press Shift+C to reset the 3D cursor to 0,0,0 (this will change the view but as long as you  don't deselect the imported object this won't be a problem).
Press Shift+S and select the option Selection to Cursor - which will move the selected object to the center of the scene.

You will probably want to apply the location of the object after this. You may also need to get the origins to match, but that's for a different question and probably has already been answered somewhere.


OpenCL isn't fully supported yet (which is what AMD/ATI cards use to render):

  Cycles has two GPU rendering modes: through CUDA, which is the
  preferred method for NVidia graphics cards; and OpenCL, which is
  intended to support rendering on AMD/ATI graphics cards. The
  implementation of OpenCL is only in an experimental stage and disabled
  in official builds. (source)

You could try to find a build on GraphicAll, but there is no guarantee it'll work.

I would recommend just rendering it on CPU. If you are really pressed for time, there are a few things you can do to speed things up:

Set the size of the tiles lower (Render Tab > Performance). The CPU renders faster if the tiles are smaller (GPU renders faster on bigger tiles).
Set the threads to fixed and set them as high as possible (Render Tab > Performance). This will make Blender use more threads which will speed up the render.
Turn the samples down. It's fairly easy to remove a few fireflies later on in compositing, and will speed up your render time a lot.


Bone Turns Orange And Auto IK Doesn't Work

I've stumbled upon this question myself and believe that this is an issues regarding X-Axis mirror and Auto-IK working together.
To reproduce the issue,

In pose mode, turn X-Axis mirror and Auto-IK on together.
Move a bone that is properly mirrored, the Auto-IK and X-Axis mirror should work fine, result in the mirrored bone moving accordingly.
Turn off X-Axis mirror, then try moving another bone, the "mirrored" bone you just moved (the one you didn't directly grab) will appear orange and attempt to stay in its place, result in certain bones locked down.

So to clear this situation, you can simply "turn X-Axis mirror and Auto-IK on together again" and "move a bone that is NOT properly mirrored (like the head or any other bone in the center)." Then you should be safe to turn your X-Axis mirror option off!


How do I move the pivot point of a given object manually, using the blue/green/red arrows?

The best way I can see is so:

Create an empty and move it to the position of where you want the object origin
Press Shift S --> Cursor to selected
Select your object and go to: Object --> Transform --> Origin to 3D cursor

Ta Da,
Magic :-)

Hope I helped and best of luck,

BFB


So lets say i have this object that i want to make a straight loop cut in:

However, as you can see, this loop cut isn't straight, since the object isn't symmetrical.

Option 1: Straighten out your loop cuts

If you want your loop cuts to be flat along, say, the Y axis, then after selecting your loop cut, you can just do S > Y > 0 to make them flat in that axis.

Option 2: Bisect tool

What if your object isn't aligned along the axis? What do you do then? Or what if you are just too lazy for a two step process?

Well then you can use the bisect tool.

Select your object, and using the search bar (or some other method), select bisect. Then, you can just drag where you want your cut to be, and it will make a loop cut along that line!

The one issue with this is that it is hard to get a perfectly aligned bisection because your cursor is imprecise, but option 1 can help with that.


Select your mesh and press Ctrl+A in object mode, select visual transform from the list.
your mesh will stay deformed after you un-parent or even delete the armature.


Unfortunately this isn't possible without modifying blender's source code. However, in the case of the mapping node, everything it does can be done with regular math nodes.

I've made some nodegroups which re-implement the mapping node accordingly:

Append or link (F1) the "Scale" "Translate" and "Rotate" nodegroups into your .blend, or put them in your startup .blend to keep them at your fingertips at all times ;)


How to gradually blend two materials together?

There may be another way but here is one. Let say you have 2 materials that you want to keep separate. If you want to mix them, you need to create a third material. To keep your 2 materials somehow linked to the third, here is what you could do:
Here is your material 1:

Select the chain of nodes before Material Output and press CtrlG to group them. Press Tab to exit the group (CtrlAltG if you ever want to ungroup). Do the same thing for the second material.

Now create your third material, press ShiftA > Group and load the 2 groups you've created. Plug them into a Mix Shader:

To create a transition between group 1 and 2, plug this node chain into the factor of the Mix Shader: (Input) Texture Coordinate > (Vector) Mapping > (Converter) Separate XYZ > (Texture) Gradient > (Converter) ColorRamp. You can control the transition with the needles of the ColorRamp.

Of course you could create the transition with an Image Texture instead of this node chain.
Now if you ever need to change material 1 or material 2 you can open the group in material 1 or material 2 or material 3 and the change will be taken into account into the other materials that have the same group.


Diffuse BSDF texture on cycles doesn't reflect the Hdri in some parts?

The reflection is working properly, the problem is that your eye model is not a perfect sphere. the area that is extruded inwards distorts the reflection.

To make it look like a physical eye you will need to create another sphere outside of the one you have and set it as a glass shader. then you will have the reflections you want.


Merge 2 vertices at LAST and at CURSOR in Python

This can be done by manipulating the mesh itself using the Bmesh module:

Would it be possible to get list of index of components BY SELECTION ORDER in Edit Mode?

You can access the selection history and proceed with the bmesh.ops calls for merging vertices:

bmesh.ops.pointmerge(bm, verts, merge_co)

Or do it entirely manually by modifying the mesh data itself.

If you have any UV's or vertex colors, you will have to take care of them too.


Final.

I've exaggerated a bit difference between deep and shallow water to present it better.

Node setup and overview.

Water.

Most important thing here is to separate generated texture coordinates on Z axis and assigned to it Color Ramp with our colors of choice representing deep and shallow water. You can add here more colors, not only two of them and/or change interpolation between color stops - I've used default (Linear).

Foam.

First of all you will need to choose Foam Data Layer Name. I used... 'foam' and use it in Attribute node. I've also added a Math node with Power to fine tune mix between water and foam shader.

Mix.

You can now mix shaders by 'foam' factor and use any other shader for materials. I've used simple Glossy for water and Diffuse for foam.

Nodes and Ocean setup.


For every boolean, i use the add-on BoolTool, go to user preferences > Add-ons > search Bool Tool :

Then i create 5 cubes with crossing areas :

Select all your cubes with Ctrl+A, then use the Bool Tool Union operator :
- Go to object > Bool Tool Operators > Union
Or
- Ctrl+Shift+C > Union

You should get this result :


What criteria is used to sort the outliner when "Sort Alphabetically" is off?

For the default All Scenes filter and excluding remapping users, it becomes sorted top-down by last added. This is somewhat obvious if you disable the option and just add objects to the scene. No object type takes precedence. To make sure, also checked the source and it seems to do just that.


Select desired vertex.
Press Shift+7 on the numpad (and maybe 5 to switch to the orthographic mode). It'll place viewport camera directly above your plane.
Press Shift+S and choose "Cursor to selected".
Add a sphere. In the operator settings tick "Align to view".


Texture baking, some faces don't get lit properly

Summary of the discussion between Matthew Abrman and lemon.

Go into edit mode. ↹ Tab
In the 3D Viewport Properties Panel (N) locate the Mesh Display section. Activate Show Face Normals.

Several Normals don't point in the right direction.

Selecting all and doing the Flip Normals operation would result in the correctly oriented normals to invert themselves.

Use the Recalculate Normals operation. ⎈ CtrlN


Animating appearing/extending strip with gaps

There are a few methods that you could use to achieve this, some simpler, some more flexible. The one that follows can give you results similar to what's shown in the video.

First create a curve object that roughly follows your desired path, bevel its corners so you get less distortion on tight curves. In this example I use the great Curve Fillet Tool addon from the Blender CG Cookie Market (it's a paid extension, but worth the price IMHO), you can also use the Simple Curves Addon or just do it manually if you prefer.

Now add a plane object, scale it lengthwise so it's narrowest side is placed along the curve length for better precision. Also scale the other direction to match the desired line thickness. Make sure you apply the scale before proceeding.

Add an Array modifier to you plane, and set it to Fit Curve and pick the previously created curve. Tick the Option Merge to join the arrayed planes.

Now add a Curve Modifier on top of it, set it to the same curve and it should distort it along the curve length. Make both the plane and the curve coincide at the same scene coordinate to avoid unwanted distortions.

Now the magic all comes from a Build Modifier, which will make the strip like effect progressively grow along the curve as desired. (Scrub the timeline to see the effect)

If you want more control, optionally apply the Array and Curve Modifier Modifiers only (leaving the Build Modifier live) if you later wish to manually adjust the shape of the strip, like different materials along the path, varying width, colors or add gaps, otherwise leave all modifiers live for a more flexible non destructive workflow.


Cant select edges created by the screw modifier

In Edit mode, as long as you haven't applied your modifier you won't be able to select any other vertices than the one of your profile. In Object mode you can select the whole object. If you want to select some vertices, perhaps keep a version of your object with the modifier, duplicate it and apply the modifier, then go back in Edit mode.


Missing some faces when importing from blender to unity even with correct normals

I have seen your question. The problem is with using normal maps. Normal Maps can have some errors. You should rather go with displacement maps, but I wouldn't recommend it because it eats up a lot of space. I would say you model each individual plank and then arrange them in your way and then join them. Or if you would like control over each individual plank in unity, then export it without joining. This may seem tedious but in the long run is more useful and gives you more control. I am guessing the normal maps are the planks itself, but if the normal maps are the texture and detail on the planks, then I would say go with displacement maps.
If it still doesn't work, then it's a problem with Unity. I would suggest you duplicate the model, rotate it on the X-axis and place it below the original planks. It would give it some depth and it will make your problem look better.


How to add a UV Map to a Mesh Using Python

There are 2 existing resources that show this:

The best is the template for this purpose that comes with blender 2.67:

See Text Editor -> Templates -> Python -> Operator UV.

There is also a snippet in BMesh docs.


You can specify the render size in the dimensions section on the render panel just as you do for any other image rendering. To get the full resolution of the final image, also make sure that the Percentage scale for render resolution slider is set to 100%.

This setting is also for animations, and behaves exactly the same way.


What does it do?
In 2.92 If you add a new material and select "use nodes" you are presented with two nodes, neither of which has name "Diffuse BSDF"  ... so one imagines that this was the case back when the script was written.
The Python console.
The expectation isn't that you will be a python wizard overnight. The beauty of python is it doesn't need to be compiled, hence can take lines of code and run them in the console and see what happens.
When assigning a variable like, below, no feedback is good news, it worked.
>>> color = D.materials.new("Color")
>>> color.use_nodes = True

Can test in UI to see that there is a new material named "Color" or "Color.001" if run again.. etc etc and it is to use nodes...
Next line, uh oh have seen this before.

blenders api descriptions is too cryptic for me to understand properly

>>> Diffuse_BSDF = color.node_tree.nodes['Diffuse BSDF']
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
KeyError: 'bpy_prop_collection[key]: key "Diffuse BSDF" not found'

Or in lay-mans terms there is no node named "Diffuse BSDF", if only cryptic crosswords were as simple.
Let's see what nodes this newly created material does have, hmmm they look familiar.
>>> color.node_tree.nodes.keys()
['Principled BSDF', 'Material Output']

Can be sure that if a new material is added, use nodes it has these two nodes, in same order.
Ok then lets have a go at making the make_material function work, paste this in text editor and run script..
import bpy

def make_material(color):
    alpha = 1.0
    red, green, blue, alpha = color
    color_name = '%(red)03d_%(green)03d_%(blue)03d' % {"red": red, "green": green, "blue": blue}
    color = bpy.data.materials.new(color_name)
    color.use_nodes = True
    bsdf, output = color.node_tree.nodes
    bsdf.inputs[0].default_value = [red, green, blue, alpha]
    return color

make_material((1, 0, 0, 1))

And there it is

IMO a little confusing passing a color list, then making a material with same variable name, so let's refine this further, by instead calling the new material mat
import bpy

def make_material(color):
    red, green, blue, alpha = color
    color_name = '%(red)03d_%(green)03d_%(blue)03d' % {"red": red, "green": green, "blue": blue}
    mat = bpy.data.materials.new(color_name)
    mat.use_nodes = True
    bsdf, output = mat.node_tree.nodes
    bsdf.inputs[0].default_value = color
    return mat

make_material((1, 0, 0, 1))

_Note: haven't tested to see if any other changes are needed, or amended to instead use a "Diffuse BSDF" node.+
Optimizing.
The script is going to be sloooooooooooooooooooow.
Object creation slows over time
Python performance with Blender operators
As it is to create each cube for an image on M x N pixels the script is calling 2 x M x N operators.
Instead Create one object and duplicate it.  Even if this lone object is created with operator, it will be one call.  Can be done with none. Consider even using the array mnodifier to very quickly make N x M grid of cubes then separate
How can I create many objects quickly?
Copying an object with python without actually creating a new object
Use numpy to read the image pixels. See Read pixel color with foreach_get() on image data  (looping is one almost always a rate determining step.)
Make one material.  Randomly coloring with script doesn't work correctly  which if used in conjunction with this would mean making one material, and assigning pixel color to material color of the voxel.
Vertex colors. Another option is to have no materials and set  vertex colors to pixel color.

You can export it from blender as an FBX and then import to Unity.
Unity will create a materials file from the vertex colors you don't
need to do anything special.

How to get random color variation on a single mesh?
(Suggest array method here to create object NxM array of cubes, apply array, use the order to set the vertex colors en masse with numpy, separate into multiple objects.)
Making these changes will see huge improvement in speed gain.


Set up a render farm with multiple OS and spec

You could install BURP on one or more machines, and the BOINC client on the rest. That way you don't have to worry too much about the composition of your farm. This is what we also use on Renderfarm.fi as our backend.

BURP: http://development.burp.renderfarming.net/projects/burp/wiki/How_to_download_the_code


How to get proxy_render_size via python?

bpy.context.space_data.proxy_render_size

The context must be correct for this to work.


Animate a texture / material over a mesh

Hard to give an exact answer without knowing exactly which effect you want to achieve, but...

Your object needs a UV map. Here, I've just put a seam down the edge-loop in the crease, and hit 'U' ...

.. I'm sure you could be more sophisticated about that. Maybe make use of 'Follow Active Quads' if you want the repeat in the texture to reflect the topology of the object more closely.

Optionally..

You could simplify your shader tree, a Mapping node could replace the separate nodes to animate the UV space, and you could replace the 'Add Shader' node with a 'Mix Shader' node if you want a bit more control over transparency.

Obviously, you may want different motion, scale, etc.


In Blender 2.80 and later you can find settings for current layer in Layer Properties in Properties pane. Fourth tab from the top, and the relevant setting is at the top of the pane.

To switch layers use layer switcher at the very top right corner of the window.


Pressing P should work for this sort of task. If it is something you want to animate by joining and separating, isn't it best to use shape keys instead.


How do I get the correct color for Minecraft swamp grass?

I don't know how exactly it should look, but you can set the hexadecimal value (#4c763c) to the diffuse color and the intensity to 1, then change the blending mode of the texture to Multiply.

You can do it in GIMP by adding a new layer, fill it with that color and change the mode to multiply.


GPU Rendering on an Intel Iris Pro (Apple Macbook Pro)

As of 2.78 GPU rendering is only supported under certain NVidia graphics cards that support the correct CUDA version.

Starting with 2.79, GPU rendering will introduce support for AMD graphics cards through OpenCL on feature par with CUDA, since basic support was available since 2.75 (thanks to a bunch of patches contributed by AMD itself).

Under Intel it is considered an experimental feature, and as far as I know, is too slow and offers no benefit over regular CPU rendering. You can enable it by setting a global variable with command line but don't expect it to preform acceptably, not even to work reliably at any point.


Blender Cycles - Crash while synchronizing objects, Not even close to running out of memory

I managed to solve the problem by un-installing "jiggle armature 2" addon. I just completed a 250+ frame render with no crashes.


I don't know about all of your scenes. But in the screenshot the emission of your glowing objects doesn't seem very strong, but the Threshold in your Glare node is set to 5.3 which is quite high.
Here's an example: the following cubes have three different colored emission shaders, each with a different strength. The red has a strength of 2, the blue one a strength of 4 and yellow only 1.

They look not to different in brightness although they are, which of course depends partially on their color. If you now plug the image into a RGB to BW node which sets R = G = B according to the brightness, it looks like this:

Although the yellow emission has a strength lower than blue and red, it has the highest value. And especially important: although they all have an emission strength of 1 or higher, all values are below 0.8 which is relevant for the Threshold of the Glare node.
Since no value of any emission was 0.8 or greater, setting the Threshold to 0.8 allows no glow on any of the three cubes.

But if you lower it to 0.7, a value that blue and yellow exceed, the glow starts to show on those cubes. The red one is still to dim.

Actually I don't know why the blue glow looks more intense than the yellow one, maybe because once the threshold is passed, the higher strength plays a role as well. But apart from that it's important that your threshold is low enough to let the emission through. An emission strength of 5 doesn't necessarily mean it's really brighter than 4 (unless it's pure white I guess).
Here's just one tip how I usually add glow to my images. In the Glare node I set the Mix value to 1, this way it only outputs the glow effect. Then I add it to the image by plugging it in the second socket of a Color Mix node. This way I can use the factor to reduce the glow if it's too intense, but also boost it by setting the factor higher than 1.

EDIT: Now I've downloaded your file and worked a little on it. First of all here are some things about your Compositor setup: the Mix factor in your Glare node is still on 0.3, which means you don't have the glow separately on the output but mostly the original image with glow on top. You should set it to 1 so that you have full control if and how much glow you want to add in the Mix RGB node. There you just have a factor of 0.575, which means you're adding a lot of the original image on top of itself but not the full glow. Another thing is, you're plugging the denoised image into the Glare node. But denoising averages values which could also lead to reduced brightness and thus less glow. And by the way: the Denoise node works quite well and it doesn't need enabled Sampling > Denoising in the Render Tab. That just makes the rendering slower and the Denoise node in the Compositor works better. Actually I don't even enable Denoising Data when I use it, in normal scenes it doesn't make a noticeable difference. With Denoising enabled my render time was 47.81 seconds, without 35.10 seconds.

Here's my Compositor setup:

Note that I've set Mix in the Glare node to 1 and also the Add factor in the Mix RGB node is set to 1. And the quality of the Glare is set to Medium instead of High - usually this is good enough and it results in more glow. With these settings I got a good glow on all objects with green and yellow at a strength of 10, red at 15 and blue with a strength of 30. The problem is, red and blue are always "darker" than green and yellow so they need higher values. Also the more saturated the values are the less bright they get, for example if you have R/G/B = (0/0/1), even multiplying by 100 will never make R and G more than 0. But with (0.01/0.01/1), R and G get higher, too which will result in emission that's turning to white the brighter it gets. I also moved the black slider on the blue emission material slightly to the left so there are less dark parts in the material.
Now for comparison, your blend file:

My version, of course it looks darker because I've decreased the strength of each Emission shader. But since the emissions of the rings are the only light sources, the surroundings become darker, too:

To compensate for that, I've made an "enhanced" version. First of all I added the picture onto itself as your setup does eventually, so it brightens up the environment. Then I've added the glow with a factor of 2 instead of 1. Now it looks like this:

All in all, the crucial things are these:

Blue emission and also red will always be darker than green or yellow, so the effect could be less or needs more emission strength.
You should always set the output of the Glare node to 1, to show only the effect and not the original image mixed in. This way you can decide how much effect you add to the picture, especially going higher than "full effect" cannot be done with the Mix factor in the Glare node.
It's best to use the direct image output for the Glare node instead of an already denoised version, although it might not make a difference in most cases.

Here's my edited blend file, with enhanced and standard composition. I didn't pack the textures into it because that would've been too big:


Is there a way to keep certain edges unaffected during subsurf?

Unfortunately the subsurf can not be masked by vertex groups.

But there are several solutions:

A)

Select your hard edges
Invert selection
Subdivide
Hit 'Smooth Vertex' in the Tools panel
Move the edges (that now a are a little out-set) to the right places

Lots of manual work but you have all the control. Should be feasable on a low poly character.

Results depend on you artistic skills.

B) Using EdgeSplit

on the hard edges and applying subsurf to the rest. Then rejoin the Edges after you applied subsurf.

Did not test with a character (especially if its already weight painted)

C) What I usually do is the following:

If you character turns into a blob on subsurf-lvl-2 already it is to low poly.
You need to subdivide the whole mesh.
(That preserves your low-poly shape but adds more faces for the subsurf to not make a blob)
After it looks good with the subsurf modifier you can apply it.
Select your hard edges and parts of hi detail (like the face)
Invert selection and create a "LoPoly" vertex group.
Use the Decimate modifier with lvl X to reduce the polycount while masking it to the LoPoly vertex group.
Apply the decimate.

Your edges stay hi poly and sharp.
The rest is lowpoly but smoothed by the subsurf you applied before.


Curved surfaces looking odd and Blocky with Subdivision

let me start by saying this is two question but anyway.
First things first... vertex pole count matters!

subdividing a model with different pole counts will give you different loop flow.

so the deformations you see is mostly because of how algorithm predicts how to smooth your flow. so if you want smooth surface, apart from some shrink-wrap work arounds, you need to keep your flow as clean as possible.
And on the blocky subject, as long as your flow is smooth, your result of subdivid will be smooth too. like this example with perfect flow of circle subdivided

for fixing this I recommend loop tools addon that is inside blender and you just need to enable it. it has an option for smoothing your edge flow called relax.


There is an addon called the 3D Print Toolbox which is included in Blender that has this function. It can be found in the addons list in the User Preferences. Once you have the addon enabled, the new options will be in a new tab in the toolbar. At the top there is an area button that will calculate the surface area. I'm assuming your using centimeters as your units. If not, go to the scene tab, and in the Units panel switch the preset to centimeters. You may have to adjust the scale based on whatever you were working on. By default, centimeters are 100 times smaller than the default Blender units.

EDIT: IF you are working with different units already and don't want to mess things up you will have to do the conversion manually from whatever unit you are in, as the output units are always in whatever units the scene is using. There is probably a way to get around this by modifying the addon if you are so inclined though.


Multiple Render Borders in Cycles Preview

Unfortunately this is not possible currently, you can only have one renderborder per 3D view.

However, you can have multiple 3D views, each with it's own renderborder:

Note that you can only have one camera renderborder which is global for all cameras, so this is only possible in viewport render.


How to turn off moving objects without gizmo or shortcut?

You can do so by disable the Move Tweak Keymap in the Preferences.


Create a new material for the edges and sides of the object.
With the object selected, go into edit mode. Select all the face that you want to change the color of. Now in the material properties tab, you will see an "Assign" option. With the correct material selected, press assign.


Spotlight cone has a black frame in all views

To get rid of all overlays in preview render:

Disable "show cone" in the light settings

Disable "show overlays" in 3D View

Disable "show Gizmo" also in 3D View


Assuming that you want to keep the low level minecraft style you could add an edge loop to the body and extrude the arms. You will need to adjust the weight painting like here:

For smoother animation see also (note my answer on adding a few more loop-cuts in the shoulder region):

What is the ideal topology for a shoulder joint?


Issues with getting to the material button

First of all you should include some extra information like a screenshot for example. Are you using the "Blender Reder" or "Cycles Render" (I marked the setting in my screenshot where you can see that). If you could include a link to the guide that you are following it would also make things easier.

Follow these steps and you should be able to get to the material and make your object colorful. ( The numbers of the steps are marked in the screenshot so you can find the buttons easier. )

Step 1.: Make sure you are in the default screen layout. (This schould be already the case)

Step 2.: Make sure you selected the object you want to change the material of. If it is selected you should see a small orange line around it in the 3D-View. It also gets highlighted on the top right corner. If your object is not selected yet just right click on it in the 3D-View or left click on it in the top right corner.

Step 3.: Click on the material icon. If you can't see it just pull the properies panel more to the left so it becomes bigger. Now you should be able to change the material of your object. If you want to see the material on you object in 3D you might go to Step 4.

Step 4.: click on thet icon and select "Material" or "Rendered". (Note thet you might want to add a light source if you select "rendered".


Triangles forming in a mesh with no triangles when rendering

Try removing doubles by selecting all and pressing w then remove doubles.

Also,you have ngons which is automatically converted into triangles when rendering,so if it is not flat it will appear like this,


How can i make vertices that are along an edge but not part of it cut into the edge and do it for many vertices?

You can use Degenerate Disolve function with all selected(a) in edit mode(Tab) for that. You can access it from the space search menu or from Mesh -> Clean Up -> Degenerate Disolve :

It dissolves zero area faces and zero length edges.


Use a Hue Correct modifier to the strip, this modifier can use a mask and lets you adjust the hue, saturation and/or value of the strip.

By default the modifier has nine points across the spectrum so you can adjust specific colours, by selecting each internal point and clicking the X just above the curve editor you can have two points to get an even adjustment through the hues.


What identifier of operator must be entered for assign shortcuts

Please make different topics for each question

For border select you will have to create several entries for selection and deselection with tweak mouse with all the desired modifier keys, like Alt+Tweak+Left or Shit+Tweak+Left, ect. for example.

After that you have to additionally expand the Border select modal key map bellow any of the entries (they are all the same) and manually configure all options for selection, deselection, and canceling the operator.

I use a similar setup myself, and it is a sort of a chore and a bit hit and miss manual work.

Word of advice, don't directly use Left Mouse or Right Mouse in your keymaps, when possible use Select Mouse or Deselect Mouse so the custom keymap remains dynamic and responds to general switch of selection with left or right click. Also make sure there are no conflicts as they may inexplicably make some key assignments nor work

Best way to know an operator name is to Right Click a button and choose one of the following options and search for hints there

Copy Python Command
Copy Data Path
Online Python Reference
Assign Shortcut (does it automatically)
Edit Source

Some times it's also useful to search for that operator in the keymap list and see if there's one already assigned you can copy from.
Some buttons don't use an operator directly though, some times they need contexts, or toggle variables or call menus.

For toggling occluded geometry the operator has to be wm.context_toggle and the context is space_data.use_occlude_geometry


In the Dopesheet you could select all A and use scale S, to move the scaled keyframes use grab G.


Duplicating an object in script (by name)

bpy.ops is a module directly in bpy, not part of any object class. It holds all registered operators. If you don't specify a region, it will always assume you want to do something in the viewport. Just replace src_obj with bpy to match the behavior of ShiftD.
You should also make sure that the cube is the active object.
bpy.context.view_layer.objects.active = src_obj
scr_obj.select_set(True)
bpy.ops.object.duplicate(linked=0,mode='TRANSLATION')
new_obj = bpy.context.active_object


Is it possible to show the history on a detachable window?

Every action you've done is listed on the Info Window, you can view it if you pull it down.

The commands are listed in Python and list changes to your file as they are made. They're not editable, nor can you go back or undo form here.

For those of us whose language skills are limited to spoken languages and are code illiterate, the option is the Undo menu, accessed by pressing CtrlAltZ.

It will display a list of steps you can undo. Note that the list cannot be kept open permanently.

Form the manual

  Rolling back actions using the Undo History feature will take you back to the action you choose. Much like how you can alternate between going backward in time with Ctrl-Z and then forward with Ctrl-Shift-Z, you can hop around on the Undo timeline as much as you want as long as you do not make a new change. Once you do make a new change, the Undo History is truncated at that point.

The number of undo steps is determined by this setting on the user preferences:

Depending on your system's RAM, you can set up to 256 undo steps.


How to properly model the Volute on a Capital of an Ancient Greek Column?

Concerning the main part to do it quickly...

The idea is to notice we have a kind of spiral which is more or less the equivalent of outer and inner circles.

We know too that a subsurface modifier can do a circle from square/straight lines.

That's what we use here :

Simply follow the reference image with the fewest vertices has possible.

To do that, preset a subsurface modifier in order to view step by step the rendered curve as you add vertices.

Here I have chosen to have 5 points for half of a circle with a subdivision surface set to two:

To obtain the image above, begin to add just the contour lines. Then use the F2 addon to fill the faces (it is really quick! https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/F2).
The important point is to have the same amount of vertices for the inner and outer part (so that they correspond and you can make faces all around).

A trick: don't close totally the face on the right of the inner circle (that will be easier for the loop cuts later).

Now... we just have a flat surface, but nearly all is composed of quads and edge loops.

From that, "loop cut and slide" with CtrlR at the center.

Then validate and move down Z this line:

Now enforce the flat parts, either adding another loop cut or beveling:

Complete filing the hole we let before, extruding the outer part and eventually add another subdivision level the the subsurface modifier.

Note: for the thinner details, as said in the comments, use normal maps or others... or spend more time to model it...


Change the import settings from "link" to "append":

BlenderKits creates blend file in your disk, by the way.


Double each video frame within Blender VSE

This can be done in the VSE with the speed control effect:

Select the video strip you want to slow down
Add a speed effect strip (⇧ ShiftA> Effect Strip > Speed Control)
Extend the original strip to twice its length


How to translate bump height into real world measurement?

I'd approach it this way:
First, generate a clear black to white gradient image and apply it to a plane as a displacement map.

Then I'd duplicate the plane and apply the displacement modifier, and then check the Z height on the verts that are placed at the black and white parts of the gradeint:

Doing that shows that the black value equals to -0.5 blender units, while the white pixels displace your verts +0.5 blender units.

And then if you want a total white to give you +0.001 bu which is 1mm, all you need to do is to change the dipslacement modifier's stength to 0.002.

Here I used a stength of 0.2 and the resulting height is indeed 0.1 BU:

If your displaced object has a non 1.0 scale value, you'll need to multiply the displacement value by the scale to calculate it. If the scale is non-uniform (let's say 2.0, 1.0, 3.0 for X, Y and Z scale), you're in trouble because it will be different in each axis...


Okay so I'm answering my own question because I figured out the issue myself and in case anyone else has the same question they can come here for an answer if they find this.

The issue was that the rig didn't know where to bend the limb at since it was straight, which was why the leg was completely stiff. The legs need to be slightly bent so that the rig knows where exactly to bend it at.


Array and curve modifiers without deformation

If you use the curve modifier to deform an object, yeah, it's going to get deformed.

If you don't want that, one work around is to not use a curve modifier to directly deform the object, but to instead use an armature that follows the curve.

I'll start by removing my curve modifier and applying my array.  I've already seen that this array fits my curve about right like it's supposed to (not quite guaranteed.)  Then I'll create a new armature and a bone for each blob.  Eyeballing is fine.  Once I made a few, I selected a bunch and shift-d duplicated, so it was easy.

I've disabled inherit scale on all of my bones (by selecting all of them and alt LMB on the checkbox, in properties/bone/relations.)  I've also parented them all to a single bone, pointed downwards just so I can see it, which is non-deforming.  This is my control bone, and I'll move the balls simply by selecting this bone and scaling it.

Time to parent the mesh to the armature with automatic weights.  Then I had my constraints:

I'm using a clamp-to constraint that will translate my bone's position along the X axis onto the length of the curve.  Once I've made one of these, I can copy it to all of my deforming bones using "copy constraints to selected bones" which I just access from the spacebar search.

It won't be anything near right in default pose, because the clamp-to doesn't work quite the same way as a curve modifier.  But just select your control bone and scale it down some.  At a scale of .27, the array about fits the curve.

And to draw the blobs closer, scale your control bone even smaller than that.  Or, to change the position from which the blobs seem to spawn, move the control bone in the X axis.

I'm sure there are other ways to do this.  This only took me five minutes though.


Under the physics tab of the property panel set the Shape to Mesh. The convex hull is like a shape drawn around the mesh with no concave angles, so the feet of the chair might behave unexpectedly, as if there's just a flat plane or a few flat triangles on the bottom. It also has some degree of approximation, it doesn't create a new point for every point on your mesh.

I don't think there's a way to visualize the convex hull that Blender generates for an object. It probably looks a bit like this but with more triangles and different triangulation pattern.

Your chair mesh might not be entirely suitable for collisions if it is non-manifold, particularly if it has open backfaces. If this is the case you can create a separate mesh just for collisions that represents the shape of the object but not it's appearance. You would then parent the chair mesh to the collision mesh so it moves exactly with it, and then hide the collision mesh from rendering so it doesn't cover the chair.

Finally, change the Bounciness under Surface Response of the chair and the surface your chair is landing on. When Bounciness is set to 0 the surface stays impossibly still and doesn't apply any force to the object landing on it regardless of how bouncy the falling object is. Likewise a falling object with Bounciness zero appears to receive no force when it's Bounciness is 0. Most objects should have at least some amount of bounciness in order to behave as expected.


You can skip frames where nothing changes.

Probably the simplest, is to manually render out different sections of the animations. It works by splitting the different parts into sections, and you render out each of these sections individually.

You do this by setting the start and end frame to match the parts of the animation you want to render, and then pressing animation, making sure that you have it outputting to the correct folder. You then repeat the process. With the parts that aren't animated at all, just render by pressing the render button, or by setting the start and end frame settings to be the same frame (making them only render that frame).

You then need to import everything into a video editor and stretch out the frames that where rendered as a single image instead of an animation.


How to control which edge loop is selected?

Which edge loop gets selected when pressing ⎇ Alt RMB is controlled by the edge clicked, not the vertex.

Click an edge which belongs in the edge loop you want to select in order to select that loop:

Note that the edge clicked also becomes the active edge (white).


It depends. If most of the time is spend in the inner loop there should not be a noticeable performance drop. Also it depends on which nodes you use. If you only use simple nodes like Object Input or Time Info, you should not get any problems.


You could use a python script to create as many logic bricks as you want.

First I create the single UP sensor, I use the length of the sensor array to get the last one created and store that in up_sens then set a few properties.

For the speed sensors we want 5 sensors with varying values so we can loop through the values and create each one, we keep track of these in a list for later. Then we do a similar loop for direction, using a list of keys instead of numbers.

We finish off with two loops that lets us create a motion actuator and controller for each combination of speed and direction, with the up always included and using link() to join each of them together.

import bpy

obj_sensors = bpy.data.objects['VehicleLogicCube'].game.sensors
obj_controllers = bpy.data.objects['VehicleLogicCube'].game.controllers
obj_actuators = bpy.data.objects['VehicleLogicCube'].game.actuators

bpy.ops.logic.sensor_add(type='PROPERTY')
up_sens = obj_sensors[len(obj_sensors)-1]
up_sens.name = 'UP=1'
up_sens.property = 'up'
up_sens.evaluation_type = 'PROPEQUAL'
up_sens.value = str(1)
up_sens.show_expanded = False

# create speed sensors
sp_sens = []
for sp in range(5):
    bpy.ops.logic.sensor_add(type='PROPERTY')
    sp_sens.append(obj_sensors[len(obj_sensors)-1])
    sp_sens[sp].name = 'Speed='+str(sp+1)
    sp_sens[sp].property = 'Speed'
    sp_sens[sp].evaluation_type = 'PROPEQUAL'
    sp_sens[sp].value = str(sp+1)
    sp_sens[sp].show_expanded = False

# create direction sensors
dir_sens = []
for dk in ['W','S','A','D']:
    bpy.ops.logic.sensor_add(type='KEYBOARD')
    dir_sens.append(obj_sensors[len(obj_sensors)-1])
    dir_sens[len(dir_sens)-1].name = dk
    dir_sens[len(dir_sens)-1].key = dk
    dir_sens[len(dir_sens)-1].show_expanded = False

# create motion actuators
m_idx = 0
for sp in range(5):
    for dk in range(4):
        bpy.ops.logic.controller_add(type="LOGIC_AND")
        and_cont = obj_controllers[len(obj_controllers)-1]
        and_cont.show_expanded = False

        m_idx += 1
        bpy.ops.logic.actuator_add(type='ACTION')
        nact = obj_actuators[len(obj_actuators)-1]
        nact.show_expanded = False
        # create action here or create before starting script
        bpy.data.actions.new(name='Motion'+str(m_idx))
        bpy.data.actions['Motion'+str(m_idx)].use_fake_user=True
        nact.action = bpy.data.actions['Motion'+str(m_idx)]

        nact.link(and_cont)
        up_sens.link(and_cont)
        sp_sens[sp].link(and_cont)
        dir_sens[dk].link(and_cont)


Anyone have any idea why this PBR texture is having weird shading and lighting effects on my plane?

You must set the Color Space for your Normal Map image texture to Non-Color. You will want to do this for your roughness map as well. Only Basecolor, Subsurface Color, Emission, and Ambient Occlusion use a "colored" Color-Space such as sRGB or Linear, all the rest (Roughness, Metallic, Height(Displacement), Normal Map, etc..) use Non-Color space.


There are multiple reasons that the object is not visible after importing.

Check the outliner and see if there is an object. Also see if it's visibility is on.
Make sure you are in the correct layer. To display objects from all layers in the 3D view, press the backtick key.
The camera clipping planes must not be proper. If you are looking from the User Persp camera, press the N key and adjust the Start and End values for the Clip plane. If you are looking from a camera object, edit the clip start/end in the camera data properties.
In most cases pressing SHIFT+C in the viewport should frame all the objects in the scene. Refer to point 2 if 1 and 3 still does not fix the problem.


The best and easy way I found to make easy camera sways is by using the graph editor.

Steps:

Press I with the camera selected and add a rotation keyframe.
Open up the graph editor and select Camera Y Euler Rotation for example.
Click the N button to pull up the side bar
Click Add Modifier and select Noise
Now you have very fast camera shake, but you want swaying, so set the Scale to something like 10-20. And set the Strength to something like 0.2 - 0.05
Now you could apply this to the other rotations or even some location, but remember to randomize each noise by changing the Phase value for each noise modifier.

Hope that helps!


Viewport not syncing with UV image editor when unwrapping an object

Answering my own question in case it happens to someone else, it was a really stupid thing that I overlooked: the ''Update other affected windows'' was locked.


Your object is not weight painted. Blender needs to know which vertices are influenced by which bone. This is done by painting weights
Basically you can do that two ways:
1 - Parent your mesh to your armature with automatic weights. You may have to tweak things as explained in point 2 though
2 - select a bone of your armature and go to weight paint mode to paint (red) the vertices influenced by that bone. Repeat for each bone.

Also make sure "deform" is ticked as shown on the picture, without which your bones will have no influence on your mesh.


UV unwrap "Correct Aspect" stop functioning in Cycle mode

add a material with an image texture node

in cycles, the uv unwrap "correct aspect" feature has a hidden requirement

your mesh must have a material assigned
the material must have an "image texture" shader node
select your image texture, with the funny aspect ratio, in the node
now cycles can find your image's aspect ratio
uv unwrap's "correct aspect" works again

it's a bummer that there isn't a notice in place, for the "correct aspect" feature..
something like warning: "unwrap correct aspect" cannot find image texture node

also, i found that adding a "texture image node" helped when i couldn't get texture painting to work — it was ultimately the same kind of problem


You can use application handlers which can be executed before or after specific operations. For your case there is a load_post handler, kicking in after the blend file is loaded and even a load_pre handler kicking in before the file is loading. Simple add-on example using bpy.app.handlers.load_post handler:

bl_info = {
    "name": "Load Handler",
    "author": "Your Name Here",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "category": "Development"
}

import bpy
from bpy.app.handlers import persistent

@persistent
def load_post_handler(dummy):
    print("Event: load_post", bpy.data.filepath)

def register():
    bpy.app.handlers.load_post.append(load_post_handler)

def unregister():
    bpy.app.handlers.load_post.remove(load_post_handler)

if __name__ == "__main__":
    register()


How to obtain a simple and effective rendering without having to create a complex material?

I found a solution which consists in using the rendering engine of the viewport 3D to render the scene with the light parameters of it. There is no need to change the way of modeling the 3D model.

It's even possible to apply ambient occlusion effects to this one, so maybe use textures, but I haven't checked yet. The only thing that changes is that when rendering the model, you will have to go to the properties window, render section, and choose the "Workbench" rendering engine. From there, you can configure, according to your needs, the different options available, ranging from the choice of lighting to color management.

Then once done, you can press F12 or go to the menu bar, render menu, to render the scene as you would have done with the other renderers.

After the rendering is finished, you simply save the previously created rendering image on your computer.
<img src="https://i.stack.imgur.com/MMAEi.jpg" alt="
Save the rendering to the computer for use on the web or otherwise" />
And also, it is preferable to use this technique rather than that of materials override, because, as its name suggests, this one aims to replace all the materials present in the 3D scene. So exit your materials with custom normal map textures or ambient occlusion. For those who do not have what is the materials override, please read this post: 2.8 - Is it possible to assign (override) a material to a whole collection ?


How do you convert an expression that works in the console into a format a driver can make use of?

You can use a single line python expression as a driver, like an if-else statement.

1 if (bpy.context.scene.frame_current  == 1) else 0

The reason this fails, would be if python scripts have been disabled. You get this dialog after entering a python expression when python scripts are disabled. Click on "Allow Execution".

If you dismissed the dialog, enable Auto Run Python Scripts in the User Preferences under Save & Load.


Add a Geometry node and use the backfacing information to control the transparency of the object:

The inside "backfacing" geometry will be transparent and the "front facing" will use the wireframe.


How do I change the angle of the axis without changing the angle of the object?

Blender's precision modelling tools are a bit lacking unfortunately but you can do this with an auxiliary Empty object.

Create an empty object, align it with an one of the vertex of the object you wish to correct the alignment.

Rotate it and use snapping to align it with the desired edge.

Now copy the empty object's rotation to the other object, either by rotating it in object mode that same number of degrees and applying it, or entering edit mode and rotating all geometry that same amount.


where is viewport unlink feature in blender 2.8

In my case I had two characters on different layers in Blender 2.79 and I used unlink viewport to see them both on the screen at the same time.

In Blender 2.82 there is no unlink viewport button, but since I had the characters in separate layers they were imported in as separate collections.

If you go to you workspace and select the View tab on the right side, then select collections at the bottom, you can then use local collection. Then you can hide the other collections you are not using. This will allow you to manipulate each character in their own workspace.


How can I change the number of Samples in Blender Render in 2.70?

That page is for cycles (note the URL: /Render/Cycles/Integrator).
"Scene settings" in that case refers to settings that effect the entire scene, as opposed to material settings which only affect objects which use that material.
There really isn't a global samples value for BI the way there is for cycles, as the way they work is so different (see How is Cycles different from Blender Internal?). However, BI does use raytracing, similar to cycles, for some things. So where applicable there are sample settings to control the number of raytraced samples:
Global ("scene") settings:
When the Gather method is set to raytrace, you can set the number of samples used for AO and environment lighting in Properties > World > Gather > Sampling:

Per material/lamp settings:

Glossy reflection and refraction in Properties > Materials:

Raytraced shadows on lamps:


You can use a sub-division surface modifier on top of a wireframe modifier. The trick is to enable 'Crease Edges' in order to maintain the crease in edges you don't want the subdiv to smooth out.

It should look like this:


Making a Cutout to in Low Poly Model without affecting the surface flow

The "problem" is caused by the subsurface modifier.
it's the expected behavior.

You have a few options here:

— proximity loops: use ctrl + r to create supporting geometry around the edges of the hole

– edge crease: select the edges around the hole and press shift + e to change the crease weight (the edges become red)


How do I Make a Spot Lamp Parented to my Character Cast Shadows?

I just had to move it down. Apparently you can't see the shadows if the object lines up with your camera exactly! Thank you bertmoog!


is it possible to write a script that renders an image in blender

The simplest way to do this would be to have a project whose textures point to a files with a known location. Replacing those files with new ones with the same name would take care of the textures.

Then just render using the command line.

blender -b file.blend -a

would render the animation with no GUI.

To set the output path use:

blender -b file.blend -a -o <path>

Read:
https://docs.blender.org/manual/en/latest/render/workflows/command_line.html

and

https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html


How do I correct my character falling through when cloth is enabled on his cape

If they are one piece (or mesh) then your character becomes cloth as well, he is not pinned and will therefore fall. You probably dont have a collision modifier set up on the stage as well.

Separate the meshes, add a collision modifier to your stage and the character and parent the cape to your character. That should solve it.


You must apply a new texture with the file with check box. Image Texture. Open the image file.
Enable the texture
Change the mapping to UV.
Select the UV name explicitly to ensure it exists.
You will be able to see the preview with the texture.
Get some texture to appear then correct it.  Do not turn off the texture.

However if you really get stuck.

If you have changed many settings on the texture the situation may be difficult. So keep the UV(the hard work).  Delete the texture in the texture panel. And start a texture fresh with newly minted settings as above.  When you are close to perfect the preview will reflect some change.  Focus on your fresh settings, not some from 2 hours ago. Start fresh.  This is really 5 minutes or less of work.  When the situation improves include a new screen shot of texture settings.


Black artifacts when looking through many transparent objects?

Go to Light Paths under the Render Tab and turn up the Max amount of transparent bounces until you have enough for every cube.

For 2.8* set the Transmission bounces in the Render section>Light Paths>Max Bounces


Why doesn't the paint-on texture show when rendered (packed and saved texture)?

The materials for the object don't have a texture associated with them.
Select your object.
In the materials slot select the material slot that will use the texture.
Move to the texture section and create a new texture that uses your image.


Mirroring a Keyframe is pretty easy. Go to "pose mode" and you must select all your bones including the ones you want to copy it to, then over in the right side of your screen will be three buttons

The first one is Copy

second Paste on same side

And the third is Paste on opposite side

With all your bones still selected press the first button to copy your pose you wish to be on the other side, then place it in the desired spot on the timeline by clicking the third button . This will mirror it to the left side(or opposite side) of your mesh.

If you want it a keyframe just click insert keyframe( with all bones still selected)


How to paint vertices in different object using python scripts?

As far as I understand, this line

bpy.ops.object.mode_set(mode='VERTEX_PAINT')

only causes the user interface to switch to Vertex Paint mode, which displays the vertex colors in the viewport when the object is active and allows you to paint the vertices on your own. This step is not required if you color the vertices in a script and it does not change the way the final image is being rendered. If these colors should also appear in the final render then you have to set up your material to take vertex colors into account. The answer to this question describes how to do that if you're using the Cycles render engine. You should end up with a material like this:

Unless you're using an Emission shader instead of the Diffuse BSDF you still have to use other light sources in the scene.

And while the script seems to define the random_color function, the function doesn't actually get called. As you ended up with some parts of your model being painted, I assume this is only a missed line when you copied your script. In case it isn't, the last loop should probably be:

for obj in bpy.data.objects:
    if obj.type == 'MESH':
        bpy.context.scene.objects.active = obj
        bpy.ops.object.mode_set(mode='VERTEX_PAINT')
        random_color(obj)

It's likely that the viewport will still display only one mesh colored as Blender will only display vertex colors for the active object. All other objects will be displayed according to the Viewport Shading setting. This should explain why only one part of your model is colored while the rest of it remains grey. Once you've set up your material you can switch to Material shading to see the other parts of the plane colored as well.


You are currently in Image editor which is kinda similar to uv editor but isn't the same thing see on the top below title bar you see some workspaces , like layout , modelling , there is one workspace known as uv editing , there if you have a look at your uv's , you will realize that they are already there but you were looking for them somewhere else


Blocky smoke simulation doesn't change shape or makes a dark flash

Problem solved by turning Node Wrangler off, relaunching and baking again... idk why .....


Figured it out quite quickly.
The last line has to be substituted by:
context.collection.objects.link(loxodrome)

That's it!


Can't remove keyboard shortcut for vertex paint

Under "File" choose "Load Factory Settings".


Texture disappears when "Render Image" is clicked

Thanks to Scott Milner, the issue has been solved.

A light source needed added.


It seems to me you marked freestyle edges, not faces. The green lines are the edge marks.

To clear the marks go to Edit Mode, press A to select everything, then Ctrl+E to bring up the Edges menu and select Clear Freestyle Edge.


Where to put external Python Blender scripts when Blender was installed from Snap?

After talking to the guys on the official Blender forum #python it turned out the scrip can be located pretty much anywhere and it doesn't need to be in a special directory, as I thought before. To run it I used a command i.e: blender --background monkey_test.blend --python ./get_scene_framerange.py where the last bit is a path to the script located anywhere


The Bend Tool rotates around the 3D cursor and bends the selected parts of a mesh toward the mouse cursor position.

The tool is explained in this video.

Start position (white cross indicates position of mouse cursor)

End position and effect:

For predictable results use the bend tool in the orthographic modes.

Start position with 3D cursor at center:

Similar result:

Related:

Which tool allows bending a mesh?


How do I send multiple command line commands to the same Blender instance?

For a slightly 'hacky' way of achieving this, create a handler to look for the presence of a file and execute the contents of the file (and remove the file) whenever it is found. Once the handler is running all that is required is for any script to be executed to be copied into a specific location and Blender will 'consume' it.

In a text editor, click 'new' and paste the following code (and name it 'exec_from_file.py') :

import bpy
import os

filename = 'blender_script.run'

def scan_for_file_to_exec(scn):

    global filename

    try:
        file = open(filename)

    except FileNotFoundError:
        pass
    else:
        print("scan_for_file_to_exec: Got file")
        content = file.read()
        file.close()
        os.remove(filename)
        exec(content)

bpy.app.handlers.scene_update_pre.append(scan_for_file_to_exec)

print("scan_for_file_to_exec: Scanning for file '%s' in directory '%s'" % (filename, os.getcwd()))

Click 'Run Script' and optionally tick the 'Register' checkbox to automatically run the script whenever the blend file is opened. This will install a handler that will be triggered every time the scene is updated (which appears to occur continuously). The script outputs a line to the console window when it first runs, indicating the file and directory it is scanning for.

scan_for_file_to_exec: Scanning for file 'blender_script.run' in directory '/home/rich'

Whenever the file exists blender will read the contents, remove the file, and execute the code.

All that is now required outside of Blender to trigger the running of a script is to copy the required script into the relevant location and it should immediately disappear and be executed.

For Linux :

cp my_script.py /home/rich/blender_script.run

For Windows :

copy my_script.py c:/users/rich/blender_script.run

For multiple files, copy each file in place, waiting for each to be consumed before copying the next.

NOTE : You need to ensure that Blender is invoked from a location where your user has permissions to read/write files - or you need to run 'As Administrator'.

For example, once the above handler is running (and assuming both you and Blender have permission to read/write to the relevant directory) you can create Suzanne by running the following from the command line (in the relevant directory) :

echo bpy.ops.mesh.primitive_monkey_add(radius=2) >blender_script.run

Then create another different sized in a different location :

echo bpy.ops.mesh.primitive_monkey_add(radius=2, location=(-1,-1,-3)) >blender_script.run

An alternative method is to use a similar handler to read the input from the 'blender' process itself and execute any commands received on that stream. When you launch Blender you can direct the output of another process (eg, a python script) into the 'blender' process and Blender will execute them as they are received.

For this, create the following script in a Text Editor block named 'exec_from_stdin.py' and click Run Script. Don't forget to click 'Register' so that it runs automatically when the blend file is loaded.

import bpy
import select
import sys

def my_scene_handler(scn):

    #print("In scene handler")

    # Check to see if any input on STDIN
    if select.select([sys.stdin,],[],[],0.0)[0]:
        # Read a line from input
        line = sys.stdin.readline()
        print("Got a line '%s'" % line)
        exec(line)

bpy.app.handlers.scene_update_post.append(my_scene_handler)

Now when you launch Blender to load the file it will listen for commands on 'stdin' (standard input).

You can now 'pipe' any input into Blender by launching it using a command similar to the following :

<command> | blender

NOTE : This method doesn't appear to work correctly under MS Window - Linux (and, presumably Mac) only - due to differences in how Windows handles input streams.


Avoid distortions when creating projector effect

Wanted to add an answer here since this comes up first in google:

Between your Texture Coordinate node and your Mapping node, you should divide the X and Y parts of the normal vector by the Z part, and set the Z part to 1.

This was apparently reported as a bug in 2010, deemed expected behavior, and never fixed:

https://developer.blender.org/T22272

so thanks to the original reporter for the analysis and the solution.