Is there a way to automatically remove ngons? As you can see, I am trying to make a computer screen, but am wondering how I can make my mesh of a screen correctly connect to the main frame. Do I have to manually use the knife tool? Or is there a better option? Thanks for all advice or suggestions!

The first picture is the subdivision gone wrong.
The second picture shows my original mesh.

From left to right:

Add loopcuts CTRL+R. Number of loopcuts = number of vertices (I marked them with blue dots) except those in the corners, because they already have a proper connection.
Select and delete Ngons: Delete->Faces. Select edges
Press W-> Edge Bridge Loops


How to reverse animate? For example when I record a rig walking and then I'd like to make it walk backward so how can I do that without much effort

You can flip the animation around by actually inverting your animation data in your animation editor.

Go to your dope sheet editor.
Set the current frame to the beginning of the animation (probably frame one)
Select the frames you want to reverse. Press S and type -1
Move the inverted animation back to where it is supposed to be positioned (using G)
Play back the animation!

When you're scaling the frames by negative one, you are really just reversing the animation. Similar to turning a shirt inside-out.


How to connect faces between 2 edge loops? I'm trying to fill empty space in my mesh, and I looked at the knife tool page on the Blender Wiki, and I'm not sure if there's a way to make it so that a new edge is made using the knife tool. I took a screenshot, and hopefully it'll explain better than I can of what I'm trying to do. Oh and I'm using Blender version 2.71, by the way.

In your particular situation, it looks like the bridge tool is what you want. Select two or more edge loops with AltShiftRMB, and then connect them with W>Bridge Edge Loops:

Fill
To do exactly what it looks like you are trying to do in your screenshot (connecting two vertices with an edge), select the two vertices and press F to create edge/face.

If you have the bundled F2 addon enabled you can create a new face from the selected edge and the surrounding vertices by pressing F again. The side on which the new face is created is controlled by the cursor position.
Knife
The knife tool is for cutting edges into existing faces:


how am I supposed to export fbx only one mesh>? I have like 6 objects in different layers but then when I want to export only one of them, I happen to export all of them.

Any means?

In Object mode select the mesh you want to export.
File > Export > FBX (.fbx).  Then in the FBX export window enable "Selected Objects".

Only selected objects will be exported.


Any Idea how to get rid of those shading issues? I am currently working on a knife but get some weird shading on the Blade.

I am using a edgesplit modifier with sharp edges on the model.

I think the cause of the problem is that on the one side the vertices are all aligned to the same x coordinates and on the other side every vertex has a different x coordinate (see last picture).

If anyone has an idea how to fix the shading/make it less obvious please let me know.

Delete the half of the mesh that's giving you trouble.  add a mirror modifier with the axis set to x.  apply the mirror modifier.  hopefully this correct your shading errors.

I hope this helps :)


Texture baking, some faces don't get lit properly I'm working on a camp site illustration and while baking the textures I've ran into a interesting problem I'm unable to solve. Regular cycles render:

Following a tutorial to bake textures I used "smart UV project" to unwrap the object in the center and baked the texture onto it with this result:

Some of the spheroids in the object get something like a inverted shadow - the areas that should be lit aren't, and the areas that should be dark are lit.

This only happens with the bush like illustration of a forest - all other elements in the scene appear to bake correctly.

Any ides what might be causing this behavior?

Summary of the discussion between Matthew Abrman and lemon.

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

Several Normals don't point in the right direction.

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

Use the Recalculate Normals operation. ⎈ CtrlN


Trying to install Animation Nodes - How to make Blender forget? I tried installing animation nodes. Blender thought it installed it but it actually didn't (because it was the windows version and I was using Linux). I realized this when I ran into this problem. So I deleted that zip and downloaded the linux one. Now it shows up in the Add-ons folder when I select the .zip (as shown below)

but when I click the checkbox to enable it, it gives me this error message:

Thinking that Animation Nodes is already installed, even though the Windows version didn't show up in the Add-ons panel or anywhere on my hard drive. How can I get the proper version installed?

Click the disclosure triangle for the addon, you can find the path to the addon file in the info there.


Model limbs condensed in one place in Unity3D after applying Scale to armature I'm new to Blender and modelling in general and I'm trying to incorporate a humanoid model I rigged into my Unity project. It was seemingly working fine in Unity up until I was given a solution to another question I posted here that had to do with the armature, which was that I had to apply scale to it. The problem was still there before that but the mesh looked as it should when not in motion. After applying the effect though, i get a message that the file has import settings and the model looks like this:

The most definable features of this mess seem to be the thighs and head, which leads me to believe that the connections between the vertex groups are broken in some way. Maybe the armature has lost some property when I applied the scale effect? I'm really quite lost, any help would be appreicated.

Link to aforementioned question: How can I stop the mesh from stretching when posing?

Ok so I think I've figured it out myself. In Unity I changed the animation type from humanoid to generic and back while fiddling with the properties of the asset. This somehow seems to reset the model's import settings and it works fine now. Thought I'd leave this here for people with a similar problem in the future to see.


How to scale texture properly? SO basically my texture is showing off way to big and when i tried to fit all my unwrapped parts in the 2D editor, i had to scale them very small which caused this problem.

I have red somewhere else that i had to do: Add>Vector>Mapping and change the scale. I tried to connect the cables as the pictures showed (I have plugged it into UV now, not object as the pic shows btw) , but im sure i am missing some plugs here.

What else needs to be done?

Appreciated if it could be explained in clear steps, im only a beginner.

EDIT: here to show the multiple UV maps.. at least i think they are :)

It could have multiple sources, two of them I could think of at the moment is that you have:

more than one material in the Material Slots, and you're editing one that is not assigned
more than one UV Map on the object, and the one which is currently renderable is empty

To check the material assignment, you can use the Material Tab like this:

To check the UV Maps, you can use the Mesh Data Tab, UV Maps section:

Regarding the UV map, the one with the camera icon behind is the one that is sent down the material tree when you plug the UV output socket somewhere. To choose a different UV Map you can use the dedicated UV Map node:

EDIT: One more option
This happens frequently: There is a difference between Texture Preview and Material Preview. Material Preview tries to replicate the look of the final material as close as possible, so it tries to evaluate the whole node tree. Texture Preview on the other end was designed more for texturing game assets, where mapping nodes would not be so important (I guess). Texture Preview shows you what the selected texture node in the node tree would look like if the image was mapped onto the UV space without any mapping happening. See this little explanation here:


Put lattice deform operation in a custom menu I created a menu class and now filling the menu with operations,But when I tried to use the lattice deform operation it didn't show up,

Here is the script I used:

layout.operator("object.parent_set(type='LATTICE')")

But as I said,it never show up in the menu,while other operations appear normally.

To pass arguments to operators via the layout.

op = layout.operator("object.parent_set")
op.type = 'LATTICE'

can also use

layout.operator("blah.blah").prop = value

I prefer the former stylewise.


How do I add a composite effect to a scene using material index? I am trying to combine a shockwave (edited in the render layers compositor) with the rest of the composition (currently a torus).  I do not know how to add the shockwave to the rest of the scene.  I do not want the particle system to be visible, just the shockwave effect generated from the particle system.  This is the shockwave and my current non-effective node setup:

Here is the current render... The torus and the particle system, but no shockwave.  At one point I had managed to add the shockwave to the particle system, but I do not want to see the particle system.

Thank you for any help!

Here is the .Blend file:

EDIT in response to Cegaton's answer:

I set everything up and for some reason "Views" is not where to put Torus and Particles on my computer.  However, the torus is the only object showing up in the render, and I think it has to do with the missing AO checkbox:

You can see there is no checkbox for Alpha Over and I am guessing this is why it is not working in the render?  I checkmarked "AO" in "Passes" but I think this is not the same thing, since it is not working.

Thank you for advice!

Here is what "Views" is like on my computer:

That's why I was confused for a while!

EDIT !

Big problem solved!  I needed to click "transparent" under "Film" under "Render" (the little camera icon).  Now the render layers nodes have checkered backgrounds and everything seems to be working properly!

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

For better control separate the different elements in different layers.

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

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

click on the image to enlarge


Subdivide in only one direction? Say I have the top mesh in the image. If I subdivide it, I'll have the second mesh in the image. But what I want is the third. It has vertical subdivisions, but not horizontal. Is there a way to do this?

Tab into Edit mode, if you're not already there.
Then either
1. Select only the horizontal edges, then subdivide.
or
2. For each of the three sections, press CtrlR and hover the mouse near a horizontal edge, then LMB or Enter followed by RMB or Esc.


Is there any way to mirror only selected parts of a shape key? I'm modifying a model and trying to add simple expressions like blinking and etc.

I'm trying to mirror a closed eye to the other side, but it causes the whole model to become symmetrical, I can't figure out how I can only mirror selected parts :|

Here's an example:
https://www.youtube.com/watch?v=Qd4rqPp6hW0&feature=youtu.be

You can see his head shape and and parts of his cheeks are getting symmetrical

edit:
another example, the difference between the basis shape-key and the mirrored one:
https://gfycat.com/ThirdHealthyGalapagosdove

Thanks in advance!

Other answers so far are good, but it's worth pointing out another technique.
There's an easy way to restore part of a shapekey to the basis shape, using "blend from shape" operation.  You can use this on parts of the mesh to "unshape" bits of the mesh.
Select the shapekey, then enter edit on the mesh.  Select all vertices of the shapekey you don't want (or select the bits you do want, then select inverse.)  Use a "blend from shape" operation, which I always call from the searchbar.  On the operator panel, specify Basis as the shapekey, set the blend to 1.0, and disable Add.  This restores the selected vertices to the Basis shape, making it so that some of your shapekey will be "unmirrored".
You can of course use this operator for a lot of other things as well.


Is it possible to insert a keyframe to a metaball element? I think everything is in the title : I want to deform my metaball object during animation.

Let's explain a bit more : I have several metaball objects in my scene, each of them composed of several metaball elements.

mball = bpy.data.metaballs.new("my_ball")
obj = bpy.data.objects.new("my_object", mball)
elem1 = mball.elements.new(type="BALL")
elem1.co = Vector((0,0,0))
elem2 = mball.elements.new(type="BALL")
elem2.co = Vector((2,0,0))
bpy.context.scene.objects.link(obj)

