Weight painting basic character. Mesh distorting when moving - Newbie

Basically your mesh get distorted because every vertex is weighted to a lot of different bones: every pose will establish a different bones influence to every vertex, causing distortions.
Every vertex should be assigned to one bone only, except where you want a "fleshy organic" deformation (in which generally you have two bones affecting the joint).

Your case is difficult to resolve because you used a lot of vertices (300.000) while generally we have less (2-5.000 can be enough for your shapes) followed by a subsurf modifier to get smooth result: in this way it's easier to weight paint the control vertices and get smooth deformation exactly as you want.

By the way you have a lot of inverted normals (select all in edit mode and recalculate normals, to get correct behaviour when shading).

This is an example of body modelled with 224 vertices (instead of 10.000) then subsurfed with 2 subdivisions (with which the vertex count goes to 6.700 more or less, but the weight painting can be done relatively to 224 vertices only). Put the subsurf modifier after the armature modifier, so to smooth every posing artifact.


This is called the "terminator artifact", and there's indeed few things you can do about it besides increasing the subsurf level to make the tiles less noticeable.

A workaround has been added to Blender to hide this, and was accepted on may 29th, but it's not yet available in the stable release.
Though it is available in the current daily build of version 2.90.


I suggest you use a single seam down the length of the silo (marked in red) and then do a normal UV unwrap. This way the UV layout is connected, and the texture space is used a lot more efficiently.

Generally speaking using overlapping UV is considered bad practice in Substance Painter, because it prevents Painter from baking proper AO maps and the results is generally very unpredictable.


Can't change my object duration on timeline

First go to the Timeline window.

There you can define your rendering and playback range by choosing your start frame and end frame:

In order to adjust your keyframes
open the Dope Sheet window:

Press A to deselect all keyframes
Press B to border select the keyframes you want to adjust
Press G to move the selected keyframes to the desired position


With the node wrangler addon ⎈ Ctrl⇧ Shift LMB connects the node to the material output node and adds an emission shader if the node output is not a shader. The material output node shouldn't be used inside a node group so node wrangler does not make that shortcut active when editing a node group.

You should have the material output node in the material node tree and connect the group output to the material output node, not have the material output node inside a node group.

It is not possible to make a connection from a node inside a group to the active material output node that is outside the group. As connecting the node to the group output does not guarantee that the output will then be connected to the material output and the group could be in use by several materials, it makes little sense to use it inside a node group.


I am unable to move object in object mode, reinstalled/restarted blender but only the pivot point is moving not object. i don't know why?

You probably have Affect Only Origins enabled. Disable it by pressing Options in the top right corner of the 3D viewport > Origins

You can also disable it by pressing the Active Tool and Workspace Settings tab in the Properties bar, and press Origins.


Object alignment/Pattern Object/Smart Guides in Blender

If you just need to snap one object to another one by vertices, then:

Set Snapping to Vertex, let target to Closest
Enable Snapping or hold Ctrl while grabbing to enable it temporarily
Grab an object to a vertex of the object you want to snap to


These are nearly impossible to fix.  However, beveling the edges of the windows should help.


The problem is simply the viewport.
If you render the image it comes out right.

The problem has to do with the way Blender scales images to fit textures. It could scale them so a tiny pixel would look like a box, but it uses the more conventional method, which is to scale them so that they blur. (zooming in on the texture in the image viewer scales the first way though.) (Blender scales like Gimp does, which works best for most things. Put the texture in Gimp and scale to see what I mean.)

To really fix this problem, you must simply scale the texture in a program that doesn't blur it, and use the larger texture instead. I would just zoom in on the image in Blender, take a screenshot, then cut out the texture.

You then get this.

You can use that image in Blender Internal or cycles and it won't be blurry.

Keep in mind, with Blender internal, you must switch to material viewport to make the blurring go away, because the solid viewport will not show the texture correctly.

You may have to change the texture, then save and close Blender then re-open to see the change take effect in the viewport.

It should look like this now. (your background will be grey, the white is my theme).

I hope this fixes it.


Hi Carlo, Thank you again,
I used your previous answer with a line curve and I think it was what I looking for :), I have attached the reference video link so please review it and let me know if you have another technique you think it would be better otherwise this would be good enough.
All the best.


how to make an bright spot similar to a star?

For simple static lens flare you can try blender Composite nodes:

Light source very small Object with high Emission like 1000.
Big star is Glare node > Simple Star
(Streaks works too, but I could not get them enough long)
Central effect is based on Glare node > Ghost Fog "scratched" by Cloud Texture plus Sun Beams node.

For advanced  and more flexibility try this https://codeofart.com/flares-wizard/


Why do vertices move when 'Smooth Vertex' is applied to mesh?

when exporting to FBX, Blender looks at the Modifier Stack of each object and applies the RENDER modifiers to the object. I can only guess without checking the file, but I suspect that you have a SubSurf modifier on your geometry.

Uncheck the Render Visibility (red arrow is pointing at it in the screenshot) and export again, it should be fine then.


What is the purpose of a test environment for rendering and where can I get one?

I guess you're referring to HDRIs.

There are things to know about how to use them. Among all the tutorials out there, you should watch the Image-based lighting course by Gleb Alexandrov. It's the most up to date and best one.

Now here's where you can find some good ones for free :

Free bundle on HDRI Haven plus all those marked with the green CCO in the corner
in the demo version of Pro-lighting : Skies
Freebies on HDR Maps

Less high-res (usable for lighting and reflections but not for direct background viewing) :

free set on HDR Sets
a bunch on CG Advertising
all skies on HDRI Skies in 2K resolution

I guess you're pretty much covered. Have fun Blending.


Interpolate movement by incremental steps

Select your keyframes in the Graph Editor and you can use Shift + Ctrl + M or use the menu Key -> Add F-Curve Modifier -> Stepped Interpolation.

The options for the modifier are in the N-panel.


I think I may have sorted this now using Vector.project.  For the script to work one would need to create a 2 vertex edge and call it line as well as adding an empty that is renamed empty (not Empty):

import bpy
from mathutils import Matrix

empty = bpy.data.objects["empty"]
line = bpy.data.objects["line"]

mw = line.matrix_world
ev = empty.location

# get the two line points in world space
lv0 = mw * line.data.vertices[0].co
lv1 = mw * line.data.vertices[1].co

# get the vector of the line
lv = (lv0 - lv1)

# get the translation between the original line and the line vector
# and apply that to the empty location to get the location of the
# empty relative to the line vector
evt = Matrix.Translation(lv - lv0) * ev

# get the projection of the new empty location onto the line vector
# - `project` gets the perpendicular vector where `evt` intersects `lv`
evp = evt.project(lv)

# get the translation between the projected vector and the empty
tm = Matrix.Translation(evp - evt).inverted()

# now move the line
line.location = tm * line.location

I have created a simple add-on on GitHub to demonstrate the behaviour.


You can use an orthographic camera. That way perspective has no effect and all of the objects will be the same size in all the images. Since all the camera settings are still available png files are already the default output file type.

To get an orthographic camera, simply click on your camera and go to the camera tab in the properties window. At the top, click orthographic, and change the scale until all of the parts fit in to the frame.

If you change the orthographic scale at any point the objects will no longer be the same size, so make sure you test all of the angles to make sure there are no problems before rendering.


Remove doubles in the mesh

What happens in your mesh now is  Z-fighting. Notice the clipping while rotating view around the barrel:

While in Edit mode select all and press W > Remove Doubles. It will delete ~800 double vertices.

After that you can split normals either by adding Edge Split modifier or activating Auto Smooth in Object Data tab.

Also see:

Overlapping faces:

Cause of black artifacts in render?

Overlapping faces in mirror modifier causing z-fighting

Edge Split modifier vs. Auto Smooth:

How to smooth shade an object while retaining hard edges?


Editing armature with existing animations is totally possible.

When you edit the armature in edit-mode, you directly change the rest-position. Any transformation (animation) is relative to this rest-position, so by changing the rest-pose you might break the animation (but if the animation is mostly rotations and you change only proportions of bones there should be no problem)

The rest-position is identical to pose-position without any transformations or constraints. This is by definition, so when you Alt + G, Alt + R, and Alt + S, and you turn off all constraints you must get the rest-position.

You can also apply any pose as a rest-position by Pose > Apply > Apply Pose As Rest Pose. How to do that with already binded mesh is here: Can I set my pose position like the new rest position?

Any animation can be also edited so it is not ruined:
How do I resize an armature without ruining its poses?


Armature X-axis mirror not weighting correctly

This issue is, as you have identified, due to the mirror modifier. Technically speaking there is only one hand in the geometry data and the weight painting system is only reading one hand in two places, because weighting is technically a vertex group assignment system. If you apply the mirror modifier (I suggest making a duplicate of the hand if you aren't sure about needing to make changes later.) it will create the geometry for the mirrored hand. Then you can go back into weight painting and the x axis mirror should work as intended.


Unfold 2 polygons into a plane, without distorting the dimensions of the polygons

This is a fun question, so let me show my limited knowledge :).

1) Edge angle
You can display the angle of the bend by enabling Edge Angle in the Overlay menu.
It's only visible in Edit Mode, and you have to have the edge selected.

2) Unfolding into 2D
Very fast and very dirty way for the unfolding bit:
If you unwrap your mesh with Smart UV project, you will get it unfolded as a UV map.
If you do it right, it will perfectly correspond to the shape of the faces.
You can then  export it as a .png,.svg or eps.

Unwrap your mesh with Smart UV project

Export your UV map as svg.

Note:
This is definitely a "solution".
But maybe the Blender Elders will banish me to hell for this.


