Is it possible to effect the spawning direction of a particle with a normal map? I've been unsuccessful so far in finding information on, or working out how to control the angle that a particle is emitted from using a normal map.

What I'm trying to do is create a texture or UV map and bake a normal map and use that texture to effect the normal that is used by the particle system to create the vectors of the particles.

Ideally I would like to be able to:

Emit a wave or hemisphere pattern from a plane.

Paint on a direction for particular patches of grass or hair.

Paint a set normal in order to simulate fabrics or faux fur that is manufactured with a direction. (eg, default blue is upright. various changes in colour tilt the hair direction)

Have I missed something simple or is this currently not possible?

I don't know a way to incorporate normal maps, you could achieve the effect you described by Subdividing W the plane several times. And deform it e.g. using Proportional Editing.

This way you would also be able to animate the geometry with Shape Keys


Add a ''glossy'' material for Blender render? I'm making a 3D realistic eye on Blender, I started by an already pre-made file, and it came with a transparent material/layer that works like glossynes, still it doesn't apply to the texture on the background (the pupil).
How can I make this model look better by making it reflect or 'shine'?

This is my actual project:

Everything is fine, but I want it to look like this:

For the Blender internal renderer you need to enable mirror and adjust the reflectivity, to see an actual reflection like in the image you posted you need other objects like the windows in the environment. Thats the reason why I added a color grid.

A textured face mirroring (mirror and ray-mirror in the textures Influence/Shading are not ticked)


How to select a mesh peaks and troughs I have this mesh:

With a python script, I'd like to select the peak and / or the hole. I put them together because it looks like the solution is the same...
More exactly I'm looking for a way to tell those features apart from the rest of the mesh...
Blue selected edges show the (hypothetical) boundaries. Feels like it's something related to curvature, but not sure...

EDIT: result by selecting edges at angles (50°):

faces selection (vector (0,0,1)):