(There are also stiffness, radius... that I didn't wrote for the sake of clarity)

This object can move/rotate with

obj.location = Vector((1,2,3))
obj.rotation = Quaternion((1,2,3,4))

and be animated simply with

obj.keyframe_insert(data_path="location"/"rotation", frame = 1)

Also, it must be able to fusion with other objects, so those objects are named "my_object.001", "my_object.002", ...

Now, the problem is that I want to deform the object during the animation :

elem2.co = Vector((0,2,0))
obj.keyframe_insert(data_path="location", frame = 100) # Of course, it doesn't work

One solution would be to use only objects with one metaball element each, and use lists of metaball objects for my (semantic) objects. But it will be particularly difficult to handle rotations...

With obj.keyframe_insert you are adding a keyframe for the object, not the element.

To set keyframes for elem2 you want to use elem2.keyframe_insert

elem2.co = Vector((2,0,0))
elem2.keyframe_insert(data_path="co", frame = 10)

elem2.co = Vector((0,2,0))
elem2.keyframe_insert(data_path="co", frame = 100)


Modeling a 3 Blade Boat Propeller I  am trying to model a 3 blade boat propeller,  like the one shown in the image.  The image was taken from : http://sdshobbyusa.net

I wasn't able to come up with a good way to model this propeller.  Does anyone know a good technique for modelling this hard surface model with good topology ?

Thank You!

I believe I have gotten the result that I desire. I still need to work on it a little to make it even better.  I did it because of PGmath 's help  (https://blender.stackexchange.com/users/5705/pgmath) . Thank You!

and

Here's how I would create a propeller like the one pictured.

First create a cylinder and extrude 3 of the faces out and model them into a propeller blade shape.  To get decent topology you can extrude along the edge of the blade and then use Grid Fill to fill it in.

Then just add a Simple Deform modifier and set it to Twist, I used an angle of 90°.

Note: in the above example, instead of modeling all three fins at once, I deleted a third of the cylinder and used an Array modifier with the pivot point set to an empty rotated 120°.  That way I only had to model one blade.


Low poly candle holder I am seeing a lot of low poly candle holders on thingiverse for printing but would like to make my own. I haven't seen many tutorials. Can someone point me in the right direction to make something like this http://www.thingiverse.com/thing:18672

Add a Circle with 6 vertices and extrude it (E). Subdivide it adding edge loops (Ctrl+E). Snap the cursor to the top edge loop (Shift+S-->Cursor to Selected). Enable the proportional editing, increase the editing ring with Mouse Scroll and rotate (R) the top edge loop as pictured below.

Add the Solidify Modifier and play with its Thickness value.


Cleaning up geometry after Boolean cuts I have used the boolean modifier to cut windows into this wall. However, it seems to have resulted in messy geometry. What would be the most efficient way to clean it up?

You could do it this way, and by the way you could have done it without booleans. Use the knife tool (K to activate, C to cut orthogonally, Z to cut through, E to continue, Enter to validate). To delete the bad edges, select them and X > Dissolve Edges.

You could try to simplify, actually it all depends on what you're planning to do later, but as Gorgious says you'll need to keep some edges between your holes and the external edges:


Anyway to get rid of an image in blender? An image is preventing me from packing the blend file. The image is not used (and exists where it is supposed to be on disk so I don't know why I'm getting the error). Users are not listed next to the images so I can't get rid of it that way. Is there any way to remove the image from Blender?
Thanks,
Rusty

You can delete any object in blend file if you open this section of the outliner

There you will find all inside of the blend file and then delete it


Cannot render animation Clicking Animation under Render or typing bpy.ops.render.render(animation=True) in Console won't render my simple example. Why?

I managed to render it as jpg, but will not work as video formats. I plan to to convert it to gif with ffmpeg from a H.264 or MPEG4 afterwards.

Traceback (most recent call last):
  File "/usr/lib/python3.4/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<blender_console>", line 1, in <module>
  File "/usr/share/blender/scripts/modules/bpy/ops.py", line 188, in __call__
    ret = op_call(self.idname_py(), None, kw)
RuntimeError: Error: Error writing frame

Apparently Blender Found it hard to render with small number of pixels (100 * 100) with 100%, but worked OK if 1000px * 1000px with 20%, which was satisfactory for me as well. The Error message 'Error writing frame' could have been a bit more descriptive.


Equirectangular sky texture in Blender Internal? Is it possible to use an equirectangular sky texture as a world background in Blender Internal?

I'm used to doing this in Cycles, but don't know if there's a BI equivalent:

I would like to avoid mapping the environment texture onto a UV sphere if there is a more elegant way. Thanks.

To make equirectangular texture enhance your scene in Blender Internal, create a texture for World Background and add your map in there.

Open World scroll, check Real Sky. Without this setting texture still will work but the view won't change if rotating camera. Then go to Textures tab to create a new texture for the world.
In the new texture properties leave it on Image or Movie, open equirectangular map.
In the Mapping scroll change coordinates to Equirectangular.
In the Influence tab uncheck Blend and choose Horizon. It's rather handy to look at Preview World scroll while changing these, as it will change according to steps done.

Note that as mentioned by @Mentalist in order to see your equirectangular map in the render you should also set Alpha Mode to Sky instead of Transparent in Render > OpenGL Render Options (if it was changed before).

If you'd like to make the map affect the scene lighting, enable Environment Lighting and set it to Sky Texture.

Also according to the post on BA, supporting of equirectangular maps in BI has been added rather long ago.


Can't find the denoiser in view layer I am using Cycles and yet it doesn't appear.

It doesn't work even when I'm using the denoiser node.

please any advice would be welcomed.

The option is hidden in the Viewer Layer Properties panel. There you will find the Denoising Data checkbox. (In Blender 2.9x it's under Passes → Data.) Tick the checkbox and the Render Layers node will get some extra sockets for the Denoise node.


No Generate Button for Meta Rig in Object Mode I am trying to pose this model with the Human Meta Rig, but I cant' find the "generate" Button. I have searched the internet for hours, but couldn't find anything.

To solve the problem:

Select the Human(Meta-Rig) then enter the Pose Mode

Select Object Data Tab

Now you can see the Generate Rig button


Closing "Fibonacci's Hole" Creating a sphere using the points defined by Spherical Fibonacci Mapping.  For the most part it is easy to "skin" by using two consecutive fibonacci numbers as steps to loop on the index. And get results similar to

Here is what I have so far

Edges made by stepping thru verts with 8th Fibonacci number 21 and  9th; 34.

The hassle comes around the poles, so I stopped short leaving a leaflike pattern hole.

The select verts in the image are those that have 3 faces and 4 edges.

verts = [ v for v in bm.verts
          if len(v.link_faces) == 3
          and len(v.link_edges) == 4]

For each of these verts there is a rip. (the two edges with only one face)

split_edges = [q for e in v.linked_edges
               for q in e.verts
               if len(q.linked_edges) == 2]
# sort by length
split_edges.sort(key=lambda a:-a.calc_length())

The desired result will close that split at the selected vert leaving a "T" 3 edge vert with the caveat of leaving the vertex in place. (As it is a member of SF space).

I was hoping to be able to swap the verts from one BMedge to another, but alas...

What other methods are available other than removing two edges adding one and a face?

The spherical fibonacci code can be found here https://gist.github.com/batFINGER/64db074e95b716f839a71882b7efcc50

The sample mesh in q can be generated using:

scene = context.scene
n = 1024
# create a point mesh
sfmesh = SFBMesh(n)
#sfmesh.edge()
# make mesh using 9th and 10th fibonacci numbers
k = 9
bm = sfmesh.bm
bm.verts.ensure_lookup_table()
for i in [k, k + 1]:
    fib = F(i)
    print("Fib number ", i, fib)
    start = fib - F(i-2)
    start = 2
    edges = [bm.edges.new([bm.verts[i] for i in [k, (k + fib) % n]]) for k in range(start, n - fib - 2)]
#bmesh.ops.convex_hull(bm, input=verts)
bmesh.ops.contextual_create(bm, geom=bm.edges)
faces = [f for f in bm.faces if len(f.verts) > 4]
bmesh.ops.delete(bm, geom=faces, context=5)
meshdata = sfmesh.mesh
goldie = bpy.data.objects.new("SF", meshdata)
scene.objects.link(goldie)
scene.objects.active = goldie
goldie.select = True

Oh gosh, I spent ages with it. On the pictures you posted it looks particularly nice because of lines are actually spirals. If they were straight it won't look nice. On your picture pole doesn't have quads and also has a lot of adjacent edges. So if you don't want this, maybe you can just stop (I would stop earlier) and connect the rest of the points using a different triangulation method?

In your implementation there is same distance of fib between each pair of vertices you connect. So the question comes when index + fib is larger than number of vertices. Where do you want to connect the rest of them?

This is what I get for k = 7.

And this for k = 9.

This is the bit I changed. But I am no expert in either bmesh nor bpython, so maybe you can polish it.

# make mesh using 9th and 10th fibonacci numbers
fibk = 7
bm = sfmesh.bm
bm.verts.ensure_lookup_table()
for i in [fibk, fibk + 1]:
    fib = F(i)
    print("Fib number ", i, fib)
    for k in range(-fib+1, n-1 ):
        for i in [k, min(n-1,k + fib)]:
            try:
                bm.edges.new([bm.verts[max(0,k)],bm.verts[min(n-1,k + fib)]] )

            except(ValueError):
                print('duplicate')

1) Also you can find code  here which produces this, maybe it will be useful.

2) Also look at this post which leads to this solution:

It seems there are in general not many ways to make a nice quad mesh of a sphere.No matter how you do it, there always is going to be a seem. I think 1) and 2) two are basically the main solutions.

Bo, if you want Fibonacci I would go with 2),so cut it off and close it as they did, if you want regular - with 1).


Saving Blender Macro to file I have used the Macro Recorder (http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Development/Macros_Recorder) to record some actions in Blender.

Does anybody know how I can save the macro to a file so that I can use it again even after having closed Blender?

Thank you very much!

The recorded macros are stored as small text blocks in the Text Editor as macro, Blender will incrementally add a numeric constant to these so take care to rename before saving. To execute the macro again, execute them from there.


How to give the "low poly" effect to a flat surface I'm looking for a way to achieve this kind of effect; the ground path seems to have 'relief' but in fact it's flat; the character doesn't bump on it.

For now i'm starting with a plane; subdivide; displace (cloud); and then I select a bunch of faces which i scale-z to but even; i end up with a shitty flat surface with no color.