Convert CSV Latitude longtitude to Blender coordinates

Here's how you read the CSV, reformat the dates, sort the quakes by date, convert lat/long to x/y/z then output each row as a text object on the outside of a hypothetical sphere (with the object name set to the date of the quake in YYYY-MM-DD format) with the text oriented so that it sits flat on the surface. Fonts and materials and other tweaks to be supplied by you. :)

Based this off https://stackoverflow.com/questions/10473852/convert-latitude-and-longitude-to-point-in-3d-space

# imports to make all the things work
from math import sin, cos, radians, pi, atan, tan
import csv
import bpy

# define some helpful functions for later

# a function to make, scale and rotate text objects into place
def makeathing(coords, scale, lat, long, date):
    rotation = (radians(lat - 270), pi, radians(long - 90))
    bpy.ops.object.text_add(location=(coords), rotation=(rotation))
    ob = bpy.context.object
    # set object properties here
    ob.data.body = "{:.1f}".format(float(scale))
    ob.data.align = 'CENTER'
    ob.rotation_mode = 'YXZ'
    ob.data.size = 0.03
    ob.data.extrude = 0.002
    ob.data.name = date
    ob.name = date

# a function to turn 3D polar coordinates into 3D cartesian coordinates
def latlonger(lat_deg, lon_deg):
    lat = radians(lat_deg)
    lon = radians(lon_deg)
    # see: http://www.mathworks.de/help/toolbox/aeroblks/llatoecefposition.html
    alt = 0.01
    rad = 2                                     # radius of sphere in BUs
    f  = 0.0                                    # flattening
    ls = atan((1 - f)**2 * tan(lat))  # lambda
    x = rad * cos(lat) * cos(lon) + alt * cos(lat) * cos(lon)
    y = rad * cos(lat) * sin(lon) + alt * cos(lat) * sin(lon)
    z = rad * sin(lat) + alt * sin(lat)
    return (x, y, z)

# NB: no code has executed yet, we're just setting up functions we use further down

# read in the CSV file containing quake data
file = csv.reader(open('\\Users\mcsweend2c\Desktop\Bearthquakes 6-9.csv', newline=''), delimiter=',')

# make a blank dict variable to put quake data into
quakes = {}

# iterate through the CSV row by row and pull the data into variables
# then put the variables into a tuple and use a corrected date as the dict key
# see the last line of the for block for data order
# NB: could have used a dict instead of a tuple
# would have meant looking up e.g. quakes[x]['scale'] instead of quakes[x][0]
for idx, (scale, date, lat, lon) in enumerate(file):
    (yd, m, dy) = date.split("/")
    if int(yd) > int(dy):
        year = yd
        day = dy
    else:
        year = dy
        day = yd
    key = "{}-{:02g}-{:02g}".format( year, int(m), int(day) )
    quakes[key] = (scale, lat, lon)

# go through the sorted dates in the quakes dict
# get latitude and longitude and turn into x/y/z coords with latlonger function
# then send x/y/z coordinates to makeathing function to create them in 3D space
for k in sorted(quakes.keys()):
    latitude = float(quakes[k][1])
    longitude = float(quakes[k][2])
    coords = latlonger(latitude, longitude)
    makeathing(coords, quakes[k][0], latitude, longitude, k)

You may need to offset the X of the world map texture to align the letters to their correct positions on the globe, e.g. using this texture map I had to offset X by 0.25.


Parent light source to camera with specific distance and orientation

Use constraints. On the light object use a "Child of" constraint using the Camera as target.


mathutils.Matrix's position returns an empty vector instead of the actual position

As batFINGER said, the problem was that blender uses the matrices via rows instead columns, so i had to do the following to get the stuff right:

Doing this would fix it:

tfm.transpose()


Cycles. Masking shader. How to make objects disappear in plain sight.

Final:

Nodes:

For Masking Object - cube in this example just use Transparent BSDF with pure white color.

For object being masked - text - use mix between chosen shader (Diffuse here) and Transparent by Light Path > Transparent Depth:

  Of course object being masked should be inside masking object.


glTF is a GPU-ready format that only supports meshes, not other types of geometry directly. Your SVG has imported as curves, not meshes.  To make it compatible with glTF, look for the convert option in the Object menu of the 3D view:

Object -> Convert To... -> Mesh from Curve/Meta/Surf/Text


Is there a way to control the axis that a force field applies force?

You can constrain the spherical force of a field into a cone or a tube, but these are directional.

To achieve the equatorial emission you require I recommend placing a
force field in the middle to distribute particles.
Then 2 more force fields above and below at the polar regions. They
will repel the vertical emitted particles.

Note that in this demonstration I have turned off the initial Normal emission speed.


I can't delete keyframe in timeline and dope sheet

Summary should be enabled as well as hidden objects.


Go to the desired frame on your timeline, hover the cursor over the shape key's value and press I.

Go to another frame on a timeline, change the shape key's value to 1.000 and press I again.


Here is a tutorial for this:
https://youtu.be/-ckk8GVGv6o
Basically you use the shrinkwrap and the screw modifier to do this.

build a circle
use modifier screw and apply it
build a cone and scale and move it as you need it in the screwed circle
now use modifier shrinkwrap with object cone on your circle
scale z value to 0 so that you have "flat" screw


The program can't really "automatically smooths everything out". Without any further info it just looks like you probably have a Subdivision Surface modifier on your sword.

Make sure your View and Render subdivision values are the same, or if you don't want subdivision on your model at all, remove the modifier entirely.


The reason you have no shadows on the ground is:

Because there is no ground!

You don't have any objects that will receive the shadow. Add a plane under your character.


Blender 2.8: UV-Editor Sticky Selection Mode Option gone?

It shows up when the UV-Layout is selected. I have noticed this behavior when opening files that were written with older blender versions. In each of those cases, using one of the default layouts restored visibility of the missing UI input fields.


I made a similair setup and it seems to work for me.

As you can see, I also made use of a light source and put this inside the Sun sphere. There Are several things you need to check.

1) First of all you need to ensure if your light source has shadows enabled. You can check that out in the next image. Select your light source.

2) If you also decide to have the light source inside your Sun, you need to make sure the shadow of the Sun sphere is disabled as seen in the next image. Select your Sun.

3) Third thing to make sure is that you planet is casting the shadows on the rings. See here:

I've added a copy of the blend file:

Hope this helps!


Your node setup looks correct, although it could be made slightly less verbose by making use of the Vector Math: distance node.

I've managed to make it work on a torus. Perhaps you should try:

Making sure the origin is in the centre of the ring.
Tweaking the ColourRamp slider's Pos values so that the results of the previous node operations fall in their vicinity. As of right now, yours are set to 0 and 0.077, it seems; for me the spot was around 0.9 .


Accessing image texture connected to Cycles material Diffuse BSDF

thanks to zeffii :

    diffuse_BSDF = mtl.node_tree.nodes.get('Diffuse BSDF')

    if diffuse_BSDF != None:
        # grab color input
        input = diffuse_BSDF.inputs[0]

        if input.is_linked:
            src = input.links[0].from_node
            if src.type == 'TEX_IMAGE':
                self.File.Write('tex_src:{}\n'.format(src.image.filepath))
            elif src.type == 'MIX_RGB':
                for i in src.inputs:
                    if i.type == 'RGBA':
                        if i.is_linked:
                            src_i = i.links[0].from_node
                            if src_i.type == 'TEX_IMAGE':
                                self.File.Write('tex_src:{}\n'.format(src_i.image.filepath))

