text:
Can a Vertex Group be saved as a separate .blend File?
I've created a model using makehuman after editing the hair mesh and recoloring the texture I would like to save this part of the model to be able to reuse it with other models.
Can a part of a mesh (including an armature and material) be saved in another .blend file for importing later?
I tried to select the hair mesh and invert selection to delete everything else, but there are way too many items in the outline view.
EDIT:
The effect after Ctrl, delete all, C Ctrl-V is the same as when append or link will be used to load the hair mesh, unwanted custom shapes and other stuff comes into the new scene.
Append .blend/Mesh/test_clothHairLongMesh2 has no effect at all and append .blend/Object/test_clothHairLongMesh2 loads all the stuff described above.

AFAIK, the only way is what you already tried to do.. (delete everything else and save as)
What do you mean by "but there are way too much items in the outline view"?
what didn't work?
(another thing I don't understand is what this has to do with vertex groups?)

Instead of deleting everything manually in the Outliner, you can Ctrl+C copy your object, select all and delete, then Ctrl+V paste your object back.

Append blend/Mesh/anyMesh does only unvisible changes. The mesh data is imported into the other blend, but will not get assigned to any object in the scene. Later you can assign it to an existing object (Properties panel / Mesh tab).

It seems, that the artifacts coming with the appended object have no fases. Maybe because you used the face deletion? Or another possible issue is, that the object also "pulled" its children with it. Make sure nothing has the hair as parent.

The best way I can think of is, for safety duplicate
the original object first as you suggested,
then remove the other parts of the mesh:

Select the part of the mesh to keep.
Press CTRL + I to Invert Selection.
Press X and Vertices to delete excess parts.

Or (not so good solution) you go back to object mode,
select the object if it is not already the only selection,
and export (for example as collada), and check only selected.
Later you can import the exported mesh.
Or you may give a nice name, like APPEND-WITH-ME, and you can
simply append your other blend file and select that object
(not the mesh, the object). Every material, particles,
etc will be also loaded into the new blend file.

Thanks, your comments about the invisible Mesh and Parenting are probably the key. I will check that soon.

Expanding on Ahdi, Gwenn, and Róbert László Páli's answers:
Deleting the extra objects is actually unnecessary, but it makes things a lot easier to find when it's time to append your objects. (Unless you have a good naming system so you can identify what object is which)

To delete extra parts of mesh:
Select the part of the mesh you want to keep:

Then press Ctrl+I or 3D view > Select > Inverse to invert the selection:

Press Delete or X and select Vertices to delete unwanted parts of the mesh:

Deleting extra objects:
If you have extra objects that you do not want that are not part of the wanted mesh,   you can delete them by going into Object mode (Tab) and:
(Note: you may want to make all layers visible (~) and un-hide all objects (Alt+H) before doing this.)
Selecting only your wanted object(s), use Ctrl+I or 3D view > Select > Inverse to invert the selection again, and then delete (Delete or X)

You can now save your file with Save As (Ctrl+Shift+S or Info Panel > File > Save As)
Whenever you want to use that object again, you can (in your other file) Append or Link objects

Appending:
(Shift+F1 or Info Panel > File > Append)
navigate to the blendfile with the wanted object, go into Object, then select the objects you want and press Enter or Link/Append from library
Copy / Paste:
Also, as mentioned by Gwenn, Cut, Copy, and Paste were added in Blender 2.66
So you can simply select and Copy (Ctrl+C) your objects out of Blender, then in a new instance of Blender (or after opening your other file in the current instance) Paste (Ctrl+V)

It's easy to invert selection without involving Outliner space. After displaying all layers ~, just press Ctrl+I, or Select > Inverse Selection, in the 3D View space:

But to reuse a component of your character, you don't need to save it to a different file. Just make sure every object and obdata are properly named: what is the object, and which character it is a part of. That way, when you append or link from another file, it's always clear which data you need just from its name. This illustration is in Indonesian, but I hope it's clear enough that I've followed such naming convention:

I made this task easier for myself, by having a regexp-based renaming operator (to easily add prefix or replace some suffixes) and obdata<->object name syncing operator in my personal rigging tool.

If I understand your question correctly, you don't actually need to save a separate file to do this. Just save the file with everything in it as you normally would, then open a new file (or the file you want the object in), go to File> Append, and select your specific object from the file browser. That should place a full copy (materials, mesh, textures, etc) into your new file.

Thanks I tried both of your suggestions and edited my question.


text:
How can Edge Loops stay aligned when using the Subsurf Modifier?
I manually aligned each vertext of both marked edge loops in the first image shown (additional edge loops on mudguard and the doors). When a subsurf modifier is added the gap becomes too large as shown in the second image, is there a better technique than realign vertex by vertex after adding the modifier?

Set the edge Crease weight (Shift+E or Properties shelf Transform panel Mean Crease):

Weighted edge creases for subdivision surfaces allows you to change the way Subsurf subdivides the geometry to give the edges a smooth or sharp appearance.
The crease weight of selected edges can be changed using Transform Properties (N) and change the Median Transform slider. A higher value makes the edge “stronger” and more resistant to subsurf. Another way to remember it is that the weight refers to the edge’s sharpness. Edges with a higher weight will be deformed less by subsurf. Recall that the subsurfed shape is a product of all intersecting edges, so to make the edges of an area sharper, you have to increase the weight of all the surrounding edges.

As usual, your use of <kbd> puzzles me..

Yep, I still think correct markup is more important than styling conventions. ;)

@Aldrik: When you say weighted edge creases, are you refering to the "mean crease" option in the transform properties?

The simplest solution is to put more parallel edgeloops there. Edges that are close together have more power over the subsurf modifier and create sharper turns. If your topology is clean, the loopcut CTRLR works nicely.
You can also select edgeloops with ALTRMB and sharpen them with an edge crease SHIFTE (1RETURN). I mostly use that with numerical input.

source: Stack Exchange

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

sort: votes


text:
How can an image be posterized in the compositor?
I tried to split an image RGB values and re-combined it with rounded values in order to reproduce the results described in this BA Thread.
But instead of a posterized image all I get is an almost black image. Why is that?

The issue was that I loaded an HDR image, with standard images it works as 3pointedit pointed out the value should be reset (I just tried several values before the screenshot was made).

The manual shows another technique http://wiki.blender.org/index.php/Doc:2.6/Manual/Composite_Nodes/Types/Convertor

If you are replicating the setup on my BA thread http://blenderartists.org/forum/showthread.php?244118-Cool-nodes-I-didn-t-know-about
then the round value should be 0.1 not 1.0

thanks for your response. Setting the value to .1 has no influence (with my setup), the original file doesn't seem to work either. Are there any requirements regarding the image format?

As far as I can tell, https://docs.blender.org/manual/ko/dev/compositing/types/converter/math.html
says the Round node doesn't use the second value for anything, and you have to multiply all three color channels by the cube root of the number of colors you want in the finished image, then round them. I think you might need to divide them by the cube root afterwards.

Yes, this is the case.

authors: عبدالمغيت الراشدي

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

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


text:
Assymetrical model with same number of vertices in each side - how to transfwer weights?
The idea: a Python script that looks at the left side, then looks at the right side group with same root name but ending with ".R", then process all vertices and copy the weights to the vertex closest to the ideal mirrored position.
My attempt: a somewhat ugly loop that assumes the model axis of symmetry is at [0, ?, ?] and then just multiply x by -1. This is assumed to be the ideal mirrored position for that vertex. Then iterate all vertices in the group ending with ".R" and apply weights to the one closest to the ideal position.
The problem: when I finally try to get the weight using vertex_groups[GROUP_NAME].weight(VERTEX_INDEX) I get RuntimeError: Error: Vertex not in group
This should not happen, as VERTEX_INDEX is taken from an array collected from a selection of the source group. I know the group is not externally changed while the script is running. There is no way a wrong VERTEX_INDEX is passed to the weight() function.
I already checked for bad indentation, that may results in statements running outside the intended blocks of code.
More info: before the expected "apply your weights before applying the deformation to the right side of the model". I'm not the one doing the model and I cannot edit it in a destructive way. The mesh is already provided, I have to weight it. I know that the numbers of vertices in both sides are the same, it's just that some parts of the model aren't perfectly symmetrical (like the artist did everything without the mirror modifier).
The script, a lot of hardcoded stuff, look for # conflictive line:
import bpy
import mathutils

# ensure we are in edit mode
bpy.ops.object.mode_set(mode="EDIT")

# configurable parameters
# We take weights from vertices in groups ending with src_group_part
# and transfer them to vertices in the group with the same root name
# but ending with dst_group_part.
# The closest possible vertex will be the one receiving the weights
src_group_part = ".L"
dst_group_part = ".R"

obj = bpy.context.edit_object

mesh = obj.data

#bpy.ops.object.mode_set(mode="OBJECT")

print("Working")

for v_group in obj.vertex_groups:
    # TODO: .L may not be at end of string, write more robust code
    is_src = v_group.name.find(src_group_part)
    if is_src == -1:
        continue
    mirrored_name = v_group.name.split(src_group_part)[0] + dst_group_part
    if not mirrored_name in obj.vertex_groups:
        continue
    target_group = obj.vertex_groups[mirrored_name]
    bpy.ops.mesh.select_all(action="DESELECT")
    bpy.context.edit_object.vertex_groups.active_index = v_group.index
    bpy.ops.object.vertex_group_select()
    src_sel_verts_ig = [[v.index, [g.group for g in v.groups], v.co] for v in mesh.vertices if v.select]
    bpy.ops.mesh.select_all(action="DESELECT")
    bpy.context.edit_object.vertex_groups.active_index = target_group.index
    bpy.ops.object.vertex_group_select()
    target_sel_verts_ig = [[v.index, [g.group for g in v.groups], v.co] for v in mesh.vertices if v.select]
    for src_v in src_sel_verts_ig:
        min_dist_v_index = -1
        min_dist = 1000000
        for dst_v in target_sel_verts_ig:
            mirrored_v = dst_v[2].copy()
            mirrored_v.x *= -1
            dist = (mirrored_v - dst_v[2]).length
            if min_dist > dist:
                min_dist_v_index = dst_v[0]
                min_dist = dist
        if min_dist_v_index > -1:
            new_weight = obj.vertex_groups[v_group.name].weight(src_v[0]) # conflictive line
            obj.vertex_groups[mirrored_name].add([min_dist_v_index], new_weight, 'REPLACE')

print("Finished")