(I don't understand this)
EDIT: now I got it. It requires a more precisely oriented vector to tell faces by angles. Gotta look for this better.

Face normals, Edge angles, and link edges count.

In your screenshot the peaks and troughs are extrusions which have a vertex edge count of 5, which is a simple test.

Can also look at the signed edge angle to find peaks and troughs. I've used 50 degrees.

And also look at face normals vs an up vector. (A simple z axis to test)

Test script run in edit mode.

import bpy
import bmesh
from math import radians
from mathutils import Vector

ob = bpy.context.object
me = ob.data
bm = bmesh.from_edit_mesh(me)

up = Vector((0, 0, 1))

#  because its an extrusion select on link edges
for v in bm.verts:
    v.select = len(v.link_edges) == 5

test_angle = radians(50)
# select edges on face angle
for e in bm.edges:
    if e.is_boundary:
        continue
    # hills
    e.select = ( e.calc_face_angle_signed() > test_angle
    # troughs
    or e.calc_face_angle_signed() < test_angle

for f in bm.faces:
    f.select =  f.normal.angle(up) > test_angle

Some combination of any or all of the tests above should cover most cases.


Is there a way to "push" other clips in the VSE? I have a number of clips in the video editor, and I want to rearrange them.

Is there a way to grab and move a clip, so it'll push the other clips behind to make space for it?

E.g.: I want to rearrange clips ABC to ACB without the need to move B out of the way first, and to put it back in the end.

Change this:

To this:

EDIT: The "ABC to ACB" change is just an example. I have over 60 clips I need to completely rearrange.

For your particular case you can press Alt←.

Alt← and Alt→ swap the selected strip with the nearest strip in the direction of the pressed arrowkey.


Mesh Dilation or Expansion for 3D printing Project I'm totally new to Blender and this forum & I'm looking for a tool to help me with my 3D printing project.
I am working with a mesh for an object that you can imagine to be be a coil or a spring: it is a twisted filament with a good bit of geometry in it (it is not a sculpture, for example).
The filament itself is rather thin, which makes it difficult to 3D print so ideally I could expand the mesh to make the filament thicker. I tried exploring this using MeshMixer with not so great results, particularly because I cannot perform mesh dilation in a single operation to the whole mesh, and instead have to work my way manually through the mesh which creates artefacts that greatly distort the initial geometry.
Do you think that Blender can be a solution for this problem? Could you please give me some pointers on how to go about to do this?
Many thanks for the help.
Best,
R.

Depending on the mesh a displace modifier with default settings will inflate or deflate the mesh along its normals. Tweak the strength to vary the effect.

Concave mesh will self-intersect if the strength is too high or too low so keep that in mind.


How to copy the vertex position to the inbetween values of the shapekey? (Not Basis) I see no one is talking about this but I'm wondering if there is a way where you can edit the models like say copy from 0.500 to  1 in my current shape key  so I can edit it easier similarly to how maya function works because in blender from what I've known so far (Since I'm still fairly new in this)  keyframes can only be set for timing with already pre-existing deform which is locked to the shapekey values rather than actually editing the vertex.  I do not want to change the basis because I already have set to default.

If you click the drop-down arrow in the Shape Keys panel there is an option for 'New Shape From Mix' - this creates a new shape key from the mix of all your existing shape keys and values.
Simply set your shape key 'values' to set 0.5 for the key you want to get the 'half-way' position of and select 'New Shape From Mix'. This will create a new shape key that produces that distortion when fully set.

You can use the same method to create a new shapekey from a mix of any amount of any number of your existing shape keys.


How can I improve the topology of this model? I'm trying to learn topology by modeling the Logitech G600. I started with the top cover, but even at the 2nd try, I still find my topology a little bit messy. I feel the most difficult aspect lies in the two big holes (covered by red lines) representing the mouse wheel and the two extra buttons. It requires more vertices at the edges to smooth it out, thereby rendering the topology messy. How can I improve the topology of this model?

Thank you.

Blender file: Logitech G600 Model

Adding new verticies correctly with the knife tool will sharpen the edges where required.

Convex corners

See attached (white): X and dissolve the edge but not the vertex (uncheck this option in dissolve edges property box when it appears).

Concave corners

See attached (red): Cut in the yellow and remove the blue to provide supporting eges.

Knife cut the new verts/edge which will remain as quads not ngons

You will see that the corner is sharp and the sub-d has smoothed the object.

For the central hole I would set it up as;

For the part you have circled I would work like this:

Everyone does stuff differently this is just my solution

Here it is under 2 subdivisions


Applying rotation, location and scale to model bones I'm not an expert in 3D but I'm using Blender to change model's poses. I have a JSON object which describes how each bone will rotate, translate and scale:

{
  "name": "Soldier",
  "id": "TestId",
  "animMatrices": [
    {
      "name": "mixamorig:Spine",
      "position": [
        0.0,
        0.288420439,
        -0.027956875
      ],
      "rotation": [
        -0.0205147546,
        0.0105156591,
        0.0171466451,
        0.9995872
      ],
      "scale": [
        1.0,
        1.00000012,
        1.00000024
      ]
    },
    {
      "name": "mixamorig:Spine1",
      "position": [
        0.0,
        0.338067949,
        5.486072E-9
      ],
      "rotation": [
        0.0558569357,
        0.0207238179,
        0.0163610559,
        0.9980896
      ],
      "scale": [
        1.0,
        1.00000012,
        1.00000024
      ]
    }
  ]
}

I tried to generate the 4x4 matrix and assign it to bone.matrix_basis as following:

pos = mathutils.Matrix.Translation((m['position'][0],m['position'][1], m['position'][2]))

rot1 = mathutils.Matrix.Rotation(math.radians(m['rotation'][0]), 4, 'X')
rot2 = mathutils.Matrix.Rotation(math.radians(m['rotation'][1]), 4, 'Y')
rot3 = mathutils.Matrix.Rotation(math.radians(m['rotation'][2]), 4, 'Z')
rot = rot1 * rot2 * rot3

scale1 = mathutils.Matrix.Scale(m['scale'][0], 4)
scale2 = mathutils.Matrix.Scale(m['scale'][1], 4)
scale3 = mathutils.Matrix.Scale(m['scale'][2], 4)
scale = scale1 * scale2 * scale3

bon_mat = pos * rot * scale
bone.matrix_basis = bon_mat

The model started to be having a very incorrect values, or I don't really know what happened.

I tried to to use bone.rotation_axis_angle but this did not effect anything, and by the way I always set:

bpy.ops.object.mode_set(mode="POSE")

and I got the JSON object from Unity.

You need the position for only loose bones. Instead of creating matrices assign the data where it belongs.

import bpy
if bpy.context.active_object.mode != 'POSE':
    bpy.ops.object.mode_set('POSE')

pbones = bpy.context.active_object.pose.bones

pbones['Spine'].location = m['position']
pbones['Spine'].scale = m['scale']

# I think your rotations are in quaternions, they are 4D
pbones['Spine'].rotation_quaternion = m['rotation']

# If not and you only use the first 3 values then:
#pbones['Spine'].rotation_mode = 'XYZ'
#pbones['Spine'].rotation_euler = m['rotation'][:3]

You can sure do this also by building the matrices, but check what your rotation data is in. You are building the rot_mat from Euler but I suspect your data being as quaternions.


How can I transform origin when I am in Edit Mode with shortcut? I come from Maya, and my first problem as you probably know is how can I transform origin in edit mode with shortcuts. Is there some good addon even paid or can I keymap this. What I want is this:

Select object in object mode with mouse
Swith to Edit mode with Tab key
Select some verticies with mouse and Shift key
Press (Some key) to switch on/off for transforming origin
Press (Some key) to activate on/off Snapping mode
Press (Some key) to switch Snapping mode, etc: edge / vertex or even closest or middle

Thank you.

here are some thing to get you started.
Shift + Tab for switching Snapping on/off
Shift + Ctrl + Tab for switching between Snapping options/methods
Transforming origin -  So you are asking for transforming origins, probably so that you can move/scale/rotate at that origin. But Blender has a more elaborate method to do so, by using 3d Cursor. Its a just a null pointer made for this purpose. Simply being in edit mode press Shift + S and you will find options to change the 3d Cursor location like this -

Also you can select some loops and snap the 3d Cursor using same method Shit+S. Still only the Cursor position will change, else nothing is going to change. Now press "." near right Shift on keyboard for this menu and you will have to select 3d Cursor , now things will move/scale/rotate from this point/3D cursor/Temporary origin. -

Also please enable Pie menu from the preferences -  ITS A GREAT TIME SAVER !


Blender 2.8 - Transparent background How to make transparent background in blender 2.8 with HDRI on?
After selecting "Film" - "Alpha" -> "Transparent"
I still have my HDRI on the rendered image

Please help

Transparent Background
In general - Render Properties - Film - Transparent works (viewport and render)

To Save render with transparency - Render Properties - Output - File Format - PNG and Color - RGBA has to be set (or any other format that supports alpha channel).

Hide Background
For viewport you can hide background image in Shading properties by changing World Opacity set to zero.

Notes:

Works for Eevee and Cycles
HDRi is file format, but important in terms is that background in blender use equirectangular texture type. It doesnt has to be necessarely HDRi that refers to a high dynamic range image.


Weight transfer producing undesirable results for clothing(2.78c) Following this guide I have used the Data Transfer modifier to transfer weights from a body mesh to an item of clothing.

The transfer was successful but the effectiveness was actually worse than just parenting the clothing with automatic weights.

I've seen weight transfer work better than either of these outcomes on other videos on older versions of blender but I can't figure out what the difference is which is causing my problems.
(If it works correctly it should require no manual weight painting

I suggested projected face interpolated in the comments, but in your case "nearest face interpolated" works better. The reason is 'projected' projects along faces normals and in your case, some faces normals does not point to the base mesh.

Here is your file back:

Note:

Often, data transfer has to be tuned, and so you need to retry often. That's why I find easier and quicker to use 'data transfer operator' instead of the modifier.


Rigid body simulation: how to return vertex location frame by frame using Blender's Python API? I want to return individual vertex location of a rigid body during physics simulation frame by frame, for either a baked or unbaked animation, in global coordinates with pivot point set at (0, 0, 0).

Is there a simple line of code to do this?

Generally you can access the object's pivot point (location) via its world transformation matrix (matrix_world.translation). This value also reflects any constraints, simulations and transformations (location, rotation, scale) on the object.

You can use the world matrix to also find each vertex's global location in each frame, by multiplying it by the individual vertex's coordinate (vertex.co).

Here's a script that prints out the location of a rigid body simulated cube and the location of its first vertex (index=0) in each of the simulation's 40 frames:

import bpy

S    = bpy.context.scene
cube = bpy.data.objects["Cube"]
mw   = cube.matrix_world # World transformation matrix of Cube object

for i in range( 1, S.frame_end + 1 ):
    S.frame_set( i )

    vert0loc = ( mw * cube.data.vertices[0].co )[:]  # Global location of vertex 0
    cubeloc  = mw.translation[:]                     # Global location of cube's pivot point
    print( "Frame (%s) Vert %s Pivot %s" % (i, str(vert0loc), str(cubeloc) ) )

This is how the simulation looks like:

And this is how the output looks like:

Frame (1) Vert (-1.0, -1.0, 11.264372825622559) Pivot (0.0, 0.0, 12.264372825622559)
Frame (2) Vert (-1.0, -1.0, 11.256199836730957) Pivot (0.0, 0.0, 12.256199836730957)
Frame (3) Vert (-1.0, -1.0, 11.223535537719727) Pivot (0.0, 0.0, 12.223535537719727)
Frame (4) Vert (-1.0, -1.0, 11.188177108764648) Pivot (0.0, 0.0, 12.188177108764648)
Frame (5) Vert (-1.0, -1.0, 11.14197063446045) Pivot (0.0, 0.0, 12.14197063446045)
Frame (6) Vert (-1.0, -1.0, 11.052353858947754) Pivot (0.0, 0.0, 12.052353858947754)
Frame (7) Vert (-1.0, -1.0, 10.979090690612793) Pivot (0.0, 0.0, 11.979090690612793)
Frame (8) Vert (-1.0, -1.0, 10.848958015441895) Pivot (0.0, 0.0, 11.848958015441895)
Frame (9) Vert (-1.0, -1.0, 10.74873161315918) Pivot (0.0, 0.0, 11.74873161315918)
Frame (10) Vert (-1.0, -1.0, 10.578221321105957) Pivot (0.0, 0.0, 11.578221321105957)
Frame (11) Vert (-1.0, -1.0, 10.451122283935547) Pivot (0.0, 0.0, 11.451122283935547)
Frame (12) Vert (-1.0, -1.0, 10.240371704101562) Pivot (0.0, 0.0, 11.240371704101562)
Frame (13) Vert (-1.0, -1.0, 10.086490631103516) Pivot (0.0, 0.0, 11.086490631103516)
Frame (14) Vert (-1.0, -1.0, 9.835636138916016) Pivot (0.0, 0.0, 10.835636138916016)
Frame (15) Vert (-1.0, -1.0, 9.655065536499023) Pivot (0.0, 0.0, 10.655065536499023)
Frame (16) Vert (-1.0, -1.0, 9.364243507385254) Pivot (0.0, 0.0, 10.364243507385254)
Frame (17) Vert (-1.0, -1.0, 9.157073020935059) Pivot (0.0, 0.0, 10.157073020935059)
Frame (18) Vert (-1.0, -1.0, 8.82641887664795) Pivot (0.0, 0.0, 9.82641887664795)
Frame (19) Vert (-1.0, -1.0, 8.59273910522461) Pivot (0.0, 0.0, 9.59273910522461)
Frame (20) Vert (-1.0, -1.0, 8.222389221191406) Pivot (0.0, 0.0, 9.222389221191406)
Frame (21) Vert (-1.0, -1.0, 7.962289810180664) Pivot (0.0, 0.0, 8.962289810180664)
Frame (22) Vert (-1.0, -1.0, 7.5523786544799805) Pivot (0.0, 0.0, 8.55237865447998)
Frame (23) Vert (-1.0, -1.0, 7.2659502029418945) Pivot (0.0, 0.0, 8.265950202941895)
Frame (24) Vert (-1.0, -1.0, 6.816610813140869) Pivot (0.0, 0.0, 7.816610813140869)
Frame (25) Vert (-1.0, -1.0, 6.503941535949707) Pivot (0.0, 0.0, 7.503941535949707)
Frame (26) Vert (-1.0, -1.0, 6.015308856964111) Pivot (0.0, 0.0, 7.015308856964111)
Frame (27) Vert (-1.0, -1.0, 5.676488876342773) Pivot (0.0, 0.0, 6.676488876342773)
Frame (28) Vert (-1.0, -1.0, 5.148696422576904) Pivot (0.0, 0.0, 6.148696422576904)
Frame (29) Vert (-1.0, -1.0, 4.783813953399658) Pivot (0.0, 0.0, 5.783813953399658)
Frame (30) Vert (-1.0, -1.0, 4.216994285583496) Pivot (0.0, 0.0, 5.216994285583496)
Frame (31) Vert (-1.0, -1.0, 3.826138496398926) Pivot (0.0, 0.0, 4.826138496398926)
Frame (32) Vert (-1.0, -1.0, 3.2204246520996094) Pivot (0.0, 0.0, 4.220424652099609)
Frame (33) Vert (-1.0, -1.0, 2.803682804107666) Pivot (0.0, 0.0, 3.803682804107666)
Frame (34) Vert (-1.0, -1.0, 2.1592068672180176) Pivot (0.0, 0.0, 3.1592068672180176)
Frame (35) Vert (-1.0, -1.0, 1.716667652130127) Pivot (0.0, 0.0, 2.716667652130127)
Frame (36) Vert (-1.0, -1.0, 1.0335607528686523) Pivot (0.0, 0.0, 2.0335607528686523)
Frame (37) Vert (-1.0, -1.0, 0.5653115510940552) Pivot (0.0, 0.0, 1.5653115510940552)
Frame (38) Vert (-1.0, -1.0, -0.15629464387893677) Pivot (0.0, 0.0, 0.8437053561210632)
Frame (39) Vert (-1.0000004768371582, -1.0000001192092896, -0.08050315827131271) Pivot (-1.651987702189217e-07, -6.964894083694162e-08, 0.919496476650238)
Frame (40) Vert (-1.0000011920928955, -1.0000011920928955, 0.012565473094582558) Pivot (-4.125758152895287e-07, -5.586560973824817e-07, 1.0125640630722046)


Trying to extrude bottom wall layout to build a house? I can't get the entire base of the walls to extrude upwards in order to finish modeling this house. Additionally, the areas that are already extruded are areas that I did not wish to be extruded and I can't figure out how to reverse it.

House Layout:

Blend file:

Alright, first things first. Let's identify your problems, which I did after a couple minutes.

Problems

You can Remove Doubles to remove 4,332 vertices.
Your bottom area has a tiny amount of thickness, which is preventing Extrude from working correctly.
Normals are all over the place.
Some faces are missing.

Solution

Beginning from your uploaded .blend file.

Begin by keying A twice to select everything and key W > Remove Doubles.
Enter Front Orthographic View by keying Numpad 1 and Numpad 5. This will allow us to remove the top and few walls that extruded correctly.
Key Ctrl + Tab, 3 to enter Face Mesh Select Mode and Z to enter Wireframe View. Key A to deselect everything. Face select mode allows us to select the correctly extruded middle faces. Wireframe allows us to select vertices that are obscured by other parts of the mesh, rather than just the faces we can see.
Use Box Select to select these faces:

Key X and select Faces to delete these faces. If you zoom in very close on the bottom, you can see its thickness:

Key Z to exit Wireframe View and return to Solid View. Key Numpad 7 to enter Top View.
Box Select the entire grid. Because you are in Orthographic Solid View, only the top faces will be selected.
Key X and select Vertices to delete all top vertices. This will remove the mesh interference.
However, if you try to extrude now, you may get weird glitches. You must select everything with A and use Ctrl + N to Recalculate Normals.
You may want to Fill in some faces now.

You can now use E to Extrude up on the Z-Axis.
Select everything with A one last time and use Ctrl + N once again to finish touching up Normals.

Finished Product:


How to create two objects that screw into one another I am trying to create two objects that screw into each other, very much like nuts and bolts, for 3d printing purposes. I started with two very simple shapes:

I am applying screw to them separately with the same parameters:

turns=3, center=0,6,0, axis=1,0,0

However, at the end, my shapes don't fit into each other:

What am I doing wrong?

Perhaps a more robust approach is to 'model the gap'.

i.e. keep the inside and outside profiles as one object, (possibly reserving an
 AltD instance of the combined  profile for convenient editing, ) then assign the screw modifier, then separate the surfaces.

(Which you can do by CtrlL select linked, and P > separate selection ). You can flip the normals of the female component, and embed it wherever it is needed, later on.


Scale & Rotate function not working in object mode I've been making a donut and coffee cup via Blender GURU 2.8. However now back in object mode my scale and rotate is suddenly not working. I can move items but scale and rotate seemed to have locked?
Can't seem to fix it.

You probably enabled Transform Only Origins in the pivot point menu.
Just disable it, and everything is going to work as before :).

Click Only Origins to disable the function


Python: Ctrl+Click for buttons (capture invocation event) Is it possible to get if Ctrl key is pressed when I click on my python button?

I would like make different behaviors for my button operator.

Example:
LMB - Select some objects
CtrlLMB - Deselect some objects

I don't use a modal operator / the modal() method. I've been making a simple script.

Yes, it is possible if you use an invoke() method in your operator instead of execute(), because there's a 3rd parameter given to invoke - an event object.

That object has attributes about modifier key states among a few other pieces of input info.

Here's an example script, that adds a button to the 3D View. You can hold e.g. CtrlAlt down and click on it to let the operator report Ctrl+Alt+Click in the info area:

import bpy

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def invoke(self, context, event):
        ev = []
        if event.ctrl:
            ev.append("Ctrl")
        if event.shift:
            ev.append("Shift")
        if event.alt:
            ev.append("Alt")
        if event.oskey:
            ev.append("OS")
        ev.append("Click")

        self.report({'INFO'}, "+".join(ev))
        return {'FINISHED'}

def draw_func(self, context):
    self.layout.operator(SimpleOperator.bl_idname)

def register():
    bpy.utils.register_class(SimpleOperator)
    bpy.types.VIEW3D_HT_header.prepend(draw_func)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)
    bpy.types.VIEW3D_HT_header.remove(draw_func)

if __name__ == "__main__":
    register()

Note that there can also be an execute() method in the operator, but it won't be called unless the execution context is not INVOKE_*, but EXEC_*. The default behavior of the Python Console is, for instance, to execute an operator, not to invoke it.

If there's no execute() and you run bpy.ops.object.simple_operator() in the console, an error will be reported in the System Console and the operator abort with {'PASS_THROUGH'}. You can explicitly invoke it however: bpy.ops.object.simple_operator('INVOKE_DEFAULT')


How to bend a large model? I have a city model (all one mesh) and a separate curved base plane. I would like to have the bottom faces of the each building in the city mesh flat against the plane and keep each building at 90 degrees to follow the curve of the base plane. This is illustrated here in the inception movie poster although this looks more like a sharper curve than I thinking but is a very good visual.

(source: wikimedia.org)

I have tried the shrink wrap modifier but cant seem to get the settings to keep each building 90 degrees to the curve. I cant use the particle method because I want to use a real city model that is one mesh.

How can I do the Inception style city on a curved plane effect in blender?

There are a few ways to bend a city like that.

One would be to create a curve that controls the deformation, and use it on a curve modifier applied to your city mesh.

The walls of the buildings will be perpendicular to the curve (and they might even crash into each other...)

Other very different option would be to use a lattice to control the deformation:

If you have the city and a curved plane.

Create a lattice that is olny one segment in height, line it up with the base of the city and dimension it to the with and depth of the city.

Select the city object, add a lattice deform modifier and choose the lattice you'd just created as the control object.

Select then the lattice, apply a shrinkwrap modifier and use the curved plane as target.

The lattice will deform to hug the plane, and the city will deform following the lattice. Note that in this case the top of the buildings will remain parallel to the curved plane but the walls will remain vertical on the Z axis and will not crash into each other this time. Maybe not quite what you're looking for, but another fun option to be aware of.


Where do i feed to Translucency map and AO map in the shader? First time playing with Blender making a leaf library from megascan textures.
Figured out where all the textures go except the translucency map and ambient occlusion map.
Could someone draw me a line showing where to connect them?
Cheers

You want to go with a node setup something like this - Use MixRGB to multiply the Ambient Occlusion value with your BaseColor, and use a Mix Shader to combine your Translucenct BSDF with your Principled BSDF.  See image below:

Also, notice the areas I highlighted - these should be set to "non-color" color space. Additionally, to get the transparency to function correctly, you will have to change your Blend Modes to something other than "opaque" in your material properties settings.
Lastly, you can disregard the difference in names in my image textures, I just threw some in as examples to show the setup. Also, pardon my ugly node arrangement, I had to fit it all into one screen for a good sized screenshot.
Cheers.


Why does Edit Mode show a different number of vertices than Object Mode? When I look at my object in Object Mode it says 110k vertices. The problem is, when I select my model it says 13k vertices. I have no clue where the extra vertices are, or how to delete them. I'm trying to use UMA (for unity) and I need to have less than 65k vertices in total.

I have no clue as to where to find the missing vertices.

When you are in object mode, Blender counts all the objects in the scene's vertices.

Blender also counts modifiers in object mode. For example, the subdivision surface modifier would make the object mode vertex count higher than the edit mode vertex count.


How do I Attach a Rigid Body to a Bone? I'm trying to make rigid body physics interact with an (Armature-)animated character.

For starters, I created a short piece of chain falling onto an animated box. The chain consists of 5 individual rigid bodies, the animated box also is a rigid body with the 'Animated' property set. When the animated box moves, I expect the chain to react to this.

As you can see, what I get instead is that the chain rests on the original pose of the animated box (as if it was static), even though it has moved out of the way.

The animated box is of type 'Active', set to 'Animated' and 'Dynamic', rigid body deactivation is turned off.
The chain links are the same, except they're not set to 'Animated'.

Because you are using the armature-driven mesh to interact in a rigid body world, you need to toggle the Deforming in the settings for that animated box.


The mesh isn't moving together/ as fast as the bone so I'm trying 2d animation and Iam facing a problem now. Which is that when I'm in pose mode and I move the bones of the hand, the mesh of the hand moves, but when I move the bones to high, the mesh doesn't follow up and has like a gap.

If you use Vertex Group in Armature Modifier, be sure Weight Paint of the object is absolutely red.

Or leave Vertex Group field empty.

Be sure other bones (small one) doesn't have influence to the object. Select Armature + Object, switch to Weight Paint mode and click on other bones to see if object is completely blue.
In your case Delete Armature Modifier called "Armature".


How to really make it only "one object" So after using the Ctrl+J method to make 1 object out of multiple ones I first thought: oh. nice.

In edit mode I sadly realized that the 1 object is still made up from several different parts. It is not like I think its looks ugly or anything. But editing and sculpting is really annoying when its like that. Needing to select the faces one by one etc.

How can I make my object just actually be 1 object without being made up from several parts?

Notes:
- I don't have the object non-combined any more. that means I saved after doing Ctrl+J and I can't undo it.

This generally is not the "correct" or desirable way to model this.

Joining geometry with Ctrl + J will only group and turn it into one object, it will not alter you geometry in any way, nor will it "merge" volumes or faces. That is the job of a Boolean operation.

You can generally undo this step as described by Samir-Rahamtalla with P > Loose parts since the geometry will be exactly the same, and return to your "non merged" objects without loosing too much information, object centers will be lost though.

Boolean operations might work under certain circumstances, if you objects are closed watertight manifold meshes, and they don't have coplanar or coinciding faces.

In your case it will most likely fail since your faces are co-planar, and even if it does work, it will likely produce undesirable, uneven triangulated geometry, which in most cases will cause more problems down the road.

The "correct" way to mode something like this is to do it in edit mode by subdividing and extruding your mesh, so it will produce a "clean" geometry.


Ambient occlusion in Principled BSDF How to connect ambient occlusion texture with principled BSDF?

You don't connect it at all. The lack of an AO input on Cycles' Principled BSDF node is not an oversight. See my answer here about what AO is and is not for: Adding Ambient Occlusion to Material

Ambient occlusion is so-named because it is occlusion for an "ambient" light type. Cycles does not really have an ambient light, at least not one that accepts pre-cache occlusion data. (the world AO effect is technically an ambient lamp, but it is the only one, and as of 2.79 it always samples its own occlusion on the fly, never from a texture). Since there is no ambient light, shaders have no need to define shading for it.

If you want to use AO data for mesh-dependent texturing effects, you should do these while authoring the texture, that way you do not need to load a separate AO map at render time.


Freestyle not drawing all the edges I have a problem with Freestyle rendering: I can't make it draw all the edges. Sometimes it just skips them. I recreated this with a cube and two planes by just adding additional loop cuts:

Does anyone know how to fix this? Here is my blend file: FreeStyleTest.blend

The perfect way to ensure the expected edge to be lined is by using Freestyle marks:

Select all edges you want to draw as edges, CtrlE > Make Freestyle Edge;
Only toggle Edge Mark in Freestyle Line Set panel. As shown below:


Grease Pencil looks bad So i just started trying out the grease pencil and it looks terrible. very low resolution and its jagged. the pencil dose not overlap it cuts through previous strokes, anyone have any tips on how to fix this? I'm using a Wacom tablet if that affects anything. EDIT: It seems to work fine when i'm not drawing on a surface

Try to check and make sure the jitter is a low value and the curve for jitter is linear. Also perhaps try increasing the number of samples.


Speed vector blurring not working Ive got a fluid sim in v2.82.7 and is rendered with Cycles. I am trying to use the 'use speed vectors' in the fluid sim while using the vector blur node but it blurs nothing. I do have the vector pass on; I tried turning odd de-noising in case that was it but to no avail. Its probably something little I'm missing but I cannot find it. The node setup and render are below. I am not sure what other info would be helpful to give.

There are two steps need to be confirmed for the correct result:

Domain -> Mesh -> Use Speed Vector, make sure it's checked
Domain -> Cache -> Format Volumes -> Uni Cache, make sure it's choosen

then you will have a motion blur of fluid.


Why does the behavior of snap seem "weird"? So, to test volume in luxrender, I am setting up a series of diffraction: I want some water in a glass beaker, or something like that.  Problem: the fluid simulator is incredibly slow (granted, my meshes are kinda high resolution) so I decided to simply go Ah!  I'll just snap some items together - for example, I'll just take a cylinder and snap it to the edges of the beaker on a transform!

Well, whenever I try to use snap, it looks like this:

Not, that is not a short beaker; that is my beaker snapped to the plane everything is sitting on right in the middle of the beaker.  I can guess why you might want this behavior, but I can't get the snap tool to do anything useful!

So my question is: how can I get the bottom of the beaker to snap to the plane, the bottom of the cylinder to snap to the bottom of the beaker, and the sides of the cylinder to snap to the sides of the beaker!

Thanks, this has been incredibly aggravating.
(I normally include a link to a blend file, but this is a two minute setup.)

I believe you need to use the 3D Cursor for this.

In few words, you need to position the origin of the object in the right place first, then position the 3D Cursor where you need the object "by it's origin" to snap to.

Select the breaker.
In Edit mode select the bottom faces of the breaker, or a central vertex/edges/faces.
Shift + S > Cursor to Selected, now you have the 3D cursor at the bottom of the breaker in the center.
Go to Object mode.
Ctrl+Shift+Alt+C > Origin to 3D Cursor, now you have the origin of the breaker in the bottom center.
Select the plane, in Object mode, Shift+S > Cursor to Selected, again this will position the 3D cursor in the center of the plane.
Select the breaker, Shift+S > Selection to Cursor, now you moved the object "breaker" with the new origin that you positioned in step "5" to the center of the plane.

Hope this helps.


Spotlight isn't working? I'm following a tutorial (you know the one) and the spotlight isn't working.. Also, I think somethings wrong with my flooring because ever since I added it in it didn't have any light hitting it? It may just be the spotlight full stop though.

You don't have an Output Node for the lamp.

You can insert them manually: Just add an Emission and a Lamp Output nodes.


Using wrl data in Cycles I'm importing .wrl data from matlab that I would like to display. When I'm using the Blender render, I can see the colors as I wanted ( the object already has a material when imported). But when I switch to cycles render (since it produces "nicer" results), my colors disappear.
is there is away to use the cycles render with the imported colors? or how can I make the render look like the cycles render, when sing the blender.

The material provided by your importer may need a small adjustment to display the 'vertex_colors' layer when you switch over to Cycles Render engine.
Ideally you should be able to import the .wrl while already in Cycles Render engine and let the importer set up the material correctly -- but at present this is not the case.
A solution is to add an Attribute Node to the Cycles material Node Tree and write Col into the name field. This won't display properly in texture mode, you must set the viewport shading to Rendered, or currently you will only see black.
steps

Import the .wrl as normal

Create a node material for the object,
2a. With the object selected, open a Node Editor
2b. set the Node Tree view type to Material
2c. Tick the box labelled Use Nodes

Add an attribute node, and write 'Col' (without quotes) into it as in the picture.

Hook up the output of the Attribute node, to the colour input of the Diffuse BSDF  node.


Left hand isnt deforming even though its properly weight painted? I'm creating a really crappy video game character and I'm approaching the part where I need to animate! I'm having issues with my armature on her right hand and I can't seem to figure out why it doesn't work! There is probably a really simple fix, but I'm quite new to this! Sorry once again, but I'd really love help here!

Here is the blend file.

This is what I'm talking about:

It's not properly weight painted:

As you can see thoose are the vertices which doesn't move as expected; in the "N" panel, vertex weight tab, you can read their assignements: HandL and ArmR.

You can use the vertex group tab to remove unwanted weight (armR) and apply some weight on the desired vertex group (maybe armL.003).

In the armature modifier enable theese little two buttons to see the poses also during edit mode.

If you used some automatic weight assignement and automatic flip names, the problem came because all names should END with .L or .R (not armL.003); .l and .r are OK too, but always on the end of the name.


Newbie: how to remove tangled vertices? Been racking my brain and google trying to figure out how to delete the vertices highlighted without putting a hole in it or messing up the mesh. Any ideas? Thanks

I fixed it a bit. Dissolved the tangled vertices and manually selected the lines and filled the grid.


How to list (dump) context content in debug purposes? Let's say I have an operator
class FooOperator(bpy.types.Operator):
    bl_idname = "foo.bar"
    bl_label = "Dummy operator"

    def invoke(self, context, event):
        print(context)

So, then it invokes, I want to see what is available in context, list of functions or values that are available to use, but output only says:
<bpy_struct, Context at 0x562a6cda4dd8>

I tried print(context.keys()) and pprint but nothing really helps.
How can I print content of this bpy_struct object?

Via Context.copy()
Conveniently there is a copy() method that returns context as a dictionary.
>>> print(C)
<bpy_struct, Context at 0x7f771bd250c8>

>>> c = C.copy()
>>> for k, v in c.items():
...     k, v
...
('active_annotation_layer', None)
('active_bone', None)
('active_editable_fcurve', None)
('active_gpencil_frame', None)
('active_gpencil_layer', None)
('active_object', bpy.data.objects['Text'])
('active_operator', <bpy_struct, Operator("TEXT_OT_run_script") at 0x7f771304bd88>)
('active_pose_bone', None)

etcetera, etcetera

('visible_objects', [bpy.data.objects['Lamp'], bpy.data.objects['Camera'], bpy.data.objects['Text']])
('visible_pose_bones', None)
('weight_paint_object', None)
('window', bpy.data.scenes['Scene']...Window)
('window_manager', bpy.data.window_managers['WinMan'])
('workspace', bpy.data.workspaces['Scripting'])


Object follow a square path? Okay so I know about half of how to do this.
So I made a plane, then converted it to a path with Alt-C.
Then I made another plane and made many loop cuts with Ctrl-R and the scroll wheel.
Then I used the curve modifier to make the non-curve plane follow the curve plane.
But it cuts corners:

It could be that you have to set the curve handles to to the Vector Type using the v key to bring up the menu.  You can change the handle type individually or all at once depending on what is selected.

I am just guessing here since you did not upload a .blend file to PasteAll.org with the link pasted here.


How to displace an object with a texture radially? I tried to make something like in this tutorial
but my result is like this :

how can I change the deirection of displacement?
-----edit-----------------------------------------------------------------------
Thank you for answering my question Martynas Žiemys.
I mapped this grayscale image.

But my result is

Grayscale image have positive values between 0 and 1
but I think normal vector needs to have negative values to deform radially.
Is there any way to make an image which has negative values?

Like Gorgious indicated in the comments, the tutorial uses older Blender version where the displacement input in the Material Output node detects what it is, but in current version 2.83.4 the Material Output node's Displacement input only accepts a vector (3 values for x, y and z for displacement) so you need to use the new Displacement or Vector Displacement nodes that you can find in the Add menu -> Vector. They will let you control the displacement faster and more conveniently then it used to be before.

What you see in the tutorial seems to be because the camera is placed above the plane being displaced and a short focal length is set for the camera lens so because of the perspective the displacement seems to go outwards from the center.


Getting an outline with backface culling blender render I've been trying to produce an outline in blender render (Simmilar to this- from the show RWBY)

I am trying to do it using this technique: Duplicating an object, scaling it up slightly, giving it a black texture, enabling backface culling. However, this never apears in the render as it's aperently just used for the 3d view (as far as I know). I need help getting blender to render backface culling within the "Blender Render" engine, not cycles. I was wondering if anyone had tips, or perhaps a script that could help me solve this problem. Thank you

The way they achieve the outline in the show rwby is unique in that it is not rendered at all.
They use what are called "playblasts" which is a feature in maya where the animation is recorded in real time and not rendered. This is why yours is not coming out right the outline will only appear in the texture view of blender. I like to animate in this style because you can have good looking low poly character but anyway how you achieve this is:

copy object in object mode
scale the object up slightly and while in edit mode press w and select flip normals(this will cause only the inside faces to show)
give the main object a skin color and make sure the shadeless option is selected
give the outline mesh a black shadeless color and adjust in edit mode where needed

It will not come out in rendered view and will only show in texture view (still pretty cool though)


Get bones associated with specific action in python Let's say I have a mesh with an armature and I've given it an animation action. I know I can get the action with bpy.data.actions and the bones with bpy.context.selected_pose_bones. But how would I get only the bones that have keyframes set for that specific action? For example, let's say I make a kick action and only bones for the right leg have keyframes, no other bones have any for that action. How would I get the bones for the right leg given the kick action?

Following is one way of getting the bones in a given action.

armature = bpy.context.scene.objects['Armature']
action = bpy.data.actions['ArmatureAction.002']

pose_bones = set()

for fcurve in action.fcurves:
    pose_bone_path = fcurve.data_path.rpartition('.')[0]
    pose_bone = armature.path_resolve(pose_bone_path)
    pose_bones.add(pose_bone)

>>> pose_bones
{
    bpy.data.objects['Armature'].pose.bones["R_lower_jnt"],
    bpy.data.objects['Armature'].pose.bones["R_hip_jnt"],
    bpy.data.objects['Armature'].pose.bones["R_thigh_jnt"]
}

Getting to the actual bone (that belongs to the data of the Armature) is accomplished like below

>>> bone = armature.data.bones[pose_bone.name]
>>> bone
bpy.data.armatures['Armature'].bones["R_hip_jnt"]

References

path_resolve
FCurve


Cannot blur one render layer and then Z-combine it with another layer this is driving me crazy. I want the trails in this scene to glow:

But when plugging the trails into the z combine node the blur is removed. If you have an idea why that is and what I can do to fix it I would be much obliged.

Many Thanks for your answers! Here is what happened:

Not using Alpha results in this:

The blur is there but it is behind the geometry.

I already tried blurring the Z pass before and it turned out like this:

The Map Range nodes are necessary because otherwise the Z blur would just turn out white. There is some blur visible but the rest is messed up.

I think the problem is that the blurred render layer is wrapped by the unblurred render layer. This is what Gandalfs example would look like when putting a cube in front and one behind the blurred one:

Either disable Use Alpha or blur the Z as well:

Update

As pointer out by the OP, the above solution does not work when there is geometry behind the glowing object.

Here are some alternative methods roughly in order of number of steps needed to set up:

1. ID Mask:

This method is probably the quickest as it doesn't even require more than one renderlayer.

Enable the Object Index pass in Properties > Renderlayers > Passes:

Select the object(s) you want to blur and set the Pass Index to a unique number so that no other objects have the same Pass Index.

In the compositor, add an ID Mask node and set the Index to the same number you set the objects:

Also see this related question.

2. Z-Mask:

You'll notice that in method one that the glow appears in front of other objects:

You may want this effect or you may not. If you don't, then you can use the Zmask in Properties > Renderlayers > Layer:

Background objects are on Layer 1
Foreground objects are on layer 2
Glow objects are on layer 3


How to create a nice ceramic shader? How can I make ceramic material like this?

Try these settings. Using PRINCIPLED BSDF seemed to work well for me.
2.79 sorry.


Follow Path constraint moves object away from curve? I added a follow path constraint the camera.

I adjusted the start point of the path and the location of the camera so that they were very near, but once I set follow path constraint to the camera, it jumped to another location unintentionally.

So, although camera is following the path, there is some gap between the path and the camera.

According to a YouTube tutorial, this doesn't happen using the same steps.

Positioning the camera to the starting point of the curve isn't necessary.

The camera's location defines an offset from it's constrained location. So to remove this offset, reset the camera's location to 0,0,0 by selecting the camera and pressing ⎇ AltG.

As an example of how this works, the camera is positioned at the start of the curve (2 BU above the world center):

When the constraint is defined, the camera is now 2 BU above the start of the curve, instead of the world center:

This is because the camera location is now relative to a point along the curve defined by the constraint, in this case the beginning.


How to make a line an exact size without changing the size of the whole object I want to make the selected line an exact number long, however, I don't see any way to do this. I have tried using the measure tool however its imprecise, and hard to work with. I have also tried looking in the transform menu however it only shows the measurements of the whole object

In your pictured example I would select the end vertex, grab it and use vertex snapping to put it on top of the next vertex to the right.

Without changing my selection I would now grab it again, lock movement to the Y axis and type in how long I want it to be (you may need to use a negative value if you are moving towards -Y).


I can not find Rotation Numbers in EDIT mode I can not find Rotation Numbers in EDIT mode.
I can see them in Object mode, but I do not want to rotate the entire Object, only certain Edges / faces.
Can you tell me where they are, or are they not in program at all ?

If not It would be extremely helpful to have rotation numbers ( editable, like all other location numbers are ), In EDIT mode.

If you mean the equivalent of the

for edit mode, there's little chance you have one, since it is simply difficult to define.

However, each faces has a Normal, which is a vector that points to the direction the face is facing. To obtain this value, take a look at the link below.

Display values of a normal of a selected face


Sync zoom level in quad view How can I sync the zoom level in all 3 perspectives in a quad view?

Currently, when I zoom in one of them (top ortho for instance) the other two are not zooming with it, resulting in an inconsistent setup. I'm used to all perspectives being in sync from other tools.

In the view preferences (N), under Display, checking "Box" should do the trick:


Is there a way to deinterlace footage using Blender? I have a camera that has always seemed to give me bad video because of interlacing, and until I watched this video, I always thought that it was just a limitation of the camera.

From that video, I learned that video can be deinterlaced, is it possible to this using Blender?

In the video sequence editor you have an option in the properties panel --> filter tab, you can check de-interlace.


Importing multiple files in blender import plugin I'm writing an import plugin for blender 2.8x and I'd like to make use of the multiple file selection feature. Unfortunately, I can't find any provision for this in 'ImportHelper' (the class I derive from) and web searches haven't yielded anything that seems to work and I can't seem to find anything in the documentation either.

0
It turns out there are several things you need to do to make this work, it's not yet covered in the documentation.
First of all, it helps to know what the base class 'ImportHelper' does when using it in an import script. On initialisation, the script calls 'context.window_manager.fileselect_add(self)' which adds several objects to your class. This string in the source code gave it away:

"The string properties 'filepath', 'filename', 'directory' and a
'files' " "collection are assigned when present in the operator"

The 'files' object is what we need but that's only present in if you also have the correct property present in your class, for example:
files: CollectionProperty(
            type=bpy.types.OperatorFileListElement,
            options={'HIDDEN', 'SKIP_SAVE'},
        )

then, if that is present, you can access this in your class's 'execute' method to iterate through all the files in your selection:
for meshfile in self.files:
            filepath = meshfile.name
            print(filepath)

Also, remember to include the correct properties, I include these in my importer:
from bpy.props import (
    BoolProperty,
    CollectionProperty,
    StringProperty,
)


Make several (same level) objects children of new empty? Is there a shortcut to make several selected objects children of a new empty object?

That would be so handy, instead of always doing a new empty and moving it somewhere and then parenting all objects to it.

Here is a script that create an empty and make it a parent for all selected objects, select the objects and run the script

import bpy

selected_obj = bpy.context.selected_objects.copy()
bpy.ops.object.empty_add()
for obj in selected_obj :
    obj.parent = bpy.context.object

the script at the end is in an addon for reuse , install it and you can trigger it with pressing P, you can change this in the user preferences :

select the objects
press P
select the Empty type ( axis, arrow, cube ...)
select the empty position ( world center, median point, at cursor, active object )
check parent inverse if you want to set the inverse
you can set the name of the empty in name field

bl_info = {
"name": "Add a parent",
"author": "Chebhou",
"version": (1, 0),
"blender": (2, 65, 0),
"description": "Adds a parent for the selected objects",
"category": "Object"}

import bpy
import sys
from bpy.props import BoolProperty, EnumProperty, StringProperty

def add_parent(self, context):
    selected_obj = bpy.context.selected_objects.copy()
    if self.position != 'None' :
        exec("bpy.ops.view3d.snap_cursor_to_%s()"%self.position)
    bpy.ops.object.empty_add(type = self.type)
    bpy.context.object.name = self.name
    inv_mat = bpy.context.object.matrix_world.inverted()
    for obj in selected_obj :
        obj.parent = bpy.context.object
        if self.inverse :
            obj.matrix_parent_inverse = inv_mat

class AddParent(bpy.types.Operator):
    """Create a new parent"""
    bl_idname = "object.add_parent"
    bl_label = "Add a parent"
    bl_options = {'REGISTER', 'UNDO'}

    type  = EnumProperty(
        name="empty type",
        description="choose the empty type",
        items=(('PLAIN_AXES', "Axis", "Axis"),
                ('ARROWS', "Arrows", "Arrows"),
                ('SINGLE_ARROW', "Single arrow", "Single arrow"),
                ('CIRCLE', "Circle", "Circle"),
                ('CUBE', "Cube", "Cube"),
               ('SPHERE', "Sphere", "Sphere"),
               ('CONE', "Cone", "Cone")),
        default='PLAIN_AXES'
        )

    inverse = BoolProperty(
                name = "parent inverse",
                default = 0,
                description = "check to set the inverse"
                )

    position  = EnumProperty(
                name="parent position",
                description="where to create the parent",
                items=(('center', "World center", "World center"),
                       ('None', "Cursor position", "Cursor position"),
                       ('selected', "Median point", "Median position"),
                       ('active', "Active object position", "Active position"),),
                default='center'
                )

    name      = StringProperty(
                name ="name",
                default ="Parent")

    def execute(self, context):
        add_parent(self, context)
        return {'FINISHED'}

addon_keymaps = []

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

    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
        kmi = km.keymap_items.new(AddParent.bl_idname, 'P', 'PRESS')# you can chnge the shortcut later
        addon_keymaps.append((km, kmi))

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

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

if __name__ == "__main__":
    register()

link to Addon file


Object renders fine in cycles but disappears in eevee render I have been trying to fix this problem . I tried everything . The road has an image texture and I have done some UV un-rapping. It looks fine in cycles render but the road disappears in Eeve render.

This was happened to me a while ago and don't know the exact solution but this works for me:

Go to [Output settings-> Post Processing] and uncheck compositing
Go to [output settings-> Output] and change the color from 'RGBA' to 'RGB'

let me know If this works or not.


Denoising Animations on November 2018 Brecht und Lukas Stockner introduced a way to Denoise an animation after it is rendered. They are using more than one frame to produce a flicker free image.

https://developer.blender.org/D3889

Does anyone know how this works or could provide an Manual?

I think you are talking about the Denoise node in the Compositor.

https://cgcookie.com/tutorial/denoising-renders-in-blender-2-81

https://developer.blender.org/D4304


How to stop fluid inflow? I have fluid simulation with an inflow object. I want the inflow to go for 2 seconds, then have the inflow stop (so no more fluid is added) but keep the simulation going  (so the existing fluid sloshes around).

However, I do not see any way to set start and ending values on my inflow object.

How do I stop inflow at a certain frame/time in my simulation?

Animate the Fluid's Enabled property:

By right-clicking on it and Inserting Keyframes:


Is there a way to isolate an area of a mesh when Weight Painting? Is there a way of isolating a particular area of a model whilst Weight Painting? When in Weight Paint mode, and you can see your entire model in blue (0) is there any way of being able to focus on the part your working on without everything else obscuring your vision and potentially getting painted as well?

Hiding parts of the model in Edit Mode has no effect in Weight Paint mode - they just reappear. I know you can paint areas within Edit Mode, but I'd like to do it in Weight Paint mode with my tablet.

If there is a way, how do you go about doing it?

It's quite frustrating when you've spent ages painting an area to get just right, you accidentally get paint on another part of the model, and then you spend ages trying to find out where and why a part of the armature is causing a strange mess up.

Hope this is informative enough.

Thanks

Using the button I have highlighted in the screenshot will basically translate what you see and have selected in edit mode, to weight paint mode.

So if I hid the top rim of the cup in edit mode, with that button enabled it's hidden in weight point mode.

You will need to have whatever faces you DO want to paint on selected however.


Cropping two perpendicular curves at their intersections Hi,

I'd like to have about an efficient way of cropping the selected curve at every point where it intersects with the unselected curve (see picture).

You can achieve this result by using the Boolean modifier.

Select your large curved mesh, and add a Boolean modifier set to Difference.

This will make the curved wall follow the contours of the arch in the direction of the Normals. You may need to re-calculate them (Ctrl+N) to get the desired result.

Now if you apply the modifier, you can remove the arch mesh and you should end up with a completed single mesh with the desired arch shape in it.


Why is snap bone to cursor not working in pose mode? Question is pretty self explained. It's snapping to wierd places when there is a clamp to constraint...

The bones original pos:

where it is now:

[Clamp To] Constraint  wins over manual placement such as [Snap To].

An active [clamp to] constraint of influence 1, with a disconnected bone, will dominate any manual position for final placment.  This is useful, designed, and meets the expectation of the Blender user who is informed.  Snap to is manual placement.  Standard specification and behavior.
Verify your bone is NOT connected to parent in bone edit mode.  Then the bone should follow the curve.

You may change your curve to be pass through any location including the cursor location.  Suit to your needs.
Be aware the constraints can be turned off and on with the eye option, and their influence can be set from 0 to 1 on the constraint panel.  Both of these options can use animation keyframes. So if you reduce the influence to zero with keyframes the bone will be off the curve for those keyframes.  Thus you can have a bone follow the curve or be off the curve as suits your animation.

If a constraint is used to control placement it dominates over manual placement.  That is the designed behavior.


Artefacts when exporting model with holes to keyshot First picture is object when imported to keyshot. It should have hole in the middle.

Attached UVs with blender model on second picture. What might be the problem?

Solution to this problem:

Select all inner edges and bevel them. Dont forget that you should bevel all of which I highlighted with pink,red and blue to avoid dissapointments in texture and strange reflections when importing to keyshot

Bevel all outer edges, including sides, top and bottom edges highlighted with PINK, dont worry about ORANGE ones, we dont need them.

This step is important because Keyshot doesn't like Ngons and Quads, so always do this step.

UV unwrap with smart UV project

Shade smooth an object and turn on autosmooth

And then you should end up with quality model without any strange artefacts or reflections ready for adding texture in Keyshot.

Hope this helps someone in the future!


Understand how to make EXTREMELY large objects if i should? So intend to make a space colony ship for a VR game I'm messing around with and I'm wondering if i should even be doing it this way.

The ships length measurement is going to be 18000 meters obvious this is massive I'm not too experienced in Blender but i found how to increase the size of the grid.

Unfortunately no matter what I try 18000 goes far beyond it and when i try to zoom out the screen goes weird.

What is the correct way of doing this or is Blender not the right place to do something this large.

I have seen videos on youtube comparing sizes of ships but i cant figure out how you can see everything in that

After comments and talking to people I realized that i shouldnt actually make something that large. when im making a scene just make it look larger than it is and when its in game make it so they dont realize isnt completely made


Why do the objects in this rigid body simulation rotate too slowly? I was attempting to simulate a bowling ball impacting a set of pins, however the pins just slide away instead of going flying like they should:

As you can see, the origins are in the correct place.

What is causing this?

Blendfile

Your pins are scaled to 0.144. Seems like the simulation doesn't like that. Apply the scale with CtrlA and you should be fine.


If I get the latest version of blender, will I lose anything in my old project files? If I  uninstall the old version I have, then download the new version, will my I still be able to open my old project files, or will I lose anything in them like models, rigs, textures etc. I have a ton of blend files and really don't want to lose them! I hope you can help!!!

Blender is for the most part backwards compatible, that means files created with previous versions will generally open problem free in future versions.

Apart from major version jumps (like from 2.4# series to 2.5 or like the future 2.7# series to 2.8) Blender should open files created in older versions without any problems. Some times changes are made and "version patching" will happen internally automatically, that means blender will automatically try to fix anything that changed so it will look as close to original as possible. That being said there may be an occasional thing that breaks or causes a minor glitch, but never to the point of totally breaking or being unable to open your work.

Hell for the most part Blender even prides itself in being able open files created with recent versions of the software in very old versions, albeit with lots of warning and broken things.


remapping left click in 3D view I'm using Blender 2.73 with a 3 button mouse on Windows.

In the User Preferences I've changed the mapping for Set 3D Cursor from Action Mouse to Alt Action Mouse.  (Like many Blender newbies I keep accidentally left clicking.)

I can't find anywhere what the mappings are for various key and mouse combinations so I'm wondering if I'll regret this remapping in the future?

you can search for key combinations in Preferences->input  to see what it is used for


How do I create this crease effect on glass? I am trying to create a vase that looks similar to this:

If there is another post out there I will happily remove this one or redirect it there.

Specifically, I am trying to create the creased effect in the geometry that looks like it is twisting around the vase.

I have tried using Checker Deselect and extrude->scaling the verts but that really screws up my mesh.

Link to my model if it helps:

I'm sure there are other solutions but i came to an very fast result with the help of the Screw Modifier.

click for flowerpower (Margarita by INFAMEDAVID)

The advantage of this modifier is that you can build your mesh with the desired angle of the Edge Loops which makes it a lot easier to model the creases.

Model

add a circle Shift+A
add the Screw Modifier

I used following settings:

You can use Z for wireframe to see the result

apply the Screw Modifier
add a Solidify and a Subdivision Surface Modifier
bring the object into the shape

Like you mentioned in your Question I also used a combination of Checker Deselect, selecting Edge Rings and Edge Loops to get the desired Selection and scaling it on the X and Y Axis.

S then Shift+Z

Node-Setup

I used this Glass Shader Setup from here

If you like to edit your existing model:

You can use Propotional Editing O

to rotate R your mesh around the Z-Axis
to scale S on X and Y axis to create the creases

You control the size of Propotional Editing with the Mousewheel

For more Information how to get every Nth Selection you can have a look here:

How can I select every Nth edge in only one direction on a plane?
Select every other face loop


Is there a way to save the textures used inside a .blend file to a PC? I want to save the textures or images used in a certain .blend file to my PC so that I can use them for my other projects.
Is it possible to do so?

To import all the materials used in an old blend file, use the Append function. If the images that are used in the appended materials are not packed into the blend file but are saved in a folder, make sure that you don't remove this folder, otherwise your new file won't be able to find them automatically. If the images were packed in the old file they will automatically be in the new one.

You can export all the images packed into a folder with File > External Data > Unpack All Into Files, if you want to keep the images packed into the file, don't save the file when closing.


Animation problem on rigged object after export I am making custom models for mod in a game and am having a problem I can't figure out.
I rigged and made an animation it works good in blender, but after I export it and test in game the armature doesn't move the mesh.
Here's the blend file I saved. And don't mind the bad weighting, wanted to test it out first before finishing it.

Its for crusader kings 2. You are able to view models and animations using jorodox tool in google chrome. It only reads .dae files.

Nvm, I figured it out. The model would only show the animation after i converted it to a .mesh format. But now I have another problem, my animations are only half a second no what i do.


Particles are not being killed by collision object when interacting with sides of object See this video for example: VIDEO EXAMPLE

When particles fall directly down, the collision object will kill all particles as intended. But, when I direct the emitter to give the particles an x or y velocity, the particles pass through the sides of the collision object as if it isn't there. None of the particles get killed by the collision object when they should be. I've tried this with multiple objects as the collision/killer object: cubes, spheres, tubes (made from cylinder and solidify modifier), darn near everything.

What's worse, is that it only seems to be with one particular .blend file (which so happens to be my work project file). Creating a new .blend file and setting this up doesn't seem to produce this error.

Can any offer a fix or solution to this? Is there a configuration setting that would make the particles pass through the emitter sides?

In my case, to solve I just put the emitter and the collider in the same layer, and close and open the Blender to make the bake of the particles again.


How to add user input fields to the UI, to be used by a Python script I have a small script to re-size an object while keeping its proportions. There's no problem while using it in the text editor - just write either x or y or z in the field scale, then enter the new dimension in the field new_dim, and that's all, the object is re-sized keeping its proportions.

The idea is to insert it into the UI context and create a panel proposing to change the values of x, y and z.

This panel would be the same as the existing dimension panel, but this one would use the script to keep the proportions of the object based on the value entered in x, y or z.

To create the UI menu is not a problem but I can not generate the 3 fields - X, Y and Z - with the opportunity to enter a value.

How can I do it?

Here is the script in question:

i = 2
ob = bpy.context.active_object
d = ob.dimensions

x = d[0]
y = d[1]
z = d[2]

scale = "x" #value chosen by the user: either x, y or z.
new_dim = 3 #value set by the user number.value set by the user.

if( scale == "x"):
    indice = 0
elif( scale == "y"):
    indice = 1
else:
    indice = 2

old_dim = d[indice]
factor = new_dim / old_dim

scale_x = ob.scale[0]
scale_y = ob.scale[1]
scale_z = ob.scale[2]

ob.scale[0] = scale_x * factor
ob.scale[1] = scale_y * factor
ob.scale[2] = scale_z * factor

You would need to create an operator to supply your script with parameter values.
This following script derived from the operator_mesh_add.py template (accessible from the template menu in the text editor):
Your code was simply copied into the scale function.

It creates an enum property to select the axis and a scale factor which can be entered from the UI in the last operator panel:

Look through the other templates for examples on how to add your operator to a menu, the object properties or whatever you like.

import bpy
from bpy.props import FloatProperty, EnumProperty

class ScaleAxis(bpy.types.Operator):
    """Scale axis """
    bl_idname = "mesh.primitive_scale"
    bl_label = "Scale axis"
    bl_options = {'REGISTER', 'UNDO'}

    axis  = EnumProperty(
            name="Axis",
            description="Axis selection",
            items= [('x', "X", ""),('y', "Y", ""),('z', "Z","")],
            default='x'
            )

    newdim = FloatProperty(
            name="Width",
            description="Scale",
            min=0.01, max=100.0,
            default=1.0,
            )
    # your code
    def scale(self, axis, new_dim):
        ob = bpy.context.active_object
        d = ob.dimensions

        x = d[0]
        y = d[1]
        z = d[2]

        scale =  axis

        if( scale == "x"):
            indice = 0
        elif( scale == "y"):
            indice = 1
        else:
            indice = 2

        old_dim = d[indice]
        factor = new_dim / old_dim

        scale_x = ob.scale[0]
        scale_y = ob.scale[1]
        scale_z = ob.scale[2]

        ob.scale[0] = scale_x * factor
        ob.scale[1] = scale_y * factor
        ob.scale[2] = scale_z * factor

    def execute(self, context):
        self.scale(self.axis,self.newdim)
        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(ScaleAxis.bl_idname, icon='MESH_CUBE')

def register():
    bpy.utils.register_class(ScaleAxis)
    bpy.types.INFO_MT_mesh_add.append(menu_func)

def unregister():
    bpy.utils.unregister_class(ScaleAxis)
    bpy.types.INFO_MT_mesh_add.remove(menu_func)

if __name__ == "__main__":
    register()

A nice tutorial


Baking all paint slots into one material I have a model with one material and that material has many paint slots. While using the Blender Render, is there a way to "bake" all the paint slots into one image?

One Material

With many paint slots

Yes, just

1) Click image and create new image with the same size as your paint slots

2) Select the paint slots that you want to bake.

3) Then go to the Properties panel > Render tab.