(obviously the write function is script specific but maybe that's helpful to others)


if you're seeing something like this(not including the cube):

then you need to go here:

and change it to node editor (or whatever you need to change it to. there are also other ones like that around.)


How to change the amount of zoom from the scroll wheel while viewing through the camera?

CtrlMiddle Click is for precise zooming.


Eevee to Cycles Render Issue: Some meshes render in a different location

Nathan, thank you! It was the displacement node in the material. It's strange though... This seems to happen randomly. Every other asset that I am rebuilding has a full texture set, complete with displacement and this isn't happening. If anyone has any reason as to why this would only happen on occasion (and could be avoided), I would appreciate it. Thanks!


Creating two equidistant edges (two "centered" edge loops)

Use Ctrl-B and then scroll (You can add more cuts that way):

You can fine tune the distance in the operator panel F6:


How to figure out where the UV shows on the Mesh?

That button right there is probably what you want. Also keep in mind that by default, only faces you have selected in edit mode show up in the UV editor.


If it's aligning the view to an object or element you're after, explore the ShiftNumpad 1, ShiftNumpad 3 and ShiftNumpad 7 combinations.
They will align the view down the selected element's Y, X, and Z axes, respectively.

If the element is an object, that's down the object's axes, towards its origin.
If a face, Z is down its normal, X and Y look straight across its plane.
If it's an edge, Y looks straight down it, and X, Z, align the edge
parallel to the screen,
and finally, if a vertex, Z looks straight down the vertex normal,
and the others bring the vertex normal parallel to the screen.

Adding Ctrl to the key combinations gives you the reverse angles of the above.
CtrlAltNumpad 0 will align the active camera to whichever view you are in.


Cause of Alpha or Black Artefacts in Render

The artifacts are not from z-fighting, but from transparent auto shadows bias.

Just turn the option off:

Shadow auto bias on:

Shadow auto bias off:

Elaboration:

There was once bug which was (supposedly) fixed for 2.68:

  Found the cause of the problem, it's due to the ray bias options that tries to avoid bad ray traced shadows.

It's supposed to eliminate shadow artifacts on smooth shaded surfaces where the shadow terminator is - like this one (I think..):

My guess is that blender sometimes fails to get it automatically right, setting it to fix value then works better.

Or making the surface flat shaded should work also.


Objects not rotating or scaling in viewport

Untick Maniplulate center points in the header. This transforms center points only and allows you to manipulate object locations while having the objects themselves stay in their existing orientation.


You can get nice results using the Layer Weight node.

Mix two glass shaders. One with IOR=1 (no refraction), other with high IOR
Layer Weight - Facing to drive the mix shader
Use Color Ramp to control the edge effect


How to fix 'AttributeError: 'Mesh' object has no attribute 'active_index''

Replace

bpy.context.object.data.active_index = 1

with

context.object.data.uv_textures.active_index = 1

The mesh is not a collection and has no active_index, hence the error.

Also consider using the last in the collection rather than by name 'UVMap.001'

context.object.data.uv_textures[-1].name = "Lightmap"

To get on my soapbox replace bpy.context with context as context is passed via the parameters, eg def execute(self, context).


Is there any function that allow us to clone mesh or a kind of stamp tool?

With your object selected, you can press Shift + D to duplicate it, and then Ctrl + M as well as a letter denoting your axis (X, Y, Z) to mirror the object along that axis. Foe example to copy a shoe and Mirror it along the Y axis, I would do Shift + D (Duplicate) and then Ctrl + M + Y (Mirror on Y)


Very noisy render with emission+glossy shader

this is a very complex topic and would be to much for a single post answer. but i am trying to give you a rough understanding about what you have to change:

In the virtual space, everything is about faking. not about recreating the real world. this means that it only has to look real from the field of view, but everything else does not matter.

This means: remove everything that does not matter. you do not need a complete interior, remove the all walls that are not visible to the eye. this way every sample that would bounce against the wall, now flies into infinity and does not produce more bounces (that would slow down your render).

also: do NEVER (if possible) light your scene whit mesh light. mesh light is way slower and produces much noise. again, just fake it! in the most cases nobody will notice that you only put a single spotlight there (make sure that multiple importance is activated in the lights material settings). the bigger the light source, the less noise.

also some technical stuff. set the render settings as followed:
sampling: set "clamp direct" and "inderect" to 9.
light paths: "filter glossy" to 0.5-2 (higher values mean less noise but more blury pictures).


What would be the best way to add groves to this control knob?

One easy way to do it is to use the Simple Deform modifier / Bend mode:

Create your segment:

Array it (enable the Merge option of the Array modifier):

Give it the Simple Deform modifier / Bend mode:

You can continue to work on the segment as much as you want, when you're glad with the result, apply the Array and Simple Deform modifiers (keep the Subdivision Surface if possible), merge the vertices:


Independent Edit/Object mode in splitscreen

Switching to Edit mode per-viewport isn't currently possible in Blender.
According to this rightclickselect.com request this probably won't be implemented in the near future, since it's "fundamentally incompatible with the way Blender handles objects".
(I'd like make this a more 'proper' answer with gifs and lists, but in this case....)


How to have operator settings not stored for re-use?

Enable the SKIP_SAVE option when defining the property.

eg:

some_property = BoolProperty(options={'SKIP_SAVE'})


Can someone explain the benefit of the SSGI addon for Eevee?

TLDR: nice light bounces but faster than Cycles.
As you are aware EEVEE is a much faster render engine than Cycles. It builds on the approach of rasterization instead of raytracing. This means that it basically tries to calculate the color value for each pixel more directly, while raytracer like Cycles is taking an approach of simulating the approximate movement of light through the scene.
This leads to a variety of advantages and shortcomings. One of this shortcomings is that the dogmatic rasterization approach doesn't allow for bounce light (as this falls more into the simulation realm).
This addon works around that particular shortcoming. For example if you are dependent on the speed of EEVEE, can live with most of its shortcomings, but still need light interaction between your objects and can't bake your whole light because you for example have movement in your scene, than this is a quick way to achieve this.


I think I will give you some basic steps, that is, add a node of type "TEX_IMAGE", assign your image to it.
therefore:
obj = bpy.context.active_object
# You can choose your texture size (This will be the de bake image)
image_name = obj.name + '_BakedTexture'
img = bpy.data.images.new(image_name,1024,1024)

#Due to the presence of any multiple materials, it seems necessary to iterate on all the materials, and assign them a node + the image to bake.
for mat in obj.data.materials:

    mat.use_nodes = True #Here it is assumed that the materials have been created with nodes, otherwise it would not be possible to assign a node for the Bake, so this step is a bit useless
    nodes = mat.node_tree.nodes
    texture_node =nodes.new('ShaderNodeTexImage')
    texture_node.name = 'Bake_node'
    texture_node.select = True
    nodes.active = texture_node
    texture_node.image = img #Assign the image to the node

bpy.context.view_layer.objects.active = obj
bpy.ops.object.bake(type='DIFFUSE', save_mode='EXTERNAL')

img.save_render(filepath='C:\\TEMP\\baked.png')

#In the last step, we are going to delete the nodes we created earlier
for mat in obj.data.materials:
    for n in mat.node_tree.nodes:
        if n.name == 'Bake_node':
            mat.node_tree.nodes.remove(n)

Avoid as much as possible to use bpy.ops, in this case, as you can see, it is easy to create an image with the methods bpy.data.images.new ()
Any blender object can be created with that method.
bpy.data.objects.new()
bpy.data.materials.new()
bpy.data.scenes.new()
...
...

bpy.ops it is good to use it only when you have no alternatives, as in this case with the bpy.ops.object.bake()
this allows you to create something, and assign it directly to a variable, as in the example of img = bpy.data.images.new()
So you don't have to go crazy to have access to it.


How to export a scene from Blender, in which I use modifiers and constraints, to Maya and Nuke?

Yes, it is possible! :) You can use the "Bake action"!

If you have an ocean, and an object that "floats" on the surface of the ocean using the method, described in this tutorial (https://www.youtube.com/watch?v=11F1NRpqrzY)

do the following:

1) Select a floating object

2) Press T and in the left pane, select the tab "Animation"

3) Press Bake Action, select the frame range and check "clear constraints"

4) Voila! You will see a lot of yellow strips in the timeline - the key frames of animation.

Now, if you delete the ocean and sphere by which you drew in the dynamic Paint mode, floating object will continue to move as before.


To improve the accuracy of the Rigid Body simulation you can increase the Steps setting in the Rigid Body World settings of the Scene properties. This defaults to 60 - larger values breaks the simulation into smaller steps at the expense of taking longer to calculate - try increasing by a factor of 10 or more. Smaller steps results in better collision and a more stable simulation.

However, that isn't actually the problem with your animation. The problem is actually due to the meshes themselves - the normals are flipped and pointing 'into' the object rather than 'out'. This means that the collision becomes confused and Blender is behaving as if the objects are actually caught within each other which results in the 'stuck' animation as one cog attempts to turn.

The solution is to simply select each cog in turn, enter Edit mode (Tab), select all (A until all is selected) and press Ctrl+N to Make Normals Consistent. This tells Blender to recalculate the normals, by default pointing them 'out' of the object.

Once the normals were corrected I didn't need to make any other changes on your file for the cogs to animate.


How to close a pipe with a perfect hemisphere?

Using the bevel tool is a simple way to do this. First remove all of the edge loops on the endcap so you just have a single n-gon like this:

Note that I scaled the cylinder to give it an elliptical profile and skewed the face so that it is not perpendicular to the axis of the cylinder. I did this because this is how it appears to me in your picture. If you make your endcap perpendicular to the profile axis you will get a cleaner (more spherical) result.

Be that as it may, I used the Bevel tool which is located in the menu: Mesh > Edges > Bevel with the settings shown on the bottom left of the following image:

Using 8 segments achieves a well rounded result, although as I previously mentioned, the dome shape is distorted because of the angle of the face in respect to axis of the profile. I found that the "Depth" setting worked the best in this situation because I was able to extend the bevel very close to the convergence point without getting overlap. You may want to experiment with the settings to get what you want.

Addendum:
Just to clarify what I mean about getting a cleaner, more spherical result by making the end cap perpendicular to the profile axis, here is a comparison:


A driver is a Python expression that is used to control the value of some field, generally depending on some external variable. They're generally limited to one line, but can actually span many.

Drivers can use properties, numbers, transformations, and scripts, to control the values of properties.
Using a F-Curve, the driver reads the value of the Driver Value and sets the value of the selected property it was added to.

From the Manual entry: drivers
F-curves are just an easier way to animate a property overtime, by manipulating the handles that define a function that maps time to some value. Then, Blender interpolates for the values between the handles.

The idea is simple: you define a few Key Frames, which are multiple frames apart. Between these keyframes, the properties’ values are computed (interpolated) by Blender and filled in. Thus, the animators’ workload is significantly reduced.

From the Manual entry: f-curves


Anti-aliasing of ID Mask is more coarse than Cryptomatte

I don't think there is any decent way. That is why cryptomatte became "game changer" (with some issues as well, as you can see in your screen). You can play with edge in compositor, but it always brings some artefacts (inaccuracy) in final comp.

Short pixel "steps" can be disolved quite easily, but long pixel "steps" can't (as you can see on vertical edge). Also corners became a bit chewy. I used ColorRamp instead of Delite/Erode, because it was easier to adjust edge.

Ad Cryptomatte - in Fusion, there seems to be a way of node tree that can avoid that. So probably someone can bring it into a blender as well. https://blenderartists.org/t/cryptomate-matte-edge-imperfection/1189344/3


Rendering a region in solid viewport shading?

It looks like it's a bug, or missing feature, from what I could gather from this bug report: https://developer.blender.org/T63064


Index Error: bpy_prop_collection[index]: index 0 out of range, size 0