Any alternative to get this script to work is also appreciated. Like, has Blender a tool for these cases?

Object Mode Version
Here is a test script to run in object mode. It looks for all vertex groups on active object that end with ".L", finds a matching group ending with ".R" (or None).
Then using the list comprehension methods from Python - Finding Vertices in a Vertex Group check if there are the same number in each.
If so, for each left group vert,  sort the verts in the right group by the distance from the x mirrored location left group vert. Pop off the closest and set to mirrored pos of left.
Requires no operators and no edit mode.
import bpy
import re

context = bpy.context
ob = context.object
# get the mirrored name
def get_mirror(g):
    return ob.vertex_groups.get(re.sub(r'(.*)L', r'\1R', g.name))

mirror_groups = [(vg, get_mirror(vg)) for vg in ob.vertex_groups
        if vg.name.endswith(".L")]

for lg, rg in mirror_groups:
    if rg is None:
        print(lg.name, "has no mirror group")
        continue

    print(lg.name, rg.name)

    lverts = [v for v in ob.data.vertices
            if lg.index in [vg.group for vg in v.groups]]
    rverts = [v for v in ob.data.vertices
            if rg.index in [vg.group for vg in v.groups]]

    if len(lverts) != len(rverts):
        print("mismatching vert counts", len(lverts), len(rverts))
        continue

    for lv in lverts:
        vec = lv.co.copy()
        vec.x *= -1
        # sort rverts by distance from lvert
        rverts.sort(key=lambda v: (vec - v.co).length)
        # pop and set the rvert
        rv = rverts.pop(0)
        rv.co = vec
        rg.add([rv.index], lg.weight(lv.index), 'REPLACE')

Thank you. I removed the line rv.co = vec. Remember I don't want to make the model symmetric. The model is as the artist wants it. I just want to copy the weights.

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


text:
Copy weights from other bone and invert them, how?
A typical scenario:
The human shoulder.
Typical armature, one bone for the shoulder, two for the upper arm, two for the arm. The shoulder vertices must be influenced by the shoulder bone and the first upper arm bone.
I want to paint the upper arm bone weights. Then copy them to the shoulder bone, and invert them. So, if a vertex in the upper arm bone has a weight of 0.8, the same vertex must have a weight of 0.2 in the shoulder bone.
This operation is typically done by hand, and it is easy to do so when the topology helps (all quads, low poly and straight edges). The problem is that this time the topology is complex and very high poly, it looks very good but I'm having a hard time weighting the shoulder.

Ok, it was a pretty basic stuff after all.
In the following scenario: with vertex groups named after the bones, select the vertex bone of the upper arm, in my case "arm1.L", paint the weights. Now duplicate the vertex group. Rename the duplicated vertex group after the shoulder bone, in my case "shoulder.L". Now, in the left panel, below Weight Tools, there is a button that says "Invert".
If the "shoulder.L" group already exists, like in my case, the only way is to delete it first as I could not find a way to transfer the weights between groups other than duplicating a group.


text:
How to read vertices of quad faces using Python API?
Preferable in object mode.
I have a mesh I know is made of quads only. I want my script to iterate through each quad and do something with the coordinates of each of the four vertices.
I have read the API documentation but I don't understand how faces are stored. I think what I want can be accomplished by looking at bpy.types.Mesh.polygons but the type MeshPolygon does not reference vertices directly, it references loops, and loops references a vertex and an edge, and edges, finally, references vertices.
For me this looks like a lot of guesswork to figure out what vertices form the polygon.
How to go from polygon to vertices?

The text editor has a useful template that may interest you:
Text Editor > Templates > Python > BMesh Simple
Each polygon stores a reference to the indices of the vertices it's made from.
object mode
import bpy

# obj = bpy.data.objects['Cube']  <-- depending how you want to access it.
obj = bpy.context.active_object

for f in obj.data.polygons:
    for idx in f.vertices:
        print(obj.data.vertices[idx].co)

or manipulate the mesh directly (this will affect all objects that reference this mesh). Meshes and Objects are different things.
import bpy

data = bpy.data.meshes['Cube']

for f in data.polygons:
    for idx in f.vertices:
        print(data.vertices[idx].co)

edit mode
import bpy
import bmesh

obj = bpy.context.active_object
bm = bmesh.from_edit_mesh(obj.data)

for f in bm.faces:
    for v in f.verts:
        print(v.co)

# if you make edits then you need to update at the end
bmesh.update_edit_mesh(obj.data)

For some reason I missed that one. Thank you. Now I can iterate the faces of the object and make the script behave according to the coordinates of each vertex of each face.


text:
Why does Quaternion.rotation_difference() always return 12.666471 for x-rotation?
I tried to calculate the angle between two vectors.
First 3 Quaternion rotations (qx,qy,qz) are defined and multiplied to q. A vector v (1,0,0) is rotated by q.
From the vectors q and qrot I want to recreate the original roation qcalc but the x-value of qcalc is always 0.
from math import cos,sin,radians,degrees,sqrt
from mathutils import Quaternion,Vector

def eprint(e):
    print("euler X=%f Y=%f Z=%f" % (degrees( e.x ),degrees( e.y ),degrees( e.z )))

qx =  Quaternion((1.0, 0.0, 0.0), radians( 15.0 )) # <--- has no influence to the result
qy =  Quaternion((0.0, 1.0, 0.0), radians( 30.0 ))
qz =  Quaternion((0.0, 0.0, 1.0), radians( 45.0 ))
q = qz * qy *qx
#q = qx * qy *qz
print("-"*40)
eprint(q.to_euler('XYZ'))
print(str(q))

v = Vector(( 1.0 , 0.0 , 0.0 ))
print("v=" + str(v))
vrot =  q * v
print("vrot=" + str(vrot))
qcalc = v.rotation_difference( vrot )
eprint( qcalc.to_euler( 'XYZ' ))
print(str(qcalc))

prints
----------------------------------------
euler X=14.999997 Y=30.000008 Z=45.000005
<Quaternion (w=0.8977, x=0.0183, y=0.2853, z=0.3353)>
v=<Vector (1.0000, 0.0000, 0.0000)>
vrot=<Vector (0.6124, 0.6124, -0.5000)>
euler X=12.666476 Y=30.000008 Z=45.000008
<Quaternion (w=0.8979, x=-0.0000, y=0.2784, z=0.3410)>

It doesn't matter which value for x-rotation is used for qx the result is always X=12.666471 why is that?
The Quaternion should be WXYZ: .898, .018, .285, .335
I verified the rotation order in the console with enabled mathvis addon:
# show quaternion rotation order
qx =  Quaternion((1.0, 0.0, 0.0), radians( 15.0 ))
qy =  Quaternion((0.0, 1.0, 0.0), radians( 30.0 ))
qz =  Quaternion((0.0, 0.0, 1.0), radians( 45.0 ))
q = qz * qy *qx
qx = qy = qz = None
o = Vector((0,0,0))
right = Vector((1,0,0))
r2 = q * right
r3 = [o,r2]

Another implementation I've adapted from ogre has the same issue (x-rot in quaternion is 0)
# https://bitbucket.org/sinbad/ogre/src/9db75e3ba05c/OgreMain/include/OgreVector3.h?fileviewer=file-view-default#cl-651
def rotation_between2( u,  v):
    cross = u.cross(v)
    cross.normalize()
    ul2 = u.length * u.length
    vl2 = v.length * v.length
    d = u.dot(v)
    l = d / sqrt(ul2 * vl2)
    w = acos(l)
    q = Quaternion( cross , w )
    q.normalize()
    return q

The issue is the test data, the vector v = Vector(( 1.0 , 0.0 , 0.0 )) lies exactly on the x-axis and a rotation around x has absolutely no effect, therefore the information is lost.
In order to get the rotation from v to vrot it is requiresd to invoke rotation_difference() on v insteadof vrot.


text:
Why does the apply_pose operater not work when invoked from a script?
When the bpy.ops.poselib.apply_pose operator is applied from the UI it works fine, all selected bone groups get the pose applied.

Doing the same from the console or script seems to have no effect:
bpy.ops.poselib.apply_pose(0)
{'FINISHED'}

bpy.ops.poselib.apply_pose(2)
{'FINISHED'}

The full script:
It should read a control file "pose.txt" and apply poses to selected bone groups for each defined frame
import bpy

# http://www.blender.org/documentation/blender_python_api_2_69_9/bpy.ops.pose.html

target_map = { "Root" : 0,
 "Spine" : 1,
 "ArmFK.L" : 3,
 "LegIK.L" : 4,
 "Fingers.L" : 6,
 "Links.L" : 7,
 "ArmFK.R" : 20,
 "LegIK.R" : 21,
 "Fingers.R" :23,
 "Links.R" : 24 }

def get_pose_index(obj, pose_name ):
    idx = 0
    for pm in obj.pose_library.pose_markers:
        if pose_name == pm.name:
            return idx
        idx += 1
    return None

def build_layers(targets):
    layers = []
    for i in range (0, 32):
        layers.append(False)
    for t in targets:
        idx = target_map[ t ]
        if idx is not None:
            layers[idx] = True
    layers = tuple( layers )
    return layers

def apply( obj, targets, pose_name):
    idx = get_pose_index( obj, pose_name )
    if idx is None:
        print("pose %s not found." % pose_name )
    sel_layers = build_layers( targets )
    print(sel_layers)
    bpy.ops.pose.armature_layers(layers=sel_layers)
    bpy.ops.pose.select_all(action='SELECT')
    print(idx)

    bpy.ops.anim.keyframe_insert(type='BUILTIN_KSI_LocRot')

txt = bpy.data.texts["pose.txt"].as_string()
for line in txt.splitlines():
    if line.find(" ") != -1 and line.find("#") == -1:
        sframe,rig_and_poses= line.split(" ")
        rest=rig_and_poses.split(":")
        print("frame :%s" % sframe )
        obj_name=rest[0]
        poses=rest[1]
        pose_list=poses.split(",")
        bpy.context.scene.frame_set( int( sframe ))
        for assignment in pose_list:
            targets = []

            bone_group_name,pose_name=assignment.split("=")
            if bone_group_name.startswith("Hand.L"):
                targets.append("Fingers.L")
                targets.append("Links.L")
            elif bone_group_name.startswith("Hand.R"):
                targets.append("Fingers.R")
                targets.append("Links.R")
            else:
                targets.append( bone_group_name )

            obj = bpy.data.objects.get(obj_name)
            if obj == None:
                print("obj name=" + obj_name + " not found.")
                break
            print("assign obj:%s bone_group:%s, pose:%s" % (obj, bone_group_name, pose_name))
            apply(  obj, targets, pose_name)

