It’s likely that it’s your materials rather than your scene itself that’s causing the lag.
I have had issues in the past where using multiple Noise textures and other texture nodes within a material can really hurt performance on Eevee. This seems to be due to Eevee pre-rendering some surface textures to optimise the actual render - and this seems to cause a performance hit whenever the scene or materials are changed. Try removing your materials one at a time and see which (if any) is causing the lag. You may be able to simplify any materials that are proven to be causing the issue.

Update: I've recently made some more progress on this and tracked down slow Eevee performance to multi-dimensional Texture nodes in particular. For example, using a 3D texture (such as the default for Noise) where perhaps a 2D texture (Noise set to '2D') would do - for example, when using a UV map, the Noise (or other texture) should be set to '2D' to drastically improve performance.
Note that Eevee appears to pre-sample such textures and so reducing the Dimensions to the bare minimum for that case will drastically reduce the overhead (eg, it only needs to pre-sample a plane for a 2D texture instead of a volume for a 3D texture - the extra dimension is wasted processing time if that dimension is never actually going to be used).
Note that in extreme cases I have had Blender crash due to this - when I swapped from Cycles render view (which worked fine) to Material Preview mode (which uses Eevee regardless of your render settings). Reducing the dimensions often resolves the crash - as well as making the interface much more responsive.


In your screenshot, your view is set to Ortographic not Perspective, this usually makes the HDRI just a blurred color instead of a real image. You can toggle between those views with Numpad 5. However, then there is still color, but your viewport shows this grey checker texture which means you've set the background to Transparent. Go to Render Properties > Film > Transparent and disable it.


How to get part of a mesh with Python API, which requires breaking down some faces?

All with bmesh in object mode.

With appropriate bmesh operators

add the primitive circles
translate them to desired location
add the grid
bisect with YZ plane at origin and clear the inner.  Note the plane coordinate is at (0, 0, 0) by default.
repeat with XZ plane.

Test script, run in object mode.  Adds a plane and replaces its mesh.

import bpy
import bmesh
context = bpy.context

bm = bmesh.new()

bmesh.ops.create_circle(bm,
        cap_ends=True,
        radius=2,
        segments=32)

bmesh.ops.create_circle(bm,
        cap_ends=True,
        radius=3,
        segments=32)
bmesh.ops.translate(bm, verts=bm.verts, vec=(0.5, 0.5, 0))
bmesh.ops.create_grid(bm,
        x_segments=3,
        y_segments=3,
        size=4)

# run two bisect planes
def geom(bm):
    return bm.faces[:] + bm.edges[:] + bm.verts[:]

bmesh.ops.bisect_plane(bm,
        plane_no=(1, 0, 0), # x > 0
        geom=geom(bm),
        clear_inner=True)
bmesh.ops.bisect_plane(bm,
        plane_no=(0, 1, 0), # y > 0
        geom=geom(bm),
        clear_inner=True)

# quick hack to add object
bpy.ops.mesh.primitive_plane_add()
ob = context.object
bm.to_mesh(ob.data)
ob.data.update()

To pick up from where your script above left off, with a minor change in that the object added in object mode will be the context object (don't rely on it being first in selected objects list), and no need to switch into edit mode from edit mode, can remove a couple of redundant operators.

# create the meshes as in question
ob = context.object
bm = bmesh.new()
bm.from_mesh(obj.data)

# and then pick up script above
    # run two bisect planes
def geom(bm):
    return bm.faces[:] + bm.edges[:] + bm.verts[:]

bmesh.ops.bisect_plane(bm,
        plane_no=(1, 0, 0), # x > 0
        geom=geom(bm),
        clear_inner=True)
bmesh.ops.bisect_plane(bm,
        plane_no=(0, 1, 0), # y > 0
        geom=geom(bm),
        clear_inner=True)

bm.to_mesh(ob.data)
ob.data.update()


Import a .mhx file and export it to .bvh problem

I think the simple answer to this is just to save your work as a blender file, i.e. .blend.

I could not find a better way of getting around importing a .mhx file, and then .bvh file and saving my work, so I can reload it later?

As was explained here BVH Export/Import, Armature different when re-imported , blender files encode more information than bvh files so it make sense to save in blender format.


How can I sort vertex positions sequentially indices in a closed area?

Sorting vertex indices.
Answer here https://blender.stackexchange.com/a/36619/15543 shows how to sort vertex indices using bmesh.
Answer here How to order a list of vertices based upon position?  goes some way to show how to walk the edges for an order.
To be sure to be sure would walk the edges as shown above until the first vert is re-encountered (since its a loop) and use this for the order.  Will leave it up to you to piece together the script from what is here
As demonstrated in @Leander's answer
Shortest Path
Using the script from What is the bmesh equivalent to bpy.ops.mesh.shortest_path_select()? could select edge as link between first and last index vert, temporarily remove it, find the shortest remaining path (the only path) from edges two verts.  Reinstate the edge.
Face winding order
Instead for a closed loop like above, contend can fill with an ngon, use the ngon face verts as order (the winding order) re-sort the verts and remove the ngon face created.
import bpy
import bmesh

ob = bpy.context.object
assert ob.type == "MESH"
me = ob.data

bm = bmesh.from_edit_mesh(me)

f = bmesh.ops.contextual_create(
        bm,
        geom=bm.verts[:] + bm.edges[:],
        )["faces"][0]

for i, v in enumerate(f.verts):
    v.index = i
bm.verts.sort()
bm.faces.remove(f)

bmesh.update_edit_mesh(me)

Select a first vert and clockwise or counter
To select the zeroth vert, and ensure anticlockwise (from top view) indexing
Run in edit mode, select the vert you wish to have index 0.  Assumes the shape lies in the XY plane.  If the normal of the created face points down the winding is flipped.

Random order, vert 22 selected, script below run
import bpy
import bmesh
from mathutils import Vector

ob = bpy.context.object
assert ob.type == "MESH"
me = ob.data

bm = bmesh.from_edit_mesh(me)
v0 = bm.select_history.active
f = bmesh.ops.contextual_create(
        bm,
        geom=bm.verts[:] + bm.edges[:],
        )["faces"][0]

fverts = f.verts[:]

if f.normal.dot((0, 0, 1)) < 0:
    fverts.reverse()

for i, v in enumerate(fverts):
    v.index = i
    if v is v0:
        iv0 = i

for v in fverts:
    v.index = (v.index - iv0) % len(fverts)

bm.verts.sort()

bm.faces.remove(f)

bmesh.update_edit_mesh(me)


Simplest (fewest steps) way to measure diameter of a circle in edit mode?

In Edit Mode activate Edge Length from the 3D View > Overlays popover.

Extrude a single vertex and see the reported edge length.
Undo once (to avoid an invisble duplicate vertex).


How could a single Python script run when Blender is started?

As documented in the manual, you can save your script in the scripts/startup/ directory with a .py extension and it will be automatically imported on startup.


The built-in Screencast tool is configurable such that you only get one frame every few seconds... or minutes.

From the docs:

  The default settings will generate a screencast consisting of a series of PNG images captured every 50 ms... The FPS for video Screencasts and time between each Screenshot for an image series Screencast can be set from the System panel of the User Preferences window.

If you're wanting a fixed-position shot of the current state of your model, though, this won't work. It'll just take a screenshot of whatever your Blender screen looks like at that moment.


blender 2.79 : Even after fresh install, no filmic color management options present

GOOD NEWS: SOLVED!

I figured it out: I am having three shortcuts that open blender. 1) Windows Startmenu, 2) Link on my desktop, 3) A shortcut on my ObjectDock Bar.
The latter is a Mac-style start bar  (by Stardock).
When I am starting blender from the ObjectDock shortcut, it seems to start blender in a different environment / with different permissions, where I am not aware what it is in detail (it is not the working directory).
- I started blender 10 times from there and had no filmic option available.
- I started blender 10 times from the desktop and startmenu and every time the options showed up as expected.
It was difficult to figure that out, because I randomly used one of these three shortcuts - so I randomly had the issue.
THANKS!


Add deflection in middle of edge (catenary curve)

I guess somebody has to suggest a cloth simulation, although I'm not sure it will meet your specifications. The curves resulting from pinning and tension don't appear to be catenaries, until the tension is wound up to an unrealistic level.
The topology is as shown, with the selected vertex-groups pinned in the simulation:

The edges between planes have also been given some damping in tension.. there may be more accurate settings, depending on the real-life constraints. The cloth settings are a slight variation on the 'Rubber' preset, supplied in the .blend as 'Tent', with a Shape > Shrink Factor providing the forces.
The result after running the simulation for ~75 frames:


RNA definition type in user preference > input , how can I change this?

The RNA value comes from the operator named above. Were you have entered "rotate view" needs to be the name of the operator to be run when the key/mouse combination is pressed. The standard operator to rotate the view would be view3d.rotate.

To get the value of a custom operator, you need to use the value of bl_idname defined in the operator you wish to use.

Some operators will have other properties that can be set as well -

This appears a little misleading as the options appear disabled, when in fact that shows they are default values, changing the values highlights them and shows an 'X' to return to default values.


How can I get my glass to look like this glass?

You may want to check those parameters(I´m using 2.79b.6) More bounces means more light will sample through the glass. But like the friends up here suggested, we would all like to check what your material looks like first.


Blender model adds extra materials when imported to Unity

Without files hard to say for sure, but my guess would be that this is because of blender's way of storing a set of polygon texture references separate from materials and in some cases also exporting that. This happens usually when you select texture in uv view while having faces selected; blender links the texture to only selected faces.

There's (at least) two ways to fix this:

Blender way: select your object, while in edit mode hit A to select everything, go to uv view and select everything there as well. Then at bottom of the view select texture. (this way every face has the same texture and as result there should be only one material named after texture you selected)
Unity way: I prefer this way and am pretty sure this would be the better for your situation as well: in unity, open model import settings, find second last item Material Naming and set it to From Model's Material. This way should make sure no other than explicitly created materials are imported.


Can perfectly aligned vertices create a ngon?

When modelers refer to an ngon, they only mean non-quad faces, really.. some include tris, some don't.. The main reason to avoid them is that under Catmull-Clark subdivision they can generate pinch-points, and irregular normals. So yes, the square shape in your first example is an ngon. Very squashed quads, or quads with a concave pair of sides, don't subdivide well, either.