You need to run the script in Object Mode, make sure that you meet all requirements (material and unwrapping) read the bullet points here,


High sample renders appear transparent / blank

Looks like the compositor is making your whole image transparent somehow when it applies the post processing effects. Try disabling the compositor to see if that fixes your issue. Have you changed anything other than the samples between renders? (New to Stack Exchange so can't comment this)


Can I create a custom shelf without scripting?

There is no way that I know of natively in blender without using python.
That said, basic ui stuff for blender is fairly simple, so long as you just want to chuck existing operators/functions on a panel.
See How to create a custom UI? for a quick intro.

If you don't want to learn python, you could try this paid addon (it claims to do more than just pie menus, side panels as well):
https://blendermarket.com/products/pie-menu-editor
(disclaimer: I have never used this addon, so I have no idea how well it works)


New answer (after getting feedback in the comments):
The file you are trying to install is the wrong one (i.e. the repository downloaded as a zip file). Try with the release file instead.

Old answer:
I suspect that it is in fact installed but not showing up in the list because it is not enabled yet (your screenshot is only showing enabled add-ons).

First, uncheck the checkbox that says "Enabled Add-ons Only" to be able to find the add-on, then check the checkbox for the add-on to enable it.


How to use Node Editor for the Video Sequencer?

Make sure that you add the composited scene back to the sequencer or VSE, then check that the VSE scene has the render properties Post > Sequencer ticked.


How to screen two shaders in environmental view

So I'm not sure what you're doing but you could create this setup for your red cloud node group:

Then plug the 2 groups this way:

And you'll get that:

I hope someone has a cleaner way though  ;)


How do I extrude out a base on this model?

If you want the base to go straight down then extrude on the z axis, then press 0 to make the base level E,Z,0, then grab on z (G,Z) to bring the base down to the height you want it.


Rotation Value ist not the same as given in the driver output

While all angles entered into the transform input field are interpreted as degrees, when you set the value in a script or driver it's interpreted as radians.

Your driver sets the rotation to 45 radians which is about 2578 degrees. The expression 2*pi/count should provide you with the desired angle.


read the source of any tool ( operator )

Not all operators are written in python, and so you won't be able to get the source from them.

Fortunatelly, Blender is open source and you can look into the source code.
In case of the knife tool, you might want to check this folder:

https://git.blender.org/gitweb/gitweb.cgi/blender.git/tree/HEAD:/source/blender/editors/mesh


This looks like you have the denoiser on and it created these artifacts because your render contained too much noise or extreme bright highlights. Try to increase the number of samples or increase the feature strength of the denoiser.


Duplicating an object while perfectly aligning each edge

So many ways, depending ..

Assuming this is in Edit mode, and these are one-off parts already measured to fit a hole in the existing mesh, aligned to the world as shown, you could:

Set Snap to 'Vertex, Active'
Select the whole part, and in Vertex Mode, make one of its bottom right vertices active
ShiftDX duplicate the part, snapping the rear vertex of the duplicated part to the corresponding front vertex of the existing one
ShiftR repeat the operation until the hole is filled
With all selected, AltM > 'By Distance' merge coincident vertices.

BUT.. this whole process seems a bit topsy-turvy, since you would already have had to measure up the part, somehow? Going back a couple of steps..

In Edge Mode, Right-click > 'Subdivide' the opposing edges, adjust the cuts to 4
I inset the five new faces, with the tool set to 'Individual' and 'Depth' adjusted to raise the inset faces to the desired distance
Make tweaks afterwards?

If you had hundreds to do, or reasons to do this non-destructively, you could temporarily split the part off into a new object, and use an Array modifier, before rejoining into one object..


Another issue that you will likely encounter, is that your tube obstacle impinges itself in at least 2 places where there is a sharp bend.
The fluid simulator requires a well defined inside versus outside surface to function properly.
Also, you may need to increase the resolution to get a proper result.

In addition to Serge L's recommendations, you could try reducing the gravity setting under the Scene tab. Also, you don't show your obstacle settings. If the ends of the tube are open, the Volume Initialization should be set to 'Shell' and you may also want to adjust the amount of slip.


I pressed c in editing mode and can't get back

the Esc key should get you out if it. You can also use your non-dominant click(left or right).


Using node based shaders and modifiers is something that is specific to blender, neither of these export well to other programs.

For node based materials, you can bake the shader nodes to an image that can be used in other programs. This only applies to the surface appearance; such as colour, specularity, glossiness...

A normal map used in a shader can also be used in other programs, but mesh displacement in shaders will not export.

When you are using a displacement modifier, as well as any modifier except armature, you will need to apply the result of the modifiers when exporting. Most exporters provide an option to do this for you during export. For gltf, look for the Apply Modifiers option, in 2.80 it is under General, in 2.81 it is under Geometry.


How to use set/get property callbacks correctly?

The property set callback is intended to be used when you need to store the value in some alternate location (a set callback could write to multiple other properties for example - store the data on disk... a JSON, XML data... whatever you like).

Using both the get/set callback, you can expose access to settings stored outside of Blender.

Assigning the value within the set callback, causes infinite recursion.

So, either:

use the set callback to write to a different location.
use the update callback instead, to perform some change after the value is set.

Or, if you really want, you can write to the underlying property store directly, however this relies on an implementation detail on how properties work. While we don't intend to change this part of the API (which would break scripts)... its better to avoid this.

eg:

def set_coa_sprite_frame(self, value):
    self["coa_sprite_frame"] = value


Change pole angle without affecting mesh

Yes the pole angle is messing the mesh up due to an IK Constraint. Disable the constraint, change the bone roll instead of pole angle, then re-enable and adjust pole angle to correct.


Help with displacement modifier application with an array modifier for a random result

If you want discontinuities in your displacement map you probably have to either break your object apart and use instances instead each with different texture settings, or apply the array modifier and unwrap each "step" individually then move them around in the UV editor to break the continuity of the UV coordinates.

Either global or local coordinates are bound to generate one seamless displacement map over all chunks of the mush since they are all contiguous.

Alternatively, if you are using the Cycles render engine you could use builtin material based displacement instead, and use an Object Info's Random output and instances to make the texture randomly offset on each separate object.

Edit: You could just use the "Object" texture coordinates on the displace modifier, then use an empty to drive the placement of the texture.

Create two or three different empties and use them alternatingly, that should be enough to achieve a random look. Set up one or two different instances and then you can just copy modifier settings from one object to may others by selecting them all, and selecting the source object last, then pressing Ctrl+L and choosing Link>Modifiers option


Is it possible to emit hair particles from vertices as objects without overlap?

First activate the Statistics option in the Viewport Overlays, so that you know how many vertices your object has:

Now in the Particles panel > Emission > Number, type the exact same number, and under Source make sure that Random Order is disabled:

Here the answer for emitting one particle by face.


Red border means a fatal error occured. This is probably caused by a bug in Animation Nodes, however, it may also be an error in your node tree when you disable certain error checking options. In case of a fatal error:

A new panel called the Problems Panel appear. It include some suggestions and an operator to open a new issue on github to report the error as a bug. Choosing Monitor Execution as the Execution Code method in the Developer Panel should present more information in the problems panel like the node that causes the problem.
The error will be printed to the terminal, so looking at the terminal should give you all the information you need, like the node that caused the problem and what exactly is the problem.

It should be noted, however, that some nodes don't have an execution function, and they contribute code to the execution unit directly, thus the terminal output will not be as useful. In this case, the terminal output should be something like:

  File "/home/omar/projects/blender2.80/2.80/scripts/addons/animation_nodes/execution/main_execution_unit.py", line 38, in executeUnit
    exec(self.executeCodeObject, self.executionData, self.executionData)
  File "execution: 'NodeTree'", line 3, in <module>
  File "<string>", line 11, in main

Which tells us that the error occurred in line 3 of the execution code of NodeTree. The Developer Panel have an operator that prints/write the execution code of the selected tree to the terminal/text block, the output should be something like this:

 ...
  9.  nodes = bpy.data.node_groups['NodeTree'].nodes
 10.  _bqracm2qds5y5ta = nodes['Expression']
 11.  __socket_False_0_bqr = None

  1.
  2.  # Node: 'NodeTree' - 'Expression'
  3.  _result_bqr1 = _bqracm2qds5y5ta.expressionFunction()

Line 3 of the execution code lies in the scope of the node called Expression, so we know that this node is the source of the problem.


It's not shadow but reflective object for your base:

Despite you use a lot of light source in your scene, non of them actual contribute the "different" for the piston top side.
If you want it to be a little bit more realist, add a bevel modifier to it:


color glitches and weird texture in render

It looks to me like you have some extra lights and meshes in your scene that are hidden in the viewport. Objects that are hidden in the viewport won't show up in the preview renders, but will show up in the final renders. You can reveal any hidden objects by using AltH. Then once these hidden objects are revealed you will be able to see their effects in realtime and remove or adjust them accordingly.


Alright, now I got a good solution, I wrote a function to calculate the vertex3d from 3d like this, that takes the roation of the viewport into account:

def get_3d_vertex(context, vertex_2d):
    region    = context.region
    rv3d      = context.space_data.region_3d
    view_rot  = rv3d.view_rotation
    overlay3d = context.space_data.overlay

    dir = get_view_direction(context) * -context.scene.draw_distance
    vec = region_2d_to_location_3d(region, rv3d, vertex_2d, dir)

When the rectangle is created I use the 2d mouse points to calculate all points of the rect:

def create_rect(self, context):
    rv3d      = context.space_data.region_3d
    view_rot  = rv3d.view_rotation

    self._vertices.clear()

    self._vertices.append(self._vertex1)

    # self._vertex1 and 3 are already in 3d space
    vertex2 = (self._vertex1_2d[0], self._vertex3_2d[1])
    vertex2 = get_3d_vertex(context, vertex2)

    vertex4 = (self._vertex3_2d[0], self._vertex1_2d[1])
    vertex4 = get_3d_vertex(context, vertex4)

    self._vertices.extend([vertex2, self._vertex3, vertex4])


BGE: Add animated object from empty object that plays at wrong position

I replicated your scene based on your description. If you look closely, the cube spawns in the correct location for one frame, and then the animation forces it back because it is being animated in global space.

In layer 2, add a new empty at the center of the cube. Let's call this empty CubeAnchor. Now parent the cube to the CubeAnchor. This will make the cube animate in the CubeAnchor's local coordinate system.

Lastly, in layer 1 on your empty spawner, Spawn the CubeAnchor instead of the cube. The CubeAnchor's children will spawn with it, including your animated cube.


Start by deselecting everything. Then move your cursor over a piece of your logo and press L this will select all connected vertices to the piece under your cursor. Now you can extrude E the selected section to the height you want.

Repeat this process for each piece. After extruding a section I would then hide it by selecting all linked vertices (the extrude will deselect the original vertices as you move the extruded side) and pressing H. When you are finished ⎇ AltH will un-hide the vertices.


Kinematic bones move all the mesh as if was mirrored

Your bone is called Bone.011 so it's not getting mirrored properly. You need to make sure the bones have names like hand.l, hand.r (for the other side) and so on.

For the automatic weighting, you can just redo it by reparenting the mesh to the armature with automatic weights.

Another thing that can break the automatic weights are incorrect normals, so you can go into edit mode, select all vertices and Recalculate Normals to make sure they are good.


How to stop the emission of particles for an amount of frames, and then continue?

You can add multiple particle systems to the same object, each one with  different start and end frames


The issue is cause by the beveling of the edges that you did. When you applied the bevel operation, a small triangle was created in each corner.

Triangles are notorious for having issues like this when being subdivided. In this case, it may be difficult (although not impossible) to remove the triangle completely though. If you restructure the mesh so that the triangle is located on a section that isn't a corner the smoothing will look much nicer. Here is a way you could do that.

Here is a comparison between the corners when subdivided:


How do I transfer a Blender VSE project to another computer?

Before transferring, make sure the paths to external files are relative. You can make all paths relative through the File > External Data menu. Then save the blend file. Now you can copy the files, and open the blend file at the new location.


How do I merge multiple objects so I can sculpt it?

Search in the add-ons window "bool tool".
Select the two mesh that your want to join.
Go to the object menu in the view-port,bool tool operation, and select "union".
And wuala! you have a unified object.

You can do this without the add-on using only modifiers but its a little bit wonky
Hope it helps!


Which mirror should I pick when downloading Blender?

A mirror is like a backup download link. If one for some reason goes down you can still download the file. They all contain the same file so it doesn't really matter which one you choose.


I am assuming you used the export UV layout operation to get the color information.

Instead,you can bake the diffuse texture to get the color in formation without edges,and make sure you have high margin :


my fire simulation is not reflecting the right way

The issue comes from how you mix the things together. In your second layer, the volume domain is excluded, so it's not rendered.

A way to go arround this is to render everything from one layer, but instead of mixing two layers, we will mix different passes of one layer according to object IDs, thanks to the ID Mask node.

Here's my version:

I'm sure it's not the best solution, but it's all I can think of.


How can I subdivide a Surface NURB without affecting the shape?

I am afraid that's not how nurbs are design to work. The way nurbs are suppose to function is to use the least amount of point to describe a curve. Every quarter of a circle is a simple arc and would be suffice to have 3 points in order to describe it.

Is there a reason behind your question that you would care to elaborate? So we may figure out a better way to do if ... if any.


I'm new to blender but I think you can remove on a object like one hand and the select the arm go to modifiers and add a new modifier called "Mirror"maybe it'll work for you.
Through mirroring any change you can make in one hand is also applicable to second hand...
Thank you!


Different number of Vertices, Faces and Triangles between object mode and edit mode

This is happening because you may have a modifier on the object that does not affect the mesh during edit mode, but the changes are shown in object mode.


Can't scale biezer curve object after editing object in Blender 2.8

You need to understand how vertices in curves work: they are defined by a center point, where the curve goes through, and two handles which can be on the same axis or not.

The handles define the direction of the curve while exiting the vertex and their easing, just like a keyframe in the Graph editor. The central point is just a positional reference, like a normal vertex in a mesh, so it doesn't have a scale (it's a point: it's a "0D" element). The reason why you can scale multiple centerpoints is that they behave like vertices in a mesh, so if you scale them up they increase their distance from the median point.

In this gif you can see that you can scale the vertex up if you select 2 of them or you scale it from another point (the 3D cursor in my case)


Transparent object on transparent background

You can use 2.80 or a recent daily build of 2.79 from builder bot:  https://builder.blender.org

Here in the film section you can find additional Transparent Glass option:

But if you don't need refraction, you can try Transparent shader instead of Principled transmission.

Or even in recent builds you can use Alpha value in Principled BSDF:


Build a proper Cycles shadow pass in the compositor

I was able to solve it in the end by darkening certain passes before combining them. The usual combination method is Direct Pass + Indirect Pass multiplied by color pass. The Direct+Indirect contains all the lighting and shadow information, but does not have any material colors to throw off the ramping.

I took the direct+indirect, ramped it to get a mask of the desired darkening, then multiplied the direct+indirect by it. Then I multiplied by color, completing the combined pass. This was also done for the Gloss using a different ramp for more artistic control.


How can I fix the default orientation of a model?

I'm assuming you are importing a .fbx file but even if you are not these setting are available on some other format imports. Simply select the orientation before importing


Add-on - open_mainfile() always leads to segmentation fault

Threading is not supported in Blender.
So I changed it to:
import bpy
def test():
    bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath)
    return -1.0
bpy.app.timers.register(test)

But this also wasn't working. Version 2.91.0 Alpha has already a commit fixing this bug.
You can check committed notes here: https://developer.blender.org/T80028


Can't get 2 Dynamic Paint Canvases to render at once - Blender 2.8

You have to actually name the cache in order both canvas layers to render.


How to add face to parallel edges of two hemispheres?

Select both edge loops and use the Bridge Edge Loops command.


Blender failing to open saves using cycles render. (OpenGL 3.3 or higher error)

So there is a bug with SLI. If you go into the Nvidia control panel and manually select 1 GPU for openGL it resolves the error.


How can I undo Edit steps in Object Mode?

This is just the way the undo system works currently. There has been some discussion about this lately, mainly due to this video (the part relevant to undo is at 8:12)

The trick when this happens is to redo in object mode immediately after undoing all your edit mode changes:


GPU rendering via CLI not working in 2.81

Blender's command line interface executes the argument in the order they are given, as documented in the manual. Therefore your command renders the animation (-a, --render-anim) before executing the Python script (-P, --python). Hence the GPU is enabled after the rendering is already done.

If you put the -a argument last, it should properly render the animation on the GPU.


Austin H. the correct answer to this would be using shape keys. Jonathan Williamson from CGCookie has made an excellent tutorial on that some years ago. Here is a direct link to it on vimeo.


epsilonn,
I have seen the rig and the object and it really doesn't look good. It is very common and happens to a lot of people. If you are going with joining one part which is a separate object with the rig, it is not supposed to happen. If you don't understand, imagine the front is one object and the back arm is one object and both are connected to the same thing. This provides fewer problems but is kinda tiresome. If you have done this, this shouldn't happen. But if you went with the common method of making the whole body as 1 object and using automatic weights to parent it, then this problem occurs. Luckily, it is easy to fix. I will share the link to the youtube video. It's below.
https://www.youtube.com/watch?v=l9S-jhBIEiU
If you are using a version below blender 2.8, here's the link for that version:
https://www.youtube.com/watch?v=Tl4qTgwQwYw
If it still doesn't work, then you have to sadly delete the whole model and the rig and start over again. There's no other option if weight painting doesn't work.


How to make a texture always upright relative to the global Z?

Yes.

The simplest way to do this is by using Object coordinates plugged into a Vector transform node set to transform from Object space to World space:

This will preserve the texture's location relative to the object, so moving the object up and down in world space will keep the textured "glued" to it:

If you don't want this, then you can use the Z channel of the ray position:

This will keep the texture fixed in world space:

Watch the upward translation closely to spot the difference between the two methods.

Note that I tested these with a procedural texture, so I'm not 100% sure it will work with an image texture. I assumed that a procedural texture might suit your needs better anyway. Here's the setup I used:


How do I convert a Mesh's autosmooth result into an edge selection?

It probably isn't possible to convert the selection Auto Smooth uses internally to define edges shown as sharp ones however it should be easy to select those edges additionally. In the 3d viewport header open Select > Sharp Edges to run the operator and create the selection.
In the operator options make the angle threshold to be the same as in the Auto Smooth option (so if Auto Smooth was set to 30 degrees make sure same angle is set in the Sharp Edges selection options). In the end same edges as ones used by Auto Smooth will become selected.


Texture doesn't seem to apply to this model

I was able to achieve success by selecting each the body and head, respectively, and opening a Shading Editing window. From here, I checked the "Use Nodes" box, and added an image texture, mapped to the UV coordinates.


Importing Textures from other .blend files

You can append all sort of things from one blend file to another. File>append>go to the file with what you want> enter it and you get a list (action, brush, camera..., texture), enter texture and you might find there. Other way, is to open the blend file with the HDRI, go to UV image editor, select the HDRI to view it, press F3 to export it, by doing that, you might edit it in external software, like Gimp, or similar.