.blend file
Updated .blend file

You missed the call to bpy.ops.poselib.apply_pose() also the index has to be passed by name
def apply( obj, targets, pose_name):
    idx = get_pose_index( obj, pose_name )
    if idx is None:
        print("pose %s not found." % pose_name )
    sel_layers = build_layers( targets )
    print(sel_layers)
    bpy.ops.pose.armature_layers(layers=sel_layers)
    bpy.ops.pose.select_all(action='SELECT')
    print(idx)
    bpy.ops.poselib.apply_pose(pose_index=idx) # add this line <<<<<<<<
    bpy.ops.anim.keyframe_insert(type='BUILTIN_KSI_LocRot')

Thanks for you quick response, I don't know how I managed to omit this line, but this wasn't the only problem.

Just had another look apply_pose needs to use pose_index=idx I see proper animation with that line.

I had an offset error in my bone group to index map, now everything works. Thanks you so much.

If an operator is called from the UI it is implicitly given a context which depends on the area the operator has been called from and contains specific information about that area.
In your case you are calling an operator from the text area which is supposed to be called from the properties area. It is given the wrong context and can not retrieve the information it needs from it.
See

How to override a context
An overview of the different contexts and their contents
Gotcha Operators

In the text context
there is only edit_text available. The global context does not contain information about the active object and the selected pose bones, neither. But the screen context does.
However here is an example how to override the context in this case:
import bpy
#get your armature
obj = bpy.data.objects['Armature']
selected_bones = [pose_bone for pose_bone in obj.pose.bones if pose_bone.bone.select]

context = {}
context['scene'] = bpy.context.scene
context['active_object'] = obj
context['selected_pose_bones'] = selected_bones

bpy.ops.poselib.apply_pose(context, pose_index=1)

This is the minimal content which is required to run the operator. It still gives warnings. Messages about window, screen, area, region not being found often can be ignored. You might pass None for these entrys to suppress the warnings.
Example: How to refer to an area in the same screen where the operator is being run from
context['window'] = context.window
context['screen'] = context.screen
for area in context.screen.areas:
    if area.type == 'PROPERTIES':
         break
context['area'] = area
context['region'] = area.regions[1]
context['space_data'] = area.spaces[0]

Thanks this would explain why it doesn't work, I added the lines and now get 'RuntimeError: Operator bpy.ops.pose.armature_layers.poll() failed, context is in
correct' I updated the .blend file attached to the question, I would be happy if you could take a look.

Thank you, I it now works without the context, but good to know when I really need this one time.

blender 2.93
set mode='POSE' is helped me
import bpy

#bpy.context.object.data.pose_position = 'REST'
bpy.context.object.data.pose_position = 'POSE'
# https://docs.blender.org/api/current/bpy.ops.object.html?highlight=mode_set#bpy.ops.object.mode_set
# bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
bpy.ops.object.mode_set(mode='POSE', toggle=False)