What am I doing wrong ?

You can bake the normals of the low poly object and use that as a texture on the plane.
With a Color Ramp you can change the colors of the normal map texture.

How to bake in Cycles


Can not figure out why this python mesh object script will not run I am learning how to create mesh objects using python. The math will be complicated (fsolve and other special functions in Scipy), but I've simplified the problem to just four sides of a box. The first set of code does not run in blender 2.70a installed on my macbook air.

The error message in this case is only "Python script fail, look in the console for now..."

However, if I run the math part in python 2.7.6 first (second code segment below), then paste the output back into blender (third code segment), it works and draws four sides of a box.

This doesn't work:

import bpy
import numpy as np
from math import pi

mesh = bpy.data.meshes.new("Cubit")
object = bpy.data.objects.new("Cubit", mesh)

object.location = (0,0,0)  # bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

verts = []
faces = []

n_side = 4
n_seg = 1

i_seg = 0
while (i_seg < n_seg+1):
    i_vert = 0
    zv = 2. * i_seg
    while (i_vert < n_side):
        xv = np.cos(0.5 * pi * i_vert)
        yv = np.sin(0.5 * pi * i_vert)
        vert = (xv,yv,zv)
        verts.append(vert)
        i_vert = i_vert + 1
    i_seg = i_seg + 1

i_seg = 0
while (i_seg < n_seg):
    i_vert = 0
    while (i_vert < n_side):
        iv1 = i_seg*n_side + i_vert
        iv2 = i_seg*n_side + np.mod(i_vert + 1, n_side)
        iv3 = (i_seg + 1)*n_side + np.mod(i_vert + 1, n_side)
        iv4 = (i_seg + 1)*n_side + i_vert
        face = (iv1,iv2,iv3,iv4)
        faces.append(face)
        i_vert = i_vert + 1
    i_seg = i_seg + 1

mesh = bpy.data.meshes.new("Cubit")
object = bpy.data.objects.new("Cubit", mesh)

object.location = (0,0,0)  #bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

But if I run this in Python IDLE

import numpy as np
from math import pi

verts = []
faces = []

n_side = 4
n_seg= 1

i_seg = 0
while (i_seg < n_seg+1):
    i_vert = 0
    zv = 2. * i_seg
    while (i_vert < n_side):
        xv = np.cos(0.5 * pi * i_vert)
        yv = np.sin(0.5 * pi * i_vert)
        vert = (xv,yv,zv)
        verts.append(vert)
        i_vert = i_vert + 1
    i_seg = i_seg + 1

i_seg = 0
while (i_seg < n_seg):
    i_vert = 0
    while (i_vert < n_side):
        iv1 = i_seg*n_side + i_vert
        iv2 = i_seg*n_side + np.mod(i_vert + 1, n_side)
        iv3 = (i_seg + 1)*n_side + np.mod(i_vert + 1, n_side)
        iv4 = (i_seg + 1)*n_side + i_vert
        face = (iv1,iv2,iv3,iv4)
        faces.append(face)
        i_vert = i_vert + 1
    i_seg = i_seg + 1

print ' verts = ', verts
print ' faces = ', faces

...and then paste the (ugly) output into blender like this, it works fine and draws four sides of a box.

import bpy
import numpy as np
from math import pi

verts =  [(1.0, 0.0, 0.0), (6.123233995736766e-17, 1.0, 0.0), (-1.0, 1.2246467991473532e-16, 0.0), (-1.8369701987210297e-16, -1.0, 0.0), (1.0, 0.0, 2.0), (6.123233995736766e-17, 1.0, 2.0), (-1.0, 1.2246467991473532e-16, 2.0), (-1.8369701987210297e-16, -1.0, 2.0)]
faces =  [(0, 1, 5, 4), (1, 2, 6, 5), (2, 3, 7, 6), (3, 0, 4, 7)]

mesh = bpy.data.meshes.new("Cubit")
object = bpy.data.objects.new("Cubit", mesh)

object.location = (0,0,0)  #bpy.context.scene.cursor_location
bpy.context.scene.objects.link(object)

mesh.from_pydata(verts,[],faces)
mesh.update(calc_edges=True)

Your script has two minor issues

Line 11,12 should be removed

#mesh.from_pydata(verts,[],faces)
#mesh.update(calc_edges=True)

The console window from Menu:Window/Toggle System Console shows a traceback:

  File "\Text", line 51, in <module>
  File "C:\Program Files\Blender Foundation\Blender\2.70\scripts\modules\bpy_typ
es.py", line 418, in from_pydata
    p.vertices = f
TypeError: bpy_struct: item.attr = val: expected sequence items of type int, not
 numpy.int32

this means that for some reason the face's values are of type numpy.int32 instead of the expected int type.

This is easy to fix. Just add casts to int type in line 40:

face = (int(iv1),int(iv2),int(iv3),int(iv4))


Get image center point I added an image normally (Shift + A > Empty > Image) and the image's origin is at world (0,0,0), then I scaled the image to make it bigger.

The origin of the image is at its bottom-left corner, I tried to move it to the center of the image but it didn't seem to be possible.

The only property of the image I can see is its origin, so I'd like to know: how to find out the world point that represents the center of this image?

In the empty tab, set the offset values to -0.5 for X and Y. This will center the image. The world position of the empty now equals the center point of your image.


Reparenting Bone, but there's a glitch How do I fix this message?

I need to reparent a bone to fix a glitch, but this little guy pops up.

Okay, I'm stupid. You can only re-parent bones from the Edit menu.


Help with freestyle? Freestyle Xrays through the model no matter what I try, culling seems to be the option that changes this, but does not. I also need to know how to turn off anti aliasing for freestyle lines. Here's the blend file.

Here's my settings and the issue. Blender 2.8.

https://drive.google.com/open?id=1iL5sGxE63KLnT1piOzmIM6jV3nY6otto

After a couple of attempts, I figured it out.

In View Layer > Freestyle Line Set > Selection By. You must check "Visibility".
This will enable the Visibility: Visible.

See the image below.


Eevee can't render refraction to file I am trying to render refractions in EVEE, and I'm having problems.  I can see the effect beautifully rendered in the viewport, but it won't render when I try to render out to an image or an animation (F12).  The scene just renders without the effect working at all.

I've tried using a glass shader, a refraction shader, and a principled shader.  None have worked.   Hopefully the below screenshots will clarify all the settings I'm using.

Please note, I am using a beta of Blender 2.8 and I'm working on a project where I need EVEE as the actual renderer (not just for previewing).  The time frame of the project turnaround I'm working on precludes me from using cycles.  Any thoughts on this would be VERY HELPFUL!! Thank you!

material settings

additional material settings

render settings

Here is what the rendering looks like in the viewport; it's a red object inside of a block of rough glass

Render out looks like this

Well this is resolved.  I realize that I had the red item inside the block of glass marked to not render.  Sorry folks!


How to show an object in the 3D View as a specific color? This isn't about the final render using cycles, but in the 3D view when I'm in Object or Edit (or any) mode.   I want to make one object in a tangled mess of object stand out as bright blue (or any color).    I'm usually working with wireframe, solid, or texture view modes.

I guessed that in the properties panel, Object -> Display -> Object Color would set how the object is shown, assuming I'm in Solid view mode.  But no, it's still gray.  I played with the "Maximum Draw Type" but it has no effect.  I couldn't find anything else to play with that helped.

What is "Object Color" supposed to do, if not what I expect?  What is the way to get that object to show as bright blue?

Properties > Material > Settings > Viewport Color

IN REPLY TO A COMMENT

"Used when faces have ObjColor mode enabled"


I cant make an stencil using texture painting I am trying to use a stencil using an Alpha Mask so I can place a typography (png image) to a 3d model. I tried  it a few days ago an it was all fine however i made a new mesh and now its seems that I cant make it work.

I made two basic bsdf materials, along with a texture with 0 alpha level, the texture attached to the secondary material. The texture (material base color) is also connected with the fac of the Mix shader. The Brush is set as "Mix". I also checked to flip normals in case I have been painting on the inside of the model.

I dont know what else to try. When I click the left buttom of the mouse the color of the model gets a little darker, thats all.

I had the same problem, but then I realized, that my normals where flipped.
So to be able to draw with the stencil method, make shure that the normals of your mesh are oriented the right way (blue) or turn off backface culling in the brush settings (active tool and worspace settings > options > backface culling).


How to add sound to animations in BGE? I have a sword swing animation and a bullet firing animation. How can I add sound to it using the blender game engine?

You can add sound to your animation by using a sound actuator found in the logic editor. First you need to have the sound file(s) downloaded then you can go to bge's logic editor and add a keyboard sensor, assign a letter to the sensor(this is the letter on your keyboard that you will have to press for the animation and sound to start) connect it to an 'and' controller and then add a sound actuator, click on open and choose the file that you downloaded earlier, also you should have an actuator that starts your animation when triggered, connect the 'and' controller to the sound and animation actuators and it should work.

Since I have never actually used a sound yet and don't know what does every setting do. You should take a look at this https://wiki.blender.org/index.php/User:AnOrdinaryKitten/Doc:2.6/Manual/Game_Engine/Logic/Actuators/Sound/ and check or try which one you need.

Hope this helps :)
Btw your english is fine.


Bridge ngon to quads I want to easily cut an ngon along existing vertices into quads. For testing purposes I cut a cylinder out of a cube, which generates an ngon on top.

At the moment I do all cuts manually with the knife tool (see 2nd picture, I only cut the right half for demonstration).

Can I automate this process somehow or like "extrude" the vertices from the arc to the top edge to create these quads?
(and is my idea of this quaded edge topology good :) )

hello yes there a little hack for doing this, but in this weird way...

select some vertices and extrude them to the axis to point the edge loops, then flatten with S+Z+0 and again S+Y or X+0, and then enable automerge and split edges option, and enable snapping with edge center, and then move the vertices and snap them and click for applying, and then repeat the same in the other edges...
then set snapping to vertices, and manually snap and apply each vertex in the last intersections...
and then add some loopcuts with CTRL+R and manually select 2 edge loops vertices and press CTRL+J to connect them, and repeat the same for the remaining things to clean up...


Why subdivided faces with smooth shading acting weird? I have this model, and when I add the subdivision-modifier:

it seems to be okay, for me (I guess those bumps are there, because of the triangle faces instead of quads):

but when I add the smooth-shading I'm having this:

I think this is something really obvious -- but I just can't figure out the reason..

Thanks in advance,

The most likely reason for this is your object normals are facing the different directions at these edges. To fix, go into Edit mode, select the mesh and recalculate normals with CtrlN, Or you could manually select faces and flip the normals.

You can often confirm or investigate most most odd looking artifacts on your models by enabling a normal display type under Mesh Display in the Toolshelf (N). On a clean model, depending on the use case, both the vertex and face normals should point outwards.


Painfully slow at selecting bones in pose mode I have to wait for 5+seconds every time I select a bone before it's selected. Is my PC just bad or am I bad?

my specs should be pretty good, can't remember them because I am a scrub

I Noticed the same issue with Blender 2.79c. Even very simple models were presenting lags in bone selection.
What solved it for me was going to "user preferences->System" and changing the "Selection" option from "automatic" to "OpenGL Occlusion Queries".
Hope this helps.


How to add keyframes for multiple objects at once I've got about 200 objects for which I want to insert location/rotation keyframes.

Is there a way to add a keyframe for all of the selected objects?

Assuming you're talking about actual objects (not a mix of objects and armature bones), the easiest thing would be to select all of the objects and, from within the 3D View, press I and choose LocRot. That will insert a key for location and rotation on all selected objects.

If your needs are more nuanced, you may want to consider building a custom keying set. In that, you can specify any number of different properties from any number of objects (and non-objects... like World properties) and key them all at the same time. If you're interested in taking that route, then Getting to Grips with Keying Sets is a good start.


Texture Image Material is flipping the PNG file I Input Here is an image of my Blender workspace:

As you can see, the image of the Spanish flag is flipped state on my plane.

Have I missed something here? All I did was add an image to the plane.

Is there a way to add another image on the opposite of the flag too?

You're probably looking at the "back" of the plane, then.

To fix this, pick any one of the below options:

Mirror the plane on the X-axis. Do this with SX-1Enter or CtrlMXEnter.
Flip the plane's normals. Press Tab to enter Edit Mode, press A to select all vertices, and then look in the tool shelf at left for Flip Direction under the Normals subheading (it's about halfway down the list).
Flip your camera around. Put the 3D cursor at the center of the scene, change the pivot point to 3D Cursor by pressing . (period), and press RZ180Enter
Create a UV map. This is probably the best and most flexible solution, but it requires a little more work. Press Tab to enter Edit Mode, select all the vertices with A, and, since it's only a plane, simply press U and select Unwrap. Then, in the UV/Image Editor, you can move the UV vertices to make your texture display correctly.


screwed up my Video sequence editor view What I want it to look like:

How the VSE is now:

So Right now It Looks like the second image but I need it to be Image 1.
I'm Struggling to revert it back to normal.

Press (click)  LMB over the corner and drag over property windows an arrow will appear.

Press (click)  LMB over the menu button and click over dope sheet.

Press (click)  LMB over the menu button and click over action editor.

Done.


Loop cut at an angle I need to add an edge to a model at an angle without distorting the overall shape.

I can add a loop cut and rotate, but this skews the model

I'd like to keep the lines consistent, so I don't want to deal with scaling after rotating. I'd assume there is an easier way to do that, but maybe not.

Thanks,

Instead of doing a loop cut you can use the Knife tool.

Press K to start the knife tool.
Optional step: If you need to cut 'through' the mesh (so the cut goes all the way around) press Z to toggle the Cut through option on.
Click once above the mesh and once below to create a cut across the mesh:

Press Enter to confirm the cut.


How to add custom objects to the "add object" menu? I want to add things like basic tables/chairs/houses I have made over the past year to my ShiftA menu. Is it possible to do this?

There is an addon called creaprim which allows you to do this.

Install and enable the addon (direct download). Some people have had issues using this addon in the 2.70, you can find a patched version here.

Select the object which you wish to add to the Add menu and press Create Primitive in Tools shelf > Tool > History > CreaPrim:

You can now add it from the Add menu:


Fill tool not respecting the boundaries of my face selection mask I'm trying to fill selected faces with color using the fill tool with face select mask toggled, but in the UV editor you can see that the fill is extending beyond the edges by quite a bit. I'm using Zero Brush here, but it happens in default Blender, too (ZB actually has a "fill threshold" option that lessens this problem but does not eliminate it.) Is there a way to stop the edges from bleeding over, period?

Edit: If the image is hard to see, full size is here overfill

This is done on purpose to make sure that those UVs are completely covered.

If you want to turn it off, set the Bleed to 0 in 3D view > Tool shelf > options:

However this may cause artifacts like this, where the pixels don't completely cover the entirely UV face:


How do I made this screw tube not have an invisible wall? So I basically want this ball to run down the ramp, into the tube and out.
But for some reason, the screw tube creates this invisible wall that prevents the ball from going in. The screw tube has Rigid body (passive), and it's shape is Mesh - Deform.

The reason your simulation isn't working as expected is because the tube has a screw modifier on it that hasn't been applied.

Apply the modifier to make the geometry real, and it will work just fine. You also should apply tranforms with Ctrl+A rotation and scale (in object mode) on  all objects involved in the simulation. Otherwise the simulation can become unstable and have unexpected results.


How to set a specific edge length numerically? I've got this question from one of my best students. The question is the following:

Suppose, that we have Edit mode with some edges, vertices, etc. How to set a selected edge to have a specific length? Numerically?

We already know, that scaling with enabled 'Show edge length' is helpful, but in general, it seems to be easier to just select an edge, and to set its length. This is extremely useful for architecture modeling.

This feature is now in an included addon in Blender 2.79 called Mesh: Edit Tools 2. You have to enable the addon in the User Preferences.

Go to Add-ons
Search "edit"
Click the box for Mesh: Edit Tools 2
Save User Settings

While in Edit Mode, press W for the Specials Menu

Edit Tools > Set Edge Length
Input a target length and click OK.

Hope this helps! I searched forever to find the answer. Shoutout to Danyang Yi for providing the link to a previous version of this addon prior to it being included in Blender.


How could a lightsabers bright core be maintained when motion blurred? Without motion blur it looks like this:

With motion blur and shutter 1.0

The core dissolves:

The compositing is similar to Post-processing Lightsabers in Blender

Your core is not bright enough, give the core emission strength between 500 and 1000 and then it should be bright with shutter at 1.0. Do the soft red glow in postpro also.


Boolean cut with cylinders cross First of sorry for my english. I need some help here guys. I'm trying to boolean cut (operation: difference) a hole on a pipe-like shape with cylinder but doesn't work. I made two kind of this pipe-like shape one from a plane and another from a cylinder. Both failed.

Here's a screenshot of what i'm trying to do.

Here's a link to the file on my gdrive:
cylinders_boolean.blend

There are a couple of issues that might be affecting you.

Firstly your model is extremely small (switch to camera view to see how small it is). This will affect the default Boolean modifier settings, which has certain error thresholds. Try scaling everything up about 10 times.

In each Boolean modifier you need to select one of the smaller cylinders as the thing to work with.

Also, the smaller cylinders are not hidden by default so even if the modifier is successful you'll still see the cylinders in place unless you hide them (which you can do from the outliner in top-right).

Here's your scene after I did these things:

You may also need to hide the cylinders for render as shown here - you can do this from Object Properties > Visibility or you can add this option to the outliner for quick access as shown below. (Thanks to Nathan Hild in the comments)


How to render edges without faces? I wanted to improve my understanding in perspective. I created simple scene with rays from every cube's vertex and these rays meeting in one point. Now I want to render these rays. These are only edges without any faces and I can't render them.
What I tried:

When I mark them like freestyle edge, they don't render.
When I use skin modifier, only one of the edges became thicker.
Also I tried to move this edges into a collection for freestyle, it still doesn't render.

With skin modifier:

Render:

File:

In the 3D view window, view menu, there are the options "viewport render image" and "viewport render animation", which will render any kind of combination of lighting and overlays you choose (what you see is what you get), and it's very fast.


cut out a piece of the terrain See image. I'm trying to cut out a small piece of the terrain to use for particle system (scatter trees, grass etc). I used the knife tool to draw the area (orange line). How can I then delete the rest of the terrain and just keep the portion within the orange line? (In Max I just use the shapemerge modifier, not sure what to do here in blender).

Create a desired shape from 2D curves, below is an example, and close it enabling cyclic option. Model the plane to shape, convert to mesh and knife project it onto the terrain. Then invert the selection and delete it. Or, having knife projected, separate the selection and delete or keep the portion that's left. NB: to knife project correctly you need to be in ortho view.


How to toggle visibilty of Subsurf modifier using shortcut? When you're modeling with a low res polygon and smoothing it with a Subdivision surface modifier, is there a way to toggle on/off the modifier's visibility using hotkeys instead of having to click on the "eye" icon ?

Toggle Simplify on/off

One easy approach is creating a shortcut for Simplify, which also affects subdivision display settings in the 3D View. The following Add-on  creates the shortcut to toggle Simplify on/off automatically. Once the Add-on is enabled, you can press ShiftQ:

Click to enlarge

Download the latest version
Extract the archive
Install blender-toggle-simplify.py via File > User Preferences > Add-ons
Change the key configuration according your personal preference

Toggle Subsurf Visibility on/off

Another approach would be to toggle the visibility  of the objects subsurf modifier(s) on and off. Depending on the current state, the following Add-on allows to press ShiftQ to enable/disable the Eye property of all subsurf modifiers. If no subsurf modifier is present, a new one will be created:

Click to enlarge

Download the latest version
Extract the archive
Install blender-subsurf-visibility-toggle.py via File > User Preferences > Add-ons
Change the key configuration according your personal preference


UV unwrapping of a row boat is not working I am almost new to blender and completely new to UV unwrapping.I have modeled a row boat following a tutorial on youtube. After completing the model, I am trying to unwrap it. But when I mark the seams and hit U to unwrap it.It shows nothing on UV/Image editor.I think I have done some serious mistake but can not figure it out.I have attached the blender file with marking all the seam: http://pasteall.org/blend/index.php?id=49243

Have you tried this:

Change from Render Results to skiff-side.jpg


MagicTexture - how to customize colors? Instead of having all the psychedelic colors of the magic texture feature, I'd like to have 2 or 3 of my own custom colors but in the same swirly pattern. Is that possible?

Use the Fac output of the magic texture, which will give you  black and white image that contains the basic pattern created by the Texture node.