Is 3D viewport render time exposed in python?

As far as I know this is implemented in C and no accessible with the python API.

However you can probably create a handler for scene_update which:

iterates over all areas and check if area type is 3d view
if so check if the view type is rendered
and if it is start a timer and use some approximation algorithm to record the time
however if the view type is not rendered or there are no 3d views and the timer is running, stop the timer.

Read more:
Render Time Estimation Addon

Cycles Time Estimation


How to get a transparent shader equal to the Maya`s x-ray shader?

First option - Cycles in Rendered view.

You can mix Transparent with Diffuse or in this case Emission shader by Layer Weight > Facing. Additionally you can add Color Ramp to have even more control over Facing falloff.

This material is added to the monkey mesh.

Second option - X-Ray in any other view.

This option will allow you to see chosen object trough everything else in the scene. You will need to check X-Ray under Object tab > Display section > X-Ray.

This option is turned on for the sphere mesh.


Use matrices.

In Python, How to get pose bone to rotate with another pose bone from a different armature? Finding Rotational difference  have shown how to snap a bone to another using world space matrices of each.  The example snaps one bone to the world space rotation of another.
Similarly here could look at local space. Have simply converted the local space matrix back to pose and applied to bone. Bit hard to test without two rigs, but as shown in linked answer, and Python How to make pose bone rotation toward a point?  can make matrix to adjust the rotation of the target pose bone to the source. Basically the rotation part of a pose matrix is pointing the Y axis of the bone (head - tail). If a bone is connected it will ignore the location part of its matrix
import bpy
from bpy import context
from mathutils import Matrix
import json

# WRITE

def pose2local(pb):
    M = pb.id_data.convert_space(
        pose_bone=pb,
        matrix=pb.matrix,
        from_space='POSE',
        to_space='LOCAL'
        )
    return [row[:] for row in M]

scene = context.scene
rig1 = scene.objects.get("Armature")

output = {pb.name : pose2local(pb)
        for pb in rig1.pose.bones}

with open("matrices.json", "w") as fp:
    json.dump(output, fp)

# READ

rig2 = scene.objects.get("Armature.001")

with open("matrices.json", "r") as fp:
    data = json.load(fp)

def local2pose(pb, matrix):
    return pb.id_data.convert_space(
        pose_bone=pb,
        matrix=Matrix(matrix),
        from_space='LOCAL',
        to_space='POSE'
        )

for name, matrix in data.items():
    pb = rig2.pose.bones.get(name)
    if pb:
        pb.matrix = local2pose(pb, matrix)


Is Backface culling possible in render mode?

Select the material that you want to be with Backface Culling and enable Use Shader Nodes.

Open Node Editor and select the material you are using in the Material Node.
Add Geometry Node and connect Front/Back socket to Alpha socket in the Output Node.


To enter special characters for a Text object,

enter editmode
type any letter
go to Redo panel (it should show Insert Text)
open Notepad or another text editor
enter your special char using Alt key
copy and paste the char to the Text property field in Blender's Redo panel

Another way is to

load an external text file with the Text Editor,
then click the menu Edit > Text To 3D Object > One Object.


Turns out that you have to select the "Visual" options in the "Insert Keyframe Menu". As in, "Virtual Location", "Visual Rotation" or "Visual LocRotScale". I was just selecting all the bones and pressing "i" twice out of bad habit.


Access for Shortcuts or Quickselection for Advanced Selection: new, extend, invert, intersect

I figured it out:

It's actually all in the keymap, except Invert Selection. So, I supplemented it.


Blender copies objects when I double click

Apparently I had an application called "Qtranslate" activated so it caused this problem. once I closed it the problem dissappeared


How to render All layers in my Compositor at once

You selected Only render the active layer option in the Render layers list.

With this option only currently selected render layer (active one) will be rendered while others won't be; thus while compositing you'll see new results only on this active render layer.
From manual:

  Using Render Layers can save you from having to re-render your entire image each time you change something, allowing you to instead re-render only the layer(s) that you need.

Deactivate this option and all the Render layers will be rendered again when you press F12 (or with any other way).


Blender script Python check the rotation is change, or active

The following python script will iterate through the "areas" in the current window to find 3D views and print what the pivot point is set to.

import bpy

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        print(area.spaces[0].pivot_point)

One thing I have noticed is that if you change the pivot_point in one 3D view it changes in any other 3D views you have open.  This leads me to suspect that the information exists elsewhere in another data structure, but I have not figured out where.

See also How to set cursor location, pivot_point in script?


Blender window type icon only changes header

You probably just using wrong thing:

If you use top-left button to change window type it will only change the header, so you should use the one at the bottom left (marked in green)


Rigid body motor constraint reversing when crossing the 90 degree angle on the Z axis

Changing the Object 2 to geo_body in the motor parameters seems to solve the problem


How to create lighting for an LED strip?

Idle Chit-chat

I am not familiar with all the LED terms you used, so I just answered the bolded question. BR is a good engine, and although Cycles might be better, there is a great way to do it in each. Similarly, I will include instructions for both.

Blender Render

I believe it might be best to use a point/spot lamp inside the mesh and control the color/strength from the lamp settings AND shader Diffuse color settings.

Add a lamp inside your cubic mesh. Set the color and strength to the desired effect. Add a shader to the mesh. Change the Diffuse color to correspond with the lamp color. Change the Emit strength to 2, the max. Here's the key: Uncheck Traceable in the settings. Procedure described and explained further here around 40:00.

Cycles

Use an Emission shader and set the color and strength as desired. You will need to set the strength in the hundreds or thousands to see it light up. That's it; ta-da!

Hope this helps and happy Blending!


Object Mesh is Disappearing in Edit Mode but is not Hidden

Let's try the most simple stuff, see if you haven't accidentally hide all, so in edit mode press Alt+H.
Other simple stuff is to press A and then press G and move around (if the mesh is in any case behind other object), you then must see a lot of orange points going around.
If that does not resolve the problem, in object mode set the Origin to the Geometry and in edit mode press Shift+S and (cursor to selection) and in view 3D cursor you can see the co-ordinates where the cursor goes, try to locate that and you must see the mesh, (don't press selection to cursor cause all your mesh will be compressed in one point)
If that does not solve, try to look in Object properties> viewport display > display as > and set to Textured or Solid.
If you can't see still, see if you are in preview or render mode so it could be a transparent texture issue so you must adjust your UV maps.
Feel free to give me a feedback if case that none of them not solve the problem.


The vertex normals will be the average of the adjacent faces' normals.
Look at the lower-right corner of the ear in each of the two head images showing "face" vs "vertex" normals:

Notice that the face normals from the image on the left, about the lower-right vertex, are moved and redrawn from that vertex on the image to the right.
I am not an expert in cgi but it is safe to assume that all normal vectors are the same size. A unit vector about the vertex can be found by adding the vectors tip-to-tail and dividing by the length. This unit vector would then be scaled up by whatever display length the user selected.


Im not really sure what exactly  what you exactly mean by "array it on y axis" but my answer is based on "360 degrees". You could try uploading your Blend in the question to get a proper answer. But here's what i got.

Here's the blend file:-

Edit:---------------------------------
So i looked into your blend and it seems like you must've turned off the Modifier visilibilty of the array modifier. Also you need to use the x axis in both of the modifiers and rotate the object in edit mode in order to achieve similar results like mine (if thats your goal).


Scale bone in pose mode without affecting child bone?

Uncheck inherit scale in the bone properties


You mean with Blender?

The Blender obj exporter let you "write materials" or not, i.e. create the .mtl file or not (by default yes, uncheck it before confirm exporting).

And you can import in Blender a .obj file even without a .mtl

But I don't know if I answered you.


Step 1: Creating a large mesh of 1x1 squares

There are several ways to accomplish step 1, here's one possibility:  Create a new 1x1 square as a new object.  Use the "Array" modifier to make a row of 1x1 squares, wider than your target object.  Apply that modifier, then use a new "Array" modifier (set to Z offset instead of X) to make multiple rows, taller than the target object.  Apply this modifier as well, and "Merge Doubles" on the resulting mesh of 1x1 squares.

You should end up with a mesh of connected 1x1 squares, that extends larger in all directions from the target object that you hope to cut.

Step 2.  Use Knife Project

With your large mesh selected in Object Mode, shift-right-click on the original target object, to multi-select that.  The target should be "active" selected object, with the new mesh a reddish-orange multi-selected color.  Enter "Edit mode" on the target, with all vertices selected.  Set your view to look along the axis perpendicular to the meshes (typically, numberpad 7, 1, or 3).

Finally, click the Knife Project button in the left margin.  This should cut a batch of 1x1 squares into your target mesh.


How can I turn off the display for these orange dots on my hair particles?

Deselect "Children" from the left-hand menu under "Draw".


how to get a smoke domain and flow object to follow a parent that is driven by a rig following follow path bone constraint?

For anyone else who might stumble on this problem, there's nothing different you need to do, but like me you might be thrown off by the viewport showing the smoke sim stuck at frame 1 with the domain not following along with the object, and the smoke sim not updating.

All you need to do is parent all of your smoke objects to any child of the rig that has a path follow constraint (which you've probably already done), and then select the domain and click bake. It will then bake properly. The problem is only that blender tricks you into thinking you've done it wrong for a few hours by giving you the completely wrong result in the viewport unless you bake.

Hope that helps someone.


Bevelling Issue with Subdivision Surfaces

Just to illustrate Fowl's point.

You also need to bevel adjacent edges.
That way the bevel has enough geometry to work with.


Rigging Mesh With Separate Parts Deforms Incorrectly

Autoweights don't handle separated meshes well.  There are a number of reasons why manual weight painting might not work well or easily for your situation.  (Like occlusion, particularly if there's some ambiguity of that from coincident verts.)
What's the solution?  You don't have to merge your mesh, but what I'd recommend is making a temporary duplicate of your mesh and then merging the vertices in that.  Then you have a mesh that you can use autoweights on properly, that you can paint easily.
When you've got weights you want on your duplicate, then it's time to transfer the weights back onto the original.  Make sure your armature is in the rest position (and that you're not using any other modifiers on your duplicate.)  Use a data transfer modifier on your original, set it to affect vertex data, vertex groups, specify the duplicate as the target, copy by nearest vertex (nearest face interpolated is usually better, but here you may have slight inconsistencies in vertex position at the seams), hit the generate button, then apply the modifier.  After you do that, you can delete your duplicate; the original will have the same weights as the duplicate.


How to find out the exact Frequency of F-Curve Modifiers

It looks like the base modifier is set to f(t) = sin(t) . That is to say, f(0) = 0, f(pi/2) = 1, f(pi) = 0 and f(3*pi/2) = -1

So the frequency is 2 * pi (The curve repeats itself every 6,283185307... units).
If you want to tweak the frequency, say you want a cycle every 10 frames, multiply the phase by 2 * pi and divide by 10.


how to make an addon with custom driver function

Use a persistent load_post handler to register your drivers to the driver namespace.

import bpy
from bpy.app.handlers import persistent
from bpy.app import driver_namespace as dns

def driver(x):
    return x

@persistent
def load_handler(dummy):
    print("Load Handler:", bpy.data.filepath)
    #dns = bpy.app.driver_namespace
    # register your drivers
    dns["xdriver"] = driver

def register():
    load_handler(None)
    bpy.app.handlers.load_post.append(load_handler)

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

if __name__ == "__main__":
    register()


How to permanently remove a default add-on

Blender comes with a "Light" version of Archipack, you can't "Remove" it with a button like custom add-ons. This is true for all add-ons that come shipped with Blender.
The custom add-ons get installed into a separate folder (Appdata/Roaming/Blender Foundation/Blender/2.xx/Scripts/Addons on Windows), while the "default" ones can be found in the blender installation location.
You can see the actual install location in the File field when expanding the Add-on informations. You can actually see it in the screenshot you posted.
To permanently delete a "default" add-on, go to the location mentioned in the File field and simply delete the corresponding folder or .py file. Next time you open Blender, it won't be loaded.


How can I duplicate and translate a selection of edges constrained to the original mesh?

You can always use the mirror modifier or array modifier.  Also you can snap to increment so after you duplicate the edge its easy line up the edges the way you want.

Now that I see your picture you can just subdivide again.  Select the entire top and bottom edge in your image and subdivide again.


There is a way to improve the quality of pre-visualization?

To get rid of the noise in the viewport, you can increase the Viewport Samples, and/or turn on Viewport Denoising (denoising will provide comparable quality, while allowing you to get away with using fewer samples):


How can I interactively change the shape of a cloth?

Blender is still on the way to develop a full workflow for cloth modelling, but some of the functionalities of marvelous designer have been implemented in the recently added cloth brush. You might want to check out this post to see the updates.


Change Object Index of Objects in a Collection Instance

Found a workaround. Instead of Index, I'm using the RGB color value from the Object Properties -> Viewport Display of each Collection Instance to drive mix factors in the material of the objects.
From the Object Info node, instead of Object Index, link Color to a SeparateRGB node, and change the Red of the Viewport Color of the instance, same way as you would use Index. Then connect R to Mix node or any other node. Nice thing is you can control each channel separatley, using the Green and Blue value for different things in the same collection instance.
Maybe not as elegant as it should be, but at least for me in the same use case as yours, it does the job.


It's not done with drivers. In the script I see:

  own.channels["eye"].location = 0.0, own["eye"], 0.0
  own.channels["smile"].location = 0.0, own["smile"], 0.0

channels is a list of the bones in the armature.
I think he has parented the vertices to the bones and moved the bone channels.
Or maybe he has bound the bones to the drivers.


get normal vector at a specific point in a curve in animation nodes

You can evaluate n points using the Resolution Parameter Type where n is the number of points your spline have. Now, get the normal at the index of the point you want as follows:


Closed mesh has weird artifacts (Blender Guru Anvil Tutorial)

You have ngons (faces with more than 4 vertices). Try to avoid that, especially on twisted surfaces. Just join the vertices with J to make quads.

You also have faces overlapping like these ones. Delete them but also the ones underneath because sometimes the face is large as 2 faces. Here again make sure that you have quads.


When importing svg from inkscape, losses of color and definition

Blender being a 3D modeling application doesn't really work like a 2D vector drafting application like Inkscape, there is no Z ordering or layers to tell what stays above what, like one would in an illustration program.

What you see in you image is not loss of color or definition, nothing is wrong with your shapes, what you are seeing it is simply the imported shapes overlappingeach other at Z=0 height and causing faces to glitch.

This is a well known issue with rendering 3D scenes with overlapping geometry often called Z-Fighting

Think how these shapes would be built in the real world, there can't possibly be two objects be occupying the same physical space. You simply have to "subtract" or remove the shapes from each other so there are no overlapping parts.

For example make a copy of your "yellow logo" part and joint it with Ctrl + J to the white "cone base" part, so there is a whole there with the same outline, where the yellow logo can be seen through. Same for all other parts, purple background should have a whole in the center shaped like the white cone, and so on.

Before you proceed consider this:

Are you planing to make this cone three dimensional with an actual cone shape?
Have in mind that you will have a very hard time doing that from a bezier curve object, or even from a mesh object created from those imported SVGs. Blender doesn't deal with that very well at all because of how bezier curve geometry is generated.

Consider exporting your design from Inkscape as a PNG image and using that as a texture on your cone instead. Model a cone from a mesh in Blender directly, it will be a lot easier and produce better results.


What will happen with Blender 2.8 game engine?

As far as we know the Blender Game engine has been removed from official Blender releases for good, at least in its old form. As of commit 159806140fd3 - Removing Blender Game Engine from Blender 2.8 on April 2018, BGE is no more, along with other "aging" components like the Blender Internal Render Engine viewport drawing code among others.
Ton Roosendaal himself was given the honor of making the commit that put the old code to rest.

As for the reasons for removal we can conclude it was an old and aging component, it was largely unmaintained, suffered from several bugs and limitations, and the Blender Foundation probably lacked the energy, motivation and manpower to maintain it properly.

Adding new things to Blender gets much easier that way. The Blender
Internal code started in early 90s. Over 25 years old! Functionally,
EEVEE can (and will) completely replace it.
Ton Roosendaal

It was also very architecturally outdated, lagged severely behind the current industry standards and modern technologies in many ways, it would be very hard to bring it up to date. Modernizing it or introducing new features would end up being more work than a full rewrite from scratch.
For that reason they decided to release Blender from these "metaphorical shackles" holding it back; making it easier to move forward and update other more important and frequently used features.
This frees Blender developers to work on other things, allowing more manpower to be redirected to truly useful new features like a better viewport drawing code, a modern layer system, a better dependency graph, usability improvements, among others. These will instead help you produce better game assets (which is Blender's main focus, and where its greatest strength lies anyway), rather than trying to run the game itself, leaving that role to dedicated engines.
"Why wont they make a new one then?"
Probably both because "we are too late to the race" and it would be a tremendous amount of work to write one well. There are already a number of well established third party game engine solutions out there, both free, open source, or comercial; and competing with those would be extremely hard and pointless.
Writing a full game engine is no small task, it is a full time job on its own, and maintaining it well would require a lot of continued manpower and resources. Since expectations are very high (supporting multitude of hardware and environments, multi-platform publishing, modern physics, logic systems, networking, security, smooth performance, and all the modern commodities expected of contemporary game engines) it would probably always end up feeling inferior or lacking in lots of ways compared to more mature established competitors.
What About Forking It?
UPBGE is a third party fork, whose objective is updating and modernizing the BGE with better technologies and features, with the end goal of eventually merging it back with main Blender development branch.
I fear its future is uncertain at this point unfortunately. While I believe Blender developers won't actively do anything to purposefully break Blender trunk codebase compatibility, I speculate it will naturally become increasingly hard for UPBGE developers to maintain their code working, as features are removed and main Blender development deviates further from the current design.
UPBGE will probably continue to work as standalone based against current 2.79 versions for any foreseeable future, but you will likely miss all the other improvements made in subsequent versions.
While the final decision is always yours, as it stands your time is probably best spent learning something else more ubiquitous and modern, giving you a more lasting and future proof investment.
So, is it really gone for good?
In its current form yes.
There have been talks about replacing the old game engine with a newer better integrated "Interactive Mode". It would be a more integral part of Blender, as opposed to a separate component with a lot of duplicated code that re-implemented a very limited subset of supported features we currently have.
This is not meant to be a direct replacement of the old BGE, nor a discrete game engine in the traditional sense with wide publishing capabilities, rather more of an integrated real-time "presentation tool" or interaction mode with a physics simulation sandbox environment, that runs directly inside Blender's viewport on currently supported platforms.
On 28 May 2018 Ton Roosendaal announced in the Developers Mailing list that a portion of the 2.8 Code Quest funds were reserved for the development of a new and improved real time rendering system or "Interactive Mode" and Benoit Bolsee, a developer historically known for his involvement in real time side of Blender, accepted a grant to work part time on this for one year.
I speculate this will probably feature a new node based workflow and logic system,  real time physics, and integrate well with other upcoming features like "Object Nodes" also known as "Everything Nodes" in one way or another.
When will it be ready?
A project of this magnitude requires a lot of careful planing and design to get done right, this will lay solid foundations on which to work on. On top of that there is still the huge amount of work required to actually implement it and get it working, tested and stable enough for the general public.
This would take a dedicated team working full time a long time to get done, it will take even more for a single person to do it alone.
Since Benoit is only working on it part time and for a relatively short period of one year, this is likely still very far away in the horizon.
As of 2020 development seems to be indefinitely on standby, probably waiting on  solid planning, development of required dependencies and maturing of current features. There are currently no predictions of when or if it will ever be resumed.
If you would like to help and can't code, you can contribute to the Development Fund. This will allow hiring more full time developers to work on newer features. Have in mind that there is no guarantee this will specifically direct funds dedicated to Interaction Mode, but they might get there faster. And if there is enough interest maybe a full time developer slots can be allocated for these tasks.
So what do I do now?
Though BGE is going away for future versions nothing stops you from continuing using it under Blender 2.79 or UPBGE for the foreseeable future, as long as they work in current hardware and operating systems.
If you are spending time and resources learning the craft, you might as well invest it on something popular and well accepted in the industry, with a bigger audience and wider reach. Learning resources will likely be more abundant, and it might even increase your future employability, if you seek to work in the industry.
There are many third party game engines out there, good for many different purposes and workflows, and for varying "wallet sizes". Some integrate very well with Blender, even using its native UI (like the Node Editor through PyNodes) for editing a varying subset of supported features and functionality.
They also provide extended publishing capabilities, reaching many platforms never before supported by Blender Game Engine (like mobile devices, web, cross platform development, among others).
The best known and most well established ones are probably:

Unreal Engine
Unity
Uniengine - Focus on real time presentations for industry and enterprises
CryEngine
Lumberyard - Amazon's Open Source version of the CryEngine

There are also free and open source solutions that integrate very well into Blender pipeline and native UI like:

Godot - Well established free alternative, 2D graphics focus, popular for mobile content.
Armory 3D - Relatively young entry, actively maintained, free and open source license.
Urho3D - As pointed out by user Kabu in the comments
Ogre 3D -  One of the oldest open source engines around, since 2001

While not a game engines per-se, products like Blend4Web and Verge3D provide Blender addons for web publishing that also have some form of node-based logic systems and scripting capabilities. These allow creation of basic behaviors, and a certain degrees of interactivity, thus providing a simplistic yet relatively capable web browser based game creation solution.


the bone is connected to its parent which constraint its location also leaving it parented will create some problems when using it as IK terget :

in edit mode select the last bone and remove parent and clear connected

you can use the copy location constraint on the bone now and set it as IK target


How can I use an attribute value from a mesh's material in another material?

It's quite easy, and technically this is a duplicate question...but since you framed it within the context of lighting I will go ahead and answer.

Say you have two or more lights, and you want them to share a value for emission.

For any property you want to share between multiple materials, you need to Group it. CtrlG

In this case the Value we want to share is to be used for Emission, so create a lamp with a Value input node for emission strength and then group that node.

You should end up with a Group like this:

Hit Tab to go inside of the Group node and you will see your Value node that globally controls the emission strength for all lights with a material controlled by that Group node.

You can start by examining and playing with the example .blend provided.

The subject is lit with a proportionately controlled amount of light.

In this example render Suzanne is lit by multiple lamps. The distance, color, and even type of the lamps is different, but the global brightness is controlled by the same group-linked value.

Just keep in mind that if you're matching to an emitter mesh, the brightness will vary according to the surface area of the mesh. So you'll want to create a mesh light of matching size.

Update

I looked at your .blend. Compare the Group node you had...

to this modified one I made:

Since the flame attribute is local to the mesh, as you observed, the best we can do is to multiply the emission intensity by some value. And if we do that using a Group node then that value gets shared so we only need to change it once.

I put the color value in there so it can be shared too. But the nature of how the flame color is generated is different, and uses the ColorRamp, so while their intensity can be increased or decreased simultaneously, the color won't be exactly the same.

I added an emitter mesh because it emits more light than a Point Lamp. I left the Point Lamp though, so you can see how the Group node is applied to both.

I'm not sure what your final goal is with all of this, but I hope this can be a solution for you.

Taking it Further

You can keyframe the Value node and then add a Noise Modifier to the animation so the brightness will flicker in sync (although such animation will not be visible in Viewport Render).


Another method to create a face with a vertex at the centre.

Select your vertices:

Make Face F, this'll create a ngon:

Poke Faces Alt+P, this'll create a single vertex at the centre:


Principled BSDF incorrect roughness scaling?

The Principled BSDF uses squared roughness internally to better match other software and tools. The glossy BSDF does not, hence why it was necessary to square the roughness with a math node on older PBR node groups.


Here's the workflow from the Text Object itself.

Here's the workflow after Text has been converted to Mesh.

Use Limited Dissolve 1st. On the "Tool Shelf" You may need to slide the angle limit around. Alternatively on the delete menu, you can select Dissolve Faces directly, depending on the circumstance this may give you a more accurate dissolve for this purpose.
Ctrl+B - With the Top Edges Selected to Bevel.


Assuming that you are indeed referring to the magnetic toys and not the carbon nanomaterial, then you have a couple of different options.

Technically, you could model the magnetic attraction between all of the individual balls by using Blender's Force Field physics. You can enable this physics simulation in the Properties> Physics menu. However, this would be very inefficient. Since the magnetic attraction between these balls is so strong, they're almost always touching each other directly and you would hardly see any effects of the simulation.

Instead, you can just model the balls themselves, and keep most of them touching each other.
If you only have a few of them, it's probably fastest just to control their movements by hand. However, if you need to animate them more efficiently, you can use a combination of Array modifiers (parented to empty objects for convenience) and Transform/Relationship constraints as appropriate to keep the right balls locked to each others surfaces.

BuckyBalls:


Will it be possible to have this type of lightning in Blender?

(I've edited this based on a quick run through) You will be angered by "fireflies" if you build a scene like this in a dark way. Fireflies are points of static as Blender tries to cast rays of 'light' to render a scene. So, there's an important trick: light it too much and then lower the exposure or color curves in post to make it dark and moody. Set your environment strength WAY down, maybe even to 0.2 and heavily restrict bounces in Light Paths.

Your geometry is first. Place your Camera and then, in my opinion, make three lights 1. Sun lamp as Moon, 2. Sun or Spot as street lamp and 3. headlights from Emit Shader. In Cycles, the Moon's Sun lamp can emit with a strength far beyond 1.0 Go very high perhaps to 5 or 6 and position it to create shadows and shine through trees.

The Street Lamp will now light the shadows but its strength must also be high. Don't despair at a bright image; we can adjust the Exposure and contrast and color balance to give it that dark, blue night look. The Scene Tab has most of these adjustments.

That fog is the awkward part - the image you posted is from TV or a movie. The headlights don't have an effect. If you create a Circle, give it a Face in Edit Mode and maybe Unwrap it, the Material can perform a little magic...

A Circular (or Spherical) Gradient Texture mapped to the "Object" can act as a Mix Shader's Factor between a Transparent Shader and Diffuse Shader. Multiplied to that Gradient by a Mix RBG Node could be a Noise Texture Node. If the edges of the Circle are screaming obvious, switch the Diffuse and Transparent Shader sockets' entry into the Mix Shader!

The effect will fake volumetrics. Place that faced circle where lights cast upon it. In Edit Mode, Shift + D copy another closely nearby and the mist or fog will begin to take better shape. Don't move copies too far or the Object coordinates we depend on will stretch out of whack.

We all love volumetrics but using them eats processing time. This material trick can later be used on actual volume renders. (EDITED - Environment Strength, Circle Mapping coordinates, corrected Render Tab to Scene Tab)


Camera not showing anything when rendering

Select everything and press W when you are in Object Mode then press Clear All Restrict Render!That should do it!


Can I define a coordinate system based on a mesh, as generated coordinates are based on a bounding box?

I think you might be wanting this setup, where we use Vector Math nodes to convert Generated Coordinates to something equal or almost equal to Object Space.
It's commonly used with Vector Displacement, because Generated space performs some very specific transformations better than Object.


Planning - how important is it to create mostly quads and few triangles?

I'm no expert on mesh topology, but I do know that good topology (with nicely flowing edge loops and almost only quads) is important especially if you want to animate and deform your mesh, and less so in most other cases.

Some tools work better with quads than tris, such as the subdivision modifier which sometimes generates weird artefacts, especially when the mesh is irregular. EDIT: Rigging and skinning is also easier when you have a clean quad based topology with nice flowing edge loops.

In most other cases triangles will pose no problem (I might have forgotten a few other examples for issues, which others here might add, but there probably aren't that many). You can texture, shade, light, 3D print with ease even if your entire mesh is made of tris.


How to allow blender to only use part of your CPU computing power?

Under render > Performance >Threads,
set it to fixed and you can chose how many Cores Blender can use when rendering in cycles. Not sure for Eevee. This should also work for modeling

Also you can use Cpu affinity which limits how mnay core blender uses as a whole through

Task manager> Details>Blender.exe (Might be different I use .zip) > right click > Set affinity  ,  on windows

or using what is discussed here for Ubuntu Link to Ubuntu forums

Note: For this to work you will have to make sure the amount of threads in performance is the same as the amount of cores as you have set in the affinity, or it will be reset every time you go into rendered view or render.


Select your edge, open the edge menu with Ctrl+E or the specials menu with W and select "subdivide"