3a) Go all the way down to the Bake dropdown and select the Bake Mode that you want. e.g. Textures

4) Go to edit mode and select your object

5) If the image you just created is not there anymore bring it back

6) Click Bake.

Don't forget to save your image


Blender Addon save Hotkey Preferences I have for my Blender 2.8 addon 2 keyboard shortcuts that I add to the AddonPreferences:

In the init file I use this code to draw them:

class FC_AddonPreferences(AddonPreferences):
    bl_idname = __name__

    def draw(self, context):
        layout = self.layout

        col = layout.column()
        kc = bpy.context.window_manager.keyconfigs.addon
        for km, kmi in addon_keymaps:
            km = km.active()
            kmi.show_expanded = False
            col.context_pointer_set("keymap", km)
            rna_keymap_ui.draw_kmi([], kc, km, kmi, col, 0)

And here is how I add them

addon_keymaps = []

def register():
   # add keymap entry
   kcfg = bpy.context.window_manager.keyconfigs.addon
   if kcfg:
       km = kcfg.keymaps.new(name='3D View', space_type='VIEW_3D')

       kmi = km.keymap_items.new("object.fc_immediate_mode_op", 'P', 'PRESS', shift=True, ctrl=True)

       kmi_mnu = km.keymap_items.new("wm.call_menu", "Q", "PRESS", shift=True)
       kmi_mnu.properties.name = FC_Main_Menu.bl_idname
       kmi_mnu.active = True

       addon_keymaps.append((km, kmi))
       addon_keymaps.append((km, kmi_mnu))