On a perfectly flat surface, with a convex perimeter, that's not going to deform, there's no need to panic about them. As the the subdivided cylinder in the  illustration shows, the first generation of subdivision will generate quads anyway.

However, poles, that is, vertices where more than 4 edges meet, can also generate pinch-points. As before, if they are on a perfectly flat surface they aren't anything to worry about.. but if they threaten to interfere with a smooth curvature, or make holding loops (which sharpen edges between planes) or other edge loops hard to create or maintain, you should try to avoid them. In deforming surfaces, as far as possible, they should be maneuvered into non-deforming areas.

With those things in mind, If I wanted to finish my cylinder with an ngon, I would prefer to do it with a single inset (or bevel).. as shown on the left.


Go to https://opendata.blender.org/

  Blender Benchmark platform collect and display the results of hardware and software performance tests

You can search by gpu/cpu names in this site and view the results: https://opendata.blender.org/benchmarks/query/


How can I make Eevee renders more realistic?

Well, I digged a little bit inside your .blend file.

The first thing I noticed is that you are in Look Dev shading, which isn't the Rendered shading:

Even though they can give similar results sometimes, you really have to get into Render shading to have a fair preview of your render.
In your case, just switching to rendered mode already makes a huge difference, you'll get a much closer result to cycles.

Also, I didn't get your HDRi embedded in the blend file, which gives me a pink render result, so I had to remove it in order to do my little tests.

The first thing I did was playing with your Sun's settings, precisely the Shadow Clip Start/End and Contact Shadow Distance. This is really only to "fit" the Sun properties to your scene. Look how the shadow looks when you change those settings, especially in walls' corners.

Once it's done, there is really only one thing to do: give Eevee what he needs to calculate your Indirect Lighting. If you're used to Cycles' raytraced physically unbiased lighting calculated on the fly, Eevee doesn't do that. It's closer to a video game engine: it will try to calculate things only as few as possible, and only where you want and when you ask him to do so.
So basically, you need to create at least two things: cubemaps and irradiance volumes. Those two objects can be found in the "Add Object" menu (Shift A) under the Light Probe submenu:

Place at least one Reflection Cubemap in the center of your room. For the irradiance volume, make sure every little orange dot is inside the room. If you intend to only show the little area with the shed, you can scale the irradiance volume to cover this area only, that would optimize your resources.

Once it's done, you just need to bake those indirect lighting informations. Head over to the Indirect Lighting panel of your render settings, and hit the "Bake Indirect Lighting" button. It may take a while.

And this is what I obtain just with those steps (cycles up, eevee down):

If you want to know more, I suggest you to do some research about Eevee and indirect lighting. There are also some videos on youtube where people convert their old Cycles projects to Eevee.


To me, your bone chain is inverted.

You can remark that when you move the bottom bone, all come with it, but when you take the top bone it is constrained by the bottom bone :

So you can simply invert the situation (apply rotations and scale to your mesh before that). I have separated a tentacle in order you see well :

Select the armature
Go to edit mode
Select all the bones
And rotate it 180°
Adjust the Z location
Go back to object mode
Reparent the tentacle

For a more complete model, add another "top parent bone". This will allow to bring all your tentacles together and also the jelly body.

The blend file :


Rotating a mirrored object by 90 degrees doesn't work as expected

Make sure that the Pivot Point is located in the centre of the selected bar.

To ensure that, hit Ctrl+Space to make it visible. If it's already, than skip this. You can also see that using this button:

Then either hit Ctrl + , (it will snap the pivot point to the median point, that is what you want) or use this menu:

In this case it is appropriate to select any of these opitons except 3D Cursor.

Then select your bar, hit R, type some number and release left mose button or hit Space.

Option Clipping in mirror modifier prevents vertices that are on the mirror plane from being moved from it. You would really like to use it if creating any characters, cars etc, when you wouldn't like vertices on the mirror plane being doubled. See this for more info.


How can I preserve texture details when viewed from a distance?

It seems that Cycles does not allow to disable texture filtering as of now.

My solution is to render the scene at an insane resolution, but also to reduce the sample count by the same factor, and then downsample the result. It works very well this way.

If I haven't overlook something, I think, this is an urgently missing feature. It basically makes all textures look a little bit blurry if rendered directly at the intended resolution (because mipmapping is visually inferior to supersampling—especially for bump maps).


Mark the seams yourself in Edit Mode.

Press ctrl+e and mark seams (seams are like the cutting edges for UVs). Then unwrap the UV again.


No suitably rooted paths error when trying to set action on object

Action ID root
The error is informing of attempting  to link an action which expects to be for a material onto an object.
The created action from keyframing property of  a material has 'MATERIAL' set as its ID root.

ID root
Type of ID block that action can  be used on - DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING

Py console example
>>> source = C.object
>>> mat = source.active_material
>>> mat
bpy.data.materials['Material']

>>> action = mat.animation_data.action
>>> action
bpy.data.actions['MaterialAction']

>>> action.id_root
'MATERIAL'

An object's action  would expect this value to be 'OBJECT'.
Material action -> Object action
Example, material action with only keyframes for  diffuse_color of material
>>> for f in action.fcurves:
...     f.data_path, f.array_index
...
('diffuse_color', 0)
('diffuse_color', 1)
('diffuse_color', 2)
('diffuse_color', 3)

the data path from an object to "viewport color" is  color
At the very simplest, could as above copy the action, iterate over the fcurves, make our necessary datapath change, set object id root  and assign to the object.
action = action.copy()
for fc in action.fcurves:
    fc.data_path.replace("diffuse_color", "color")
action.id_root = 'OBJECT'

Context
Customary in blender is to use the active object as a source and other selected objects as the destination.
source = context.object
targets = context.selected_objects
targets.remove(source)

for operators, having a poll method removes the need to test for  context.object being None


Ok I figured out by looking another post. I needed another bone that goes to the tail of the spring bone, and a Constrain 'Strech to'.


It's difficult to see from your screenshots, but what you may need to do is apply the object rotation and scale before you add that extra vertex.

Try this:

come out of Edit Mode and enter Object Mode again
with your object selected, hit CTRL+A
now select Rotation and Scale
enter Edit Mode and try again

Without this, Blender will often produce unexpected effects when editing the object further, particularly if you've scaled a primitive in one or two axis before editing it.

Good luck!


Problem adding details to the top part of a model using boolean

I think you can do it this way but I used a higher topology:


Part of my drawing disappears depending on perspective/zoom

Here are some possibilities;

As a quick fix you could try and set the Candy object strokes setting to 3D Location if it's not already. By default they're set to 2D Layers and this is generally the more useful setting but 3D might resolve your issue here. (Object Data properties - Strokes - Stroke Depth Order)

I would guess that the issue is because your object is set to 2D Layers and has items in the foreground and background/different planes. Blender can struggle calculating whether you want the image as a foreground or background image if you have items in different places, especially if the settings are set to 2D Layers mode (as above). Try separating each drawing on a different visual plane into their own objects (to separate tab into edit mode, use the  B key to border select the drawing, then  P to separate).

Sometimes if you try and draw in the wrong orientation (object set to draw on front and you try and draw on the side) blender adds a nasty invisible line through it which confuses it's layering. ↹ Tab into Edit Mode, use  A to select all, all the vertices should be highlighted now, You might see a line that shouldn't be there. Deleting it should resolve layering problems.


Ways to animate edge loops sliding along a torus knot

Sadly you can not do this directly, however you can achieve the same result fairly easily. Begin by selecting one longitudinal edge loop, and pressing P > By Selection. Now (in object mode) delete the old mesh. Next select the new edge loop mesh, and press Alt+C > Curve from Mesh/Text.

Now you can create a cylinder, add an array and curve modifier, and you have the desired result. You may need to scale and adjust your cylinder mesh slightly to fine tune it.

Simply animate the mesh's position (on the Z axis) to animate the edge loop sliding effect, and add your wireframe modifier to complete the effect.

And this is what the final result will look like:

The array modifier has been disabled to show the animation more clearly.


one megapixel is one million pixels. Make the area of your picture equal 4 million pixels
The dimension for a 4:3 ratio would be 2309 x 1732 with 4 megapixels, so set width to 2309 and height 1732
if you dont know how to set dimensions use the amazing google recource... thats how i answered you... with https://www.scantips.com/mpixels.html


Is it possible to swap parts of a mesh that are hidden and unhidden?

bl_info = {
    "name": "InvertHide",
    "author": "Martynas Žiemys",
    "version": (1, 0),
    "blender": (2, 82, 0),
    "location": "ctrl+alt+shift+h",
    "description": "Inverts hiden mesh parts",
    "warning": "",
    "wiki_url": "",
    "category": "Mesh",
}

import bpy

def main(context):
    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.mesh.reveal()
    bpy.ops.mesh.select_all(action='INVERT')
    bpy.ops.mesh.hide(unselected=False)

class InvertHide(bpy.types.Operator):
    """Inverts hidden parts of mesh"""
    bl_idname = "mesh.invert_hide"
    bl_label = "Invert Hide"

    @classmethod
    def poll(cls, context):
        return context.mode == 'EDIT_MESH'
    def execute(self, context):
        main(context)
        return {'FINISHED'}

addon_keymaps = []
def registerKeymaps():
    wm = bpy.context.window_manager
    if wm.keyconfigs.addon:
        km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
        kmi = km.keymap_items.new('mesh.invert_hide', 'H', 'PRESS', shift=True, alt=True,ctrl=True)
        addon_keymaps.append((km, kmi))

def unregisterKeymaps():
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

def register():
    bpy.utils.register_class(InvertHide)
    registerKeymaps()

def unregister():
    unregisterKeymaps()
    bpy.utils.unregister_class(InvertHide)

if __name__ == "__main__":
    register()

Save this with Blender's text editor(UTF-8 encoding needed) to a .py file and install it as an add-on. You will have the functionality with alt+ctrl+ shift+h


BGE pressing space bar while in play mode isn't running script

This code is from pre 2.49. I'm pretty sure it runs into an error.

Always have the console window open when running the BGE with python code. Otherwise you will not see errors caused by Python code.

Convert the above sample to (BGE 2.5 and Python 3):

import bge

controller = bge.logic.getCurrentController()
owner = controller.owner

rotation_matrix = [ [0,-1, 0],
                    [1, 0, 0],
                    [0, 0, 1]]

sensor = controller.sensors["space"]

if sensor.positive:
    owner.worldOrientation = rotation_matrix