You can then feed that information to a color ramp and create your own swirly pallete.


How much space does Blender take up on a computer? I've been considering downloading Blender, but am unsure how much space it'll take up on my computer's memory.  Thanks to anyone who can help answer this question!

Taken from https://www.blender.org/download/requirements/

Blender 2.66a - Needs about 186Mb of harddrive space
Blender 2.78b - Needs about 330Mb of harddrive space
Blender 2.83< - Needs about 395Mb of harddrive space

Minimum (basic usage) hardware
32-bit dual core 2Ghz
CPU with SSE2 support.
2 GB RAM Physical Ram
24 bits 1280×768 display
Mouse or trackpad
OpenGL 2.1 compatible graphics with 512 MB RAM

Recommended hardware
64-bit quad core CPU
8 GB RAM Physical Ram
Full HD display with 24 bit color
Three button mouse
OpenGL 3.2 compatible graphics with 2 GB RAM

Optimal (production-grade) hardware
64-bit eight core CPU
16 GB RAM Physical Ram
Two full HD displays with 24 bit color
Three button mouse and graphics tablet
Dual OpenGL 3.2 compatible graphics cards with 4 GB RAM

For Your reference My Production system Built...
Windows 10 64bit
Asus COG8580 i73770K 3.5GHz 4 Core 8 Logical Processor
16GB Ram Physical Ram
2 X Eizo Screens
Basic 3 button wired Logitech mouse
Nvidia GTX970 + Nvidia GTX680 (Dual Graphics)
2 X Solid state drives 260GB + 120GB
1 X SATA 1TB drive

For learning purposes blender should run just fine with any system that isn't too old to begin with. If you are having problem I do suggest installing an earlier build since those versions are less intensive and a learning tool before investing on a more appropriate system.


I'm having trouble understanding how to work with nodes using python I think I'm close but there's something I'm missing or not doing right. Im trying to create a new material, and then change the metalic value in the Principled BSDF Node.

newmat = bpy.data.materials.new(name)
newmat.use_nodes = True
node_tree = newmat.node_tree
nodes = node_tree.nodes
bsdf = nodes.get("Principled BSDF")
bsdf.inputs[4] = 0.9

The error message I'm getting is:

TypeError: bpy_prop_collection[key] = value: invalid, expected a StructRNA type or None, not a float

Set the default_value of the input

There are many examples of this here, probable duplicate.  Here is an answer in lieu of a long comment

Set an input node value by altering its default_value property

import bpy
name = "Foo"
newmat = bpy.data.materials.new(name)
newmat.use_nodes = True
node_tree = newmat.node_tree
nodes = node_tree.nodes
bsdf = nodes.get("Principled BSDF")

bsdf.inputs[4].default_value = 0.9

Tip, for new material created as above can

>>> bsdf, output = nodes
>>> bsdf
bpy.data.materials['Foo.002'].node_tree.nodes["Principled BSDF"]

Testing in python console.

>>> import bpy
>>> name = "Foo"
>>> newmat = bpy.data.materials.new(name)
>>> newmat.use_nodes = True
>>> node_tree = newmat.node_tree
>>> nodes = node_tree.nodes
>>> bsdf = nodes.get("Principled BSDF")
>>> bsdf
bpy.data.materials['Foo.002'].node_tree.nodes["Principled BSDF"]

>>> bsdf.inputs[4]
bpy.data.materials['Foo.002'].node_tree.nodes["Principled BSDF"].inputs[4]

Notice the input node is not a float

If we autocomplete the input node, will see its properties and member methods...