bpy.ops.poselib.apply_pose(pose_index=1)
```


text:
I want to make a nasty wriggling worms procedural shader
I saw a tutorial to make a spaghetti shader in substance designer, and in that they used some default noise texture that they altered to look like noodles. I want to do something similar in blender, whether it be spaghetti or nasty worms like in the title.
Is there a way to make these kind of shapes procedurally:

Or does anyone have any tips or ideas to help make a noodley wormy shader.

Do you mean this https://youtu.be/cNLKn-rUyvg?t=19 ?

I once asked in a old thread on how to make moving ants with voronoi. https://blender.stackexchange.com/questions/159917/how-to-make-voronoi-move-like-living-ants
Initially, I was inspired by work by Joe Gratling. You might get some ideas from him.
https://mobile.twitter.com/joegatling/status/1200145991426424833

You can start with a Musgrave texture.
Set it to Ridged Multifractal and you'll get some nice creepy worms :)

That is so cool. I had missed this previously, when I was looking for something like this. Thanks.

Glad you like it :). I think it's a fairly recent update of the Musgrave texture


text:
when move my camera, it doesn't orbit like it should do
when  move my camera, it doesn't orbit like it should do. Instead it moves like you move your head. Also, when i do ctrl alt numpad 0 (cmd alt numpad 0 on mac i assume) it doesn't snap the camera to the current view if i'm in view mode or camera mode.

Please one question at the time. For different questions use different posts.

To rotate the view around an object follow these steps:

ALT + MIDDLE CLICK on the object you want to rotate your view around
MIDDLE CLICK (keep pressed) and move the mouse to rotate the view

Please note that the viewport view is not the camera view (but you probably already know it)

i think my local camera was set on camera instead of the mesh i want to use


text:
The denoiser doesn't work on my render
I tried to do a render but i noticed the denoiser isn't applied. Well at least to the donut. I'm not sure if it worked on my icing.

I tried to un-check the denoiser and re-check it but it didn't work. Unless i need to confirm my modifications? If so, how do i do it?

Did you press F12 to render the image again?

I'm on mac and pressing F12 make the noise louder. Noramlly you press fn + 12 but it opens the dashboard (basically it doesn't refresh). Is there another way to do it ?


text:
What is the best way to connect two cylinders at a 90 degree angle?
I can't seem to find any method to fill this one model. Does anyone know?

Select the edges. Ctrl + E  or right click or Edge Menu > Bridge Edge Loops > add number of cuts and select Blend Surface. Adjust Smoothness as you wish

This is awesome method, thanks!

You can select the Transform pivot to be active vertex and then select the edge loop with the touching vertex as active, extrude and rotate some amount of degrees that you can divide the angle of bend into and just repeat it with Shift+R.
Let's say the bend is 90 degrees so lets make the segment 10 degrees:

This is a little bit hard to pull, but the combination with Shift+R button will be useful in many ways. Thanks!


text:
object disappears when applied remesh
I have an object with the following node network, When I add the remesh modifier with the block mode the mesh dissapears, why is this happening

Try doing the dispacement with a modifier instead of using nodes.

The reason is simple: the polygons are displaced at render time (post process) so there is nothing to operate on. If you'd like to remesh your terrain, you would have to displace the actual mesh eg. using a displace modifier in the first place.


text:
NLA clips to another character
I have a character animation with a lot of clips in NLA. Now I need transfer my mixed clips to another character. Is there any way to do this easily?
I don't want to bake all my clips to one, because then I would lose my mixed clips.

authors: Евгений Игнашов


text:
How can I animate my Cycles shaders?
For a scene, I have to change shader parameters (using nodes in Cycles) as time goes on in the scene.
I've looked for a node that inputs a time sweep or frame number, but neither is available in Cycles. Am I looking in the wrong place? Or is there a workaround/trick I don't know about?

You can also see http://blender.stackexchange.com/questions/164/can-modifiers-such-as-subdivision-and-array-be-animated/170#170

You can keyframe any value on the nodes by Right Clicking on the value and then choosing Insert Keyframe. This will set a keyframe on the current frame.
When you add a keyframe the field will turn yellow to indicate there's a keyframe on that frame. If you move along the timeline, the field will turn green to indicate the field is keyframed, but not on the current frame.

If you want to do this often and want to be even faster, you can also always just press I (as in "Insert Keyframe") while your mouse is over basically any value field/button/dropdown/selector/... in Blender and it will insert a keyframe for your current frame.
Press AltI to remove it again.

Is this the capital letter i or the lowercase letter L?

That would be the capital letter India, as in "Insert Keyframe".
EDIT: Corrected above.


text:
How may I establish a render farm over WAN?
I'm using the blender network render plugin in the official plugin list. I have a few computers throughout the internet(WAN) that I am able to render on. Assuming I can get network connectivity(forwarding ports and other considerations), what kind of bandwidth requirements are there?
I have mainly procedural materials of 40 or so nodes, and only one scene. The .blend file is approximately 9MB. Will this file need to be sent once for each render slave, and each frame sent back? Or will more communication be needed that is not negligible? (I'm not using baked or cached simulations)
I'm assuming bursts of high activity when sending and receiving frames. Would this be true in practice? Or would other bandwidth considerations need to be taken?

To closevoters: This discusses a feature that as per http://meta.blender.stackexchange.com/a/6/68, number 5, (being an officially-included plugin) is on-topic as far as I know.

I concur. The Network Render plugin is included with Blender and thus official. We need more info on it IMHO.

The question is a bit vague. Can you clarify what are your concerns?

voted down, this depends a lot on your configuration, and the kinds of scenes you have - blend files can be 200k or 400mb. Best ask specific question relating to your project. or better, try it out and then come back with a more detailed question.

The bandwidth requirement are highly dependent on your scene. With the official Network Renderer, you will need enough bandwidth to copy the scene file over to the each of the slaves (once), and then get the rendered images back (every frame). The communication overhead is negligible.


text:
Blank Screen On Startup
Whenever I open the Blender application I see the following unusual blank screen rather than the 3D View.

How can I get rid of this view and return to the usual startup appearance?

you may have saved this configuration as startup file. Define the configuration you want to have at start up and save the startup file again.

It appears you've set it to start up on the Image Editor window.
In the bottom left, there's a small box that allows you to change the current editor type.

Select the box Highlighted with red

Then click on 3D view.
Afterwards, before touching anything at all, press CTRL + U and select the option that appears, to set this as the new startup scene. it should be fixed now.

Looking at the top of your screen, I can see that you have some vertices (and near the bottom, you can see that the image displayed is called "Render Result"), and I'm assuming you opened a .blend file from somewhere on your computer.
This means that the last thing you did was render, looked at the image, saved the .blend, and closed Blender.  Blender remembers what screen configuration you have (this is different from the startup layout) for this file, and loads it up the next time you launch Blender (and open this file).
To display the rendered image, Blender switches the largest view (in your case, probably the 3D View) to the UV/Image Editor.
The easiest thing to do is hover your mouse over the big view, and press Escape and then save your .blend.  This will revert you back to the 3D View (or wherever you last were), and Blender should remember it for this file.

When you open Blender it is opening on the UV/Image Editor view.  To switch to the 3D view click in the picture icon in the bottom left of screen

and select 3D View

This will take you to the default 3D viewport where you can begin modeling.  Now press Ctrl + U to save this as your startup screen.


text:
Very Large object appears warped and unstable
I work in imperial unit.
Objects are in 2 inch to 30 ft in sizes environment.
Objects are wonky and the work area is jumpy and uncontrollable.
Please note that my object is far away from origin like 345000 m , 6456524 (real world coordinate)

Yeah, I'm not sure what the threshold is, but the farther you get from origin, the more likely you are to experience floating point precision errors. I think at over 6 million units out, you're asking for trouble.

Is your question how to keep this from happening, or an explanation why?

I would like to know how to technically remove the problem.

@Farsh, work smaller. Unless there's a functional need to work at this scale, reduce it all in proportion.

This video gives a pretty good explainer of the problem.


text:
Is there a way to make word per word filling text effect like in AfterFX?
Is there a way to buy a plugin or make a good text transition with the video editor, like the ones that after effects make?
Specifically a word per word filling text effect, like a text machine from the 70s.
I'm using blender 2.82.
Thank you in advance, I cannot pay the after-effects program.

I would encourage you to edit your question and specify what your goals are. AE is capable of a very large range of text (and other) animation. What is it specifically you are trying to achieve in blender?

Please avoid all caps. It is considered yelloing. No need to be rude. https://danieltitus.com/blog/advertising/237-why-all-caps-is-usually-a-bad-idea

https://blender.stackexchange.com/questions/186153/animation-nodes-have-text-appear-word-by-word-instead-of-letter-by-letter and https://github.com/gandalf3/blender-typewriter-addon

Oh, Im sorry, my apologies :)

You can indeed. If you just want to make the text move across the screen you can always keyframe the text position in the style settings.
Or you can try and make your own more complicated animations with the Text Effects plugin. In the 3D viewport you can create and render the text object to make complex and interesting transitions and animations.

interesting, thanks, a bit expensive though

You can always keyframe yourself, or look around for a free option


text:
Sample Color tool. Eyedropper reverts to a pointer
In the Shader editor if I click to change the colour in one of the colour swatch windows on a Principled node and then select the eyedropper or Colour Sample tool, as soon as I move the mouse it reverts to a pointer and won't allow me to select a colour from an adjacent Image Editor window.
See the gif below, it's a little difficult to describe.

This is not how it's supposed to work. The cursor should remain the eyedropper until you've made the selection. What version of Blender are you using and on which OS?

Hi Robert, thank you, yes one would expect the cursor to remain an eyedropper as you say, until the selection is complete. But it still functions as it should. I'm running Blender 2.91.0 on Mac OS Mojave 10.14.6. In the past with older Blender versions I recall a similar issue some times, but my memory may not be correct.

Could you please check if 2.91.2 has solved this problem and report it on the bug tracker otherwise (Help > Report a Bug in Blender)?

I've worked it out, it's not an error after all. Once you select the Eyedropper, when you move the mouse the cursor will revert to a pointer, however the next click will change the color wherever you click in the Blender window. Just not immediately intuitive because the cursor doesn't remain as a pipette.


text:
Motion tracking Object Shows up in render but video doesn't
I made a 3D track of a scene and add an object.
When I hit render to see how the object looks in the video, but I can't see the video, all I see is the object

When I hit render the video doesn't show up in the background.

Even with the node compositing done.

The render layer has no Alpha Channel. Enable Film > Transparent


text:
how to bend straight faces to make a curve
I would like to bend this part, so it looks like a nice curve. But instead it is grabbing this whole part.
I added a curve on picture, so that it is easier to understand what I want to achieve as a result. Bend this part alongside with curve
Here is a file to better understand my issue

Thank you very much for your help

if you would like for others to work with your exact file (for this or future questions), you can use this service link of Giant Cow Films  - drag your file in and the insert your link to the post in the input field before clicking the upload button. You can then connect your file with the post so others have your exact file to work on.

thank you for suggestion, i hope that I have done it correctly

Almost there: When you uploaded the file, the last step is to copy the provided embed code as explained here and add it to your post (not the comment) (edit your original post, then you can add the snippet). Then your file will show up represented by an icon to download for others.

thank you once more :D

You can select the middle edge and using the proportional editing tool pull the edge out until it looks how you want it to. To get a smoother curve you should add more loop cuts.

there is a lot of information on this site . You should use the search function https://blender.stackexchange.com/questions/34598/how-to-curve-my-mesh

thank you very much for assistance. Now and so on I will try to do more research here, before posting my question

There are different ways (as always) to try and get what you want to achieve.
To prepare I rotated the Mesh 90° around the X axis and applied the rotation. So we can watch it from Orthograpic Top View while editing (I just prefer that).

Like @AntonPg suggested:

Go into Edit Mode
Select the middle Edge
Activate Proportional Editing (experiment with the settings ..)
Press G and then Shift + Z to move the selected Edge only on the X and Y axis (without Z axis). Then move and adjust the proportional editing influence radius (MouseWheel).


text:
Cycles Render Delays to Render the First Frame of Animation
I’m trying to render an animation, and whenever a frame starts to render, Blender freezes for around 20 seconds before doing any rendering. Like, even before loading resources. I can’t even close the render window. It just freezes.
This is a brand new computer, with an 8-Core Ryzen CPU, GTX 1650, and 32 GB of 3600 MHz RAM. It’s not a system specs issue. Once it starts loading resources, the render takes around 7 seconds.

It does this for every frame, and nearly quadruples the render time. My old laptop renders things faster than this.
Does anyone know how I can fix this? I’ve tried copying things into a new project, and it doesn’t change. Rendering the default cube is much faster, but still has about a second or two of freeze before the render starts.
Switching to GPU rendering takes almost the exact same time. Maybe a few seconds longer, even.

This is what my task manager looks like while it’s frozen.
I am using Cycles, but the same thing happens with Eevee.
Here is my project file:
https://drive.google.com/file/d/14J6NJOCtXr4x4eirqrb8Ude1WhHZx1E2/view?usp=sharing

Can you show a [clear] image specifying the use of you GPU? Perhaps with larger font.

https://imgur.com/a/bVZA1Pb Like this?

Is the interface responsive? How complex is the scene? It is possible that blender has not crashed, but it needs to do heavy computing before starting to render. How long did you wait? What is the number of samples you are using? https://blender.stackexchange.com/questions/48128/how-to-tell-if-blender-has-crashed/48172#48172

It appears responsive, but if I actually click anything it tells me "not responding". It's a very small scene. Just a robotics field and a robot object. I'm using 16 samples in the render, and 5 in the viewport. It freezes for about 20 seconds. If I open another instance of Blender and render some other frames simultaneously, both renderers have the same issue, but they both run at the same speed as when only one was running.

Hard to help without info. Please [edit] your question and add more information.

@susu I have edited the OP to include the project file.

I recommend looking into the console debug. This does sound a little weird

You have a big scene (close to 8 million faces). Before rendering blender needs to create VBO and other processes, those can take some time to compute. It is normal that there is a lag before the rendering starts showing in the screen.


text:
boolean modifier fills up the intersection area
I want to create a cut in a cube so as to create a hollow pool of water in the middle of the cube. However, when I apply the boolean modifier and remove the object used to cut into the cube, I see no actual difference. The cube is still completely solid. Only in edit mode can I see that a boolean operation has been performed, but unfortunately no hollow area is created. I hope someone can tell me what the issue is here.

could you please share your file with the 2 objects, before applying the modifier?

Are you sure you used the right boolean operation ? If I understand it well enough, you'd want to use the "Difference" operation for your project. Is that what you used ?

I did use difference. Let me try to share the file

I think the blend file should be there now

The problem is the topology of the small cube, it is made of separated faces, so the Boolean operation can't work properly. To solve this, you need to go in Edit mode, select all, and W > Remove Doubles, so that it joins all the faces together and make a real cube. Then your Boolean will work properly.

If you delete the top face, there is a hole. Perhaps delete the top face then select the vertices to make polygons around it and hit f to make a face? Does that make sense?


text:
unintended lines in the viewport
I'm getting very frustrated here! I'm creating very simple shapes in blender, but for some reason I keep creating multiple vertices that overlap eachother. When I move my object forward, these hidden vertices reveal themselves to angry me with their presence. The image below is just one example. I have no idea what I'm doing wrong. Some help would be much appreciated.
I basically just start with a plane and mirror it. I then extrude the edges and move them towards the centre to create the neckline for my character's clothing. I keep getting these unintended vertices. Can anybody tell me what I'm doing wrong?


text:
The fluid in my scene is not simulating
I am making a fountain and I would like the water to flow from a gap in the chest of a statue to create the illusion of blood flowing from a wound. However, the fluid simulation is not working. I have appended the blend file and I hope that someone will be so kind as to take a look at it.
Thanks!

File not appended or available.

it should be there. Are you sure you can't locate the file?


text:
Cannot run simulation for smoke and fluid
I've been trying to render smoke and fluid simulations, but can't manage to get the results I'm seeking. The first problem is that the smoke and fluid don't simulate. The second problem is that the fluid domain shows up as a solid object in my render. I've tried to solve the issue for hours and I would really appreciate some help! I have appended the .blend file and I hope that someone will be able to take a look at it and help me out.

I'll be focusing on your scene here, however I will also try to generalise a bit so that you can carry the new things over.
Let's start with the fluid simulation - the fluid simulation does simulate in the file you have provided. It pours over the statue.
It does show up like a solid object in the render because you've not added a shader to it, so currently it's just plain old white.
I might have understood that the wrong way, so here's what to do if instead you mean the fact that the domain reverts to a cube during the animation: You've not baked the fluid enough. The process takes a lot of time and can't (to my knowledge) be paused. Hit the "Bake" button located in the physics properties of the fluid domain to bake the fluid cache. This will take up time and space on your harddrive. Blender might be unresponsive during baking - however make sure to save after a bake, as the cache is bound to the save-file. If it crashes and you forgot to save... well, then you can re-bake the whole thing.
If that's not your issue then I'd love to have some clarification as to what's not working out for you.
Onto the smoke simulation! Here is the part where things get a bit more general.
Smoke simulations are hard to calculate for the CPU. The "division" setting for smoke simulations is also not a "quality" slider. There is however a setting called "Smoke High Resolution". I see that you've ticked that one - and at the same time upped the divisions to 100. Blender really didn't like that 100 in the divisions setting. I got a normal result from lowering that setting to 32.
I'd recommend setting the divisions to 32 or 64 and instead increasing the "Divisions" setting under "High Resolution" to increase the quality of the smoke. I'd recommend 2 or 3, anything above 3 will not be worth the additional space on the harddrive and baking times.
A smoke emitter also doesn't need a lot of vertecies - yours currently has about 10000. Replacing it with a simple plane will yield the same result. I've personally not experimented with it, but it might reduce baking times as well.

Thank you for your reply! I haven't been able to work on my scene for quite a while, so I'm sorry for not responding earlier. However, my problem is not yet solved. I've baked my fluid simulation, but when I press the animation player button, I don't see any fluid simulating in my scene. There is no line in the animation player indicating that a cache has been made either. Also, which shader would you suggest for the domain? Should the transparent shader do the trick?

Don't worry! Admitedly, I'm still confused about your fluid simulation not working out, since it does on my machine. Does this behavior happen with a new file as well, or is it specific to this very project? For the smoke shader, no, a transparent shader will not do. Here Is a great tutorial which got me started on smoke simulations. I'd give the whole thing a watch!

Thanks! I fear this is not the only file in which my simulations don't work out. My animation player just doesn't seem to respond, since the cache is bound to the safe-file and does take up memory space. Apparently something has been baked, but I'm unable to play the result... :(

I basically have the problem talked about in this tutorial: https://www.youtube.com/watch?v=9KyVNw3PGnU. Unfortunately the solution presented in the tutorial, doesn't work for me.

This is leading me to believe that it's caused by something else rather than the simulation. Try changing the loacation of the fluid cache on your harddrive. Since it works for me I'd bring it down to system differences. For me the scene uses about 70 MB of RAM and my harddrives all have at least 5 GB of free space.


text:
3d manipulator disappears in rendered view
When I switch from solid mode to rendered mode, my 3d manipulator diappears. I'm trying to create some interesting light effects, but because I can't see the rotation and transformation arrows, it isn't all too easy to position my sunlight. If someone could please tell me how to enable the 3d manipulator in rendered view, I would be much helped! I'm using blender 2.79b. I can see the effect the lamplight has on my scene, but I can't see the actual mesh. If I select a figure in my scene, I can rotate it and see the effect of the rotation, but I don't see the rotate manipulator in the viewport, nor do I see which object in my scene is selected until I start the rotation with the Rkey
Many thanks in advance.

Clarification: what version of Blender is this referring to?

Is everything else showing, like the lamp?

I'm using blender 2.79b. I can see the effect the lamplight has on my scene, but I can't see the actual mesh. If I select a figure in my scene, I can rotate it and see the effect of the rotation, but I don't see the rotate manipulator in the viewport, nor do I see which object in my scene is selected until I start the rotation with the Rkey.

I would like to be able to change the light in rendered view as in this video: https://www.youtube.com/watch?v=6ICf9MgGt1Y. But in my case the selected object is invisible. Of course I'm not using the latest blender version, but I hope someone has a solution for me!

Is the rendered view really the only display mode in which shadows are displayed? If it is possible to enable shadows for the textured/solid view, I could position my lights much easier

If someone could please help me out!


text:
Rigging/ Weightpaint problem
I am trying to import my model to the unreal engine, and for that I have to merge meshes. My problem is the weight paint of the "tooth" on the neck; they aren't following the neck anymore. Hope someone can help.

It looks like they're just the wrong weights- you would need it to be the same weight as the corresponding area of the neck for it to follow the bones the same way.
What I would recommend is either using the automatic weighting system for the spines if that's how you did the neck, or if the neck's weighting has been manually edited then most likely you would need to use trial and error to manually weight paint the spines on. Anybody else, correct me if I'm wrong, but I don't think there's any way to successfully transfer exact weights to something with such a different shape than the original mesh.

I was hoping for tips to make it easier.. someone had the same problem and maybe an easy solution without a boolean

Instead of a boolean, have you tried just a regular mesh join (ctrl+j)?

Will try that out!


text:
Apply constraints to bones, then insert keyframe, then remove constraints (and from Python too)
If you do as in the opening question, you lose your poses as soon as you remove the constraints.
One solution is to apply visual location, visual rotation and visual scale. Then you can remove constraint and bones will remain in place, at each frame.
Problem: I don't get how to apply visual anything from Python code. I'm getting error that property "visual_location" doesn't exist. And doing it in GUI for 60+ frames is unpractical.
Use case:
You want to reuse animations stored in different FBX files. Mixamo style, Unity Asset Store style, and convert each one into a different action of the same Armature.
Workflow 1: because these FBX files never have the same Rest Pose when imported, you need to match the initial pose first, for each action, either pose it yourself or use constraints+script to get a perfect match. Insert keyframe at 1 (or 0) in gui to be able to use visual_*, remove constraints, copy all frames, in graph editor, from armature 2 (the one containing the action you want to incorporate in yours) and paste into armature 1. Name your action, push down or stash.
But this workflow has a problem. Sometimes these files don't only contain keyframes in pose mode they sometimes move, and rotate, the armature origin in object mode.
So you have to copy the keyframes in graph editor in object mode too, and apply to your object. No good. My own actions never move objects origins or armature origin, only bones. And I want any imported action to integrate nicely with this, not to force me to change my way of doing things.
Workflow 2:

One script to recursively create constraints to all bones of Armature 1 and configure it to reference the same named bone form Armature 2.

Another script to recursively insert keyframes from a set minimum to a set maximum. Most actions are between 30 or 60 frames. The problem: I don't see how to apply visual transform from Python. If you apply normal transform, the final keyframed pose doesn't include influence from the constraint.

Another script to remove all constraints. So you clean before repeat with any other animation you want to import later.

The three scripts:
SetBoneConstraints
import bpy

arm1 = bpy.data.objects["Bip001"]
arm2 = bpy.data.objects["Bip001.001"] # Change name if need.

for bone1 in arm1.pose.bones:
    for i in range(0, 9):
        cname = "Copy Transforms.00" + str(i) # Possible duplicates from previous attempts
        if cname in bone1.constraints:
            bone1.constraints.remove(bone1.constraints[cname])
    if "Copy Transforms" in bone1.constraints:
        bone1.constraints.remove(bone1.constraints["Copy Transforms"])
    bone2 = arm2.pose.bones[bone1.name]
    crc = bone1.constraints.new("COPY_TRANSFORMS")
    crc.target = arm2
    crc.subtarget = bone2.name
    crc.target_space = "WORLD"
    crc.owner_space = "WORLD"

KeyframeAction
import bpy

arm1 = bpy.data.objects["Bip001"]

frame_start = 1
frame_end = 31 #inclusive

for f in range(frame_start, frame_end+1):
    for bone1 in arm1.pose.bones:
        bone1.keyframe_insert("location", frame=f)
        if bone1.rotation_mode == "QUATERNION":
            bone1.keyframe_insert("rotation_quaternion", frame=f)
        else:
            bone1.keyframe_insert("rotation_euler", frame=f)
        bone1.keyframe_insert("scale", frame=f)

RemoveBoneConstraints
import bpy

arm1 = bpy.data.objects["Bip001"]

for bone1 in arm1.pose.bones:
    if "Copy Transforms" in bone1.constraints:
        bone1.constraints.remove(bone1.constraints["Copy Transforms"])

As far as I understand the problem here, the operation you're looking for already exists.  It's "bake action" operation, with clear constraints and visual keying.  For each frame, register visual keyframe, then when all done, clear constraints.  Can bake armature object and bones within at the same time if enabling both object and bone.  For object->root bone, can copy transforms constraint from an armature object (no bone needed) onto root and bake it.

Thanks. Looking into "bake action".

Quick solution until a better one shows up
I tried hard to not use operators. You notice how Blender freezes around 2 seconds when you run this script (depends on armature complexity, your hardware, etc), but in the end it works.
Solution using operators, sorry.
Only second script changes.
KeyframeAction
import bpy
context = bpy.context
scene = context.scene

arm1 = bpy.data.objects["Bip001"]

frame_start = 1
frame_end = 31 #inclusive

context_o = context.copy()
context_o["selected_objects"] = list(arm1.pose.bones)
with context.temp_override(**context_o):
    for f in range(frame_start, frame_end+1):
        scene.frame_set(f)
        bpy.ops.anim.keyframe_insert_by_name(type="BUILTIN_KSI_VisualLocRotScale")

Final workflow:
You have a bunch of FBX as parts of a pack of animations. Mixamo, asset stores, etc.
First one, usually in a directory called model, contains the armature in rest pose.

Import that first. Note: most of the time you need to select Automatic Bone Orientation in importer file chooser window. If you don't, orientation of bone heads are super hard to work with. You want them to follow arms/leg/fingers direction. Also now is the time to apply a scale value. If you do now, animations look fine. If you do later in object properties, bone movement won't inherit scale, and movements will be super exaggerated. If you don't know ideal scale value, and need to work it visually, do a mock import, find ideal scale with objects properties, and then copy the value, delete the armature, and import again using this value in the importer file chooser dialog.

Do any required adjustment to match your character mesh pose, in armature edit mode, usually you have to fix arms angle and maybe legs (sometimes fingers).

Make parent of mesh and select Armature Deform.

If for some reason you want to move the armature in object mode, don't yet. First parent it to an empty. Empty must be at world origin. Then you can move the armature to correctly align with your character mesh. Move the armature, not the empty. This assumes mesh is perfectly positioned in world origin. Origin point between feet recommended. Sometimes, when parenting Armature to Empty, Mesh unparents from Armature. Watch for this and parent again. When you export to game engines, you don't need to select this empty, but it is probably harmless to keep it. You can recreate it with any node type provided by engine.

Now iterate your animation collection, one by one:

Import next FBX containing animation. Probably, for some evil reason, while part of the same package, its resting pose will not be the same of the first FBX. Because poses are relative to... (you got it) You cannot simple copy and paste pose, because it won't look right in your first Armature.

If you moved the first Armature in previous steps, then you need to perfectly align with the newly imported FBX, or, if the origin of this new imported FBX isn't perfectly aligned with the original rest pose (it's animated), then you have to move the empty until the Armature 1 origin point is at the original rest pose origin point. Move the Empty, not the Armature.
You can do it visually, but a bit of arithmetic is recommended. Just take the difference between the world position of your first Armature and its original position before you moved it (do a reimport of the original to find out where it was if needed, and then delete), and apply that difference to the Empty. This will perfectly align both armatures, without modify the local position of the first Armature relative to their parent Empty. You may have to invert some signs, make some positive values negative and vice versa.
If you see the origins not perfectly aligned between the Armature 1 and the one containing the animation, its probably because the object location of the armature is also animated. But if they are part of the same package then it should be OK. Armature 1 origin must be aligned with its original world position before you moved it, not with Armature 2 origin.

Run Script 1: SetBoneConstraints, this will, pain free, create constraints for every individual bone of the first Armature, and target bones with the same name from the second Armature. The names of the Armatures are hardcoded, edit them for each situation. Both set to "WORLD" is not a BUG.

Edit, in Script 2: KeyframeAction (the version in this answer), frame_start and frame_end of the action you want to acquire. Run script. This will create all keyframes with correct values.

Run Script 3, this will remove constraints from bones.

Give action a descriptive name. Push down or Stash.

Delete Armature 2. If you save and close Blender now, you save some time by not having to edit the name of the armatures in script 1, except the naming is inconsistent in original package (probably not). If you don't close Blender, the next Armature may be called "Armature.002" rather than reuse the name "Armature.001".

Repeat for next FBX of the package.

Note: Script 2 doesn't set interpolation to Linear yet. And it leaves Blender default (Bezier Curve). But these packages usually are keyframed every single frame and expect Linear. This can be confirmed by examining the interpolation set in the frames of each imported FBX.
You can set to Linear by selecting all keyframes in Graph Editor, then right click, then Interpolation Mode -> Linear. Due to the small distance between frames, you may very well not notice it, but it's not the correct thing to do.
Advantages of this method:

You get what you see.

If FBX imports having objects properties animated (like moving armature origin), by using constraints you get the same result but without event touching the Armature origin. Bones will just move a bit more to visually match the ones from Armature 2. That's why we used "WORLD" coordinate system in Script 1.

This probably can be integrated in a single script that also automate the import of every FBX in the collection. But I'm stopping here, as I have some collections but not so many of them as to automate more.


text:
Scritping: rename while using bpy.ops.mesh.separate(type='MATERIAL')
I'm not much into scripting nor fit in the blender API, so I don't know how bpy.ops.mesh.separate(type='MATERIAL') behaves, What I need for my script is to rename the separated parts as the material they have been separated by, but this should be done in a for loop in the function separate() and I don't know how to access it.
Someone knows how to rename by material in this API function? Or how to edit temporarily the function so that it works in the script?

This script will rename all separated objects according to the material applied to each. It assumes the object you want to split and rename is selected and active.
import bpy

bpy.ops.object.mode_set( mode = 'EDIT' )
bpy.ops.mesh.select_all( action = 'SELECT' )
bpy.ops.mesh.separate( type = 'MATERIAL' )    # Separate by material
bpy.ops.object.mode_set( mode = 'OBJECT' )

# After separating, all pieces are selected
for o in bpy.context.selected_objects:
    # Rename object by the material applied to it
    o.name = o.active_material.name


text:
Import file from Alias .wire
I was in need to know a good workflow to get alias files to work into blender (mainly for cycles rendering)
What It's obivious to do is to export to some common format like .obj (or trought other programs like maya or rhino and from there get other possibilities like .3ds or .lwo).
But the program splits up the nurbs planes in different mesh pieces, who won't stick together (I'd have to do a lot of work to get a topology), so isn't there any tool to stick the overlapping edges making from them some ngons? for example when I get a file from rhino I just have to remove doubles and I'm done, but here the planes aren't connected, and I can`t shade the surfaces.
Thanks in advance