Press Z and set shading to Rendered / Look Dev? It should then display your materials and the lighting they receive.


Is there a manager for creases or edge groups for Blender 2.8?

You can select one creased edge, then use Shift G "select similar, crease" , then assign them to a vertex group for faster selection.


Why My Hair Strand Render Doesn't Reflect On The Water? [Internal Render]

More limitation than bug. The strand primitive in Blender Internal does not support raytracing, thus doesn't show up in reflections. If you need that, it's best to just not use the strand option, or use Cycles.


It is an addon that adds a procedural node based modelling and animation tools and workflow to Blender.

You can learn more about it at the official GitHub repository

From the official description

  Node based visual scripting system designed for motion graphics in Blender.


I finally figured my no-sculpt problem, it was I was on a shape key with a value of 0. So check under Editor Type>Properties>Data>Shape Keys and make sure you're on "Basis" key, there are no keys, or a key with max value if relative is checked. I don't know about the specific problem but for the general one I thought I should add this solution.


Merge two or more blender files with the same model but with different animations?

Create a blendfile and import all the .fbx. and save it
Open the master blend file. (the one where all animations are supposed to go).
Click on File -> Append
Choose the blendfile you created earlier containing all the .fbx.
Choose the 'folder' Action - Inside are all animations that were imported. Hopefully they have useful names.
Press A to select all and Append.
Import the main model into your .Blend.
Open an Action Editor and select the action you want to use with your selected object.
Just for safety check the Fake user icon for each animation.

Now you can switch, combine, select or even export to Unity etc. between your actions.

Btw. an FBX can store more than 1 animation. Usually you wouldn't store the same mesh several times, but once with multiple animations appended, or one fbx for each animation, with the mesh in a separate file.


How can I render a sequence created in the video sequence editor?

Change your screen layout to be able to see the properties.
2 choices :
-From the layout menu, choose Default

-From the frame menu, choose properties

From there, choose the render tab and you'll get the render and animation buttons.
You'd better check the hilighted parameters in dimensions before rendering. (resolution, frame range, frame rate)

and also output (path/name, file type (images/video/codec...))


How can I make up cloth in marvelous designer and simulate in blender

It looks like, the patches which are generated and simulated in marvelous designer are not welded.
What I mean is: you have vertices and edges which are sharing the same location but they are not attached to each other.

To correct your mesh in blender, go to editmode, select everything, press w and pick "remove doubles".


My camera won't zoom after it reach certain distance of zoom

Try hitting "5" on you numeric keypad. It will switch to orthographic view mode. If that is not what you want try reading the thread iKlsR mentioned.


How can you rotate a procedural material?

Following @gandalf3's suggestion above, I switched to having my values affect the texture, restarted all values from scale of 1 and rotation of 0, and then started playing with them until I got something that's sort of acceptable.  It really helped to partition my screen so the node editor was large but above it was the 3D View wherein I had isolated my beam (Numpad /) and had the 3D View set for "Rendered view" That allowed me to see the effect of my changes quite quickly.


How to add Objects to a scene AND to a list? (Sphere Packing)

Creating an empty list, and adding objects to it

# Create empty list
lobjects = []
# adding an object to it
lobjects.append(rock_object)

If you create more objects, you keep appending them to lobjects.

Creating objects

If you already have a template rock object that you want to use to create all of the other rocks:

Duplicating the mesh data of the template rock object

original_data = rock_object.data
new_rock_obj = bpy.data.objects.new('CopiedMeshRock', original_data.copy())
Linking the original object's mesh data

new_rock_obj = bpy.data.objects.new('LinkedMeshRock', original_data)

Distribution of the rocks:

I think you could start by creating a grid, so an object is placed within each cell of this grid (I am using spheres for this example)

Then if you distort this grid, using any (radial?) distortion function, you can change the size of each cell of the grid, and fit a sphere at the centers with a radius less or equal to the smallest side of the cell.

You would only do this for cells that fall within the desired target pattern (a circle in your case).

I have used the following code to generate those images. If you set $a_x = a_y = 0.0$ you get the first image (no distortion); if you set $a_x$ and $a_y$ to positive values you get barrell distortion.

Blender

import bpy          # bpy.data.filepath (path to the current blend file)
import mathutils    # mathutils.Vector

class ExitError(Exception):
    pass

def addSphere(center, radius):
    '''
    Add a sphere at the given location, with the given radius

    @param center (mathutils.Vector) 3D location of the center of the sphere
    @param radius   (float) Radius of the sphere
    #return (bpy.types.object) newly created object
    '''
    bpy.ops.mesh.primitive_uv_sphere_add(radius = radius, location = center)

    return bpy.context.active_object

def distortPoint(p, ax, ay):
    '''
    Distort point p

    @param p    (mathutils.Vector) 2D point to be distorted
    @param ax   (float) Distortion coefficient in X
    @param ay   (float) Distortion coefficient in Y
    @return (mathutils.Vector) Distorted 2D point
    '''
    px = p.x * ( 1.0 - ax * p.length * p.length)
    py = p.y * ( 1.0 - ay * p.length * p.length)

    return mathutils.Vector((px, py))

def isPointWithinCircle(p, center, radius):
    '''
    Is point p within circle

    @param p        (mathutils.Vector) 2D point
    @param center   (mathutils.Vector) Center of circle
    @param radius   (float) radius
    @return         (boolean)
    '''
    return (p - center).length < radius

def main():
    #fireworks.testDrawCubes(5, mathutils.Vector((2, 1, 0)))
    #fireworklib.drawCubes(2)
    scene = bpy.data.scenes.get('Scene')
    if not scene:
        raise ExitError('Could not retrieve scene')

    # Dimensions of the grid
    nrows = 50
    ncols = 50
    # Original size of each cell of the grid
    width = 0.8
    height = 0.8
    center = mathutils.Vector(( (nrows / 2.0) * width, (ncols / 2.0) * height ))
    # Normalized grid cell size
    nwidth = 1.0 / nrows
    nheight = 1.0 / ncols
    nwidth_half = nwidth / 2.0
    nheight_half = nheight / 2.0
    # Center of the normalized grid
    ncenter = mathutils.Vector(( (nrows / 2.0) * nwidth, (ncols / 2.0) * nheight ))
    # distortion coefficients
    ax = 0.9
    ay = 1.5
    # Circle: Center at center, and with radius
    radius = width * nrows / 3.0

    # List of created objects
    lobjects = []

    for i in range(nrows):
        for j in range(ncols):
            # Calculate center of the cell
            pc = mathutils.Vector(( i * nwidth + nwidth_half, j * nheight + nheight_half)) - ncenter
            # distort it
            dpc = distortPoint(pc, ax, ay) + ncenter
            # offset by center
            unnormalized_center = mathutils.Vector((dpc.x * width / nwidth, dpc.y * height / nheight))

            # only proceed if the center of the distorted cell falls within the circle
            if isPointWithinCircle(unnormalized_center, center, radius):
                p0 = mathutils.Vector((    i * nwidth,     j * nheight)) - ncenter
                p1 = mathutils.Vector((    i * nwidth, (j+1) * nheight)) - ncenter
                p2 = mathutils.Vector(((i+1) * nwidth,     j * nheight)) - ncenter
                p3 = mathutils.Vector(((i+1) * nwidth, (j+1) * nheight)) - ncenter

                # compute distorted points
                dpc = distortPoint(pc, ax, ay) + ncenter
                d0 = distortPoint(p0, ax, ay)
                d1 = distortPoint(p1, ax, ay)
                d2 = distortPoint(p2, ax, ay)
                d3 = distortPoint(p3, ax, ay)

                # approximate distorted bounding box
                dwidth = (d1 - d0).length * width / nwidth
                dheight = (d2 - d0).length * height / nheight
                # smallest side of the bounding box approximation
                dmin = min(dwidth, dheight) / 2.0

                # sphere's radio cannot be larger than smallest side of the approximate bounding box
                r = dmin

                lobjects.append(addSphere(mathutils.Vector((dpc.x * width / nwidth, dpc.y * height / nheight, 0.0)), r))

if __name__ == '__main__':
    try:
        main()
    except ExitError as e:
        print('Failed: {}'.format(e))

Note:* The example above creates a new sphere for each cell of the grid, which in this case is very inefficient: we could just reuse the same mesh and have the subsequent spheres link to it.

Another idea, if you use objects that are not spherical, is to:

give the objects (rocks) a small value to their location Z coordinate
enable rigid body dynamics
add a plane right below the given Z coordinate
Animate the scene so the objects fall by that small z, colliding with the plane and with each other, naturally randomizing them (without having to do that from code).

You could add rigid body dynamics for an object with

sphere = addSphere(mathutils.Vector((dpc.x * width / nwidth, dpc.y * height / nheight, 0.0)), r)
scene.rigidbody_world.collection.objects.link(sphere)

# add to the list of objects
lobjects.append(sphere)

Note: make sure that the target scene has rigid body world enabled:

if not scene.rigidbody_world:
    bpy.ops.rigidbody.world_add()

if not scene.rigidbody_world.collection:
    scene.rigidbody_world.collection = bpy.data.collections.new('RigidBodyWorld')


Is it possible to add a custom property on bpy.types.Sequence?

Update: bpy.types.SequenceProperties  is supported in 2.75 (or recent builds)

The information below is kept since the answer still applies to types such as bpy.types.TimelineMarker or bpy.types.Modifier.

In short - no. You can only add custom data properties on:

ID (its subclasses Action, Armature, Brush, Camera, Curve, FreestyleLineStyle, GreasePencil, Group, Image, Key, Lamp, Lattice, Library, Mask, Material, Mesh, MetaBall, MovieClip, NodeTree, Object, PaintCurve, Palette, ParticleSettings, Scene, Screen, Sound, Speaker, Text, Texture, VectorFont, WindowManager, World', etc...)Try run: bpy.types.ID.__subclasses__() to see all.
Bones
PoseBones
AddonPrefs
Node, NodeSocket, NodeSocketInterface
OperatorProperties.

The reason this gives confusing output is that the initial assignment is using Pythons regular class assignment, in this case its not using a metaclass (which would interpret the property definitions and apply them as you are expecting).

bpy.types.Sequence.foobar = 22
print(bpy.context.sequences[0].foobar)
# >>> 22
bpy.context.sequences[0].foobar = 11 # <-- will error!
# AttributeError: 'SceneSequence' object attribute 'foobar' is read-only

So why use this at all?
- Because it allows you to add utility methods & properties at run-time. Note that this is standard python and nothing Blender specific (unlike custom properties).

bpy.types.Sequence.calc_frame_mid = (lambda seq:
        (seq.frame_final_start + seq.frame_final_end) / 2)

print(bpy.context.sequences[0].calc_frame_mid())

... you can add Python style properties too.

Note, adding methods and properties to existing data types is known as Monkey Patching and often considered bad practice, however you can also use this to dynamically build up functionality into classes you generate for instance, so it can be used in some interesting/useful ways too.

If you modify Blenders built in types it will make the changes globally so beware it could break other scripts or even make Blender fail to use its own API's correctly, so this is really advanced api usage.


What is the most computationally efficient way to make ripples?

The most computationally efficient (and easiest) way to make ripples or waves in Blender is to use the Wave Modifier.

This feature was in Blender long before fluid simulations, dynamic paint, displacement textures or even modifiers. (It was called an "Effect" back then, but other than that, it has not changed much.)

I just tested it on Blender 1.60 from 1999. I bet it was in Blender sooner, but I don't have an Irix machine to test it.  (I also know a similar wave tool was in 3ds Max r2 in 1997.)

It's a simple procedural operation designed on much slower computers, so it's fast. (I believe it uses the sine function to offset the mesh, also it doesn't need to cache.)  You can interactively tinker with the settings and preview the animation.

It has options for the size of the wave, when and where it starts, whether it's a ripple circle or a wide wave...

It is simple, but you can do more advanced effects with it.  For example: to emulate a ripple bouncing off a wall, add another wave with the starting position outside of the object, the same distance to the wall.

Here's a video tutorial on using the wave modifier by the Ott Planetarium.


Only one of the materials gets added when importing from GLTF

I worked around the problem by adding a duplicate of the mesh and associating the second material with it. Not quite what I wanted, but it works now.


How to get Blender to add new face-ids but not recalculate old face-ids?

Geometry element indices can change at any time, don't rely on them!

See e.g. How are vertex indices determined?

You should instead use a custom data layer to store the group (continent) information in. I would suggest bm.faces.layers.int. How to display them in a panel is a bit tricky, because you need to iterate the entire mesh before you know which numbers / continents exist.

API docs: http://www.blender.org/api/blender_python_api_2_75_release/bmesh.html#customdata-access

Note that if a user extrudes a face that is part of a continent already, then that property might be copied to the new faces. It's definitely true for vertex extrusion, but I'm not entirely sure when or which faces may receive the custom properties of their ancestors. Also see second half of my answer here: https://blender.stackexchange.com/a/36816/1363

Another approach would be to use Vertex groups. There are some downsides however: Vertices can be assigned with weights, they can be assigned to multiple groups and the face selection may differ for certain topologies (3 adjacent faces, left and right part of a continent, the middle one not will select all 3 if vertex groups are used, since all of the vertices are used by the left and right face).


Model is solidified but appears full during 3D print

When using a 3D printer, which has hollows, its like trying to print a bridge with the tunnel part underneath. The printer cannot do this not without supports being printed too as the maximum angle support is around 45 degrees. The way to over come this is to tilt your model so that printer can put layers on top of one another. This might not be your problem of course but it is worth considering.

The other way is to print the support using a material that you can wash out afterwards. It would mean changing the material over once the supports are printed.

If you model's outside angles (travelling upwards from the base)are all within the 45 degrees then it should be ok. But I suspect that the printer might be trying to put down layers where there is nothing underneath it, so it prints the whole model filled in. I've had this problem myself. Had to think outside the box for this one :)


How to smooth a mesh for 3D printing (subdivide introduces ugly ripples and kinks)

Ok I figured it out!

Alt-J to make your mesh Quad
Instead of using "subdivide", use the modifier "subdivision surface"!

This is pretty basic but this was really confusing to a beginner like me. Hope it helps!


Can't Move Objects, Transforms Show Movement, Not Reacting To Physics

I guess the cause of the problem is that the start value of the simulation is smaller than the timeline's one.


settings bar when I add an object wont let me change anything

You have to enable: Global Undo
For 2.8x and 2.9.
Edit > User preferences > System > Memory & Limits: Global Undo


The multires modifier doesn't allow you to subdivide while in edit mode. Try switching to a different mode (e.g. object mode).

Note that you can still edit the base mesh in edit mode after subdividing (your changes will even affect the higher subdivisions), but you won't be able to see the affect on the higher poly mesh in real time.


Smooth shading / Sub Surface / Distorted render

Sorry I didn't have time to give you a formal answer yesterday.

For the Smooth Shader part of the question, it's as simple as using the Auto-Smooth option.  Play with the angle setting to get the effect you want:

Essentially, though, your main question is a matter of workflow.  The Remesh Modifier is a bit unpredictable, but you could try it.  Other than that or doing it by hand, there's really no way of fixing the issue without redoing at least part of your mesh.

The problem with the Subdivision Surface Modifier is that it's meant to be applied to quads or tris.  In your case, you have a few ngons wrapped around multiple cavities and protrusions.  Ngons, at least as it applies to Blender, are faces having more than four edges.  Even if it just has five edges, SubSurf still won't work correctly:

So you have a few options.  Before you ever begin to design your piece, make allowance for the above if you plan on using SubSurf.  You might even consider using high density meshes in place of SubSurf to begin with.  That way you're not relying on an "after" algorithm to modify your mesh.  Of course, the only problem with that approach is file size and complexity.  If you were 3D printing something, this would be the way to go:

You could apply the SubSurf before you make your knife cuts, but again it's added geometry, file-size, and complexity:

Normally, Subsurf works great.  The problem with your particular example is the cuts you made into the mesh.  Once you make a cut into a quad, most of the time you're gonna be left with an ngon.  So here's a solution that will keep you from having to go back to the drawing board and will also allow you to keep using SubSurf without applying it.

1.) Delete that whole top flat face.

2.) Select all the cylinders (and cones) and press P to separate them into their own object:

3.) Next, Alt select the inside rim and press E to extrude and S to scale toward the middle.  Press Alt + M to merge the vertices at the center.  You now have a triangle fan mesh:

Now add the Boolean Modifier to the casing and select the cylinders that you separated in step 2.  Select the Difference operation type.  You may have to raise the cylinders up until they just crest the plane of the casing.  Now Restrict the original cylinders from View and Render (but don't delete them).

The reason this works is because modifiers are applied in order starting with the top first.  In this case, we're edge-splitting, sub-dividing, and then using the Boolean mod.  This allows you the benefit of unapplied subdivision and Boolean simultaneously.

Finished product with no modifiers applied:


Blender always adds a .blend extension to my image, and can't be opened

.png and .jpg (or .jpeg) are formats for 2D images, not for blender projects.

To save the 3D project use Ctl S or File Save or Save As

Doing this you are saving the whole project: 3d models, all of the 3D environment and the work session (cameras, modifiers, meshes, animation, screens, etc). All of that information gets stored using blender's unique format that uses a .blend extension, that can only be opened in blender.

Note that Rendered images will not be saved within the blender file, unless they are saved as external files and packed into the .blendd Unsaved/unpacked images will otherwise be lost for ever once the file is closed.

If you want to export an image using .png or .jpg (or any of the supported image formats) you have to render your scene into an image first.  Use F12, and then save it using F3 (or save as image).

Then you'll be presented with an option for the format you want to save your image in.

A png or jpg file will be just a rendered image, IT WILL NOT CONTAIN THE 3D MODEL, NOR YOUR BLENDER SESSION.

For more info please read:

https://www.blender.org/manual/data_system/files/save.html?highlight=save

and

https://www.blender.org/manual/render/output/display.html?highlight=save%20image


It works just like you described :).
You're just mixing two different Musgrave textures (one is set to 2D and one to 3D)
Use the same texture and it will work.


How do I look for objects with a particular property with a particular value using Python in the BGE?

import bge

def findObjectByPropertyValue(propertyName, propertyValue):
    return [object for object in bge.logic.getCurrentScene()
            if propertyName in object and object[property] == propertyValue]