This works, but when I save the settings and reopen Blender the changes that the user made are gone and reset to default.

What am I missing? Thx!

I have a similar issue since Blender 2.8 for which I opened an issue: https://developer.blender.org/T59113


Cycles -- Scene rendering as completely white? My scene is rendering as entirely blank white. Oddly enough, in rendered viewport shading, it looks perfectly fine.

I am unsure as to what caused this.

Looking at your Outliner, it seems that at least some of your objects are restricted from being rendered.


How can I make a plane always look at camera? How can I make a plane always look at camera? Like in old videogames, like Doom or Wolfenstein, this kind of software used static images that always looked at the camera, is this possible to make on Blender Cycles?

I think I know what you're talking about (cause I'm a huge fan of these kind of oldschool 3d-imitating games :)). You may use a Damped Track constraint.

Select the plane, go to Constraints header, select a Damped Track constraint and set the Camera as a Target. Then select an axis you want a plane to lie on.

If you move the plane in any direction it'll always face the camera. Remember that you may also decrease the Influence of this constraint for different results.


Cannot execute boolean operation for hexagonal mesh I am complete newbie. I am unable to perform Boolean intersection on an hexagonal mesh and another 3D object.

My goal is to achieve intersection of "Torus.653" and "Graphene" in my scene. I am attaching my blender file below. I will be grateful if you could help me out.
Blender file