perhaps you could include a reference file to demonstrate the effect you describe, there may be simple solutions. So all we have to do is load it into blender and have a think :)

What is "Alias"?

http://www.autodesk.com/products/autodesk-alias-products/overview
Alias is a NURBS modeling program, here I send you the mesh I was asked for to render:
link

you just export mesh geometry. you can tesselate your geometry in alias (Auto Studio only) by the plugin "optimize for draw", that tessellates your mesh as fine as your construction options are. If you use the light Alias version you can tesselate also by the tool in the palette but it will leave you gaps. Take the meshes and export it as FBX. Done! If you are using an earlier version of Alias you do not have FBX export. You will have to export every part separately by OBJ. You could think of exporting everything by Material.

If you are looking to visualize Alias files in Blender only, not edit or remodel etc.
The best way require a few steps, but is not too difficult.
There are more than one good method for transfering models from Alias to Blender for visalisation. The following is a basic workflow that nails down the most basic steps.

In Alias, first make sure all normals are aligned in the correct direction (=out). This means both geo-N (red) as well as vis-N (yellow).
Make sure there are shaders assigned as you intend to have them.
Set the tessellation level by using the Diagnostic shade in the control window. 0.01 mm deviation is usually good enough. This will enable a simple and direct visual check of the result.
Use the tool Nurbs to Mesh in the mesh tool pallet. Set it to use available tessellation. This will pick up the tesselation from step 3 above.
Use the FBX file export to save the file for Blender.