Alternative (This does not allow to search for value None as it can't distinguish between value None and not-present):

import bge

def findObjectByPropertyValue(propertyName, propertyValue):
    return [object for object in bge.logic.getCurrentScene()
            if propertyName.get(property) == propertyValue]


mesh edges still slightly visible after subdividing and shading smooth

try selecting the faces with visible edges(by that I mean press alt click the face to select all the faces surrounding the top and bottom part of the object), split, then limited dissolve. You would notice a significant difference.
PS. you need to fix the topology afterwards though.


Eevee disable receiving light for an object

I think in blender you have to use the compositor to do that. Blender doesn't have a light excluder see this tut.
https://www.youtube.com/watch?v=PByGtB_ahmw


TypeError: hsv_to_rgb() takes 3 positional arguments but 4 were given
This error means the function expects 3 values, but you're giving it 4, so it throws an error.
ValueError: bpy_struct: item.attr = val: sequences of dimension 0 should contain 4 items, not 3.
This error tells you that the property expects a sequence of 4 items assigned to it, not 3. This is because diffuse_color holds 4 values: R, G, B and A for Alpha. However, the colorsys.hsv_to_rgb() returns only 3 values, as the function name suggests and as the console displays:
>>> colorsys.hsv_to_rgb(.5, 0.875, 1.0)
(0.125, 1.0, 1.0)

In order to have a sequence compatible with the Blender's property, you have to add the alpha value to that sequence:
mat.diffuse_color = colorsys.hsv_to_rgb(.5, 0.875, 1.0) + (1.0,)

notice the awkward comma in the parentheses - without it Python would confuse it with a float wrapped around in parentheses like in mathematical equations. You only need such awkward comma in single-element tuples.


For Specular based shader system you need:

specular texture (effects the reflection color)
glossiness texture (effects the reflection sharpness)

In Cycles is used roughness, which is inverse of glossiness
In Blender Internal it is called hardness

For Metalness based shader system you need:

roughness texture (effects the reflection sharpness, inverse of glossiness)
metalness texture (effects how much is surface dielectric or metal)

You can make PBR shaders with both systems and you can convert between them too. A good article about this all is on Marmoset's site.

You can create these textures in multiple ways:

directly paint them with any 2D capable application (Photoshop, Krita, Gimp, Blender, Zbrush, Substance Painter, just about almost everything.. MsPaint, ..)
generate them from photographs (N Render, Substance B2M, Quixel, etc.)
generate them from (procedural) material by baking (Substance Designer, Blender, 3DMax, Maya, ..)


Unresponsive black screen; does not close

Open a new instance of Blender without opening any file, go to File > Open search for your file but before you open it untick the Load UI box at the bottom left of the File Browser editor.

Then open your Blend file, see if that works.

After successfully opening it Save As with a different file name.

You should probably submit your original corrupt blender file as a bug report in the bugtracker with a complete description like the one provided in your question, because it sounds like an issue that can produce corrupt .blend files that fail to open causing potential data loss.

In the future if you want to prevent this from happening you can make Blender never load the UI from other files bu unticking the Load UI option in File > User preferences > File > Save & Load > Load UI


Can blender create a topology of a face from real camera? (photogrammetry)

Blender can't do this (easily), but it is possible to do this with OpenSource Photogrammetry software  (PPT and MeshLab) outside of Blender, then import the resulting model, see:

Example, blog posts.

http://arc-team-open-research.blogspot.com.au/2012/09/converting-pictures-into-3d-mesh-with.html
http://arc-team-open-research.blogspot.com.au/2013/04/scanning-skulls-to-forensics-with-ppt.html

Tools:

http://opensourcephotogrammetry.blogspot.com.au
http://meshlab.sourceforge.net

Blender-Artists Thread (~2012):

http://blenderartists.org/forum/showthread.php?280309-opensource-3D-scaning-with-one-camera-blender-ppt-meshlab


Control metal reflection color with PR Shader and an Albedo input texture

The metalness workflow uses an Albedo map to define both the diffuse and reflectivity content.

for insulators the diffuse is taken from albedo, reflectivity color is white and the amount reflected is small (about 4%).
for metals the diffuse is black, reflectivity color is taken from albedo and amount reflected is 100%.

The metalness map is then used to define how much the material is an insulator or a metal and so how the albedo color is used.

It is setup like this to save texture space, which is important to game engines and to render engines alike. In the specular workflow the diffuse and reflectivity colors are set explicitly with two unique texture maps. You can make PBR materials with both approaches, more on this is nicely written on Marmoset's site.


While i do not know exactly which version you used to bake, it would only make a slight difference. The main problem is, that the .blend file you save/upload does not contain the baked cache used for the animation.

As you can see in the picture above, there is a cache folder where the data needed is stored. That folder contains what you baked and needs to be uploaded as well.
Depending on the size/resolution of the simulation it can fast become really big though.
While the .blend file saves where you stored the cache, you can always just click on the folder icon and search the folder in case you renamed it for uploading or packed and unpacked it somewhere.

Solution: Save the .blend file and pack it together with the "Cache-Folder" to upload it together. Later you can unpack it and only need to select the right folder when opening the .blend file to skip baking anew.


How to get rid of this artifact when sculpting by using multires

Use Apply Base in Multires modifier's options to avoid possible artifacts for the base geometry of the mesh.

What it does is it tries to make base (unsubdivided) mesh to match sculpted mesh as much as its geometry allows. The artifact on the screenshot probably was caused by relatively big shift of the sculpted mesh regarding the base one (although generally it shouldn't happen but if it does try to make base and sculpted match as much as possible).


What you can do is to separate your scene into two layers

Volume layer: Here there will be the lights and you have to change the material of all the objects to Holdout, you have to check Transparent on the Film menu as well.

Objects layer: Here there will be all the objects with their normal materials and all the lights. Just like your normal scene, but you have to set the density of the Volume world to 0.

Then, in the compositor, you have to do the next:

You can also try the denoising feature to reduce the noise, as well as reducing the step size and Max steps for Volume Sampling in the Geometry menu.

Hope that helps


How to simulate reflection of people in a 4 meter parabolic mirror to show that they won't appear upside down?

The mock-up works with Cycles ray-tracing, straightforwardly.
One approach .. You can create the parabolic surface directly, as ShiftA > Mesh > Math Function > Z Math Surface. Perhaps it's easier to extract the profile from a ZX function, curving in only one direction:

.. and having deleted all except the vertices: X>=0, Y=0, spin it with a Screw modifier.

Give the disc a 100% metal, pure White, 0 Roughness, mirror-surface.
The right-way-up virtual image is visible only from certain camera angles.. (if you play, you can see the hall-of-mirrors slide from wrong-way-up to right-way-up).

Maybe, for perfection, you could calculate the ideal normal of the mirror as a function of object-space XY, and plug that into the shader, to get rid of any artefacts resulting from the linear interpolation between vertices.. but for a demo, that doesn't seem to be necessary.


What is an efficient way to remove loose vertices?

In some instances, depending on topology, the following can work:

Select one of the vertices that you want to remove.

Choose Select> Similar> Amount of Connecting Edges from the 3D view header.

Deselect any vertices that have been selected but that you don't want to delete (in this case, the corners) and choose Mesh> Delete> Dissolve Vertices to delete the unwanted vertices.


Rendering from more than one camera view at once

There is a system in place that was initially designed for producing stereoscopic content, but was made flexible enough to basically produce an arbitrary number of views at the same time. It is called MultiView and is available in Blender 2.79 series as well as Blender 2.80. The following description targets how to set it up in Blender 2.80, as there were a few small UI changes here and there.
The .blend file I used while testing this is uploaded here:

Set the scene to use multiple views
Add as many Cameras as you need and set them up as usual.

To enable MultiView, which will render all of them in one shot, go to the Output Tab in the Properties Editor and check Stereoscopy. Then, switch the mode from Stereo to Multi-View. Deactivate the left and right camera, as they will display in red and green while rendering, following the Anaglyph standard, and their names can not be edited unfortunately. Next, add as many Camera slots as you need and name them. Note the Camera Suffix field. This is the most important one, as it will link the Camera by name to the Camera in the scene. Old-school, but that's how it is currently implemented.

Next, make sure that the scene Cameras are named according to the suffix:

At this point, you are ready to render
Hit F12 to render the scene. While the render is running, in the top right corner you have a dropdown box that allows to switch between views. This is not done automatically for you unfortunately.

Important: If you plan to composite later, it is best to use OpenEXR MultiLayer as the output format for the images, as it can store the views in one file in floating point precision, allowing for maximum flexibility in compositing. You can in this case set the Views Format to Multi-View like in the screenshot below.

You can of course use the other formats too, but then make sure that the Views Format is set to Individual. In that case, each View becomes a separate file:

Compositing
Compositing a MultiView Render Layer directly requires another node that allows you to switch between them. The View Switch node from the Converter section in the compositor allows you to do that.

External compositing software should be able to extract the corresponding channels from the MultiLayer EXR file you rendered. The design of the View Switch node is flawed in my opinion, as there is no way to switch the view with the node itself. Nor does the Render Layer node have such a dropdown box. You rather have to do this in the image editor again, like during render time. The compositing chain itself is applied to all views at the same time, which is also not ideal.
Much better choice is to use the MultiLayer OpenEXR file you produced earlier. When you load that, you can choose the view to composite from the dropdown box. It comes in like this:

But can be set to this:

Now you have access to each camera View independently and can hook up arbitrary compositing chains on each. Just duplicate the input node and set the View dropdown box to the one you need.


Credits to Robin Betts for this, he nailed the issue head-on in the comments. I'm just explaining it a bit more thoroughly with screenshots.

Essentially what is going on is that for all the faces on the larger objects, you've mapped it to have a large bevel. For the smaller ones, you've mapped them to have a smaller bevel.

However, when a small object meets a big object, the face of the larger object is still trying to create a large bevel, while the smaller one is trying to create a small one on the same edge- resulting in that inwards bevel effect.

As you can see in the screenshot below, I've cut additional geometry to surround your smaller objects and moved their UV mapping so that they shared the same bevel width.

Here's a comparison of before/after:


Animation nodes, join a list / group of objects into a single mesh

When you use a loop, you need to know, that loop inputs list of something, and break apart this list into elements inside loop. Output makes reverse things - all elements join into one list, so you don't need to do this dirty joining work.


How do I render a Panorama-tracker stabilized 360° video?

You have to connect the image result of the compositing to the composite node as well as the viewer node to see anything in the final render.  The viewer node just controls the compositor backdrop.


Cloth physics : drop/unroll a cloth sheet from the top of a building

Here is another way to go.  Instead of using pinning to connect the bottom vertices of the banner to the bottom cylinder, parent the bottom cylinder to the bottom 3 vertices of the banner.  (Keep the pinning to the top cylinder so the top of the banner stays put.)  That way, as the bottom of the cloth naturally falls due to gravity, the cylinder will fall with it.  You would need to adjust the mesh of the banner to a staring position where the bottom vertices are near the top ones, and probably "bunch up" the rest of the flag so it's all up at or near the top.

Here is a quick and dirty implementation of that idea:


How to get a "smoothed" wireframe using Freestyle lines?

If you use Freestyle, one of its parameters is 'Crease Angle'.

If you set that high in Freestyle's general settings, and one of the discriminants for the Line Set is Edge Type > Crease, then Freestyle will pick up edges between faces where the internal angle between them is below the given threshold.
There is a 'Face Smoothness' checkbox for the Crease Angle. If it is unchecked, it will use the angle between face-normals in the underlying geometry. If checked, it will use the normals as interpolated by the smooth shading algorithm...

...above, with 'Face Smoothness' checked. The left cylinder is flat-shaded, and the right cylinder smooth-shaded, with Autosmooth set to split out its caps.
There is also a Crease Angle modifier available for attributes of the Line Style. So you can, for example, vary the color of the line, depending on the angle between the faces it separates:

You can always render out Freestyle as a separate pass, to composite with other components as you choose.


How to animate the start position object on the wave modifier?

I tried reproducing what you have described and it seems to work fine.
Upon opening the file, press Alt+A to test the animation and try moving the non animated empty to see.

We can investigate more what is causing this but you shouldn't need to apply the modifier. In fact, applying it will remove the interaction between the empty and the mesh and just turn the sphere to the shape it is under the influence permanently.

Providing more details about how did you animate the empty would also help.


The __name__ and __main__ are as they should be. You do not need to put anything in the underlined places.

__name__ is a variable that either contains the name of the script or the string "__main__" if you run the code in script mode. Again, you don't need to touch them.

I doubt this script will help your issue though. You probably need to look at how to set up a proper character system in BGE. Armatures don't do physics.


Particles/Hair: How do I adjust the normal so the spikes go the same way around the object?

After a lot of web digging and experimenting, the answer was in the manual!

In the Particles panel enable the Rotation option, and set Initial Orientation to Normal-Tangent. BUT you need to have created a UV map for this to work.

Depending on the shape of your faces, the UV Reset option in UV Mapping drop down can be useful setting the initial rotation too.


Model still appearing pink after applying image.

I found that you can unwrap the object in glsl texture mode then import the texture and attach it to a material by adding a material, applying it to the faces you want textured, selecting the material, going to the textures tab, new, material. you can then edit the uv map of the object how you like


What do the settings in the new Principled Shader actually do?

Most of these answers can be dug out of the paper linked by timaroberts

The default specular of 0.5 corresponds to an IOR of 1.5. See section 5.4 of the paper:

  In place of an explicit index-of-refraction, or ior, our specular parameter determines the incident
  specular amount. The normalized range of this parameter is remapped linearly to the incident specular
  range [0.0, 0.08]. This corresponds to ior values in the range [1.0, 1.8], encompassing most common
  materials. Notably, the middle of the parameter range corresponds to an ior of 1.5, a very typical
  value, and is also our default. The specular parameter may be pushed beyond one to reach higher ior
  values but should be done with caution. This mapping of the parameter has helped greatly in getting artists to make plausible materials given that real-world incident reflectance values are so unintuitively
  low.

(cont) Note that this is different from PBR spec/gloss shaders, which directly map the incident specular (the 0.0 - 0.08) values mentioned in the above paragraph. "Specular" outputs from software such as Substance should NOT be connected to this input, they contain different data entirely. Cycles' fresnel node uses a default IOR of 1.45 instead of 1.5, so it will have a slightly different look by default. Both 1.45 and 1.5 were chosen for being nice round numbers in the rough ballpark of most dielectrics, so neither is necessarily right or wrong as the default. Worth noting the viewport shader in Substance does not allow editing of this setting and just locks it off at 0.5, so if you want to match Substance, you should not modify this value.
See section 4.5 of the Disney paper. It pushes up the specular component at grazing angles to approximate light interacting with cloth fibers. It adds some extra off-angle sheen similar to Cycles' velvet shader
Since the light diffusing through cloth will pick up the color of the cloth, there's an option, sheen tint, to tint the extra spec with the base color. Since this is useful in many cases, it defaults to 0.5 so it is auto-enabled when sheen is enabled.
To be honest, I have no idea why this was done. Some other PBR shaders, such as Arnold's aiStandardSurface, still use roughness for clearcoat. Likely it made sense to someone at Disney working on the shader and they just ran with it. They didn't bother to record their reasoning in the original paper that I can find.
The paper mentions they used clearcoat normals to get some floor sparkle effects in Wreck It Ralph. Also, since the clearcoat normal is independent (to allow things like carbon fiber as you mentioned), you still need some ability to set it when you DO want your base normals to also apply to the clearcoat. In this case you aren't really applying a different normal, you'd just connect the same bump/normal node to both inputs, but you need the separate input so you have the option to NOT apply the bump/normal map to the clearcoat.


Is there a way to make layers for textures?

Final & Overview:

If you want to have an easy process you should have proper UV Mapping for your object and two textures.

Cuboid texture - It could be anything you want.

Hair texture - Should be painted on transparent background.

When you have both of them you can Mix them trough Inverted Alpha Channel from your Hair texture.

Blend file:

Edit:

To switch between textures in Texture Paint mode go to Slots tab and select desired texture. Always save them after painting and don't forget to save image file (or pack it) in UV Image Editor.


How to have a custom floatproperty based on the selected face? (Knowing that it is not possible)2.8

Mesh data layers

Mesh components, faces, edges and vertices, can have custom data layers. A float can be assigned to each face in a mesh with custom face float layer

In object mode the index of the active face is me.polygons.active  and in bmesh the active face is bm.faces.active, which will be None if no face is active.

Here is a simple test script.  Run in object mode. Adds a custom float layer, and sets the value of the active face to 5. Switches to edit mode, prints the layer float value of the active face.

import bpy
import bmesh

context = bpy.context
ob = context.object
me = ob.data

# add a float layer to faces
float_layer = me.polygon_layers_float.new(name="float_layer")

# set the value of the active face to 5.0

float_layer.data[me.polygons.active].value = 5
bpy.ops.object.mode_set(mode='EDIT')

bm = bmesh.from_edit_mesh(me)
# get the float layer
float_layer = bm.faces.layers.float.get(float_layer.name)

af = bm.faces.active
if af:
    print(af[float_layer])

UV is also a mesh layer, associated with face loops (each uv face has its own set of 2d coordinate verts, whereas mesh faces, if connected,  share verts with other faces at edges)  For an example see Text Editor > Templates > Python > Operator Mesh UV

Property and Panel

Since the property attains to a mesh, possibly a good idea to make it a bpy.types.Mesh property.

Have made an edit mode bmesh property on the panel. The poll method will set it, and clear it when in object mode.  The mesh needs a "float_layer" as explained above. Run the code above to add a face float layer to the active mesh object

The poll method is required to attach a live edit bmesh to the panel when the object enters edit mode (polls).

import bpy
import bmesh

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Mesh properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "data"
    ebm = dict()

    @classmethod
    def poll(cls, context):
        if context.mode == 'EDIT_MESH':
            me = context.edit_object.data
            fl = me.polygon_layers_float.get("float_layer")

            if fl:
                cls.ebm.setdefault(me.name, bmesh.from_edit_mesh(me))
                return True

        cls.ebm.clear()
        return False

    def draw(self, context):
        layout = self.layout
        me = context.edit_object.data
        layout.prop(me, "float_value")

def set_float(self, value):

    bm = HelloWorldPanel.ebm.setdefault(self.name, bmesh.from_edit_mesh(self))

    # get the float layer
    float_layer = bm.faces.layers.float.get("float_layer")

    af = bm.faces.active
    if af:
        af[float_layer] = value
        bmesh.update_edit_mesh(self)

def get_float(self):
    bm = HelloWorldPanel.ebm.setdefault(self.name, bmesh.from_edit_mesh(self))

    # get the float layer
    float_layer = bm.faces.layers.float.get("float_layer")

    af = bm.faces.active
    if af:
        return(af[float_layer])
    #bm.free()

def register():
    bpy.utils.register_class(HelloWorldPanel)
    bpy.types.Mesh.float_value = bpy.props.FloatProperty(get=get_float, set=set_float)

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

if __name__ == "__main__":
    register()

Script designed for 2.8 can confirm also runs in 2.79


Why is the Clay Brush (set to add) actually Subtracting during stroke? (Sculpting)

The behavior is caused by Autosmooth (Sidebar (N) > Tool > Brush Settings). This setting controls the amount of smoothing that is applied to each brush stroke. In your project the positive displacement of the clay brush is cancelled out by the stronger Autosmooth. The strength of Autosmooth depends both on the factor in the tool settings and the resolution of the mesh. An object will be affected less in its shape the higher the mesh resolution is.
Hence, there are three options to reduce this unintended displacement:

Reduce the strength of Autosmooth.
Increase the strength of the clay brush.
Use a higher number of subdivisions.

The first and second option are the most straight forward solution to the problem. The third option is only listed for completeness, it is likely not desirable to increase the number of subdivisions just to reduce the impact of Autosmooth.


Enable Ambient Occlusion (AO) in Cycles?

I finally found the solution: You don't need to enable Ambient Occlusion in the "World"-settings (since this just brightens your image): just enable it in the "View Layer"-settings as a pass. Then, in the Compositor, add a Color Balance node (or some other color node that allows you to change the darkness of the AO pass) and connect it to the AO output of the Render Layers node. Then, connect the output of the Color Balance node and the Image output of the Render Layers node to a Multiply (Mix) node, and then finally connect the output of the Multiply (Mix) node to a File Output node. This way you can manually control the AO in Cycles.


This blog post explains how to retopologize a mesh and bake the normal maps from the hi-polygon mesh to the low polygon mesh. This was exactly what I was looking for, but didn't know what the process was called (baking normal maps).

Another blog post that goes into greater detail on baking normal maps.

I would also like to thank @TARDIS Maker for pointing out that 3D scans could be done as a full on mesh and not only point clouds, AND for shining the light of retopologizing hi-res meshes. I had no idea this process existed.


How do I animate the texture mapping location in the node editor?

You can't animate this texture mapping. (Or maybe you can with Python scripting ?)
What you have to do is add a Texture Coordinate and a Mapping node before your Magic Texture node. You can then animate the fields from the Mapping node.


Here's an example that shows you what normal is parallel or perpendicular.

(I'm not sorting the list, cause you say sorting, but then only care for parallel/ perp. ?)

check the object type and if has faces
list normals, including obj world rotation + scale
compare with vector.dot so that 1/-1 are parallel, 0 is perpendicular

Note the > < 0.0001 comparison rather than == cause of the float precision issues.

from mathutils import Vector

orientZ = []

if Object is not None and getattr(Object, 'type', '') == 'MESH':
    if Object.data.polygons:
        worldZ = Vector([0, 0, 1])

        mat = Object.matrix_world
        loc = mat.to_translation()
        normals = [(mat * p.normal - loc).normalized() for p in Object.data.polygons]

        # if dot is 0, is perpendicular, 1/-1 are up, down
        for n in normals:
            dotN = n.dot(worldZ)

            if   abs(dotN) > 0.9999: orientZ.append(1)
            elif abs(dotN) < 0.0001: orientZ.append(0)
            else:
                orientZ.append(-1)

and gives a list of 1, 0, -1 for Z, perp, others

Another example is this
How can I compare normals in AN with python, doing the same, by distance compare to world XYZ axes.


bpy.ops.object.select_pattern
As mentioned in your previous question re the operator script  Script is selecting all the objects (unwanted) there is already a pattern matching operator, bpy.ops.object.select_pattern which uses Unix file token matching.  See no need to "reinvent the wheel" and write another, which so far has no extra functionality.  Here is quick run down on how it works. (The code of the operator is available in bl_operators/object.py.)
>>> bpy.ops.object.select_pattern(
select_pattern()
bpy.ops.object.select_pattern(pattern="*", case_sensitive=False, extend=True)
Select objects matching a naming pattern

options to extend the selection, and a case insensitive match.
>>> import fnmatch
>>> fnmatch.fnmatch(
fnmatch(name, pat)
Test whether FILENAME matches PATTERN.
Patterns are Unix shell style:
*       matches everything
?       matches any single character
[seq]   matches any character in seq
[!seq]  matches any char not in seq
An initial period in FILENAME is not special.
Both FILENAME and PATTERN are first case-normalized
if the operating system requires it.
If you don't want this, use fnmatchcase(FILENAME, PATTERN).

So for example sake will pinch
>>> txt = {"US40.004", "US40.005", "US41.001", "US51.006", "US-009.009", "US-009.010", "US-015", "US-016", "USA", "USADOT"}

make a pattern, Case sensitive, any name starting with "US" but not having  an uppercase character as third character. then end with anything
>>> pattern = "US[!A-Z]*"
>>> for t in txt:
...     t, fnmatch.fnmatchcase(t, pattern)
...
('US-009.009', True)
('US40.005', True)
('US41.001', True)
('US51.006', True)
('US-016', True)
('US-009.010', True)
('USA', False)
('USADOT', False)
('US-015', True)
('US40.004', True)

Looks about right, so a call with instead object names matching the sample list
bpy.ops.object.select_pattern(pattern="US[!A-Z]*", case_sensitive=True)

in object mode will select all objects denoted True above
To clarify, re the commentary below, it is not necessary to use the operator could (thought this was implied TBH) instead
for ob in scene.objects:
    ob.select_set(fnmatch.fnmatchcase(ob.name, pattern)) # match case

Re setting the active object. If the context object is no longer selected, or None and you wish it to be one of the selected
if context.selected_objects and context.object not in context.selected_objects:
    context.view_layer.objects.active = context.selected_objects[0]

ie If the active object is set and selected probably don't want to randomly change it to another of the selected objects.  (BTW most selection operators do not set the active object)


How do I add a composite effect to a scene using material index?

It is unclear to me what you mean by shockwave, but here's what I think.

For better control separate the different elements in different layers.

Then set different render layers, so that the particle layer excludes the torus and the layer for the torus excludes the particles.

Then mix them in the compositor using alpha over, you won't need the material index:

click on the image to enlarge


how do I create a sprite with hard (aliased) edges, but still be antialiased inside?

This answer was composed based on help from several individuals in the #blender IRC channel (you know who you are).

The first step is to use blender's Compositor.  Start out by clicking the Use Nodes checkbox.  That should create the two-node pipeline that does nothing exciting.  Route the alpha channel through Math node (available through the Converter submenu of the shift-A menu) configured to do a Greater Than operation against 0.001.  This means that an alpha of 0 will remain zero, but an alpha of 0.001 or higher (and 0.001 < 1/255)  will be converted to 1.

The problem that remains is that the edges that otherwise would have been translucent are now kind of dark.  That's because the Image channel coming out of the Render Layers node is premultiplied.  To correct for this, add an Alpha Convert node (available under the Converter submenu) and route the image channel through that on its way to the Composite node.

Now your edges are hard and they match the thresholded alpha channel.


Set 3D cursor button randomly set to LMB in Edit Mode

Press the cursor icon in the left toolbar (you can call it by pressing T)
(as pointed out by @FFelller)


What is best way to organize a scene with different sets of materials?

Thank you for posting your question so clearly.
Yes, there is a better way to do this, specifically for Archviz.

Create a SPHERE or GRID, apply desired texture material.
On your scene, FIRST select your wall-to-be-changed-material, then select the sphere/grid you created to represent your material LAST. Hit CTRL+L (Link data shortcut) and select MATERIAL.

Now, repeat for all geometry that will use that material. In my example picture, everything in the house that will use the PINK material, are "CTRL+L" (Linked) to that material.

Have your material nodes ready and separated to connect EACH material into the corresponding "LINKED MATERIAL sphere/grid".
This is how you can change materials amazingly quicker without the need to enter groups. This way you change all your properties visually -by literally interchanging- the material output connector.

Notice the first thing is to link geometry to this other geometry which contains the TEXTURE. (1). Inside that material you have all your OTHER MATERIAL NODE GROUP options. So it is easy for you to single connect (interchange connect) when you touch that material (for the sake of the example: I´m going to call the ball mesh material "GRASS", so I know all GRASS elements are depending (LINKED) to this material.
Then, on the shader tree, I can have other NODE GROUP options to reconnect other option materials (2).

If asset library was here (Blender 2.8 new feature) we could do just "drag drop" materials on this LINKED mesh. But since we can´t now (feature probably available by May or later), then all we are left to, is to have the group nodes contained INSIDE the material, but not connected until you want to switch them.

Thanks if you vote me up as ANSWER to your question.
Cheers.


How to move multiple UV's face together to the 2D cursor

One (not perfect, but useful) workaround: select all faces that will share the same portion of the texture and press U choosing "reset" option: all thoose faces will be UV unwrapped in a stack covering all the UV space available. This "big square" can be scaled and moved to the right place and dimensions with a single shot, even using the "Shift S, selected to cursor" option.


Prevent Blender to add numbers behind materials when importing a FBX

Hopefully, using a Material Specials addon could do the job for you:

Enable it in User Preferences (CtrlAltU) > Addons.

After you import your model, use the slots menu by clicking the arrow down button (beside material slots list) and navigate to Specials > Merge Base Names

Set AutoRename and click OK, it should remove .00X from all materials (not only for selected object)

If you get multiple materials with the same name, you can try Clean Material Slots function:


I guess you have semi-transparency enabled. Turn it off.

Other than that you might have a mirror modifier active or mirrored the mesh somehow.


You have deactivated the nodes for several materials, which is why the settings aren't applied. Click "Use Nodes" and it works.

Nodes are deactivated in the file. Notice that "Use Nodes" is gray.

Click on "Use Nodes" to activate

Changes are now being applied.


Have you tried simulating the cloth object as "cloth" in the Physics panel? It'll make the object behave like real cloth. Set the cloth as "cloth" and the body as "collision", and press the "Play" button in the timeframe, and it should go well.


Trying to find source of motion of a bone in blender 2.8

You've created some actions then pushed them down from the Dopesheet into the NLA, so they are playing in the NLA and you don't see them in the Dopesheet for the moment, it's the NLA that is playing. If you want to see one of these actions again in the Dopesheet you need to go in the NLA, select a strip and press tab, it will appear in the Dopesheet, or you can also reload it directly in the Dopesheet / Action Editor mode: Select its name in the dropdown menu of the horizontal menu bar.


Creating a Stick man with rectangular sticks

You need to make a single mesh instead of many small overlapping ones.

Start with a cube.

Then press "Tab" to go into edit mode
Then press "Ctrl + Tab" and select "Face"
Right click the top of the cube, press "G" then middle mouse button
then pull up, then right click

I can go on and on, email me at psuheena@yahoo.com
and we can set up a teamviewer so I can show you one on one if you want.

[]
[]2


modelling question regarding smooth depressions on surfaces

There are a few ways to do this.
The most basic is using smaller and smaller loops (inset faces tool is your friend)
Subdivision modifier will then smooth it out.

Two examples:

Other (more elegant) ways may include Boolean modifier, edge creases, sculpting, etc.
Note: It was fun to try this, if you need any help, let me know.


You have enabled Shadow Catcher the object.

Select it, go to the object properties in the Properties area, uncheck Shadow Catcher.

Shadow Catcher objects will appear as a transparent mask except for the shadows.

  [The shadow catcher enables] the object to only receive shadow rays. It is to be noted that shadow catcher objects will interact with other CG objects via indirect light interaction. This feature makes it really easy to combine CGI elements into a real-world footage.

Manual Page


Duplicate one fluid simulation with a time offset?

The duplicating and rotating is no problem, just copy the domain with Shift + D. But the time offset is a different thing. Let's say your simulation goes from frame 1 to 50. If you want to duplicate it with an offset of 10 so that it runs from frame 11 to 60 you have to duplicate the cache folder, rename the data file suffixes from _0001 - _0050 to _0011 - 0060 and then tell your domain that it should use this cache folder instead of the original one. You also have to adjust the "Frame Start" and "End" to 11 and 60.


You've called your bones Left_Shoulder and Right_Shoulder (prefixes), and so on for the other bones, instead of Shoulder_L and Shoulder_R (suffixes). Actually I was a bit surprised that you were able to copy flip with this kind of terminology. That said, it looks like in the Dopesheet, with CtrlC and ShiftCtrlV you still need to use suffixes. I guess it's something they have forgotten to fix: Either you can use prefixes everywhere or you can't, or I miss something...


Unwrapping a cube for multiple textures?

Yes.  You do need two materials.  I would make two materials, and two material slots.  To make slots you press the plus beside the materials list in the material tab.  You should see another sphere appear in the list.  Then, assign the new material the top image texture.  After that, in  edit mode, select the top faces.  With them selected, then select the new material you just made in the list, then click assign.  Then, you can unwrap the top faces, or you can use your existing unwrap and replace the original image with the new top one.

Don't call yourself a noob.  We all start somewhere. :)


Node properties panel missing in compositor

Try this:
Delete the Compositing tab up the top:

Add a new Compositing tab:

Fixed!

Bonus: You can shuffle tabs around with Reorder to Front to get them back to where they were:

Here's your .blend back again:


Is there a way to "remesh" a mesh with even edge loops?

If you search for an addon called Loop Tools, they allow to space vertices or edges. Once you have enabled this addon, select all the vertices or edges you want to space, press W --> Loop Tools --> Space.


How to do a correct shoulder deformation?

If what's bothering you is what's happening on the armpit, switch to Weight Paint mode, select a Blend > Subtract brush, Strength 1, activate the 2D Falloff option in order to paint through, and paint.


Once you have the texture baked you need to assign it as an emission material to the object.

This is pretty simple:

Go to the node editor
Disconnect any nodes you have plugged into the surface socket on the material output node (you needn't delete them).
Add an emission shader and an image texture node.
Select the baked texture on the image texture node and plug it into the color input of the emission shader and plug the emission shader into the surface output.  Make sure the strength of the emission shader is 1.00.

Note that if the camera is animated, baked glossy sharers will not look right.

For further reference, see Andrew Price's Introduction to Baking in Cycles.


Drawing on tracked video footage with the grease pencil

When you just want to add some paintings on the wall a simple image texture on a transparent background (e.g. created in Photoshop/GIMP) would do the job. If you would want to dynamically build up a drawing on the wall have a look at Blender's "Dynamic Paint"-system.


How can I do extreme squash and stretch of a character animation?

I believe this youtube link would help.
Blender rigging tutorial, part3

In this video, it is accomplished by setting an empty as a parent of the object and squashing it.


Moving vertex moves only the vertex, not the edges it is connected to

Looks like I was not pressing G AFTER selecting the vertex I wanted to move.
I was just selecting the vertex and moving it.
Pressing G then the vertex I want to move made it work as intended.


2.74 not using all CPU cores when baking rigid body physics

It looks like this is a known limitation of Blender (both the past 2.74 version and the current 2.76, at this time). The Cycles engine just doesn't (yet) have multithreading capability for baking rigid body physics. (Possibly soft body physics, also, though I haven't tested.)


Cryptomatte outputs one or two colors only

It's because you are using the pick plug instead of the image or matte plug


How to speed up when blender has suddenly slowed down?

Yes, this is normal.  The fact that the CPU utilization was so low tells me that your daughter has probably 'baked'[1] the simulation to a disk cache so most of the 'work' will be showing up in the form of disk I/O rather than CPU utilization.  This is a good thing and probably giving her much better performance than if she 'frees' the bake.  The physical sims (smoke, fire, water, soft body) are fun but expensive: they are quite computationally and storage intensive and will often soak up any amount of performance a consumer grade system has to offer.  The performance and storage issues get exponentially worse as you dial up the detail, such as going from 32 to 256 divisions.

Some tips to help her deal with this:

When you're working out a scene, keep the detail settings of the sim as low as possible to provide the general 'feel' for how it's going to look when it's done.  Bake it for performance and work through as much as possible of the rest of the scene.
Once you have everything else worked out, free the bake
Now then start dialing up the detail level of the sim until it is just above her threshold of 'that looks the way I want it'
Bake the sim again at the final detail settings
Fine tune / finish up
Render the final animation

[1] To determine whether the smoke sim has been baked or not, select the smoke domain and then go to the 'Physics' tab of the Properties browser.  At the bottom there is a section 'Smoke Cache' and a set of 6 buttons in a group.  If the first button is labeled 'Bake', then she hasn't baked the sim.  If it is labeled 'Free Bake', then she has.  Either way, the smoke cache defaults to using a sub-directory in the same directory as the main .blend file (so if she has saved it as my.blend, there should also be a blendcache_my-smoke directory)


Faces Refuse to Merge - Merging Objects Faces between two Joined Objects

While in Edit Mode for the object which contains the problem face you want to be rid of, go to the Select menu at the top of the 3D View, then find Select All by Trait, and choose Non-Manifold. Only non-manifold geometry will be selected. Then you can press x to bring up the delete menu, and choose Faces, which will get rid of only the faces which were earlier selected as non-manifold. You might alternatively consider choosing the Loose Geometry option under the Select All by Trait menu. I mention this alternative because I find that the Non-manifold option does not always appear in the list, depending on the nature of the object's current topology.


Subdivison surface awkward when extruding

When you extruded, as you didn't activate the Clipping option of the Mirror modifier, you created a inner face on the mirror axis.

So you can either:

Cancel your extrusion and redo it with the Clipping option enabled
Or delete the inner face: On the bottom of your 3D view, click Face Select button, disable the Limit Selection to Visible button, you'll see the inside face, then select it and X > Delete Faces.

Also, you should put the Mirror modifier above the Subsurface modifier.


Move/Rotate/Scale without needing to hit the gizmo with your mouse

As @Aardenon said, you can push G to use the grab tool. From there, pushing X Y or Z will lock it to that axis. If you're in edit mode, pushing X Y or Z again will allow you to move your selection on a local axis, and in object mode, this just unlocks the axis.

Also, you can hold Shift + [axis] to exclude that axis from the lock (e.g. holding shift + X will lock the transform to the Y and Z axes).

This also works with the rotate tool (Rkey ) and the scale tool ( S key).


first of all, in the archive you've sent i haven't found any portals.. to set them properly you shoud get an area lamp and not a sun one.

like this:

second, i recommend you to reduce the light bounces, its better for performance and i think it may help with some of the noise:

the denoiser effect may be too strong, i'd leave it in the default settings, besides 8 radius costs a lot of performance..

A big part of the problem can be because there is too many light sources.. i don't know how you could fix this.. but from what i already said im pretty sure you'll get better results


The Claw of my Mesh deforms when I bend the Armature

there must a vertex group (a mesh) assigned to that bone and it makes it bend, be sure to check how are assigned all your vertex groups after parenting, also lucks wrong tilted that bone, in the right panel appears an option for that called "tilt" then you can fix it, also rotating in the local axis might work too.


Render scene where camera has background image (Blender 2.8)

You need to add geometry on top of your background image, in order to render.

Once you add geometry, subdivide everything and then Press U >> Project from View

After that, add a material to the geometry and inside this one, add your image.

Finally, render.

Good Luck


How to fix gap between rigid body objects?

It looks as though you already have taken care of making sure that Collision Type is set to "Mesh" and that the Margin is set nice and low. I can only suggest that you check all your participating objects for these settings and perhaps lowering the margin setting even more. It may help to apply scale, as suggested by the gentleman who answered this similar question.


FBX file boujou track data lags behind video

Did you pre-cached?
Also check your current timeline is running at 23.976 it looks like your video is not 24 full frame. Check your video´s fps, then the timeline (render), then the cache before you track.
You need to re-do the track after you set all those things up.
Please vote me up on my answer if you find it useful. Thanks.


How to combine objects without losing specific properties

The best way to do this, is to put the four objects into a Collection.
You can duplicate the Collection or use it in a Particle System. Select Collection >Whole Collection to make sure that all the objects stay together as one.


No particle button available (EVEN WITH MESH)

Your particle button is off the side of the screen due to the size of your properties window. You can reach the particles button by scrolling over the properties buttons, or expanding the properties window so the entire thing fits at once.


How to figure out which parts of a track don't have enough markers

You don't need the markers to stay in the frame for the duration of the shot, but you do need to have at least 8 successful trackers for a section from which blender can solve the scene.

The range of frames used for solving can be set in the solve section Keyframe A and B

If you can't decide which range of frames is best, you can let Blender decide for you by enabling the Keyframe option on the solve tab.

Please read through the following link: How can I get better results when doing camera motion tracking?


I think i found solution. It's enough to click on this icon near Particle Settings, and it makes particle different from others.


How to make a shader that applies this effect to each face of a cube?

I feel like the easiest way to think of this is to have a grid of square gradients and when you use a greater than, you can change the size of the square. Think of it as changing the height that you cut through a pyramid, at the top the cross section would be small but at the bottom, it'll be large.
To make your grid of squares we can do a little bit of vector maths. I'll be using the UV coordinates as this will let you unwrap your cube so each face gets the whole effect.
I am scaling the UV coordinates 20x so that we get 20 squares and then breaking it into a grid with Fraction. I then centre each space by subtracting 0.5 and use absolute to make each space symmetrical. This is the easiest way to get a square grid. I then separateXYZ and use a maximum node in order to get our little pyramids for each square.

If we add a math node set to Less Than at the end, you'll see the threshold will change the size of all the squares. To make this wipe down like your animation, we need the threshold value to be a gradient.
Branch off from the Scale node and add a separateXYZ followed by a math node set to snap. Take the Y socket into the math node and set the increment to 1 (this is to match the fraction node which also repeats at 1).

We now have a gradient and that we can manipulate to control the animation. To change the position of the gradient, add a math node set to subtract, and then follow that with another math node, set to multiply. The multiply will act as the falloff control. Use a small number like 0.1 for now. If we plug this into the threshold of the Less Than node, you'll see the square gradient how you want. You can change the subtract value to move the transition up and down.

Finally, to animate the sequence, we need to bring the frame number into the shader. Add a value node and type #frame into the value field. This will create a driver that takes the frame number. We want to have a loop so we're going to add a math node set to modulo. We need to use the loop length twice so add another value node that we can use and plug this into the bottom of the modulo. Set the loop length value to something like 80. Follow the modulo with a map range and plug the modulo into the first value and the loop length value node into the From Max socket. Set the from Min socket to 1. Our To Min and To Max socket slightly depends on a few things such as what scale value we've used and what the falloff is set to and the loop length so the settings for a scale of 20 and falloff of 0.1 are:
To Min: 20
To Max: -5
Plug this map range into the bottom of the subtract node to control the position of the wipe.


How to untwist a twisted STL model from microCT scanning

Solved! Turns out the Simple Deform modifier works perfectly for this type of thing!

Steps for Blender 2.81:

Import the STL file into Blender using File, Import, Stl
If required, rotate the model so that the twist axis is aligned with the X, Y or Z axis
In Object mode, select the entire STL object
Go to the Modifier tab and select the Simple Deform modifier. By default the Twist operation will be selected.
Select the axis along which the twist in the model is aligned.
Adjust the Deform Angle until the twist is removed or at least as small as you can get it.
To save the corrected STL, go to File, Export, Stl, give it a different filename and click Export STL.


How to troubleshoot Blender 2.83 crashing

Follow the instructions here, you'll get a crash report:
https://docs.blender.org/manual/en/latest/troubleshooting/crash.html
It's no guaranteed fix, but it will get you some information. Also ofc. keep your drivers up to date.
And lastly, windows 7 isn't supported by MS anymore, seriously consider switching to win 10.


Welcome to StackExchange. First, set the Origin of the Plane Object at its edge

Then, use Object Matrix Output node with Type is World (N-panel -> Node -> Advanced Node Settings) and Matrix Math node to rotate and scale the instanced objects from the World Center,

Blend File:


Is it possible to use different compositor settings for different layers?

Ok I figured it out.  I didn't select the right scenes in the Render Layers node.


How do I limit particles to move only on certain axis?

I have made Extra Nodes for Animation Nodes (blender 2.79, blender 2.80) which allows to control particles very easily. Here is solution for your problem:

So, in this node-tree, using particle data node, first get the locations of all particles (unborn, alive, dying which is crucial step) then multiply the locations with vector (1, 0, 1) which makes y-axis locations zero or limit the particles in the XZ-axis but you can limit them in any axes. Now, use these new locations of particles and plug them into the locations input of the particles output node. Here is tutorial link how to install and use Extra Nodes: https://www.youtube.com/watch?v=hvzr8lu5Ef0