-PM

Your torus grid layer consists of 5 disjoint grids. Those sections match up quite well with each-other to give the impression that they are joined, but  topologically they intersect. The Boolean modifier chokes on self intersecting meshes.

Do you really need this grid to be hollow tubes, it's not a hollow tube in reality - worth considering that as a way to make the operation a little lighter processing wise.

The best geometry for the boolean is geometry that has no intersections, no double vertices. This means you must spend more time making such a grid, perhaps a script is the way to go.

You can see in the closeup that your geometry isn't as clean as you think.

If this answers the 'why' to your Boolean misfortune, perhaps the real question should be how to make such a grid to your exact specs.


Loft tool in blender 2.8 I am using cinema and 3ds and I am amazed from Blender 2.8 UI upgrade and I am trying to switch to Blender.

As I am a newbie in Blender I am trying to do some lofting but I haven't found any tutorials on that.

Any ideas where to look?

Bridge Edge Loops from the Ctrl E Edge menu is a pretty good lofting tool, with some limitations.

You can select multiple loops at a time.
It will loft meshes, not curves, and is only really satisfactory when the loops' vertex counts are the same.
You can make adjustments to the number of cuts, and interpolation, between loops
It's destructive.. you can't adjust later
If you want to loft along a curve, you would do that by hand, perhaps by assigning a 'Follow Curve' constraint to the profiles as separate objects before joining and bridging. See @batFINGER's answer here