It is also possible to use Stitch as step "1B" to get single meshes for each detail.
Also, there is a plugin "optimise for viz" that will generate a tesselated model for quick viz. The model will have one mesh/shader so the model structure will not be maintained. It will also pick up the tessellation settings from the Control Panel.
Normal orientation is really important to set in Alias before export as it can be a real nightmare to fix in Blender.


text:
How to create a custom colour management profile
I am interested in creating a custom colour management profile. How you can get an image that looks very different depending if you use log or film or false colour, except I want to try and create a toon profile. One that will basically take the millions of colours normally rendered and round them to the nearest colour available of say a couple hundred.
Yes I know this is possible through shaders, but this requires manual tweaking of every material for every scene and every light. For a small project sure, but not for a large project with many scenes. There has to be a way for blender to do this in a "smarter" way.

This sounds like a job for the compositor. Color profiles are not the correct way to do this.

If you want to affect color globally, through a variable accessible in the color management controls, you need to create LUTs (Look Up Table), that will allow you to convert values of pixels in an image into other values. Creating LUTs has to be done in a different program, Blender has no tools for this. There are many Lut creation programs available online, DaVinci Resolve would work fine as well.
Once created, the LUT has to be saved into one of the folders where Blender stores the LUTs that constitute the color management system.
To make the LUT accessible in blender's color management, there is a file that needs to be updated with the information for the new LUT. The file is called config.OCIO. Create new definitions (or stanzas) in that file so that the new luts can be applied to the images. Creating new "looks" would work for your purposes.
For detailed instructions, please refer to the following posts:
How to make 3D LUTs and use them in Blender?
and
Can I use my 3D Luts with Flimic?
Note though that LUTs will not self adjust or analize data to convert values from scene to scene depending on varying brighness and ranges. LUTs  are static, in the sense that they will only work for a certain set of data and will not re-adjust to others. For a case-to-case conversion of parameters you would need some scripting and other kinds of trickery before you process information throught luts.

This sounds exactly like what I am looking for. Thank you, I will let you know if it works.


text:
How do volume shaders interact with light?
In this answer I would like to understand
What does it mean in Node Editor that light will interact with volume?
I would like to see a few pictures showing the difference/meaning.

Some shaders determine what happens when light rays are reflected or emitted  by the surface of an object.

But what happens to the light when it goes through, or inside the object, is determined by the volume

In blender, volume can be used as part of the material on objects, or for the world.

There are many uses for volume shaders, like creating clouds, smoke or a hazy atmosphere and volumetric lighting or to simulate liquids or glass.
The main concepts to understand are Scattering, Density, Anisotropy and Absorption.
Scattering
The reason we see rays of lights on a dusty, or hazy environment is because there are suspended particles on the air that reflect the light.

Photons are scattered when they collide with particles. When light travels through a volume in a certain direction, photons are deflected in other directions when they collide with particles. This phenomenon is called scattering.  How frequently light is scattered by particles both depends of the particles properties (mainly their size) and their density in the volume (how many particles/molecules are in one unit of volume)