>>> bsdf.inputs[4].
                   as_pointer(
                   bl_idname
                   bl_rna
                   bl_rna_get_subclass(
                   bl_rna_get_subclass_py(
                   default_value
                   display_shape
                   draw(
                   draw_color(
                   driver_add(
                   driver_remove(
                   ....


I just can't seem to make grid fill work for me I'm not sure why I just can't seem to make grid fill work for me.
I have an equal amount of vertices to fulfill the action of applying it yet it turns into this jumbled mess.
I really don't know how to fix this and I've redone this mesh at least 10 times now trying to figure out why but I've had zero luck. If someone could help me with this I'd appreciate it so much!

CtrlF > Grid Fill works like this:

It calls the (white) active vertex when it is invoked a "corner". (Red zones)
It takes the next Span - 1 vertices, and bridges them to their opposite numbers. (Lilac)
It skips another corner, and then connects what's left cross-ways. (Green).

This results in Span face-loops across the piece, (up, in the picture :) ) and 4 corners.
The illustration shows Spans of 4,3,2 and 1 on a 16-circle, with the active vertex in white.
(The Offset setting steps the starting-point around the perimeter.)
So you can see, to get a tidy result from Grid Fill, you need:

An even number of vertices
A reasonably nice correspondence of vertices to their opposite numbers, once you've decided where the first corner should go.

In your case, you need to fix the second condition.


Cycles rendering mode crashes the entire program AMD OpenCL I never had this problem before, I recently came back to Blender and I'm doing the Donut series by Andrew Price, everything was working fine and I got midway but from one day to another, the entire program freezes and crashes or bugs out when I switch to render view mode in viewport or rendering with f12. I use a AMD RX 570 8gb, as I said everything worked fine, I already tried different drivers for my card, older and newer, I play a lot of games and there aren't problems there. I already switched to 2.91 version of Blender, and 2.9, Idk what else to do, I cleanly uninstalled my graphic drivers with DDU even, but it's the same, the program now gives an error with 2.91 tho, it says: "Split kernel error: failed to load kernel_indirect_background". The program is not frozen but I can only see the orange outlines of my objects if selected, there's nothing else in the viewport. Please help me, I'm really eager to learn to use this program again, and it's my favorite one tbh. I use Windows 10 Pro latest update.

Posted this in an AMD forum Users Post:
Re: In 2021,Why AMD GPU Still Sucks On Cycles?!
I think I might have found a so-called hack to get the 'Indirect_Background' one to work.

Start with initial default cube. Mainly so that Blender will recover faster.
Add a HDRI (don't really know if you have to).
Switch from 'Solid' view to 'Mat Preview' then switch to 'Render' view. Now I think it does start to hang, but immediately switch back to 'Mat View' and wait for it to clear its self up. Then switch back to 'Render' view.
Hit F10 while still in 'Viewport' (may not have to do this, but was in 'Mat Preview').
Go to Render tab and watch the magic happen (hopefully).

I don't think I've forgotten anything. You can then open another file and everything should still work. Even on start up.
*** Updated to Adrenaline 21.4.1, repeated what's above and it still works ***


How to exactly flip an object along an axis? I am new to blender and having a little trouble with my animation. I need the legs of the character to be exactly flipped for the first and last frame of the character's walk cycle so that it doesn't look weird when I run that in a loop. I copied the object using Ctrl+C and then pasted in that particular frame using Shift+Ctrl+V but that gave a very weird rotation to the legs. Please help me fix this...

To flip an object on an axis, select the mesh, press s for scaling, and then press the axis you want to flip on (x, y, z). Type -1 to flip.


multi-line text box with popup menu How can I make a multi-line text box using the popup_menu function in my add-on?

The idea is that I could use it as a function that I could call anywhere and put any text in it.

I just found this way of doing it.
Put this at the top of your add-on (you can also test it alone in the text editor):

import bpy

def ShowMessageBox(title = "Message Box", icon = 'INFO', lines=""):
    myLines=lines
    def draw(self, context):
        for n in myLines:
            self.layout.label(text=n)
    bpy.context.window_manager.popup_menu(draw, title = title, icon = icon)

You can then put the following anywhere in your code:

myLines=("line 1","line 2","line 3")
ShowMessageBox(lines=myLines)

Reminder: you can use a custom title and icon each time you call this function:

ShowMessageBox(title="Uh-oh.", icon='ERROR', lines=myLines)


How can I automatically let vertices join in a block shape? I generated a track of blocks, and what I want to do is to have each block separately joined like this:
Now the problem is that I have a really long track of these blocks, and want to do this automatically with a script or a plugin. Is that somehow possible? Sorry for the bad explanation.

I am guessing you have a modifier stack like below:

Make sure Merge is not selected in Array modifier.  Also note that I created a small gap between array elements (using an offset of 1.100), but if Merge is not enabled gap should not be necesary.
Separating Each Block

You need to apply the modifiers, first Array then Curve. (order is important)
Now you have a single mesh containing all the blocks.
Go into Edit Mode.
Choose Mesh -> Separate -> By Loose Parts in menu.
Now you should have each block as a separate object.


What Texture Map is This? I downloaded an fbx which came with a diffuse and normal map along with a third map which I really don't know what it is. Also, how would I hook this up to a Principled BSDF?

I am not sure what the texture is, but the color needs to go to Metallic, Specular, and Anistropic with the alpha in the roughness.


Adding Armour to Rig So I have a model of the Master Chief (Halo 5) that I downloaded from the internet, and I constructed a rig for him. The rig works fine

But when I add the armour to the rig I get bad distortion (blender treats it like it is clothing, and I guess that's because of the way that I parented the armour to the rig)

You can see that the body armour has heavy distortion on it, and I don't know how to stop this from happening... I tried to increase the weight of the armour but there are so many vertex groups

Is there any quick way to copy weight paint to all of these groups? Any help on how to make the armour act more like armour would be greatly appreciated!

I would recommend editing the vertex groups in edit mode for the armor, that way the vertices are all yes and no they way this can be done is by going into edit mode for the armor, removing them all from the groups by pressing control a and then selecting remove for group, and then selecting assign for the groups that correspond to each piece of armor. It might be a bit tedious but it should work. If you don't understand just say so and ill post some screen shots. If you already tried this sorry for wasting your time.


How to i add a gradient to particles, normal to the emitters surface? This is a very special question i'd imagine ;)

I have a base shape, that uses a particle system with pyramids on it.

Im triyng to add a gradient to the pyramid-spikes.

This efffect by itself can be easily done in a material for the particle.

BUT: The fade on the pyramids will only be a part of a more complex material for the whole shape.

Currently i convert the particles into a mesh and then join them into one object to achieve this.

I currently have no way to achieve the gradient on each pyramid, but also have control over the material of the whole shape.

So im emulating it with this node setup, someone shared with me.

But this only works partially, since i dont have a sperical shape.

Any ideas on how to solve this problem are well appreciated.

Thanks in advance :)

Gradient texture upon Generate coordinates

To assign a gradient texture to the single particle object you can use the built-in node available for cycles. You can control the gradient with a color ramp node as well.

The tricky part in your setup is that you would like to access the data of a different mesh that doesn't belong to the particle. One possible way is to take advantage of the Object option in the Texture Coordinate node.

You didn't share your setup for the colored shader (the one you show with particles baked and joined), so I'll assume by guessing that you are using the Generate texture coordinate of the object. We can't access that data, but we can try to transform the Object's texture coordinate from an empty object.

In the following example I'm using the Mapping node to translate the empty's (which was created in the same location of the object's origin) coordinates.

An altenative would be to simply move the empty in one of the corner of the object's bounding box and scale it appropriately:

The following image sequence is showing the node in action. The shape on the right is the mesh with particles baked with a shader showing the Generated coordinates to use as reference.

Note: accessing data from other objects may not be possible for all the attributes. Object's texture from another object can only provide location, rotation and scale of the object.


Find out perpendicular vectors of a normal I want to find out the direction of a certain axis in a normal, for example the Y axis. So for an edge finding the direction would be to subtract the location of its vertices. I want to use that normal direction to move a face along the Y direction of its normal rather than the Z axis. I'm looking for a python solution.

I've figured it out using bm.face[#].calc_tangent_edge(). Although I can't figure out why it goes to X axis then to Y axis when selecting faces in other parts of the mesh. I also need a 90° equivalent of this tangent to able to use this on a gridify script.
import bpy
import bmesh

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
f = bm.select_history.active
n = f.calc_tangent_edge()
vec = 0.1 * n

for v in f.verts:
    v.co += vec

bmesh.update_edit_mesh(me, True)

Moving across a plane, horizontally
import bpy
import bmesh

threshold = 0.0001

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
f = bm.select_history.active
normal = f.normal
tangent1 = f.calc_tangent_edge()
tangent2 = normal.cross(tangent1)
if abs(tangent1.z) < threshold:
    vec = tangent1  # this tangent already is horizontal
elif abs(tangent2.z) < threshold:
    vec = tangent2
else:
    ratio = tangent1.z / tangent2.z
    vec = tangent1 - tangent2*ratio

vec.z = 0  # it's close to 0 but let's just round it exactly to 0
vec.normalize()
vec *= .1

for v in f.verts:
    v.co += vec

bmesh.update_edit_mesh(me, True)


How to get UV stretching (angle or area colors) with Python without looking at viewport? I know how to view the UV stretching by angle or area in the viewport. However, I want to write a script by which I can determine if a UV island results in a red, yellow or green stretch to correct it automatically. Any ideas on how these values can be obtained?

Blender documentation of "show_stretch" function in "SpaceUVEditor(bpy_struct)" says that this function "draw faces colored according to the difference in shape between UVs and their 3D coordinates (blue for low distortion, red for high distortion)" here. Is there any way I can make this function to return something for determining stretching colors?

Alternatively, can someone suggest any other good/better way to check UV stretching using python?

Normalized Edge length vectors.
Started writing this answer for How to check if UV distortion exists using Python? and lo and behold when I returned to post it had been closed, hence have added an answer here going only someway to answering this question
For a very rudimentary test could  walk around each faces loop, make vectors of edge lengths for both mesh and UV, normalize them, and compare. The big expectation here, i suppose is that the meshes polygon verts are coplanar.
Note in hindsight for this test to be robust  would first  triangulate then compare lengths, as a quad can be flattened to a diamond to a line.
List vertex colors from a bmesh
import bpy
from bpy import context
from mathutils import Vector

ob = context.object
me = ob.data
uv_layer = me.uv_layers.active

for f in me.polygons:
    verts = [me.vertices[me.loops[l].vertex_index].co for l in f.loop_indices]
    uvs = [uv_layer.data[l].uv for l in f.loop_indices]
    lvs = Vector((v1 - v0).length for v0, v1 in zip(verts, verts[1:])).normalized()
    luvs = Vector((v1 - v0).length for v0, v1 in zip(uvs, uvs[1:])).normalized()
    print(f"{f.index} :  {(lvs - luvs).length}")

Simple test run.
As a test have done little more than added a cube with default UV, pulled on one of its vertices

Displaying stretching by 'ANGLE'. which correspond to results below, the two lightest faces 0, 5 and third-ish as distorted face 3
0 : 0.19459002803218287
1 : 0.0
2 : 0.0
3 : 0.0722531723959878
4 : 0.0
5 : 0.19134772084616544

Edge angles.
The answer here describes how to find the interior angles of each edge. Similarly to above could calculate for both mesh and UV and compare. At most the angle can differ by 180 degrees in which case would color vertex red.
Areas

TBH little confused re the viewport display when in 'AREA' mode above the most bent out of shape face in relation to its original square UV, displays as blue.
Anyway assume this could be done very similarly by using some arbitrary point (geo center for example) and calculating the area of each triangle.


Set Animation Nodes to work with animated baking I am not able to bake texture sequences with AN generated mesh (like Dynamic Paint or Animated Render baker add-on). It looses vital data on frame change, thus confusing baking.

I tried to use expressions to hold proper UV map for the full timeline:

bpy.data.meshes["Mesh"].uv_textures.active_index = 1

and

bpy.data.meshes["Mesh"].uv_textures["UVMap.001"].active_render = True

But this is not enough, blank Image doesn't associate with UV layer after frame has changed (checked it after re-entering Edit mode).

So, is there any way to make it work, or exporting meshcache is the only option for this?

Using this answer, I can make it work via Script node (UV input is a name of UV layer to bake to):

Script itself: (Assign_img.py)

import bpy

image = bpy.data.images["Untitled"]

Object.data.uv_textures[UV].active = True
Object.data.uv_textures[UV].active_render = True

for uv_face in Object.data.uv_textures[UV].data:
    uv_face.image = image


How to make 3 quadrant sphere? I am trying to make this figure in 3 quadrant sphere rather than 2 quadrant hemisphere using blender. RGB color internal hemispher to outer hemispher is following  [0.56,0.55,0.83],[0,64,0.64,0.87],[0.73,0.73,0.92],[0.85,0.85,,0.98] and outer surface rgb color value is [0.44,0.44,0.5]
But I am not getting the same rgb value color in blender whatever used in above image. and in blender internal sphere not looking good. Why?

You can see blend file here.

Rounded color values
When you need exact colors, you wouldn't want to use rounded values. To be exact, open your reference in the Image Editor and use the Eyedropper in your RGB node to pick the color.
Make sure, your scene doesn't use Filmic log encoding or any viewer LUTs, stay in sRGB the whole time, to maintain color fidelity.

Emission and diffuse combination
As @lucas-leme suggested, the emission shader gives you the exact values from your reference. But your image will look very flat. Create a second renderlayer, don't change any settings, just add a diffuse white material to the material override slot of the second render layer. In the compositor, set up the nodes as shown below, and clamp the diffuse pass down, so it is almost completely white and only contains the core shadows. Multiply this layer over the Emission pass.

please let me know if this helped, or if something is unclear. Here is my blend:

you need to render first, to see the compositing nodes at work.


I could not see compsiting,scene in blender In the upper part as you can see there is no scene,default it has gone to 3

The top header I can see in your screenshot belongs to a second 3D view window. Turn it to an Info window ("i" icon) and you will find what you're looking for.


Weird glass reflections Trying to make a simple glass but the shading is clearly off (for reference it's similar to IKEA's POKAL glass). To add thickness I didn't use a solidify modifier because the outside geometry is a different shape to the inside so thought this was too much hassle and I just added geometry on the inside manually and joined them. It's a simple lighting setup with just one point light, I tried an hdri but that didn't improve things at all. The only material settings I've changed from default are the roughness (which is all the way at 0 but I've experimented with other values) and the transition (which is 1). All normals are facing the right way and there are no out of place faces/edges/vertices. Changing the number of light bounces doesn't seem to have an effect.

Are you using glass BSDF or transmission of the default principle ? Try to change the IOR value(if it is a glass node). See if that works.
And yes, also check if your model is perfect and a bit high poly. It is not needed but it is recommended.


How to apply uv-mapping post-modifier? I am trying to apply uv-mapping to an object after adding a solidify modifier to a plane.

The problem that I'm having is that the mapping is applied to the plane and not the resulting solid body. (which causes texture stretching)

It's important that I can keep the modifiers, so applying the modifiers is NOT an option.

I'm looking for something similar to 3ds Max's uvw-map with a box projection in the modifiers panel like shown in the image below:

Geometry generated from a modifier is not directly accessible until after the modifier is applied. Otherwise, we would be able to control each UV vertex of an object with a subsurf modifier before committing to it.

Please explain why you must keep the modifiers, so that we can help you find a change in workflow to answer your question.

For now, the answer is that it is not possible to apply UV mapping to geometry made from a modifier that hasn't been applied.

Here is an example of a possible work around that may meet the behavior of your 3ds Max reference. First, I'm making these assumptions about your workflow:

You are using a repeating texture that doesn't rely on precise UV
positioning.
You are creating assets for rendering purposes.
You are using Blender Render instead of Cycles (May work, I'm not
experienced with it.)

Instead of using a UV-map to determine the texture positioning , Assign a material and texture to the object and use its texture properties to map an image to generated coordinates using a cube projection.

The results will not be reflected in the view-port (You must use view-port shading set to material to see it), but creating a render will show the texture projected on all sides.


what is the best way to patch a hole in a spherical mesh how would you fix the hole so that its even like the other parts of the mesh?

Select the edges around the hole and do "Grid Fill".

(Press CtrlF and select Grid Fill or use the menu: Mesh->Faces->Grid Fill)

Then set the span and offset to get the desired result.


Freestyle line color from underlying material not working as expected I'm trying to color freestyle lines using the underlying material. It looks like it should be able to pick up the RGBAa diffuse and specular channels, and the documentation agrees. But I can't make it work, it seems to only pick up the workbench-related "viewport color".
Is this supposed to work on 2.90?
https://docs.blender.org/manual/en/latest/render/freestyle/parameter_editor/line_style/modifiers/color/material.html

The material object has a property diffuse_color which is the viewport color. The color you want to link is the Base Color of the Principled BSDF node inside the node tree of that material. Sadly I don't know of a way to access it from the modifier, but you could use a script like this to automatically update the diffusion colors of all objects based on that node:
import bpy

for material in bpy.data.materials:
    if material.node_tree is None:
        continue
    principled = material.node_tree.nodes.get('Principled BSDF')
    if principled:
        material.diffuse_color = principled.inputs['Base Color'].default_value

It will consider the value inserted manually to the Base Color field, not one connected from some texture etc. And it makes sense to replace diffuse_color to line_color both in the code above and in the freestyle color modifier.


How to unhide multiple objects in the outliner? In outliner i select multiple hidden objects then i want just to turn on that eyeball icon, to unhide. But i can only do it per object. Tried to press 'alt' to have 'multiple' effect but not working. They are not stored in a single collection , but rather distributed on many collections.
Is it possible ?

Yes it is possible
Just select all of them and hit alt+H on the keyboard in 3d view port


Fluids: stuck inside obstacle Okay, I have a fluid stuck inside one of my obstacles. I made sure to get the inflow outside of said obstacle so it doesn't collide with it. I intended for this fluid to flow into a small pool and then overflow into a larger one.

Here's the file:
https://drive.google.com/file/d/0B1dIaL3qkRdQYjhYYklFNzZWSWc/view?usp=sharing

I'd give a picture, but I have lunch right now.

Now I ended up with this:
http://prntscr.com/9p5fx2

Here are the things you need to change to make it work.

Your fluid domain needs to be a box.
Your spherical inflow object vectors are all set to zero. Give it some value.

NOTE With vector of Zero on (X,Y,Z) your inflow will be manifested as slow drips of water.

Here are my tests.

Download here for your reference.


Why is bake action creating weird rotation? I have an object that's animated using a Follow Path constraint. Follow curve is checked. Everything works great.

BUT I need to export this animation via FBX. I'm thinking that Bake Action is the best way to do that. But unfortunately, when I try to bake the action I get all kinds of weird rotation as the object passes around corners.

Any ideas as to how I can get proper baked animation?

For those interested, my bake settings are:

[X] Only Selected
[X] Visual Keying
[X] Clear Constraints
[ ] Clear Parents (I've tried it both ways. No luck.)
[X] Overwrite Current Action

This is caused by "Gimbal Lock". To correct for it, switch the rotation mode from XYZ Euler to Quantarion and then rebake.


no shadows where mesh intersect, weird glow instead, Hey I am getting these weird glow instead of shadows near the edges or where the mesh intersects, I am rendering in Eevee and have AO turned on.

In Light settings, low Bias setting of shadow. If it does not help, try set up contact shadows:


Animating active object in physics simulation I would like to pick an object from a conveyer belt.but I find difficulty in animating the active object(rigid body simulation) and assigning 'child of' constraint to the active object which in this case is the object that is to be locked,is there any possible solution to this problem.i tried to animate it by inserting key frames but the result was unrealistic. I also find  similar problems  while animating an object being kicked or thrown

This has been prepared on the assumption that you're unfamiliar with Blender's animation and constraint handling...
(Blend file below)

When mixing animation, physics, parentage etc, a significant amount of time and trouble can be avoided by keeping things 'modular'.  i.e. get the first part working, bake it, then the second, bake that etc.
The philosophy behind this is because Blender's modifiers, physics, parentage etc, can all play havoc with each other when acting on the same model concurrently.
Strict and sometimes quite finnicky procedures can circumvent some of these interactions but only when adhered to, often to the letter, and assuming that the workarounds are even known!
The answer given here has been extended beyond what was asked for to illustrate how easy it can be to multi-switch between constraints and physics.   Picking up an object would usually require further action such as being carried off and placed somewhere else.  Mixing physics with similtaneous animation is also a relatively simple matter, but this project won't require that.
A hint - save your work with incremental filenames at every new stage!
Another -  Tick all the boxes in the baking panel.
See Below for the fine detail - re: baking frame ranges.
-==============-
The item to be picked up is the Monkey.  That is given Dynamic physics properties from frame 1 initially so it drops onto the conveyor.  When it settles the action can be baked from frame 1 up to the settling frame. (see details below)
Once baked that part of the action is set in concrete and won't change without direct intervention.  You have to manually switch off it's physics however and also delete the two physics strips left behind in the Monkey's Dopesheet entries.
With the physics gone, the Monkey can then use the conveyor as a parent (CTL-P) and that's what carries it along to the pick-up point.
Once reached, the parentage has to be switched to the pincer arm, so baking is used once again, but only for the necessary frames.  i.e. where the original parentage was introduced up to and including the parent change-over.
Two concurrent 'Child-of' constraints can do this, but in the long run, it's far far better to simply bake the action and preserve what's already working.
Once baked, the pincer arm can become the parent to both pick up and carry the Monkey.
It's lowered again and dropped gently.   Bake it again up to the drop frame.
Once baked it's free to be given physics again, where it drops, rolls, and falls off.  Bake that and your entire action is pretty much immune from future interference.
-==============-
Not one of these procedures encountered anything like the hassles that can crop up when keeping multiple constraints and physics active.
A year from now, the file can be reopened and guaranteed to perform exactly as before, working on the premise that a new version of Blender won't depart significantly from it's most basic animation handling-code.
Should any section need a change, that section only can be re-physic'd or whatever, then baked again.  (with all due care in the Dopesheet to accomodate the new action)
-===============-
Baking Frame ranges -
The initial drop onto the conveyor takes place between frames 1 to 47 and these are the frames to be baked.  Remember, if you bake an extra frame or 2 and it upsets the action, simply delete them in the Dopesheet.  (Save your work first)
The conveyor parentage, where it's carried along,  runs from frame 47 to 97.
The pincer arm parentage where it's picked up - frames 97 to 133.
Physics are applied again from frame 134 to 180 where it's rolls off and falls away.


Mesh does't move with armature I have two different mesh (head and beard) on one bone and they don't move together. I have weight painted them, set parent (to bone or other meshes).
Image below shows how should look like mesh:

And how it looks when head (bone) is turned:

[Link to blend file]

You have to remove the weight the neck has on the head and the beard.

Because, the beard is weighted on neck, so it influences when you move the head.
Then you will notice the head, most specifically the chin is also weighted on the neck which makes it look like it's shrinking a little bit when you turn the head sideways, so you have to subtract the weight from that as well.


Strange edges on height map Following the steps in this question has yielded some pretty good results. I have just one issue, which was also experienced in the original question. The edges of my height map are oddly high.
I loaded the DEM in GIS software, and here are no odd values; QGIS tells me that those pixels are marked as "no data". This leads me to conclude that the issue is happening in Blender. The answer in the original question tells the questioner to clean up his height map, but how is this done, especially when the edge-errors do not appear to exist in the DEM.
Edges in Blender (camera rotated to make edges more apparent):

No edges in QGIS:

If you mean distortion around object's edge, change image extrapolation to Extend.
Displacement Modifier > Texture Properties > Mapping

... in case you use Subdivision Modifier > Adaptive Subdivision:


Any good Python reference book for Blender 2.8? I am looking for a good reference book on Blender 2.8 or any recent blenders. I am coming with Python back-ground and want to work in blender mostly using Python as it gives excellent control over various aspects of this amazing program.

I recommend that you use the official docs, everything else will be out-dated and therefore not very helpful.


animating mesh division and holes I'm doing some mesh morphs using shape keys and the shrink wrap modifier with sub surf to get the mesh to mold to the shape of things i want it to shape into. the problem is when i have things with loops, holes, and separate pieces. whats the best way To go about animating dividing mesh and holes.

i drew this quick little sketch example of what i'm after showing a sphere turning into a doughnut.

You need to use boolean modifier and animate the boolean object to cut your mesh.


Texture uses UV, Pixel effect uses Object Texture Coords My goal here is to be able to rotate the object, and have the image rotate with the UV map, But have the pixel effect rotate relative to an outside object, but given the setup i'm using I don't know how to get it to work

If there's a better pixel effect that supports what I need that works too.
From what i found, I Basically need a setup that gives a pixel effect to a UV Texture coordinate like this:

But I want the Pixels Stay upright relative to an empty (Or the world)
I've Tried for multiple hours experimenting with literally every combination of nodes I can think of that could work, But I'm not amazing with math.
If anyone trying to solve this needs any more info on the problem, let me know
Thanks!

Two parts in this node tree:

Find the rotation of the empty

This is done using two radial gradient textures, one from the UVs one from the empty and get the difference.
As the gradient goes from 0 to 1, there is a discontinuity at the limit. To compensate that we look if this is a negative value and if it is set it back positive adding 1.
Then map from 0, 1 to 0, 2*pi in order to have the angle.

Use this rotation before snaping

From the angle above, rotate, snap and rotate back.
Note: set the image texture interpolation to closest as snap node may make glitches if not (this is not done in the file below).


How to make a camera rotate on the spot? what I need to do is so simple, it seems, I can't find anyone who has made a tutorial on it, and as such, I am quite stuck, as I'm new to blender.

What I need to do is rotate my camera 360 degrees on the spot about the X-axis as an animation (not just rotate it and move it about in 3D view, I know how to do that :P). The goal of this is that my camera is in a circular room-like environment, and I want an animation of the camera getting a complete look at every bit of the wall, not sure if that's relevant.

First time posting, any help is very much appreciated :-).

Select your camera
Set a Keyframe by pressing I and selecting Rotation
Then move some frames forward (by clicking in the Timeline at the bottom)
Now rotate the camera by pressing R+X+3+6+0 and apply by pressing Enter
(Press X twice if you want to rotate around a local axis instead)
Set another keyframe like in step 2

That's all. Note that the movement won't be linear by default. If you want a linear movement instead, you need to change the interpolation mode of the keyframes. For that, you can have a look at the second part of this answer.
Hope it helps :)


How do you create opaque liquid? I am following along with a beginners tutorial on youtube (https://www.youtube.com/watch?v=fdWUjEMzDhg) that creates a clear glass mug with coffee in it. I am attempting to make hot chocolate instead of coffee. I have the object selected and am attempting to change the material as per the instructions. Changing the density under absorption volume only makes it darker. It does not change the opacity. What should I change to make it appear more solid and like hot chocolate rather than dirty lake water?

For materials such as milk, latte or hot chocolate, the use of Subsurface Scattering is a good choice. It allows the light to enter the solid material, scatter around, and exit at another point. The material is not transparent but still opaque.
The liquid in the following example has a subsurface scattering of 0.055, base color and subsurface color are the same (hex: 835842), Subsurface Radius is (1.0, 0.75, 0.5), no transmission (glass), unchanged alpha (1.0=no transparency).
The Bump map is from the tutorial video "How to Make Milk in Blender EEVEE" (https://youtu.be/Hzpmz683xsw). It adds a very subtle distortion of the reflections on the surface.

Milk shader setup:


How to get one UIList to control the contents of another UIList? I have two dynamic lists. One is for strings and another one for objects. When the string changes I need the other list to show the objects assigned to the string in the first list. So I would need something like a "global 2d array", but the only way I know of in Blender is assigning properties to ex. the scene. But I'm not familiar with ways to deal with stuff like: ["BOB", ("Camera", "Light", "Cube")] using properties. How would you guys solve this? Here'a a gif of the UI:

The code is far to big to paste here, but is based on p2or's UIList code:  https://www.codepile.net/pile/0J6E3WxB

It's indeed tricky getting all the details sorted but it is possible to make it work properly:

(Minimal) Example: https://gist.github.com/p2or/4635887cfe6ed9e652eadc8aa7585a87

Data Structure

I'd suggest create a nested collection for your objects as part of the main collection (users), register e.g. per scene to get your data structure working and then test using the Console in the first place:

class CUSTOM_ObjectProps(PropertyGroup):
    obj_ref: PointerProperty(
        name="Object",
        type=bpy.types.Object)

class CUSTOM_NameProps(PropertyGroup):
    object_collection: CollectionProperty(
        name = "Object Collection",
        type = CUSTOM_ObjectProps)

class CUSTOM_SceneProps(PropertyGroup):
    user_collection: CollectionProperty(
        name = "Name Collection",
        type = CUSTOM_NameProps)

...
def register():
    bpy.types.Scene.ctm = PointerProperty(type=CUSTOM_SceneProps)
...

Proof using the Console

# Add User
>>> user = C.scene.ctm.user_collection.add()
>>> user.name = "Bob"
>>> user
bpy.data.scenes['Scene'].ctm.user_collection[0]

>>> user_obj = C.scene.ctm.user_collection[0].object_collection.add()
>>> user_obj.obj_ref = C.object
>>> user_obj.name = "My Object"
>>> user_obj
bpy.data.scenes['Scene'].ctm.user_collection[0].object_collection[0]

>>> user_obj.obj_ref
bpy.data.objects['Mball']

To speed up testing, operators for adding or printing the values might become handy:

class CUSTOM_OT_PrintOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "scene.ctm_print_operator"
    bl_label = "Simple Print Operator"

    def execute(self, context):
        scn = context.scene
        custom = scn.ctm
        lookup_dict = {}

        for uc, user in enumerate(custom.user_collection):
            print ("User Index: {}, Name: {}, Ref: {}".format(uc, user.name, user))

            for oc, obj in enumerate(user.object_collection):
                print ("-> Object {}, Ref {}".format(oc, obj))
                lookup_dict.setdefault(user, []).append(obj.obj_ref)

        # In case, dicts are nice
        print ("\nLookup:", lookup_dict)
        return {'FINISHED'}

Proof using the Console

>>> bpy.ops.scene.ctm_print_operator()
User Index: 0, Name: Bob, Ref: <bpy_struct, CUSTOM_NameProps("Bob")>
-> Object 0, Ref <bpy_struct, CUSTOM_ObjectProps("Bob_Mball")>
-> Object 1, Ref <bpy_struct, CUSTOM_ObjectProps("Bob_Icosphere")>

Lookup: {bpy.data.scenes['Scene'].ctm.user_collection[0]: [bpy.data.objects['Mball'], bpy.data.objects['Icosphere']]}
{'FINISHED'}

Drawing

Hardest part is getting both lists to draw properly. Since the actual names (from the first list) don't necessarily have to be unique, we obviously can not rely on any name value. One approach is introducing a custom index property to get track of the changes and keep it in sync (required for template_list anyway).

class CUSTOM_NameProps(PropertyGroup):
    active_obj_index: IntProperty()
    object_collection: CollectionProperty(
        name = "Object Collection",
        type = CUSTOM_ObjectProps)

user = custom.user_collection[custom.active_user_index]

...

layout.row().template_list(
    listtype_name = "CUSTOM_UL_Sub",
    list_id = "",
    dataptr = user,
    propname = "object_collection",
    active_dataptr = user,
    active_propname = "active_obj_index",
    rows = min_rows
    )

Notice, when using the wrong index value pointing to any non existing item will raise exceptions.


Armature not moving mesh properly? I'm sure this is an easy fix, but when I move the hand bones on my character, the bones move more than the mesh is moved. This happened to the feet as well but I move the bones to a different position and it fixed itself. I tried the same thing with the hands, but nothing seems to change.

Anyone got any ideas?

EDIT: I have already done weight painting, and the hand is completely red. Sorry for not mentioning this the begin with.

Despite the fact that the hand is completely red, it is still most likely a weight painting issue.

A vertex on a mesh can be assigned to multiple different vertex groups which means it can be affected by multiple different bones. Since the hand mesh looks to be moving about half as much as it should, I think you have the vertices assigned to a second group as well.

You can manually select the bones in weight paint mode to see which one is causing the issue, but there is a quick way to solve this without even knowing which bone is the culprit.

In the vertex groups panel of the Object Data tab of the properties panel there is a small, dark arrow pointing down located on the right side (under the Plus and Minus icons). With your hand vertices selected, click on it to open a menu, and choose the Remove from All Groups option.

This will remove any and all vertex groups from these vertices. Then select the hand vertex group  and assign a weight of 1 to your hand vertices and you should be good to go.


How do the new light probes in Eevee work? I've been experimenting with Blender's new Eevee engine over the past couple of days and, so far, have failed to get the realistic results I'm aiming for. I've seen some online tutorials and articles about the assets under the new "Light Probes" category in the add menu, but I'm still not quite understanding what they do and how I'm supposed to work them. There are minimal tutorials out there and not a single one of them (at least the ones I've seen) take a second to explain how to use them nor how they work.

There's three options under the category: Reflection Cubemap, Reflection Plane, and Irradiance Volume.

All I'm asking for is a breakdown on what each of these items do, how to use them, and in what situations they're appropriate to apply them to. Thanks!

There are three types of Light Probes

Reflection Cube Map
Reflection Plane
Irradiance Volume

Reflection Probes
The two first are, as the name suggests, to calculate reflection maps for reflective surfaces. They may seem useless at first because you can enable Screen Space Reflections in EEVEE render panel, however screen space reflections have limitations. They are very fast to generate, but can only really capture objects that are inside the view frustum, that is currently visible from the active point of view and directly displayed in the viewport, and the sampling quality is not always enough.
These probes provide calculations for more complex and accurate types of reflection through use of a helper object (the probe).
Reflection Plane
As the name suggests Reflection Plane are the most simple ones, suitable for mostly flat surfaces like mirrors, glass panes, floor reflections, or rainy pavements. On more irregular surfaces they will likely generate weird results.
It has a clipping distance that will limit the reach of which objects are visible in its reflections. They are relatively cheap in terms of computation and work in real time, not requiring any baking.
Objects with reflective materials that reside withing its range (the bounding box around it) will be influenced by what this plane "sees", benefiting from the probe reflection map.

Reflection Cube Map
Similar to the Reflection Plane this will generate a more complex reflection map suited for curving shapes. Unlike the plane though this is not a real time process and requires baking, specifically the Bake Cubemap Only option from the Render Panel in the Properties Editor.
It also has clipping distances which affect the range of what is reflected and what gets clipped away. Moving a reflective object away from its influence radius also excludes it from it's "effect".

Irradiance Volume
Irradiance Volume is a different kind of probe, it calculates indirect lighting and shadows rather than reflections. Real time rasterization engines like EEVEE although very advanced can't really calculate indirect lighting by themselves, thus needs help generating and displaying this type of lighting interactions.
Irradiance Volume preform both these tasks by pre-calculating and storing the indirect lighting information in a grid-like array of points, the resolution of which can be adjusted from its Resolution XYZ in Object Data Properties.
Once again Clipping affects which objects are included for calculation, and everything inside its bounding box gets automatically influenced by the light calculations.

Likewise, since this is potentially heavy calculation that requires baking from the render panel to actually exert its influence. The higher the XYZ resolution the denser the grid, causing heavier the calculation resulting in a longer process, that conversely provides higher quality effects.

Common workflow:

Add probe object
Adjust position
Scale it so it encompasses all desired parts of the scene
Adjust clipping distances and grid density as desired
Bake (from render panel for Cube Maps and Irrandiance Volumes)

These calculations are stored within the Blend file and should be available next time you load it without further delays, so you aren't required to bake again.
Results
Here are the results of the various bake steps
No Bake

Cube Maps only (no indirect lighting, notice the reflections)

Bake indirect lighting (notice the color bleeding, softer lighting, and proximity shadows)

You may use several probes per scene to get denser details where required, but each one consumes additional memory and resources, incurring in performance penalties both on the viewport and during rendering, so use them wisely.


PNG Image Texture Is Not Transparent Using Bump and Noise I've set up Nodes with Noise and Bump on my main cube shape, and within the same cube shape (new material) I added the same nodes but this time with I added an Image texture so the material can look the same.
I saw a tutorial with a MIX shader and diffuse BSDF, but I'm confused how to set it up, or if it's the right shader to use.

Your bump map is set up correctly. If you want to use a subsurface color, you need to give the subsurface a vale that is higher than 0 (although low values generally work best). If your .png image has built in alpha channel, you can do it all in one material. You can connect it like this:


Difference Between Armature and Bone Layers? So I'm programming a little customized add-on and want to implement a button to change the layer of bones in armature and pose mode.

But there are two different layer types, to armature and bone layer. I didn't find something, so could someone explain me the difference?

So...You could be referring to a few things, but I'm just going to run through all of them real quick.

Armature Scene Layer: The layer in which the armature is in the scene.  This matters for rendering and viewport filtering.

Armature Layers: The Bone Layers in an Armature.  Activating a Layer makes it visible in the editor.

Armature Protected Layers: Runs parallel to the Armature layers, activating this layer makes the corresponding Armature Layer write-protected.  Users will be unable to edit bones that are in this layer.

Bone layers: Armature Layers from the perspective of bones.  Determines which armature layer(s) a bone resides in.