Bsurfaces was a more flexible tool for lofting, IMO, but it's broken now. I would love to see it come back to life. If it doesn't, maybe if/when I get good enough at scripting, I'll give it a shot, in 2.8


How can I get something to crumble instead of explode while using the cell Fracture addon? I am making an earthquake and I use the cell fracture addon to make my buildings separate pieces but instead of the buildings crumpling like they should, they explode. Please Help.

Ensure collision margins of the rigid bodies are set to zero, and the physics iterations are high enough to handle whatever simulation you run... also increase the physics time step to a higher value.... it's also sometimes useful to check the "start disabled" checkbox in the rigid bodies tab... this should stop the objects moving until a collision occurs


What are nodes, and how do I use them? I'm a bit new to Blender, and in trying to learn more, I've stumbled across nodes.

What are nodes, and how do I use them?

Understanding of nodes

Nodes are a visual expression of mathematical operations.

The concept of nodes should help users to solve complex tasks by providing "packs" that transform inputs into outputs. In general, complex operations are splitted up into basic nodes to give the most possible freedom to the user. It's a kind of interface, which is flexible to work with and combines the best of both worlds (programming and use).

It's just a visual programming language, so in Blender it's useful for complex purposes like:

Built-in

Creating shaders for objects, world and line styles (Freestyle)
Textures
Image Compositing