(https://www.scratchapixel.com/lessons/procedural-generation-virtual-worlds/simulating-sky/simulating-colors-of-the-sky)
Density
Determines how thick the volume appears to be. More particles (or a denser environment) will result in less light travelling through, and more light being scattered .
Anisotropy
Controls the look of the scatter effect depending on the direction of the light passing through it.

Positive values let the ray scatter in the direction it is traveling, while negative values cause the ray to scatter opposite of its travel direction.

For positive values, rays mostly get scattered along the direction of the ray that entered the volume. Negative values mostly scatter into the opposite direction. Anisotropy of 0.0 (center) will result in random scatter directions. Depending on the density, rays might not get scattered at all.

(from: https://www.blenderdiplom.com/en/tutorials/all-tutorials/582-cycles-volume-scatter.html)
Absorption
Light is absorbed as it passes through the volume, a black liquid like black ink will absorb all of the light passing through it, for example. A glass or liquid can act as a color filter by absorbing some colors and letting others go through unfiltered.

How to make glass clear at overlapping point

Practical examples:
Light passing through an object with Volume scatter (suspended particles, like smoke, haze, dust, smoke)
Atmospheric lighting in cycles

or light being emitted inside a volume

Fire and smoke:

How to create fire materials using the new Principled Volume node that visually look the same as the "old method" of fire materials?
Volume absorption makes the object transparent but absorbs light which passes through it. It can be used whenever you need a material which absorbs light, such as water or colored glass.
Here's an example, the liquid has no color, but the volume absorption node makes the light that goes through it be red:

fluid in a glass

Further reading:
https://www.scratchapixel.com/lessons/advanced-rendering/volume-rendering-for-artists

Mr susu, I just love how well written your answers are :).

Yup! this is one of those that will be a go-to reference..


text:
My render is different than what i see in the preview window
This is what I see in the preview,

But when I render, it doesn't show the stars in the background, and the surface, which I supposed to be a sphere, looks like a plane in the final render.

what is your Outliner setting? Is the Render option (camera icon) activated

You've likely hidden objects in the viewport (eye icon), but not in the render (camera icon).


text:
How to make it so that your object doesn't move when you resize it
I'm trying to resize this cube, but whenever I do that, it moves out of place, anyone know how to fix this?

Looks like the origin of your cube is still at the world origin, but your cube object itself is above the surface.
You can reset the object origin: Select the cube, go to Object menu, select Set Origin, then select Origin to Geometry.
Should solve your problem.
HTH

It might also be set to the 3D cursor in general.

The origin is the pivot point by default and here it looks like the origin is no longer at the center of the cube geometry, so you can either change the pivot point (Pivot Point menu), or right click to set the origin to the object geometry.


text:
How to access "use_transform" property of Nodes in Nodes editor and set it to "True" via python pie menu script?
I am creating a pie menu to access my most frequently used nodes in my node editor. I have successfully created pie menu but it doesn't have "use_transform" property set to "True" which enables us to drag and place nodes as soon as they are called.
Nodes called from blender menu and shortcuts assigned to nodes does have "use_transform" property set to "True", but I want to know how to access that property through pie menu.
SAMPLE CODE....
bl_info = {
    "name": "My test Modifiers CTRL SPACE",
    "author": "Vikrant",
    "version": (1),
    "blender": (2, 79, 0),
    "description": "Pie menu for modifiers",
    "category": "User Interface"
}

import bpy
from bpy.types import Menu

# TEST Pie Menu for Node editor

class An_Nodes(Menu):
    # label is displayed at the center of the pie menu.
    bl_idname = "An_Nodes"
    bl_label = "NODES"
    def draw(self, context):
        layout = self.layout
        pie = layout.menu_pie()
#4
        pie.operator("node.add_node", text="Test").type='ShaderNodeValue'
        ##############
        #FORMATS I HAVE TRIED
        ##############
        #pie.operator("node.add_node", text="Test").type='ShaderNodeValue'.use_transform=True
        #pie.operator("node.add_node", text="Test")(.type='ShaderNodeValue'.use_transform=True)
        #pie.operator(("node.add_node", text="Test").type='ShaderNodeValue').use_transform=True
        #pie.operator("node.add_node", text="Test").type='ShaderNodeValue'.use_transform=True
        #############
            #Where & how to place this "use_transform=True" to eneable the node to be moved as soon as it is accessed via pie menu
#6
        pie.operator("node.add_node", text="Test").type='ShaderNodeGamma'

classes = (
    An_Nodes,
    )

addon_keymaps = []

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

    wm = bpy.context.window_manager
    if wm.keyconfigs.addon:
        km = wm.keyconfigs.addon.keymaps.new(name='Node Generic', space_type='NODE_EDITOR', region_type='WINDOW')
        kmi = km.keymap_items.new('wm.call_menu_pie', 'SPACE', 'PRESS', ctrl=True, shift=True)
        kmi.properties.name = "An_Nodes"
        addon_keymaps.append((km, kmi))

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        for km, kmi in addon_keymaps:
            km.keymap_items.remove(kmi)
    addon_keymaps.clear()

if __name__ == "__main__":
    register()

Seems like this is what you are actually asking? https://blender.stackexchange.com/questions/2515/how-to-pass-multiple-operator-properties-via-ui-layout . Also, videos are generally discouraged. Any relevant information should be directly in the body of the question itself, not linked to. If links go down in future then critical information may be lost from this question.

Ok, I have now added an image, showing the difference between the two formats invoked in info window. By the pie menu and by the the usual menu mode of blender. This may be sufficient I think.

See duplicate, in this case: props = pie.operator("node.add_node", text="Test")

It worked, thanks a lot @batFINGER . It will greatly improve my productivity while handling those many nodes in animation nodes.


text:
How can I give a wet effect to my character mouth and eyelids
I'm making a maned wolf and I'm trying to make a material for the eye lids and gum with this wet effect:

but the effect I'm getting looks too rubbery

I'd like to know what I could do to replicate that wet effect
EDIT: I'm using eevee, and I want to know something that could work for both cycles and eevee
I also tried to use clearcoat, normals with noise texture, but it still looks bad

If you're using the default Blender Renderer try making the surface smoothly bumpy so there are plenty of angles to catch the light, and turn up Hardness to make the specular highlights sharper.  You could use extra lights at angles to the camera, placed here and there, with Diffuse unticked so it only gives Specular light, and if those extra lights interfere with your general lighting, you can put the lights on their own layer and tick This Layer Only, then put the gum on that layer too.  You can have more than one layer open by pressing Shift while clicking on the layers.  (You move an object to another layer with the M key, with object selected.)

*I forgot to mention that i'm using eevee and blender 2.8 , sorry

OK, so you're on your own. I haven't downloaded 2.8 yet. Sorry.


text:
Spot light looks fine in the viewport, but when I render the result is different
In my viewport, I see my spot light shows fine.

But when I hit render, the spot light doesn't work.

Yes, the spot light works, (the top left of the card shows the spot light), but probably you have one or more lights that are disabled for viewing (eye icon in the outliner) but not for rendering (camera icon). Or maybe the "world" is set to some value other than 0 (if what you want is a black environment)

Thanks @susu, I actually forgot to delete a couple of area lights.

Never mind, I forgot to delete some area lights ♂


text:
I don't have a Glass BSDF
I am new to blender and am trying to make a gemstone. I already have it modeled and am on to texturing but the tutorial I found uses a glass bsdf but I don't have one in my add node selection. I tried googleing it but all I found were more tutorials. Do I need to turn something on or download it?
Thanks in advance.

It should be there by default with all the other shader nodes. What version of blender are you using? Also, are you using Cycles or EEVEE?

I am running 2.83 and EEVEE but I might be doing everything wrong since the tutorial jumps right from modeling to texturing without any info on setting it up.

Could you please post a screenshot of the area where the node should be?

https://imgur.com/ERzmPHd it wont let me post an image here. If I understand correctly it should be here somewhere.

You are in the wrong editor window (texture editor)

Use the Shader editor.


text:
If i delete the faces on the front side, on the back side they aren't deleted
I'm stuck at following problem:
I have the following mesh and the front side:

And this at back side:

If i delete the faces on the front side, on the back side they aren't deleted.
How can I have the same faces on front and backside ? Or delete the faces for front and back?
many thanks

The simplest answer is that front and back are different faces, not one. You would need to select both and delete. If you switch to wireframe mode you should be able to visualize and select the faces correctly.

ok, could it be possible to make the back face same as the front ?

if you want the front and back side of your wall to have the same topology, build you wall without any thickness, then extrude (or use Solidify modifier and apply it)


text:
Two opposing faces on the x axis turn out dark, almost black in my material
I'm trying to create a turtoise shell material for some glasses but the two opposing faces on the x axis turn out dark, almost black.
The material is a variation of one I found in the forums.
The dark face and the material

The image shows the dark face and the nodes used to obtain the material

It may be that your object is so long, and your camera angle is such that a ray cast from the camera doesn't escape the object within the default number of bounces.  Refer this video:  https://youtu.be/Sv2wqwsvx-8?t=201

maybe share your file? https://blend-exchange.giantcowfilms.com/

yeah, it seems to have almost fixed itself, i'm gonna be sharing the material if i can, but i'm not shure if i have time,

@AllenSimpson i'll look into that, thanks


text:
Riggifying. How to make the arms and fingers bend with the armature?
I made up my model, added some bones to it, but I couldn't manage to make the arms and fingers bend properly. They bend like some spaghetti

Also the "Weight Paint" mode (I know it may seem wrong or completely not right)

Hello, it's hard to guess what's your problem without the file, maybe share it? https://blend-exchange.giantcowfilms.com/

I have sent it. Feel free to change it

Wait no let me change it

here

Try this:

Your bones are desegmented, bring them back to 1 segment:

Put your Subdivision Surface modifier under the Armature modifier. Enable the Preserve Volume option of your Armature modifier:

Recalculate the normals of your mesh (select all in Edit mode and AltN > Recalculate Outside:

Add some edge loops around the joints (elbows) to have a smoother bend:

Reparent With Automatic Weight:

sorry i actually couldnt manage to understand some of the things. Could you provide a more detailed message if that wont be too hard for you. Ill appreciate it, I swear

I've added some images and given some details, please tell me if it's ok

yeah thank you I know will try to figure it out

It's hard to tell without the file.
here couple of points to consider:
Activate normalize in options
go through the vertex groups to verify that unrelated bones don't influence the given region. Ex. fingers on the upper arm.
If yes, then subtract it.
In case you didn't try watching - enter link description here
DanPro tutorials are brilliant and provide useful tips.
Remember also that the hand is a very complex mechanism, not only 3D, real hands are not intuitive organs, it's one of hardest parts of rigging.

Thank you and also if ya need I could provide the file

Well, obviously you have to modify the weight painting a little. Simply selecting "automatic weights" is more than likely to give you unexpected results. I'd say subtract most of the weight paint and aim for the joints to be the most influenced (red). Keep tweaking until they stop having that weird bend to it


text:
Shape keys not deforming correctly
I was using the shape keys but they are not deforming correctly.
I don't know how to explain this further, I'll show the pics
Eyebrows:

maybe the best is to share your file: https://blend-exchange.giantcowfilms.com/

Of course

could you please tell more precisely where is the problem? You need to keep in mind that if you put all the values at 1 they will cumulate, maybe this is the problem you're talking about?

could you explain what cumulate actually means because Im new to Blender actually

for example if shapekey1 moves a vertex +1 unit on the Z axis and shapekey2 moves the same vertex +1 unit on the Z axis as well, if you set both shapekey1 and shapekey2 value at 1, the vertex will move up by 2 units (1+1), not just 1 unit.

Ok,uhh, lemme just rephrase my question. So when I move the eyebrow in edit mode, it moves as it must be moving. But when I go into the object mode and try moving it, it doesnt move correctly. Is there ACTUALLY a way to fix it.

it doesn't move it correctly because the same vertices must be moving because of the other shapekeys and it's taken into account as you've left heir value at 1

Could you please explain in more details.Pics perhaps?Also Happy New Year!

happy new year to you too  ;)  by the way, I'm not sure shapekeys are the best idea to animate a face, it's a quick solution but it may cause problem, bones are better in long term and for complex animations

tbh im creating this model to jesu port it into sfm and use it for my own purposes.So I thought using bones would be too cool for me to use at my current level of animation(modelling, actually). And shapekeys,well,they are easier to use + takes less time to learn then bones(in my opinion)

yes but shapekey can cause this kind of problem, so it is useful to deform a mesh sometimes but for complex face animation it should probably be avoided imho

Maybe your problem is the following one:
Your shapkeys are set to Relative. Let's say that you have a cube and that the shapeky #1 will be this one, i.e. vertex going up:

Now, bring back the shapekey #1 value at 0. Create your second shapekey, let's say that for this shapekey the same vertex goes up:

Now keep shapekey #2 value at 1, and move shapekey #1 value up to 1 as well, you'll see that vertex 1 will cumulate shapekey #1 and #2 effects:

I guess this it what happens here, as you've left some shapekeys value at 1, and as you've moved the same vertices in different shapekeys, their movements cumulate.
Maybe disable Relative to switch to Linear (which allows to go from a pose to another), or use bones instead of shapekeys.


text:
Locking an object's pivot point in game engine
In the game engine, how do you lock an object's translation while letting it freely rotate?
I've got a record with grooves, with random noise added to all vertices in the z direction.

The needle/arm should drop into a groove on the record, and be free to rotate about the end of the arm as the grove moves up and down.
If I lock the x/y/z translations of the arm, it doesn't move at all. I don't understand why this doesn't simply lock the pivot point, and give me the desired affect.

If I understand the question correctly, the needle is holding the arm up, as it cannot move, only rotate. (locking the translations does let it rotate, but it gets held whereever it starts.)

If that is the case, then you need Rigid Body Joint constraints.
Then the needle will be able to move, but only in relation to the arm.
Here is a quick setup:

I think the issue I was having is that when translations are locked, it doesn't rotate due to gravity. I think you're probably right about the Rigid Body Joint constraints; they're either buggy in 2.67b, or I haven't yet wrapped my head around how they work :P

The needle, housing, and arm are all part of one rigid body mesh in my case, but I should be able to figure out how to place the pivot at the end of the arm. A confound for my crazy rotations has been the bad collision bounds between the record and the needle - I think I started off too complication and I need to go back to some basic tutorials :(


text:
How to make a cribbage board with geometry nodes
I'm trying to model the holes in a cribbage board using geometry nodes.

The three main straight sections seem pretty easy, with a circle instanced on a line primitives. So far I have it set up like this:

Node group for a set of 5x2 holes
The group from (1) instanced on a line
Then at the turns... ???

I'm generally unsure what approach to aim for. Should I go for one big line, bent at the two turns, then instanced with circles? Or should it be several distinct pieces joined together (i.e. a straight section, then a turn, then another straight section, then another turn, then a final straight section.. all joined).
Is there a good way to do this with geometry nodes?

Asking "should I do it like this or that?" seems like you do not really have a problem and is most likely drawing opinion-based answers, which are considered off-topic here. Maybe you could rephrase your question to ask for a specific thing you try to accomplish but failed so far?

I think what's missing here is why you want to use geonodes - do you want adjustable size of the board? I imagine not adjustable number of holes (though maybe there are variances of the game). It might be a little bit too big of a project for Q&A here, and asking for guidance is not a great fit either… I think the most reasonable approach is to use "join geometry" to assemble the shape from multiple arcs and curve lines, actually you might want not to join at least not before you resample them and capture a boolean attribute where to spawn holes (using endpoint selection)…

Can we suggest methods other than GN? .. Unless you want a 'procedural' cribbage board..

Apologies, it's been a while since I've used the site and I think this type of "how can I create X?" question was fair game way back when.

Turning them into holes is already a couple of little things.


text:
Noise texture+bump node disables smooth shading
I did a hair for a model using curves, It looks smooth in the preview but in the render its not smooth.

I know that what is creating this is the node setup that I'm using to give the hair effect, that is basically a streched noise texture connected to a bump node.
file:http://pasteall.org/blend/index.php?id=51177

maybe share your file?


text:
weird rotate/move problem with curves / is there a easy way to recreate curves?
I was trying to make hair with curves, but then i got some weird problem with some of them that when i move or rotate they would randomly tremble and get in a different position in relation to the others.

I would like to know what im doing that is causing it, or at least some easy and fast way to recriate the curves that doesn't cause this glitch.

That shouldn,t normally happen unless each hair strand is a separate object

i'm using separete curves to make the hair,

Did U tried to parent all the strands to an axis for example and rotate after? Cause it looks that at least some of them acts normally.

seems to fix the problem if i need to rotate all of them at the same time, which is quite nice, but i still have problems to rotate the ones that are broken.. thx anyway


text:
baking normals Isn't baking the normal texture of the higher poly mesh
I'm working on a cloth and im trying to optimize it using bake, but I'm getting a problem when I bake the normals, where the blender is only considering the geometry of the higher poly mesh and not the normal texture that is on it.
For example, the left object normals are without the leather normals after I bake it:

I did it before and it worked fine on the skirt, but I don't know what I did to make it work

is there something that i'm missing?
UPDATE: I found out that it's baking on dev 2.79.6 but not in 2.79b. is this the problem or do I need to change something in 2.79b in order to work

Sounds like "The yellow node problem" ) On your shot I do not see that on baking there is a dedicated target image node, that is ONLY selected while you hit the bake button. Maybe this will work things out?

yeah, I selected the node before baking, but this is not the problem, I need to go to the dev 1.79.6 to bake the normals as I said before

Well it should be a bug. If you have the version that works, the only way is to use this particular one. For example I've recently found that since the 2.72 the defocus node works only in 64 bit or linux versions, but not in win32 builds. What a pleasant surprise! :-) Now I render scenes with this node in linux or in amd64. :-/

yeah, probably. The most annoying part is that in 2.79.6 I cant bake the difuse textures because there is a bug with the cuda cores, so I need to go back to 2.79b just to bake the textures.


text:
Opengl viewport only rendering a spot
I was working on a project and I don't know how but the viewport started hiding things out of a camera range... I tried deleting the camera but it did not work.. here is how it looks like:

the archive:
https://1drv.ms/u/s!ApEztyCWw8odqnpUJSYRx8dbr_ni
EDIT: So, I think this is probably a glitch. I tried to open it with blender 2.8 and the problem just disappeared.. I cannot save it in 2.8 tho because I Still want to use it in 2.79b.

https://blender.stackexchange.com/questions/121764/help-most-of-my-project-doesnt-show-but-still-renders and https://blender.stackexchange.com/questions/53923/i-can-only-see-model-via-a-transparent-grey-strip

You have the Clipping Border active  Alt  +  B , hit the same shortcut to clear it. You can also find the command in the View menu in the 3D viewport header.

It could be a clipping problem.
Properties panel (N) > View section > check your clipping settings.
If it's happening while in Camera View:
Select your camera and then enable Display > Limits.
You may need to increase the End clipping distance in Properties > Camera settings > Lens.

the problem is not with the camera, as I mentioned I tried deleting it and the problem persists. There is this grey part that looks like a retangular spotlight and only what is inside it is being rendered in the OpenGL mode


text:
how do I animate a geneva drive with animation nodes?
I did this geneva drive but I don't know how to animate it

Simply dividing by 6 don't work because the second gear should only moves at a certain time. I already tried some equations but none of them worked.
The file: https://1drv.ms/u/s!ApEztyCWw8odpHHmdlx7qbN6Rf9v
edit: It is going to be part of a big gear system, so the second gear's rotation cannot reset, it needs to increase continuously.

Here you have the curves for the rotation function and below that the equations: https://commons.wikimedia.org/wiki/File:Chronogrammes_croix_malte_4_branches_complet.svg

Suggestion: how about uploading Blend file? With your objects, somebody will have an answer for you.

I tried using the wikipedia function but it didn't work.

This geneva drive reminds me of a Youtuber called Thang01046. He is highly prolific with his videos on mechanical engineering. On average, he puts out one or two works a day.  https://www.youtube.com/user/thang010146

Here my solution:

First, I use modulo to get 360-rotation cycle.
Next I divide degrees to get 0-1 range.
When I use Curve interpolation to mach each cycle with rotation of secondary object. (Curve is drawn by hand)
Finally, get back to degrees with some scale (6 times smaller)

Note, that i'm don't care about real 360-degree rotation of secondary shape. It rotates in 0-60 degree range. If you want to get real rotation, you need to add each cycle to the result.
UPD:

It works for this example where there is only those two gears, but not
  for what I need because it will control a whole clock gear system, so
  the second gear can't have its rotation being reseted

As I noted, If you want to get real rotation, you need to add each cycle to the result:

To get cycle number you need to divide rotation by 360, and convert result to integer using Floor function. When just multiply it by same number, -60 and add it to rotation

It works for this example where there is only those two gears, but not for what I need because it will control a whole clock gear system, so the second gear can't have its rotation being reseted.

So, I found a way to do it.
First of all you create a reference object where you are going to add a Fcurve. It can be a bone or an empty.
Then insert keyframes in the rotation of one of the axes. It will probably create keyframes in all axes, so just delete 2 of them.
After you need to insert keyframes in the frames -5,35 and 55 with the last with -60° value and then add a cycles modifies.
You will get something like this:

In the end you just need to make this setup here:

If you want to make it and the gear has more or less steps, you just need to change the Fcurve scale.


text:
Video Editing: What is the diff. between Sequence Render Animation & Render Animation?
Good day,
I started using Blender v2.82a a week ago exclusively for Video Editing. I have seen a few tutorials but the following query has not been addressed yet.
Aside from being faster and allowing renders to happen between a Temporary Preview window, are there other other differences between "Render Animation" from the top menu bar and the "Sequence Render Animation" from the Sequencer menu? So far I have been exclusively using Render Animation in fear that it might produce superior quality at the cost of long render times (I use perceptually lossless @Slowest speed, MPEG4 container w/H.264 codec).

Done. Thank you.

If you found an answer to your question, you can answer it yourself, so others searching for an answer on the same question, will benefit from it.


text:
Exported .fbx not opening
I have a rigged and animated file made in blender that was exported as a .fbx file, but I can't open it with FBX Review or Unity. There is no error message that show up in either tool.
I have no idea what the problem is. I did a lot of searching and reading still have no clue on what is happening. I can't reproduce the problem. It happened on this file only.
Any help is appreciated.
The file:
https://drive.google.com/file/d/1INcxwUYd8i0rmObaHUsYJz9C4VmVQsHJ/view?usp=sharing

Hi have you tried importing it back to blender itself? That worked alright for me.

yeah, i can import it back too. but still can't open it with unity or FBX Review.

I found the reason:
I didn't apply the modifier inside Blender, but applied it when exporting.
That's why it crashed. Just apply the modifier in Blender, before exporting, then everything is OK.


text:
Haptics in VR not working
I'm trying to use haptics in VR Scene Inspection in Blender and UPBGE using Oculus, but I don't get it to work.
I've tried "xr.haptic_action_apply". Printing I can get a "True" if I set everything correctly or a "False" if something is wrong, but the vibration never shows in the controller. I've been looking in the documentation and in the console printing "dir" or "help" across the modules.
Is there something I missed to configure? or any tutorial to make it work.
Thanks in advance.

What version precisely of Oculus are you using? Not all versions have haptics.

I'm using Oculus Rift with touch controllers, Also I have installed Oculus App Version 40.0.0.105.333