Add-ons

But the range of operations they are capable to do is it is not limited to the built-in nodetree types. There are add-ons that integrate other functions like:

Parametric Modeling via Sverchok

where you can use nodes to operate with vertex/edge/faces and also manage data lists (that gives you access ...to everything!).
Node based animation via Animation Nodes

Image from http://www.blendernation.com/2015/03/17/review-animation-nodes-addon/

Node-based compositing

You are referring to Composite Node tree type in your question. From Wikipedia:

  Node-based compositing represents an entire composite as a tree graph, linking media objects and effects in a procedural map, intuitively laying out the progression from source input to final output, and is in fact the way all compositing applications internally handle composites.

Between the starting inputs (usually Render layers) and the final output image you can add nodes to:

Tweak the brightness,
Overlay images with alpha,
Separate rgb channels,
apply filters,
etc.

Well, the list can be long and there are dozen of nodes, which can combined in infinite number of ways. The main advantage of image compositing in Blender is that it will automatically run through the node's operations after rendering the 3d image, so you'll not have to re-tweak the image manually (as Photoshop's Adjustment levels, they are operation done "after" the base image, in a non destructive way).


Does having objects behind other objects slow render times down in Cycles? When creating an object, like an A/C unit in my case, there are a lot of objects that are only partially visible because of the view or because they are behind other objects, and some are not visible at all because they might be on the back of the unit. Do all those objects, even the ones that aren't directly visible, get rendered when rendering in Cycles? Just trying to think of ways to improve render speeds. Thanks!

The short answer to your question is Yes, all of the other objects in your scene contribute to the final image and are computed by Cycles.

In a little bit more detail, Cycles is a ray-tracing render engine. This means that it simulates light rays bouncing around your scene. Just like in real life, these rays can bounce multiple times, which means they can go around corners, refract through glass, and influence the scene regardless of whether or not they are in direct view of the camera. For example, look at this simple scene:

Even though the red sphere is out of the camera's view, it still influences the scene, tinting everything red. It even spreads beyond the direct line-of-sight of the sphere, by bouncing off the walls.

So, how does Cycles render everything? It starts by creating a BVH Tree. BVH stands for Bounding Volume Hierarchy. The BVH Tree contains all of the objects in the scene, including particles and hair, and allows Cycles to make a quicker determination of whether or not a ray has intersected with a mesh.

Cycles classifies its rays in multiple ways. One of these classifications is Direct vs Indirect. Direct rays happen when an object is lit by a lamp or object that is in its direct line of sight. Because of this, Direct rays are only the first bounce of a ray. All other bounces are indirect rays. This indirect lighting is (most of the time) going to be the largest contribution of objects out of the camera view to your scene.

Knowing all this, what is the best way to decrease render times? There isn't one easy answer, but here are a few suggestions.

Decrease Max Bounces:

This limits the number of times a ray can bounce before it is killed. Decreasing these can minimize the amount of time spent calculating rays in parts of the scene not visible to the camera. This can make your scene darker, though, since it decreases the influence of indirect lighting sources.
Use AO Bounces (in the Scene panel):

Similar to decreasing Max Bounces, this also limits how many bounces a ray can have before it dies. Instead of just killing the ray, though, this does an Ambient Occlusion calculation first. This can have the effect of lightening the scene, since AO passes are usually brighter than normal rendering.
Use Camera Cull:

This is the most drastic of the options here. It will actually exclude objects outside of the camera view from the BVH Tree. When using this, you have to be careful not to get weird flickers from objects coming in and out of the camera margin. After enabling it in the Scene settings, you have to individually enable culling for each object in the Object settings:

If you want a little more control, you can manually animate the renderability of an object by hovering over the camera icon and pressing I:


Closing a STL surface Happy new year!
Problem explanation
I am trying to modify a STL model generated by a CT scan (skin model), in order to close the surface. I am using this in brain simulations and in order to add electrodes on the skin surface, the surface shall be closed, otherwise the Mesh2EEG algorithm does not work. You can check my work here.
Unfortunately I can not share the CAD file here since it is under license agreement from the IT'IS foundation.
I have some screenshots below to give you the context of what I am trying to do.
This screenshot shows the model as is:

This screenshot shows the desired result of a closed base:

Also, ideally I would like to close the holes that are here and there on the surface as you can see from the screenshots.
Tested so far

I have tried to use meshlab with different filters, like close holes, remeshing, fixing, but none worked. I found some tips here and there but none worked.
I created a solid cube, and tried to subtract, but I did not have any luck there

Can you help me on that?
Thank you!

Update 19/01/2021 (Solution)
I finally found a way to this by using the knife tool. After searching I found this video which had exactly what I needed. The info from @Gorgious and @Carlo in the comments helped me get a better direction. In short the process is the following:

Use the knife tool
Create a cut, just above the end, to have different surfaces
Following the instructions of the video, to rip the selection and then separate the meshes, delete the small object at the base of the head.


Importing PNG files into Blender Grease Pencil I have several Adobe Illustrator logos I would like to pop into Blender's Grease Pencil utility to animate them.  Is there a good way to do this that won't have me re-drawing everything in Grease Pencil?

In short... You can't.
PNG images are only images. You can't animate them in any program without previously rigging or doing most of the work by yourself.
There is an addon called Import Images as Planes that allows to import PNG images to blender as a plane in a 3D space. I could see a little animation made this way.
But png to grease pencil is pretty much impossible without transferring this manually to curves or redrawing it yourself.

Hope this helped.


Displace does not work on images as planes I was following this tutorial on how to make a cliff, but what works for him doesn't work for me. He makes an image as a plane and is able to loop cut and subdivide it, use a subdivision surface modifier and displace it to make the plane have bumps on it. However, when I do the exact same thing, when I get to the displace modifier, it instead moves it a distance along the y axis and not create bumps. Here is his result:

Here is my result (it doesn't matter how big the number is in the view section of the subsurf modifier, by the way):

You are using a different version of Blender than what is used in the tutorial. I believe in older versions of Blender the default displacement texture that gets added when you press 'New' on the modifier is a 'Clouds' texture, which causes the displacement. In newer versions of Blender it seems that the default texture that is added is an 'Image' texture, but until you actually load an image in the texture panel, nothing will happen, hence no immediate displacement.

You should be able to just continue with the tutorial as normal. In the next step he actually explains how to change the texture type from 'Clouds' to 'Image' anyway. When he explains how to do this you can just change it to 'Clouds' for a second to see that you are in fact getting the same results.


Duplicate particle emitter How to duplicate particle system, please clearly explain how to do. And I will show a pic of the particle emitter to change the name of the 1st step so I want to duplicate the 1st step so I don't know how to do it.

To duplicate the settings just add another particle system with the +, and choose the same value from the Settings combobox (ParticleSettings in your case). Note: the Seed value is not copied and will reset to 0 for some reason.
To change the name of the particle system or the settings just double-click the name and you can edit it. Note: Once you have edited the hair (Comb mode), all values become read-only, including the name of the settings.

Hair particle settngs, Blender 2.9x


How can I get a list of all objects named 'foo*'? In my export script I wish to export all object named 'foo*' in one format, and all objects named 'bar*' in another format.

I could write 2 separate exporters that operate on the selection (so I select all 'foo*' objects and execute FooExporter,  rinse and repeat for 'bar*'

But I would rather get it done in one go, with:

fooList = get_objects_starting( 'foo' )
for obj in fooList:
    foo_exporter( obj )

barList = get_objects_starting( 'bar' )
for obj in barList:
    bar_exporter( obj )

How can I get a list of all 'foo*' objects?

If you want to use shell style globbing (*.foo, *.*abc, [ab]*.bar) (as is used in the question), you can use fnmatch, either fnmatch.fnmatchcase or fnmatch.fnmatch for case insensitive matches.

import bpy
import fnmatch

scene = bpy.context.scene

foo_objs = [obj for obj in scene.objects if fnmatch.fnmatchcase(obj.name, "foo*")]

Otherwise you can simply do...

foo_objs = [obj for obj in scene.objects if obj.name.startswith("foo")]

For more powerful pattern matching: check on Python's built-in regular expression (re module)


Positioning unconnected bones in pose mode using cursor I'm still learning and I am currently having problems positioning unconnected bones accurately in pose mode when using the 3d cursor.

I have one bone positioned correctly and I then need to add a new unconnected bone so I select bone 1 in edit mode and then press Shift+A to add a new bone. I then need to align it to a object so I switch to pose mode and then select the object and press shift+S and select cursor to selected, then I select the bone and press shift+S and select selection to cursor. The bone is now positioned correctly but if I switch to edit mode then the bone is in the wrong position. Am I doing something wrong?

Thanks

All your bones need to be positioned correctly in Edit mode. In Edit mode you will build the basic/rest pose of the character. All the changes you will make in Pose mode are only for animations purpose (or to create static particular poses) and won't affect the bone positions in Edit mode. So if the bone aligned to an object is supposed to be the rest pose, you have to do it in Edit mode, if this is supposed to be an animation pose, do it in Pose mode.


Automatic weight paint of solid mesh (with some thickness) How can I properly weight paint a mesh that has a thickness to it?
I created a jacket and then added and applied a solidify modifier to give it some thickness. When I parent the jacket to my rig with automatic weights, the mesh's two sides have varying amounts of weight paint.
Ideally, both sides of the jacket should be equivalent.
In the example screenshot, you can see how the inside of the sleeve is light blue whereas the outside faces are red.
When I pose the model in certain positions, the inner faces poke out of the out faces.
Is there an automatic way of correcting this? The only manual method that I know of is manually repainting the weights with "front faces only" disabled.

Here, the dark orange texture on the side is actually the inner faces poking through. The entire jacket should be yellow on the outside (except for the blue accents on the sleeves).

For the moment, to paint through you need to go in the brush settings and disable the Front Faces Only and the Front-face Falloff options, and enable Projected. Don't ask me what are the purposes of all these options  ;)   It's a bit tedious in my opinion, they should create one unique option to paint through:


How to create a feathered border around an object? This is the best way I could possibly phrase this question.

What I want to do is mix two different materials.

I want to use the secondary material to catch the rimlight of the object, but I only want this effect to show up close to the border of an object.

Simply using the angles of the faces will result in too much spill of the secondary material over the primary material. This only works on a simple object, where the falloff angle of the polygons is even.

Is there a way to create a mask within the shader editor to basically create a blurred outline within the object border? I want to avoid using the compositor for this.

You might set transparancy based upon camera facing normals (ea not facing). (layer weight)
To get something that looks a little bit smoother.


Process of turning groups of animation nodes into templates for easy reuse? I have been recreating those gifs from the official doc of animation node, which made me question how do you package a awesome animation you made into a new node for later use? I basically want to turn all the panel in below screen shot into one. Is it do it able? Is it recommended? Whats the best way to approach this? I know python I just don't know where I can get more info on this.

A part of a node tree can be made reusable by encapsulating it in a subprogram, something analogous to functions in python. One can create multiple subprograms in a node tree and save it in an empty blend file, this file can act as a module where if one wants to use the subprograms defined there one would simply append the node tree previously defined. Note that subprograms can be invoked across node trees, so no further interaction from the user is required after appending the node tree.

If you want to go the extra mile and implement your own nodes in Animation Nodes using Python and Cython, have a look at the Developer's Guide.


I am writing a script to change a bone position on all my animations. Why doesn't my script work? First off, I should warn you that I am a complete newb when it comes to scripting in Blender, so I might have made some really stupid mistakes in my script.

I want to move the ikHeelRight bone in my rig by one unit in the x direction, and one in the y direction, for every single keyframe in every single animation in my blend file.  Normally, I'd do this in the graph editor, but since I have upwards of 70 animations and I'm unsure if I will need to adjust a bone again in the future, I thought I'd write a script to do it.

I get no errors when I run this script, but it does absolutely nothing.  I have also tried this without the keyframe "For" loop, and it also does nothing.  I suspect that my script is failing to select the ikHeelRight bone, because after I run it, the heel bone is not selected at all.  I have checked to make sure I have the name of the bone and the rig correct.  However, I expect that's not the only failure point.  Here's the script:

    import bpy
    import mathutils

    bpy.context.scene.objects.active = ob
    bpy.ops.object.mode_set(mode='POSE')

    footRight = bpy.data.objects["Armature"].data.bones["ikHeelRight"]

    sce = bpy.context.scene

    animations = list(bpy.data.actions)

    for animations in bpy.data.actions:
        for f in range(sce.frame_start, sce.frame_end+1):
            footRight.select = True
            footRight.head +=Vector((1,1,0))
            footRight.tail +=Vector((1,1,0))

Thank you guys for any help you can give.

While the outline of your idea is right, altering the animation data takes a bit more. Firstly armatures contain two sets of bone data, one is the rest position that we change in edit mode when creating the rig, the second set is the pose bone data that we animate. The object.data.bones that you are using is the edit bone data. Using the pose bones found at object.pose.bones you could position and keyframe the bones but you will find that altering the keyframe data directly to be easier for your task.

An action contains a list of fcurves with each fcurve containing the animation data for one value, so there is one fcurve for the x location and another for the y location and so on, so you need to alter each value separately. Each curve has a list of keyframes that contains the frame and value used for the property that is keyframed. This leads to going through the fcurves of an action and looking at the data_path and array_index to decide if it is a value you want to alter.

If you are unsure of the data_path or array_index values, you can find them in the graph editor properties region.

To adjust the location of a bone in every action you could use the following.

import bpy

target_bone = 'ikHeelRight'

# Adjustments in (x, y, z) direction
adjustments = (1, 1, 0)

for act in bpy.data.actions:
    for fc in act.fcurves:
        if target_bone not in fc.data_path or 'location' not in fc.data_path:
            continue

        assert 0 <= fc.array_index < 3  # always good to make your assumptions explicit
        for p in fc.keyframe_points:
            p.co[1] += adjustments[fc.array_index]

The p.co[0] value is the frame number, so if you wanted to retime your animation you would change that.


How to play physics in a specific frame I am currently learning about the physics in blender. I have a sample blend file, the physics works well but it starts automatically in the first frame what i wanted is to play the animation in a specific frame like 10, 20, or so. How do I do this?

Click on Rigid body cache in Scene panel, there you can set the start and end of simulation.