Mesh deform modifier not working Im new to blender, and i made a simple mesh with simple rigging but as i try to move it around the mesh gets all squished up and stuff, so internet said its good to use "mesh deform modifier", so i tried, but it says "modifier disabled, skipped to apply"

Then i thought maybe my mesh is all messed up, so i tried it on a simple cube, but still the same problem.

I looked for solutions but nothing really helps, some said to use "boolean modifier" but same problem, it is disabled..

Pls help

Mesh deform (and other modifiers, like boolean) uses two objects.

For mesh deform :

The first one is the one to be deformed : the modifier is defined on this object
The second one is the deforming object : it has to be set in the 'object' field of the modifier

An example :

Here two objects : the cylinder will be the object to be deformed and the cube is the deforming object. The cube must surround the parts of the cylinder we want to be deformed. So it is easier to hide the cube faces to see the cylinder inside :

Now select the cylinder, add the modifier and set the cube as deforming object :

This modifier has a particularity : Blender needs to do some calculations before the modifier can be used. As these calculations can be a bit long, it is needed to click on the "bind" button to make it work (above the calculation time, bind/unbind is also a way to change the initial configuration if needed, clicking on the 'unbind' button available once the binding is done).

Once bound, you can edit the cube mesh to deform the cylinder :

But you can also use other modifiers on the cube to deform it and the cylinder will follow. Here an example with an armature modifier set to the cube. So the armature influences the cube and the mesh deform modifier influences the cylinder as the cube is transformed :

Concerning the warning you indicate in your question : this is because the object field is not defined in the modifier panel.

The "apply" button (for all modifiers) is used to freeze/transform the object at the position (or geometry, etc.) it is when you apply. And once applied the concerned object is really modified and the modifier disappears from the panel.


Script to Insert Keyframe for Fluid "effector_settings.use_effector" property I have added a cube as an Effector to a fluid sim. I want to use a script to insert a keyframe for the 'Use Effector' property (see image)
Here is what i've got so far:
ob = bpy.context.active_object
ob.modifiers['Fluid'].keyframe_insert(data_path="effector_settings.use_effector",frame=1)

problem is that an error is thrown.
Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\python\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<blender_console>", line 1, in <module>
TypeError: bpy_struct.keyframe_insert() property "effector_settings.use_effector" not found

I will iterate over all selected objects once I have this piece sorted.
Cheers

I solved it by using:
obj.modifiers['Fluid'].effector_settings.keyframe_insert(data_path="use_effector",frame=5)


How to make a material for a candy cane? So far, I've got a red and white Wave Texture, wich is mixed (Fac: 0.200) with a Glossy BSDF (Roughness: 0.020).
I also added an Image Texture (Scratches) for Displacement connected with Multiply (Value: 0.050).
However, I'm not completely satisfied with the material. Could someone give me any advice?

This is, how my material looks like:

And this is how I would like it to look:

Sorry for my (probably) bad English, I'm Austrian.

Thanks

The biggest difference between your render and the picture is that the picture has a ton of things (esp. lights) to reflect all around, while yours has only one lamp and its specular highlight. Add an HDR image to the background and your render will look lightyears better.

See tip 3 here for examples:

http://www.blenderguru.com/articles/making-better-materials/

See this site for some free, quality HDRs:

https://hdrihaven.com

One other thing is that in the picture there is a little gap between the red and white whereas yours cuts cleanly. Perhaps add an extremely thin black line there, or use the striping as a bumpmap.


Guillaume Kurkdjian Water Material Guillaume Kurkdjian has this really cool water:

How can I achieve this water in blender cycles? (material and modeling of the water)

The closest I've gotten is this:

This is the material settings for the image above:

Here is a try:

Analysis:

According to the source artwork, there may be some shaders used. However, the key parts can be: Glass/Refraction, Translucent, Glossy, etc.

So after a few trial and errors, a possible setup might be:

Besides, post processing like compositing can also be included:

To model the water shape, here is one way:

Example file:


How can I save UV coordinates into .obj when using curves I have used the sapling tool to build a tree for myself. I would prefer not to convert the curve to a mesh to make life simpler if I want to modify it later.

I added a texture and adjusted the scaling so it looks correct with the 'Mapping' section of the 'Texture' tab. When I export the model as a .obj and load it in to opengl, the texture coordinates are all wrong, they are so distorted! I assume the scale factors I have set in the mapping section are not being accounted for in the exported file? What should I do?

Is there any way to see how blender has UV unwrapped this mesh (without converting the curve to a mesh?). The texture mapping is not perfect and it would be nice to edit it a little!

Turn on "Use UV for mapping" in the texture space options in the Object Data tab of the properties window:

Turning on this option will generate UV maps for when you convert the curve to a mesh, or export the curve to .obj, since .obj doesn't support bezier curves and converts the curve to mesh as part of the export process.


How to 'weaken' or 'strengthen' a normal map texture? I would like to export a normal map texture itself, what is a correct way to make it stronger or weaker?

I found that weakening effect can be accomplished by mixing texture with #8080ff color using MixRGB node, but I am not sure it is the best/proper way to do it.

First of all, to understand how the normal directions are mapped to colours, see this excellent answer in gamedev.sa. Basically, the blue value is

B = cos(alpha) × 0.5 + 0.5

and the red and green are the corresponding

R or G = sin(alpha·(x or y)) × 0.5 + 0.5

values for both directions, with alpha being the angle away from the surface normal. You might notice that it's not immediately trivial to make it stronger or weaker, the standard transformations (saturation, contrast, brightness) on their own will not do what you want.

A quick and dirty way ...

... to strengthen the map would be to, for example, subtract 0.1 from the red and green channels and then multiply the red and green channels by a factor of 1/(1 - 2*0.1) = 1.25. The problem with this is that you can clip colors and that you end up with a normal map that is technically wrong because the normals will be longer than 1. Basically, this stretches the normal in the x and y directions. For normal maps that are far too weak because they were created from a very smooth surface, this method might work fine. Do not use it on anything where steep angles are already in the map.

Setup:
Be careful here to make sure you work in linear image coordinates without any gamma correction.

Done right

Per the formulae above, you get the angle in a range from 0 to 1 this way:

angle = 2/pi × arccos((B-0.5)×2)
angle_x = 2/pi × arcsin((R-0.5)×2)
angle_y = 2/pi × arcsin((G-0.5)×2)

We can then transform this value in a way that retains its range (for example via a gamma-node) and re-apply

B = pi/2 × cos(angle)×0.5+0.5
R = pi/2 × sin(angle_x)×0.5+0.5
G = pi/2 × sin(angle_y)×0.5+0.5

This looks something like this:

You still have to watch your image gamma.

Clipping is not a problem any more here and even strong strengthening should not create any problems. You bend the normals away from the centre while retaining their length.

Notes:

In this setup, a smaller gamma value creates a stronger normal map, while gamma = 1.0 doesn't change the map.
The values of 0.637 are actually 2/pi, while 1.570 is pi/2 (enter the values as "2/pi" etc., python will understand what you mean).
Interestingly, Doc:2.4/Bump_and_Normal suggests that Blender uses the full range of the blue channel for the range of 0.0 to 1.0, which makes the ((B-0.5)×2) and ()×0.5+0.5 transformations unnecessary for this channel. I can't find a more current reference, but I assume this is still true in the current versions. So I might have to change the second setup accordingly.


How to scale Faces evenly? Here I have created a rectangularly-shaped object.

I applied the scale using Ctrl+A and then selected the bottom face.
I press E to extrude, tap enter and then S to scale.
I hold the Shift+Z to scale the face only on the X and Y axis

It doesn't scale evenly (see below):

I have no idea how to get around this problem. Is there a way to scale it evenly, sort of like a reverse inset function?

What you need is the "Inset" tool. This tool has an "Outset" option which works for your situation.

First select the face
Press I then hit Enter
Either press F6 to bring up the operator settings or go to the Tool Shelf (if it's not visible bring it up using T)
Check the Outset option.
In the operator settings, increase the Depth as desired.

Update

If you don't want the height to change, simply set the snap element to "Vertex" and move the face in the z-axis while holding the Ctrl key.


Baking a texture as image sequecne I've got a procedural texture, and I have animated it by keyframing the uv co-ordinates. The animation lasts  250 frames, and I need to bake the texture for every frame so I can use it elsewhere. I had no issues baking the texture for any single frame, but can't figure out how to bake the texture for all 250 frames into an image sequence.

Add a plane.
Connect your texture to emission brdf in the plane's material
Add a camera above 2 meters the plane and make output size to equal width and height with desired resolution
Set it to orthographic and scale it to match the plane
Enable the emission pass and disable combined
In the compositor connect the emit pass to file output
Render as animation.

Repeat this for each kind of map if you have more than multiple maps.


Rigidbody container is spilling out contained rigidbodies I am trying to make a simulation where I have a container and it is getting filled with more rigid bodies (Soccerballs) falling from above. The container gets filled fine but when I try to animate the container itself from one location to another the contained Rigidbodies spill out from the containers sides ..

the soccerballs are relativly small in size, I don't know if this is the reason for the problem.

I have tried the following solutions but with no use, balls still spill out from the container.

1- I have changed the container collision shape sensitivity margin.
2- I have changed the balls collision shape(the problem got worse)
3- I have tried changing friction and bounciness of the balls

How can I solve this problem, what settings can I change that might help?

thanks in advance for your answers, I am sorry that the question got too long.

Within the Scene properties are the Rigid Body World settings. This includes a Steps Per Second property. This setting determines how often blender should check the position of objects in the scene for how they should interact - faster moving objects require a larger number of steps to prevent them passing through each other before Blender detects the collision.


Blender UI button creation I have made a script which I wanna activate with that M button. I've seen tutorials on how to do the simple buttons but I can't seem to figure it out how to make a button there and how to add an icon to it.

Unfortunately, I don't believe there is a way to modify existing UI elements once they're in a panel.

It also appears that the panel element for DATA_PT_shape_keys isn't exposed via bpy.types so I doubt the .append() trick will work.  But if somehow there is a way to extend it that's most likely where you'd find it.


Questions about the grease pencil First I was wondering if it was possible to convert the strokes into a curve or 3d mesh while keeping the visual fidelity of the 2d stroke. It would be really cool to make 3d objects that with this look

Also I painted this gamecube using a cube and painting on it so its actually drawn in 3d but you can see through it. Is there a way to keep the lines from being visible from all sides?

https://i.imgur.com/YFaLDa8.png?1

This has interested me I must admit.

I have never really had a use for grease pencil until I saw this post and I took a little look-see in blender 2.79

It seems that if you draw a line with the grease pencil and then select it (under the grease pencil layers section in the right-hand side tab of 3D view), you can click on the convert to geometry dropdown under tools (where you select the grease pencil). The line will stay, but you can then select the line, which is now an object or curve.

And yes, you can hide the line. On the right-hand side tab in 3D view (As used above), there is a checkbox called X-Ray. Uncheck it.

Some Quick Circling to help:

EDIT:

As of Blender 2.8, the method of using grease pencil has changed quite a bit. Firstly, to use grease pencil you must create a grease pencil object in object mode. Change to draw mode and draw your line with the tools. You can change the mode to surface, 3d cursor or origin through the drop-down middle top screen. Then switch to edit mode, and under strokes, there is the option to convert to geometry.

Now in Blender 2.8, there is no more x-ray. It is now called depth ordering. It should be set to 3D space by default, which is like x-ray off, but you can set it to front mode for x-ray on.

Good luck with your project and I hope I helped,

BFB


How can I get the dimensions of an object using script? In object mode, when I press 'N' I get a little box called Transform. At the bottom of this box I can see the X,Y,Z dimensions of my mesh. Is there a way to get these dimensions through the Python script?

Like if I just want the Y dimension (height of object) returned, would I do something like:

bpy.ops.mesh.Transform.dimensions[1]

Some blender basics

The console is a great place to figure stuff out

where C = bpy.context and D = bpy.data for our convenience.

>>> C.object
bpy.data.objects['Cube']

>>> C.object.dimensions
Vector((2.0000009536743164, 2.0000009536743164, 2.0))

>>> C.object.dimensions.y
2.0000009536743164

>>>

The height of an object in blender is its Z dimension.  Blender uses Z up and -Y forward.

The buttons in blender run operators.  In code these start with bpy.ops  The translate operator for example is bpy.ops.transform.translate()

The python console has autocomplete, hence you can peck around and nut somethings out.


Using python to create cuboid with a hole in the centre I wish to create a basic rectangle with a hole in it to the scene upon running the python script. I understand how to create a simple cuboid - however I can't find an easy way of creating one with a rectangular hole through the centre short of splitting it up into four rectangles however I want it to be one structure.

My code for the cuboid so far is:

import bpy

verts = [(0,0,0),(0,5,0),(1,5,0),(1,0,0),(0,0,5),(0,5,5),(1,5,5),(1,0,5)]
faces = [(0,1,2,3), (4,5,6,7), (0,4,5,1), (1,5,6,2), (2,6,7,3), (3,7,4,0)]

grat1mesh = bpy.data.meshes.new("grat1")
grat1obj = bpy.data.objects.new("grat1", grat1mesh)
grat1obj.location = bpy.context.scene.cursor_location
bpy.context.scene.objects.link(grat1obj)
grat1mesh.from_pydata(verts,[],faces)
grat1mesh.update(calc_edges=True)

Any help is appreciated, thanks.

Using from_pydata

Make  an inner and outer square of vertices for top and bottom.  Fill top  with  4 trapezium faces.   All other face indexes can be calculated from the top faces by adding appropriate index offset to them.

import bpy
from mathutils import Vector
context = bpy.context

scene = context.scene
mesh = bpy.data.meshes.new("mesh")
# 2d square
def xysquare2d(z=0, scale=1):
    r = [-scale, scale]
    return [Vector((x, y, z)) for x in r for y in r]

verts = []
# top verts
verts.extend(xysquare2d(z=2, scale=2))
verts.extend(xysquare2d(z=2))
# bottom verts
verts.extend(xysquare2d(z=-2))
verts.extend(xysquare2d(z=-2, scale=2))
top_faces = [(0, 1, 5, 4),
         (1, 3, 7, 5),
         (3, 2, 6, 7),
         (2, 0, 4, 6)]
# make all the other faces from top faces
bottom_faces = [(i + 8, j + 8, k + 8, l + 8) for i, j, k, l in top_faces]
outer_faces =  [(i, j, k + 8, l + 8) for i, j, k, l in top_faces]
inner_faces =  [(i + 8, j + 8, k, l) for i, j, k, l in top_faces]
# add them
faces = top_faces  + bottom_faces + outer_faces + inner_faces

mesh.from_pydata(verts, [], faces)
obj = bpy.data.objects.new("obj", mesh)
scene.objects.link(obj)

Can create pydata from a mesh.
Make the model, then run this script on the mesh.

print("verts = [")
for v in mesh.vertices:
    print("\t", [axis for axis in v.co], ",")
print("\t]")
print("faces = [")
for f in mesh.polygons:
    print("\t", [i for i in f.vertices], ",")
print("\t]")

Which when run on mesh created above results in

verts = [
     [-2.0, -2.0, 2.0] ,
     [-2.0, 2.0, 2.0] ,
     [2.0, -2.0, 2.0] ,
     ....
     [2.0, 2.0, -2.0] ,
    ]
faces = [
     [0, 1, 5, 4] ,
     [1, 3, 7, 5] ,
     ....
     [10, 8, 4, 6] ,
    ]

Using boolean modifier

If you don't mind ngons, can use boolean difference, append this script to your original

# copy the mesh
grat2obj = grat1obj.copy()
grat2obj.data = grat1mesh.copy()
scene.objects.link(grat2obj)
# move it up 1, 1
grat2obj.location += Vector((-0.5, 1.25, 1.25))
# scale it
grat2obj.scale = (2, 0.5, 0.5)

# add a boolean modifier
bm = grat1obj.modifiers.new("Chop", 'BOOLEAN')
bm.object = grat2obj
bm.operation = 'DIFFERENCE'
# apply the modifier
scene.objects.active = grat1obj
bpy.ops.object.modifier_apply(modifier=bm.name)
# remove chopper
scene.objects.unlink(grat2obj)

Using bmesh

Add a plane, inset it, remove middle face, solidify.

import bpy
import bmesh
mesh = bpy.context.object.data
bm = bmesh.new()
bmesh.ops.create_grid(bm,
                      x_segments=2,
                      y_segments=2,
                      size=1)

bmesh.ops.inset_individual(bm, faces=bm.faces, thickness=0.3)
# take out middle
[bm.faces.remove(f) for f in bm.faces if all(not e.is_boundary for e in f.edges)]
# extrude
bmesh.ops.solidify(bm, geom=bm.faces, thickness=1)
bm.to_mesh(mesh)
mesh.update()


Not able to fill in a face between an open space I am starting to model a small character and from a tutorial I was watching and some research I from what I found, selecting the faces and or edges and hitting F would connect them with a face, however, none of that worked. I cannot connect this face right here with F or anything else. Any idea why it wouldn't be working? Thank you in advance for the help. :)

By the looks of your screenshot, you do not have at least 3 vertices selected. With only two vertices selected, F will only create an edge. To create the face, try Shift+Click-ing on each of the four faces and then pressing F to fill.

Other ways of creating a bridging face:

Alt+Click, then Shift+Alt+Click on the edges to select the "Edge Loop" on each side of the gap. This will select the two connected vertices. Once all four vertices are selected, press F.
Select all four vertices with Shift+Click. Press F3 and search for "Bridge Edge Loops" and press Enter.
Press B to box select and drag a box over all four vertices, selecting them. Press F to fill.
Change to "Edge Mode" ('2' on the number row) select both edges with Shift+Click and press F to fill. You can get back to "Vertex Mode" with '1' on the number row.

If at any time, you select the wrong vertices, double tap A (dbl-A) to deselect all.


3D Cursor and Resetting View in Quad View I've been using quad view, and had an earlier issue (Why does changing the 3D cursor move other quad view windows?) with a change in the 3D cursor in one viewport changing the views in the other 3 viewports. I understand I can get around this problem by disabling Lock to Cursor in the View panel, but this introduces another problem: What if I want Lock to Cursor enabled for my workflow; that is, I like to be able to rotate the camera around the cursor, but I don't want to fling the other three viewports away while I'm doing this in one viewport?

Another related question: In quad view, how do I reset one of the viewports to be centered on the coordinate axis? Sometimes this 3D cursor problem can send another viewport very far away, and it can be impossible to recenter the view by hand, because one does not know which way to drag the view.

In the Properties panel on the right (press N to toggle) you have the option to change the location of your 3D cursor.

If you are working in Quad view and want to center your cursor on this specific axis you can zoom out the regarding field:

for the top/down view it would be the X and Y axis
for the right/left view it would be the Z and Y axis
for the front/back view it would be the Z and X axis

If you have viewport projection set to orthographic then depending on the angle you could also shift the location of the cursor.

If you click on the surface of an object the cursor will be placed right on top of it.


Huge gap between curve and mesh when using array modifier I'm trying to fit my mesh's created with an array modifier around a curve.
It seems to be going in the right direction, but the array modifier

1) Has a major gap between the curve (the window outline which has the orange highlighted)
2) causes some meshes to be elongated (near the top of the curve)
3) Seems to be creating too many mesh objects to neatly fit around the curve (there will be overflow).

Why are these 3 problems occurring and how can I fix them?
Thanks!

Found the answer!
So I'm not entirely sure what this is, but if I switched back to edit more, there is a sort of "base mesh" which wasn't really the mesh but some object, and if I moved it along the correct axis, the "array modified" mesh moved accordingly until it fit properly around the curve.


Suddenly created meshes are invisible (even though they are checked as visible), cannot create any new objects now as the title states I am suddenly unable to create any new objects, when i select a mesh from the "create" bar nothing noticeably happens, other than the object name appearing in the list in the top right hand corner of the screen, i cannot edit the object, view the object, or do anything at all to it, this happened suddenly part way through a project and has caused me to be unable to continue, it's driving me nuts and I cannot for the life of me see why this has suddenly happened, im sure i must have accidentally pressed a keyboard shortcut for something, but i do not know what, any ideas?

You probably activated Local View by pressing Numpad/.

When that happens you can only see and edit the selected object.

Press Numpad/ again to exit (or press the Space Bar and type Local view)


Physics are not simulated past a certain frame? I've set up the physics of a swinging wrecking ball and set the animation to run for 240 frames.  This was not long enough for the entire "swing" of the ball-and-chain.

I'm unable to reset the timeline, but I can set the end frame to (say) 1000 frames, but when I try to play the animation, the animation progress halts at frame 240 and I cannot get it to go any further.

There are no markers or keyframes in the timeline.

What should I do to "force reset" the animation-timeline, to allow changes to the length?

The problem you are having is not with timeline, but with the length of the rigid body cache.

The physics systems have cache length settings independent of the scene frame range, so you must ensure that they are set accordingly as well as setting the frame range.

To do this for rigid bodies, set the End frame of the cache in Properties > Scene > Rigid Body Cache to the last frame you want the rigid bodies to be animated:

For 2.8 The Cache settings are under Rigid Body World> Cache

If you Baked the simulation (rather than just playing the scene animation to make a temporary cache of the simulation), press Free Bake in Properties > Scene > Rigid Body Cache to remove and "unlock" that cache:


Setting Image Texture to specific size? is it possible to set an image texture to tile at a specific real world size? For example, if it's a picture of 10 rows of bricks, that would equate to 0.75m high. Is there a way of inputting this directly to generate the correct scaling? Or do I need to do a time-consuming sum of working out how many times the image should fit over the size of my object?
Ideally it would be tied to the material rather than being object-dependent, as my brick texture would need to appear the same size, regardless of what objects I apply it to.

I'm a little late because I wanted to say something similar to what moonboots gave as an answer. I'll give you a short example how I would do it:

Let's say the texture should be real life size 75 x 50 cm
Import the textures with "Images as Planes"
In the Image Texture node of the material, set the extrapolation mode to "Repeat" instead of "Clip"
Connect a Mapping node and a Texture Coordinate node to the image
Connect the Mapping node to the "Object" output of Texture Coordinate
In the Mapping node set Scale X to 1 / 0.75 (75 cm) and Y to 1 / 0.5 (50 cm)

Now you can scale the plane to the size you need it for a floor or wall or whatever - the texture will be the correct real life size as long as you apply the objects scale so that it's 1/1/1.
The only problem is that - since the texture is not connected to any UVs or geometry of the new object - it will definitely not work well on curved objects and is only suitable for things like floors or walls or similar flat, even surfaces. To position it as desired you can use "Location" in the Mapping node.
Note: to move the texture for example 20 cm in X direction, you have to divide this by the X dimension of 75 cm: 0.2 / 0.75
The easiest would be to connect the "Location" input to a Vector Math node set to "Multiply" where you already set the same factors as in "Scale".


How to create a floating flag that isnt pinned/hooked? I've seen how to create a flag using cloth simulation, and pinning corner vertex etc. However what Im wanting to do is have the flag fluttering in Wind, but without having the corners pinned (or at least less noticeably). It would be quite intentionally unrealistic, in that its like the flag is floating in a set place BUT the cloth is still flapping as per normal in wind.

Note: I've tried Hooks with lower Strength on corners, but they remained statically pinned. I thought each corner Hooked to an Empty, with strength of 0.2ish might make them float enough, but didnt work.

Im new to Blender so may simply be approaching wrong way.

One way out is combination of shape keys and proportional editing applied to a subdivided plane. Subdivide a plane and make each proportional edit a separate shape key to animate later. It takes time but the wave may be regular if realism is not your goal.


How can I put an object in the center of the viewport and on top of the floor? I was able to move my object to the center and on top of the floor by adding a vertex right in the middle of the bottom of it and then using a combination of cursor and origin settings. I want to know how to do this without having to add this vertex, since I had to add more geometry to my mesh to get this vertex there.

If I'm understanding correctly, this should help. Try this:

In Edit Mode select the bottom Face
Shift+S > cursor to Selected
switch with Tab in Object Mode
In the Tools panel Set Origin to 3D cursor
Shift+S > cursor to center
Press Shift+S again, but choose selection to cursor

Also see this post


How to pan the view? How to pan the view in Blender?

Suppose neither Shift
 or ShiftAltLMB  do not work. What is the reason for this?

Unless you have changed your mouse settings, you use the middle mouse button to move in the 3D view, not LMB. Middle mouse to orbit, shift -> middle mouse to pan, and ctrl -> middle mouse to zoom.


Is it possible to create a function that is performed on the render engine change? I would need to perform a function on the render engine change, for example:

def function_on_engine_change(self,context):

   if context.engine =='CYCLES':
       print('Cycles')
   else:
       print('Is not Cycles')

The call of this function should obviously take place automatically if the engine is changed

I was looking on the blender handles but found nothing, I wonder if there is any trick that does this

Use the msgbus

There is a relatively new and mostly undocumented feature of blender that fires a callback when a property is changed.  Check if your version has this feature in python console.

>>> bpy.msgbus
<module 'msgbus'>

Related

https://developer.blender.org/P563

Origins to the down of the object by default

How to get an event when an object is selected?

For this case (IMO) can substitute context.scene.render.engine for context.engine

>>> C.engine
'BLENDER_EEVEE'

>>> C.scene.render.engine
'BLENDER_EEVEE'

>>> C.scene.render
bpy.data.scenes['Scene'].render

>>> type(C.scene.render)
<class 'bpy.types.RenderSettings'>

Use msgbus to invoke a callback whenever the "engine" property of bpy.types.RenderSettings is altered.

import bpy

handle = object()

subscribe_to = bpy.types.RenderSettings, "engine"

def notify_test(context):
    print("Notify changed!", context.scene.render.engine)

bpy.msgbus.subscribe_rna(
    key=subscribe_to,
    owner=handle,
    args=(bpy.context,),
    notify=notify_test,
)

bpy.msgbus.publish_rna(key=subscribe_to)

Note using bpy.types.Context, "engine"  does not work.

For versions without msgbus

Can use a depsgraph_update_post (or prior scene_update_post) handler.

import bpy

engine = bpy.context.scene.render.engine

def engine_change(scene):
    global engine
    if scene.render.engine != engine:
        engine = scene.render.engine
        print("changed", engine)

if hasattr(bpy.app.handlers, "scene_update_post"):
    handler = bpy.app.handlers.scene_update_post
else:
    handler = bpy.app.handlers.depsgraph_update_post

handler.append(engine_change)


BGE How to make text appear when winning or losing a game? I'm creating a game in the BGE. I want to make a message appear when the player reaches an object which is supposed to be the winning way out of the game.
I also want to make another message pop up when the player reaches a plane I've created and loses the game. Should I should use the collision sensor and then the Message actuator? But how do I make the message pop up on the screen?

The Message Actuator works with the Message Sensor to send messages between objects in the game, not to send messages to the player. To show text to the player you need to show a text object or an object that has text as part of it's material, you can also use a scene as an overlay to present the text as part of a HUD.

You could use the messaging system to have an exit sign object become visible by having it change it's visibility when it recieves a message.


How to join this face properly? I have this face i want to connect but the sides have like over 10 verts, but i want to make it join smoothly with the curve. I dont know how to do it (red part)
The red part will follow and join the blue part in the end.
How can I join them witout altering the face of the mesh?

You should to add more edge loops in blue side , Equal with red side to join , then add one loop between red and blue side and Bevel to have a curvy conection .
Upload Blend file to show you how it's possible .


Black Outline and Visible Faces in Cycles Render Previewing in Eevee looks fine, but when I switch to Cycles, this occurs:

Also comes as a white grain on the side opposite from the lightsource.

As you can see, parts become darker; there's black, ink-like stuff on the model (I thought it was AO at first and disabled it, but it's still there); and the faces of the model can be seen, especially along the chest and R-Leg.

The material setup is just the default BSDF with a Base Color (.jpg) and Normal map (.png) (fed through Mormal Map node).

Neither have been exported as an image, just rendered in the viewport.

Any advice appreciated - first day on Blender (well, near enough)

-edit-

Looks like problem with normal maps. Try switching to non-color color space in texture node and use bump node instead of connecting normal map directly.


How to write bpy.data.libraries avoid packed file with python? I'm trying to create a .blend file that saves the scene, but I would like the image files to be separate, so I created a script that saves the bpy.data.images image files in a folder next to the .blend file.
like to :
import os, shutil
def save_images(folder_path,my_image_list):
    for i in my_image_list:
        if not i.file_format:
            i.file_format = 'PNG'
        image_path = os.path.join(folder_path,i.name)

        if not os.path.isfile(i.filepath):
            filepath_raw = i.filepath
            i.filepath_raw = image_path
            i.save()
            i.filepath_raw = filepath_raw
        else:
            shutil.copyfile(i.filepath,image_path)

So everything works beautifully, except for the fact that if I have a "packed image", a large file will be saved, therefore useless, as I already have the necessary images alongside that project.

Basically:
I wanted to figure out how to be able to write the project with bpy.data.libraries.write() without it also writing packed images if there are any.
I am aware that I can check them with bpy.data.images['My Image'].packed_file, which returns if the image is packed.
I could write something that unpack temporarily, but I see it as risky.

Check the data
Chances are the objects are saved to the library blend, . but are not linked to any scene, or collection, hence the file appears empty when opened.
Check the library files bpy.data.object  collection to confirm.
Consider adding the scene datablock to the library.
You can try this.  I don't know much about...


why wont the particles show up on this mesh? I've set the grass particle to work off 'density' in the vertex groups. first time this has happened. there are no modifiers except 2 particle systems on this object. is this a glitch or am I missing something?

I don't know if this makes a difference with your file since we don't have a stripped down version uploaded to look at, but one of your particle systems is set to not be visible. Is that on purpose?


How to reorder particle 'number' along a path? It there any way to reorder particle 'number' along the active path ?

You could try to emit the particles from faces and switch from Jittered to Grid:


How do I make an object partially transparent in the 3D view? So, I want to see my reference through the object in viewport, and I'm trying to achieve that by turning down the Alpha, but when I turn it down lower than 1 it disappears right away instead of fading. Does anyone have any idea what could be causing this?

In the bottom right area of your top photo, there are 2 settings visible: Blend Mode and Shadow mode, both are defaulted to opaque. Set Blend Mode to alpha-hashed, alpha-clip, or alpha blend. The other controls shadows cast by the transparency - you may or may not need it. You still can control the degree of transparency using the alpha value.

Alternatively, you could always enable x-ray mode at the top next to the viewport preview selection buttons.


How to force a redraw of a panel in the 3D_View I have a panel in 3D_View that shows the current file and allows the selection of a new file.  When the file is selected, the panel needs to redraw.  How do I force a redraw?
In Operator.py file
class OT_TestOpenFilebrowser(Operator, ImportHelper):
    #https://sinestesia.co/blog/tutorials/using-blenders-filebrowser-with-python/
    bl_idname = "file.open_filebrowser"
    bl_label = "Open the file browser (yay)"
    filter_glob: StringProperty( default='*.xml', options={'HIDDEN'} )
    run=0
    def execute(self, context):
        if not 'PMTfileName' in globals():
            global PMTfileName
            PMTfileName = "None2"
            self.report({'INFO'}, PMTfileName+ " created in op")
        PMTfileName, extension = os.path.splitext(self.filepath)
        head_tail = os.path.split(self.filepath)
        PMTfileName = head_tail[1]
        print(PMTfileName)
        self.report({'INFO'}, PMTfileName)
        self.report({'INFO'}, extension)
        self.report({'INFO'}, self.filepath)
        context.area.tag_redraw()
        self.__class__.run += 1
        """Do something with the selected file(s)."""
        return {'FINISHED'}
bpy.utils.register_class(OT_TestOpenFilebrowser)

If Panel file:
class PMT_PT_Pannel(Panel):
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_label = "PMT Builder"
    bl_category = "21Geo Builder"

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

        #2 Columns with Buttons
        box = layout.box()
        box.label(text="Open File: "+PMTfileName)
        row = layout.row()
        row2 = layout.row()

        col3 = row.column()
        col3.operator("file.open_filebrowser", text="Select File" )

        col = row2.column()
        col.operator("object.apply_all_mods", text="Apply all")

        col2 = row2.column()
        col2.operator("export.some_data", text="Export")

I suggest start here: How to create a custom UI?

Blender will take care of (re-)drawing the layout properly without doing anything if you add a dedicated StringProperty for your filepath to the Scene, Object or whatever makes sense in your case eg. bpy.types.Scene.my_path = StringProperty(name="My Path") and assign self.filepath attribute from the ImportHelper class to your path property:

Code example based on the famous Operator File Import template that comes with Blender:
import bpy
import os

# ImportHelper is a helper class, defines filename and
# invoke() function which calls the file selector.
from bpy_extras.io_utils import ImportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty
from bpy.types import Operator, Panel

class ImportSomeData(Operator, ImportHelper):
    """This appears in the tooltip of the operator and in the generated docs"""
    bl_idname = "import_test.some_data"  # important since its how bpy.ops.import_test.some_data is constructed
    bl_label = "Import XML Data"

    # ImportHelper mixin class uses this
    filename_ext = ".xml"

    filter_glob: StringProperty(
        default="*.xml",
        options={'HIDDEN'},
        maxlen=255,  # Max internal buffer length, longer would be clamped.
    )

    # List of operator properties, the attributes will be assigned
    # to the class instance from the operator settings before calling.
    use_setting: BoolProperty(
        name="Example Boolean",
        description="Example Tooltip",
        default=True,
    )

    def execute(self, context):
        folder, file = os.path.split(self.filepath)
        context.scene.my_path = self.filepath
        print (folder, file)
        return {'FINISHED'}

class OBJECT_PT_CustomPanel(Panel):
    bl_label = "My Panel"
    bl_idname = "OBJECT_PT_custom_panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Tools"
    bl_context = "objectmode"
    '''
    @classmethod
    def poll(self,context):
        return context.object is not None
    '''
    def draw(self, context):
        layout = self.layout
        scene = context.scene
        layout.prop(scene, "my_path", text="File")
        layout.operator(ImportSomeData.bl_idname)
        layout.separator()

def register():
    bpy.utils.register_class(ImportSomeData)
    bpy.utils.register_class(OBJECT_PT_CustomPanel)
    bpy.types.Scene.my_path = StringProperty(name="My Path")

def unregister():
    bpy.utils.unregister_class(OBJECT_PT_CustomPanel)
    bpy.utils.unregister_class(ImportSomeData)
    del bpy.types.Scene.my_path

if __name__ == "__main__":
    register()

    # test call
    #bpy.ops.import_test.some_data('INVOKE_DEFAULT')


Background Image vs Reference Image - What are the pros and cons of these methods? There seem to be 2 ways to add reference images in Blender as shown here https://youtu.be/PTxWKZZbIvU
Firstly you can hit Shift+a>Image>Reference, and secondly you can select a camera and in the Object Data Properties section there is "Background Images" which does the same thing. What are the pros and cons of each approach?
Also, How do you add a background image to the orthographic views?

To view through the selected camera press numpad 0.
To align the Reference image with the camera view, select the Reference image, then in the header menu > Object > Transform > Align to Transform Orientation then in the Operator box choose Orientation > View.
Reference and Background are empties, they won't be rendered, they are used as references to model an object, liked the former Background in 2.79.
Actually they are exactly the same objects, except that the default settings in the Properties panel > Object Data are not the same, by default Background will only be seen in orthographic view and it is set to have its back transparent (but you can switch off these 2 options or switch them on for a Reference image).
What's the difference? I guess it all depends on what settings make you comfortable to work with. The Background version works a bit more like the former Background in 2.79, it makes the image more discrete and transparent in your scene, and if you enable its Only Axis Aligned you'll see it only in perpendicular views, which is very convenient.


Particle start frame not exceeding 200 with python code When I am writing the code to start the emitter type particle at a particular frame, the start frame is not going beyond 200. Like if I give frame_start = 300 its starting at 200. But if I give frame_start = 190 its taking the value. But the frame end is taking whichever value I give. I attach the picture for reference. Please help. I am stuck

I tested the bpy.data.particles["star1"].frame_start = 400 in Blender 2.83 and it worked fine.
In Blender 2.82 though it did indeed set the Frame Start value only to 200 as mentioned in the question.

The reason is Blender making internally sure, that the start value can't exceed the end value, which by default is 200. Should you set the end value to 400 and try to set the start value to 500, it will result in the start value being capped at 400 as well.
There are 2 Solution possible:

Update to Blender 2.83, which as i mentioned solves the issue, and sets the start and end value to the highest if the start value exceeds the old end value.
Stick with Blender 2.82 for whatever your reasons may be, but then you have to first set the frame_end value to be higher then the wanted frame_start value for this to work. Means in your code, just move the line where you set the frame_end above the line where you set the frame_start.

With solution 2, it would need to look like this:
bpy.data.particles["star1"].frame_end = 489
bpy.data.particles["star1"].frame_start = 319


i want to achieve a round strip led lights at the bottom inside of a container with glass shader in order to light up the whole glass i wander around some shaders and did some experiments but nothing so far and btw i am using eevee engine

If you want to do it all with a shader, you could do something like this. All I did was make some vertical stripes with a Wave texture (I isolated the X and Y and normalized them so there would be 2 "banks" of LED's). All I did after that was make a mask for where the lights will go (vertically) and use that as a mix factor between a Glass Shader and an Emission shader that is colored by the "lights" I made with the Wave Texture.

If you darken the ambient lighting, you can see it lights up the glass. You can increase the light propagation by increasing the roughness of the Glass Shader slightly, you can also increase the IOR - however, the proper IOR for glass is 1.45 - too high a value, and things will start to look unrealistic, especially from certain angles. Find a balance that works best for you.
Lastly, you can increase the emission strength, but also beware that too strong a value may start to "wash out" some of the colors.


Lighting parameters to render interior architectural scene? I'm rendering some indoor architecture, and I'm having trouble with the texture color, because it changes a lot depending on the HDRI I use. I would like to know what the setup of lights is recommended for the so that the textures do not change color as much.

if you really want to go for a specific texture color tone, try setting your HDR image to a single one and then adjust the colors of your textures manually (nodes) while keeping a look on the realtime cycles viewport render. If you change the HDR of course you have to redo the process.

Another way would be to be sure your original texture's color has not been affected by colored light before you loaded it into blender.(e.g you took a photo of of your oak furniture wood while having a light turned on that has a yellowish tone and used the image as a texture, resulting in a weird appearance in your render).


Convert Grease Pencil textured strokes to SVG file in 2.8 Is there a way to export Pencil Grease strokes to SVG format in Blender 2.8?

I need to be able to do it without converting the Grease Pencil object into a curve since converting it  does not allow to keep the stroke texture.

If this is not possible, is there at least a method to render the Grease Pencil on a transparent background?

is there at least a method to render the Grease Pencil on a transparent background?

There is an entry in the Context-Render panel named "Film". Open it and set a hook at "Transparent".


How do I create a property in a panel to edit particle systems? I have been trying to create a panel that has a particle system's modifiers, but I do not know how to call the particle system in the panel and I do not know how to get the properties. I tried following the answer on Modifiers: add and set "live" parameters then apply via python.

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

    obj = context.object

    row = layout.row()
    row.label(text = "Basic", icon = 'WORLD_DATA')

    row = layout.row()
    row.prop(obj.modifiers['Particles'], "count")

It would be something like:

particles = obj.modifiers.get("ParticleSystem 1")
if particles:
    row = layout.row()
    row.prop(particles.particle_system.settings, "count")

or

particles = obj.particle_systems.get('ParticleSystem')
if particles:
    row = layout.row()
    row.prop(particles.settings, "count")


Revert mouse pointer/cursor back to default after a modal operation When I execute an operator that changes mouse pointer with cursor_set("WAIT") from Toolshelf and keep the mouse pointer over the Toolshelf, the mouse pointer stays as WAIT after the modal operation has finished. When the mouse is then moved over to the viewport region, it reverts to default.
If the mouse is moved over to the viewport region during the operation, the mouse pointer will revert as soon the operation finishes.

If I add bpy.context.window.cursor_set('DEFAULT') before returning, the mouse pointer will immediately revert to default, of course.

Is there a way to revert the mouse pointer to default over the Toolshelf after the modal operator finishes?

(It is not just modal operators, same thing applies to Blender's "internal" operations that sometimes take long time and "run in background", like setting a modifier's show_viewport option to True.)

Example code:

import bpy
from bpy.types import Operator, Panel

class MyOperator(Operator):
    """This is my operator"""
    bl_idname = "my.operator"
    bl_label = "My Operator"

    def execute(self, context):
        context.window.cursor_set("WAIT")
        bpy.ops.transform.translate('INVOKE_DEFAULT')
        return {'FINISHED'}

class MyTestPanel(Panel):
    bl_idname = "mytestpanel"
    bl_category = "My Stuff"
    bl_label = "My Test Panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_context = "objectmode"

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)
        col.label(text="My operator:")
        col.operator("my.operator", text="Run my operator")

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

In the good old tradition I'll answer my own question. :)

Updated (fixed issues explained in my other question)!

The solution is to use a modal operator invoked before invoking the built-in operator.

I'm not an expert in this, but what appears to be happening is that the operators are invoked "on top of each other" so the user first deals with the last one invoked - and the first one (here my.cursorsetdefaultmodal) finishes after the second one (here transform.translate) finishes.

To make this work without hiccups in all cases, however, the modal operator must use a timer to, apparently, allow enough time for Blender to process all mouse events properly. Without the timer it will work only when invoked from a property update function, not from an operator (see why in that other question).

The bonus is that this also works for long Blender's "internal" operations (those "running in background" but still blocking Blender UI, like setting a modifier's show_viewport option to True) even though they are not really modal.
I found out that Blender will run modal() at most once before it starts working on the long internal operation - and it will continue running modal() again after the long operation has finished.

Example code:

import bpy
from bpy.types import Operator, Panel

class CursorSetDefaultModal(Operator):
    bl_idname = "my.cursorsetdefaultmodal"
    bl_label = "CursorSetDefaultModal Operator"

    timer = None

    def invoke(self, context, event):
        self.timer = context.window_manager.event_timer_add(0.1, context.window)
        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def modal(self, context, event):
        if event.type == 'TIMER':
            context.window_manager.event_timer_remove(self.timer)
            context.window.cursor_set("DEFAULT")
            return {'FINISHED'}
        return {'PASS_THROUGH'}

class MyOperator(Operator):
    """This is my operator"""
    bl_idname = "my.operator"
    bl_label = "My Operator"

    def execute(self, context):
        context.window.cursor_set("WAIT")
        bpy.ops.my.cursorsetdefaultmodal('INVOKE_DEFAULT')
        bpy.ops.transform.translate('INVOKE_DEFAULT')
        return {'FINISHED'}

class MyTestPanel(Panel):
    bl_idname = "mytestpanel"
    bl_category = "My Stuff"
    bl_label = "My Test Panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_context = "objectmode"

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)
        col.label(text="My operator:")
        col.operator("my.operator", text="Run my operator")

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()


Object shows up pink even when selecting and adding material? Im very new to blender and was following this tutorial.

I downloaded the guy's start file to start editing; I had to download the .blend file and textures separately. I don't necessarily want/need to apply the texture, however, without it, no matter what I do, my object shows up pink:

I have tried selecting all faces in Edit Mode or even just 1 face, creating a simple green material and assigning it as in this tutorial, but the material is not applied.

How can I make the object not pink anymore? How can I assign a material or texture?

It's showing up pink because you're actually viewing this model in texture mode, as indicated by this icon.

You can reassign the texture image in the Texture panel, or see the name of the missing image in File->External Data->Report Missing Files.


Image Texture Node Output Can someone kindly explain the difference between color and alpha output from the image texture node? I can't really find any useful information in understanding the difference between these two. Thank You So Much.

Alpha datas are useful when you want to give transparency to an area of your material.

In the case of the Image Texture Alpha output, let say you have a PNG with a transparent background (0% alpha). Plug the Image Texture's Alpha output into the Alpha socket of the Principled (or into the Factor of a Mix Shader between a Diffuse and a Transparent shader), the alpha of your image will be recognized as the area that needs to be transparent.


Select every other edge (they share a common vertex) Is it possible to select every other edge in this situation? (see image)

I searched the forums for an answer and read through them, but I couldn't find a similar situation. The Checker Deselect doesn't work, I guess because they all connect to a single vert.

Use  vertex select mode as indicated by the yellow arrow. Select the perimeter circle by any means including

Alt Click

Checker deselect every other one
Last select the center
If desired switch to edge select mode as indicated by the yellow arrow below
You may also consider saving your selection with vertex groups


Select all bones on one click? How to select all bones by one click for recored. can blender do that ?

Press A, then all you have to do is press I on frame one. That would set all the starting positions for the skeletons.


Cutting centered hole in mirrored object with subsurf My problem, as you can see on the image below, is basically that the subsurf interpolation of the centered hole in that mirrored plane does not transform into a circle as intended.

I know that this is completely correct, since it just takes into account the additional vertex on the mirror axis, but is there any clever way to fix or work around this except fiddling around with the vertices manually?

A quad won't give you a real circle anyway. If you look at your example, the outer holes are still bulging a little in the corners. That's due to the algorithm and can't be helped. Six or 8 sides are much more precise. So, since you have 4 (6 with mirroring) verts in the middle, turn it into a hexagon or use 8 to have a nice clean result. Depending on what you want to do with the hole, an additional facering around the holes can be helpful as well as makeing a nice and undistorted bevel later.


Object Solve option not avaliable I'm trying to do object tracking using Blender 2.71. In a youtube video the guy simply clicks "Object Motion" in the Solve tab.

His Screen:

My screen:

But I can't find this option.

Can anyone help me please?

By default, motion tracking is set up to solve camera motion.

To enable object solving mode you need to click on the plus sign of the Objects Tab on the right side of the screen (if it's not visible press N)

and select Object.

Now Solve Object Motion is enabled.


Saturation as a VSE Strip Modifier In the VSE, there's color balance, curves, hue correction, mask and Brightness/contrast as strip modifiers.
But saturation is a normal value of the strip. This makes it impossible to apply saturation via masks.
Is there a plugin that fixes that or a way to add saturation as a modifier or a apply a mask to it some other way?
Kind of annoying. it's not preventing me from achieving anything great or important, but I'm sure it's more pressing to someone!

Use a Hue Correct modifier to the strip, this modifier can use a mask and lets you adjust the hue, saturation and/or value of the strip.

By default the modifier has nine points across the spectrum so you can adjust specific colours, by selecting each internal point and clicking the X just above the curve editor you can have two points to get an even adjustment through the hues.


Will a book for blender 2.62 work for blender 2.78? Will a book for blender 2.62 work for blender 2.78?
Do the updates from 2.62 to 2.78 make the out of version books obsolete and
not worth studying?
Thank you.
Kathy

Most of the features and commands in 2.62 remain the same in 2.78.  None of the most important features have changed drastically.  Even for the features that have changed, the concepts and terminology used in the book should still be the same, and you should be able to find the new way to do it by a quick internet search.

Blender is remarkable in how backwards compatible it is, and how it doesn't change artists' workflow drastically from release to release.  The last major change was between 2.4 and 2.5, and even so almost all of the features remained close to the same from the artist's perspective.

I remember learning Blender 2.6 with a book intended for 2.49.  99% of the book still worked in the new version, and for the remaining 1% I could Google the new way to do it.


When I move a body part the mirrored body part moves too I added rigs to my body and, when I move the arm, the other one moves too, but the other one's bones stay in the same way. What can I do?

it will happen , because mirror objects should move just like the real life


Uneven shading in render but not preview (Cycles) I am working on an animation of a product in blender using the Cycles renderer. The preview looks good, but the render shows uneven shading in an area. The only reason I can figure for that area looking different is there are a lot of very small polygons together. That being said, I don't know why the preview wouldn't show an issue.

What setting(s) could cause this kind of behavior?

EDIT: Solution

For future reference, I selected the problematic polygons using the Select Flat Face tool and then used the Remove Doubles tool. I tweaked the tolerance to keep sufficient detail and remove unneeded complexity.

Thank you to LukeD!

I'm sorry I can't release the blend file because it includes design files that will not be made public.

I have checked and doublechecked that the "Viewport Visibility" and "Restrict Render" settings are the same for all the objects. I have reproduced the problem at multiple resolutions and number of samples.

Here are the render settings.

Thank you for your help.

I've had this problem couple of times. I can't find in Blender manual anything about differences between preview and render but as far as I saw it preview isn't accurate like the final render.

In your case clearly geometry causes this shading (as in mine cases). For me only solution was to clean it up.

First of all try to remove doubles but if you want to make it 100% right you will need to retopologize this model.


jagged edges in glith animation I want to get the glitch effect in the animation, everything comes out, but there is one problem. The edges of the animation are jagged, I would like to get a uniform white background.

Blender file:

File

If the image gets distorted and is smaller at the end than at the beginning the transparent background appears. To fix this I just added the background where there was none..


How to merge objects and keep the interior hollow Below is an example of a rectangle and 3 cylinders overlapping each other.  Is there an automated (simple/quick) way to join them so that the interior is a hollow structure?

Your answer is the addon "BoolTool"

You can download the addon here https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Object/BoolTool

Ok the Steps the steps...

1 Created multiple objects and set them up to intersect.
2 Select all the object.
3 Hit T to Open the booltool panel on the tool panel in the 3d viewport.
4 There are 3 section Brush/Direct/Draw.
5 Under Direct. Select "Union"

That's all to it.


is it possible to Undo Texture Bake? accidentally baked blank texture onto almost finished texture, bake mode: textures, Blender Renderer.

doing that to get bigger margins because texture brush's bleed is either too much or not enough. usually i save work in progress, but this was an easy piece, so i skipped that step. not a big deal in losing it, but i'm still curious if it's possible to Undo a bake like it's possible to undo brush strokes or most other actions

Simple answer is No if you haven't already saved the last image to disk - a generated image texture that is being used to bake doesn't save automatically, so if you rest to bake again without saving previous results, it will not come back if you escape and undo.


How to add a photograph to a scene and render it realistically? I have basic knowledge of Blender, and I use it to render geometric primitives, such as a collection of cubes with different materials.

Now I have a scene with cubes and spheres on a plane (pretty basic) on which I'd like to put a "real object" of which I have a photograph only. This object is for instance a car. I don't have its 3D model, I can only cut it from the photograph.

I would like to incorporate that object in the Blender scene (for example: the car in front of the cube) and render it as realistic as possible. The object is photographed with the right perspective, i.e. from roughly the same angle as it is going to be put in the scene. I do not have big requirements such as reflections.

How can I do it? Is there a general approach?

I am aware of the fact that this is not really the conventional approach. I didn't try pasting the image on the rendered image in Photoshop, but I guess that won't really work.

For further information: I can take new photographs of the objects, and I have control over lighting.

Here I'm going to add this image of the Blender logo:

Once you get it rendering on a plane, modify the material in the node editor to something like this:


Cannot increase Samples past 1 In my quest to improve rendering times with Cycles I managed to break my file (I think).
Now, when I enter (or slide the cursor) an e.g. 12 value in the Samples box, I get the following message:
bpy.context.scene.cycles.samples = 1
Can't edit driven number value, see graph editor for the driver setup.

Choosing a preset from Sampling Presets doesn't reset the sample value.

I've even tried to open the Python console and set it from there, but it still doesn't change the UI, nor the actual render.
Consequently nothing (visible) renders with a sample of 1.

Any pointers on how to revert my rendering samples much appreciated.

Remove Drivers

You may have somehow added a driver to that value (e.g typing #frame in the field).

  Drivers can use properties, numbers, transformations, and scripts, to control the values of properties.

By assinging a driver to the Samples quantity, you are basically telling Blender to pick the value from somwhere else (e.g. scripted expressions,...).The manual inputs will be overrided till the driver is present.

To delete a driver, right click on the field and choose the option from the pop-up menù.


Is it possible to create a modal operator with a modal keymap in Python? Creating a modal operator is not an issue, but hard-coding the user tools, interactions, and other events is quite cumbersome and not flexible for the user.

Is there a way to check against modal keymap properties within a modal operator through Python?

For example, in my modal I let users select elements with one of the mouse buttons. This is fine for most users but it becomes problematic if a user changes their selection mouse defaults (as an example).

I know how to create a modal keymap, like so:

kc = bpy.context.window_manager.keyconfigs.addon

# Create the mode switch menu hotkey
km = kc.keymaps.new(name='3D View', space_type='VIEW_3D')
kmi = km.keymap_items.new('wm.call_menu', 'V', 'PRESS', ctrl=True, shift=True)
kmi.properties.name = 'object.menu_name'
kmi.active = True

km = kc.keymaps.new('Addon Modal Keymap', space_type='EMPTY', region_type='WINDOW', modal=True)

kmi = km.keymap_items.new_modal('SELECTION', 'LEFTMOUSE', 'PRESS', any=True)
kmi = km.keymap_items.new_modal('REMOVE', 'X', 'PRESS')

But how do I check against these keymaps in the event system? Normally I would just hard-code it by checking for the event type, but this is not flexible.

I don't know how to use modal keymaps, but it is quite easy to write such an event system on your own.

Here is how I would do it now (I just wrote this the first time, so maybe I forgot something):

at first we need 2 classes to store the keymap information:

class EventCollection:
    def __init__(self):
        self.events = {}

    def new_event(self, name, event_settings):
        self.events[name] = event_settings

    # assumes that only one event can happen at the same time
    def get_matching_event_name(self, event):
        names = self.get_matching_event_names(event)
        if len(names) > 0:
            return names[0]
        return None

    def get_matching_event_names(self, event):
        return [name for name, description in self.events.items() if description.fits_event(event)]

class EventSettings:
    def __init__(self, event_type, event_value, shift = False, ctrl = False, alt = False):
        self.type = event_type
        self.value = event_value
        self.shift = shift
        self.ctrl = ctrl
        self.alt = alt

    def fits_event(self, event):
        return event.type == self.type and \
                event.value == self.value and \
                event.shift == self.shift and \
                event.ctrl == self.ctrl and \
                event.alt == self.alt

Here is how you can use these two classes in a modal operator

class TestKeymap(bpy.types.Operator):
    bl_idname = "my.modal_operator"
    bl_label = "label"
    bl_description = ""
    bl_options = {"REGISTER"}

    @classmethod
    def poll(cls, context):
        return True

    def modal(self, context, event):

        name = self.events.get_matching_event_name(event)
        if name == "my event":
            print("hey")
        if name == "select":
            print("select")

        if event.type == "ESC":
            return {"CANCELLED"}

        return {"RUNNING_MODAL"}

    def invoke(self, context, event):
        context.window_manager.modal_handler_add(self)

        e1 = EventSettings("A", "PRESS", ctrl = True)

        select_type = context.user_preferences.inputs.select_mouse
        if select_type == "RIGHT": event_type = "RIGHTMOUSE"
        else: event_type = "LEFTMOUSE"
        e2 = EventSettings(event_type, "PRESS")

        self.events = EventCollection()
        self.events.new_event("my event", e1)
        self.events.new_event("select", e2)

        return {"RUNNING_MODAL"}

I think this is mostly self-explanatory, so I won't go over it in detail.
Basicly you create an EventCollection when you invoke the operator. This makes sure that it is always up to date to latest changes in userprefs.

In this example I create two events (like KeyMapItems in normal keymaps). The one is very simple and the second one shows how to mimic the selection method. It checks wether you normally select with left or right and creates a corresponding EventSettings instance.
You may rename these classes

In the modal-function you can always check if the current event matches one of the predefined ones.

This makes the system very flexible and easy to extend/change.

Is that a bit like what you wanted?


Slide Edge Loop along Sphere's Edge I am new to Blender. I am taking a class, and in the class the professor was demonstrating how one might start to model a Tie Fighter from Star Wars. So, using the reference images that he showed in class, I decided to see if I could make some headway. So, I start with a sphere (I believe it was a UV-sphere if that makes a difference). I scaled it so that it roughly fit the size of  the reference photo. I'm looking at the reference photo, and I see that the line edge loop at the top of the sphere is not quite close enough to where I would like. So, I try to scale, transform, move, and rotate the edge loop. However, all of those options seem to deform the shape of the sphere.
I want to move the edge loop along the shape of the sphere, in order to maintain the sphere shape, but allow me to start matching the image in the reference photo more closely. In the image, the black arrow points to the edge loop, and the red arrow points to where I want the edge loop to move along the sphere.
Now, I understand that I could painstakingly manipulate each line, or vertex. And I thought of creating a new Loop Cut in that position, but I would still need to move all the other current edge loops in to the positions I want them to be. Another thing I have tried is selecting the edge loop moving it, and then scaling it accordingly. This takes about three to four iterations, and I will still have to go back and make sure that each vertex on the edge is in the right spot.
The second image is what I would like to approximate without having to move each line or vertex manually. As I hope you can see that it more closely matches the reference photo.
I am not currently trying to get into the programming aspect of Blender.

To move an edge along an object without deforming the geometry (too much), with the edge selected, press keyboard shortcut G + G to perform an Edge Slide:


How to make a procedural planet material with varied roughness of land and water in Cycles with Blender 2.8? I am trying to make a Earth-like planet in Blender 2.8.
I will try to explain my question with details if possible.
Here is the shader I am using in text form:

[Noise Texture]|Fac|>|Fac|[Color Ramp]>|Base Color|[Principlied]|BSDF|>|surface|[Material Output]

There are green and blue colors in the Color Ramp.

The thing I want to do is:

low roughness on blue color

high roughness on green color

The water needs to be like this:

The ground needs to be like this:

If you still do not understand, I want my planet to have reflective water, and a solid ground that are made with noise texture and color ramp.

Take the factor node output of the noise texture and feed it into a color ramp object. Take the color output of the color ramp and feed it to roughness of the principled shader. Use the color ramp object to create a sharp gradient that cuts off at the same point as your land.  You can use the same color ramp to set a lot of different properties, granting you sophisticated control over land vs sea.

You can use a more complicated ramp to vary the land behavior vs altitude and other subtle shading effects.


How do you add a vertex to a shape? How do you add a vertex to say, a cube,
one that you can adjust the shape with?

Enter Edit Mode by pressing Tab with the object selected. Then, press 1 to enter vertex selection mode. Select any vertex, then press E to extrude. This will add another vertex that you can play with.

Since you'll probably want to connect that vertex back to the mesh somehow, you can fill in space between two vertices by first selecting them both (hold Shift while selecting to do that), then pressing F. This will add an edge between them.

If you want to fill in a face (in the case that you have a wireframe but no face), press 2 to enter Edge Select mode, select the surrounding edges of the shape, and press F.


Getting wires displayed in OpenGL MeasureIt render I'm trying to get a "CAD-like" 2D render of a model in Blender (2.79, sorry old OSX version so can't upgrade) using MeasureIt for dimensions. Some dimensions are to edges within faces.
I've managed to get the OpenGL render to display the wires for the internal edges, but they are removed when I do a MeasureIt OpenGL render. Any ideas how to get them back?
The Viewport (see 'Render' button on the left):

The OpenGL render:

The MeasureIt OpenGL render:

I managed to find a solution:

Switch to Wireframe mode
Enable World Background in the Viewport Display options
Monkey around with the Environment Image/Colour in the Node Editor, World mode

Gives me this - MeasureIt OpenGL render:


How do I add a panel to Object Properties? I'm creating an add-on with a custom object. When I select the object, I'd like to be able to edit some custom properties of the object with a small panel. I'd prefer to put it in the object properties menu, here:

How do I go about creating and adding a panel here?

To create a custom panel you subclass bpy.types.Panel and set the space, region and context to suit. Setting the space and region to PROPERTIES and WINDOW will place the panel within the properties. Without a context it will show in every section, object will place it only in the object properties.

class testPanel(bpy.types.Panel):
    bl_label = "Test Panel"
    bl_idname = "OBJECT_PT_tester"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = 'object'

    def draw(self, context):
        row = self.layout.row()
        row.label(text='stuff here')


Duplicate meta-Ball with Animation Nodes I set my AN settings on a meta-ball to 20 instances to create something similar to a little brainy blob in motion.

I'd like to duplicate it many times, like an array that includes the animation. Is this possible? The Array is not available, I know that we can convert the animations from nodes to keyframes but I need some help with that.

so i had a look yesterday to your answer and .gif explanations. In my case i have this type of node for my brain (https://www.youtube.com/watch?v=dva0u9MPb_A)

Here is my AN settings :

As you understood so well, my goal is to have 2 rows of 10 women front to front. The problem is that from your first screen gif to the 2nd on, the "Object transform Output" node disapears an when i delete mine for the "Object Matrice Output" node, i have no satisfying results. I have another node too, to control my meta-balls. I had multiples try, but it gets complicated for me, even if i know that i'm not far from the solution by your help of course.

Lets say you have an animation of wiggled balls like this:

If you want to instance this animation 10 times, compose matrices from their transforms and replicate them based on the transformations of the second-level instances using the Replicate Matrices node. You should, of course, increase the amount of instances from $n$ to to $10\cdot n$ as follows:


Cloth Physics hung on pole? I am trying to render a physics cloth of a flag. But I don't want to pin it to two points/an edge... I  want it to be wrapped around the pole. In reference to the image I have uploaded: The fabric is to be folded over near one side and stitched to itself about 2" in along the edge and one top edge. This would allow a dowel to fit into the "sleeve". How can I do this in blender so that I can render it on a pole? I tried to but it doesn't work properly.

I made the dowel an AddPassive in Rigid Body Tools and the flag a Cloth in Physics. They don't intersect.

I also would like to know how I can better make the sleeve rather than making a tube.

Thanks!

I don't think subdivision and self-collision matters much, even the model size (just don't make them extremely tiny). In fact, subdivision generates even worse artifacts in some cases.

For the "exploding" issue, what matters much is the Distance parameter in Cloth Collision panel for cloth object, and the Outer parameter in Collision panel for the collision object. When the initial gap between the two objects are relatively small, you need to tweak these two parameters specifically so that they will not become "procedually intersecting" before running simulation.

Of course, subdivision will lead to much better result, as long as key parameters like above can be taken good care of. But it doesn't mean other things are trivial. For example, don't forget to apply Scale for object when doing so.

Example File


How do I apply a simple armature that I made to a model? I have a simple model that I want to animate for a short film. How do I attach an armature to a model? I want to be able to move the armature, which will control the model, and pose the model for animation.

In object mode right click the model than right click the armature with Shift after selecting both the model and the armature set the parent by Ctrl-p and choose the option with automatic weights.

object mode

Finally you can change the armature in pose mode and the model will deform.

object mode

To change the weights (how much a region of the model is influenced by the position of a particular bone) you can enter the weight paint mode and use the brushes to assign different weights.

For rigging a human character you should learn about Rigify which must be enabled in the user preferences / addons section.

weight paint  mode


How do I move only selected meshes? I am currently modeling a type of gun known as the Scar-L. I am having trouble with this though, I extruded a piece out that will later connect to the magazine.

As you can see, I want the selected orange lines to scale, based on the y axis, down to reach the blue lines. I have tried this by selecting the sides faces, pressing s, then y, but it will stretch. Like shown in this picture:

I am trying to figure out how to avoid that and only scale inwards the selected meshes and not the entire thing. Any help would be appreciated! :D

If I understand correctly, Please try this:

Select your source faces:

Hit E and S (E for extrude and S for scale) and drag mouse inside to scale

You will get some thing like this:

You also lock the scale to y if you like by hitting Y after S
Final command will be E and S and Y

Best of luck :)


Is it possible to move grease pencil drawings in 3D? I drew the following picture with grease pencil:

Is it possible to move these crosses up in Z dimension?
I can't seem to select any of them.

Click on enable editing and you will be able to grab and move them like any vertex.


Extruding only extrudes in 1 direction I am trying to extrude the center of a barrel.

The model on the left side shows what it should look like.
The model on the right side shows how it goes wrong for me.
I would like to extrude to all sides so that it looks like the left image.
However, it only extrudes to one direction.

I have also tried "e" and Alt + s, but that also gives me a weird result:

How can I extrude to all sides?

Thank you.


Can you skip frames with no animation? I have 1800 frames of animation to render for a school project thing, of which only 1/4 of it has animation. I have 7 more days and my computer just doesn't have the strength to do all of the 1800 frames in that time.

Can you skip frames that have no animation? Because that would really help me if there were only around 400 frames to render.

This is different than the other one because those answers weren't Windows compatible. Also, is there a way to only render 1 frame, then only a section on that frame onwards? I have what is technically a still image for ~800 frames, but only a small section is moving, is there a way to render the whole image, then only render and then use that image for 800 frames but only re render a small part of the 800 frames every frame... I didn't know how to word that right but I hope you get what I mean

You can skip frames where nothing changes.

Probably the simplest, is to manually render out different sections of the animations. It works by splitting the different parts into sections, and you render out each of these sections individually.

You do this by setting the start and end frame to match the parts of the animation you want to render, and then pressing animation, making sure that you have it outputting to the correct folder. You then repeat the process. With the parts that aren't animated at all, just render by pressing the render button, or by setting the start and end frame settings to be the same frame (making them only render that frame).

You then need to import everything into a video editor and stretch out the frames that where rendered as a single image instead of an animation.


Casting shadows of clouds from HDR? I'm wondering if it's possible to cast shadows from clouds that are on the HDR?

Otherwise it looks kinda odd with big scenes, where everything is evenly lit.

Thanks for your time

Yes, it is possible. An hdr environment texture is actually just like a sphere with a texture and emission shader assigned to it (kind of). And of course, you are standing in it. So if you have a solid black environment  texture (hdr or not), there will be no light in the rendered scene.

So to get shadows on the ground, you would have to have an environment texture with some darker areas that don't emmitt so much light. But I think that it would be easier to just put a plane that would cause a shadow where clouds are.

Something like this would do:


How can I shift the orthographic camera view over large (>10) distances? Orthographic cameras in Blender have the shift_x, shift_y settings:

But these are limited to the value range [-10., 10.]. How can I achieve the same effect as orthographic shift when I need the shift to have magnitude >10?

I eventually solved this by directly computing a basis for the orthographic plane myself, and moving the camera along the basis vectors as desired. This was relatively easy, thanks to https://docs.blender.org/api/current/bpy.types.Camera.html?highlight=view_frame#bpy.types.Camera.view_frame. For a given camera object cam, I did this by identifying the pair of top-most and left-most vertices in Camera.data.view_frame(), converting these back to world coordinates with Camera.matrix_world, and taking differences to get two orthogonal vectors which correspond to the local X/Y directions in the orthographic plane, but can be manipulated in world-space:
    top_frame_verts = sorted(cam.data.view_frame(), key=lambda v: v.y)[2:]
    left_frame_verts = sorted(cam.data.view_frame(), key=lambda v: v.x)[2:]
    x_axis = cam.matrix_world @ top_frame_verts[1] - cam.matrix_world @ top_frame_verts[0]
    y_axis = cam.matrix_world @ left_frame_verts[1] - cam.matrix_world @ left_frame_verts[0]

I then moved the camera like:
    cam.location -= x_axis * MagnitudeToShiftInX
    cam.location -= y_axis * MagnitudeToShiftInY

These vectors have the further property that setting MagnitudeToShiftInX = 1.0 makes an orthographic camera moved like cam.location -= x_axis * MagnitudeToShiftInX shift a single "camera box" in the indicated direction, so that the new camera frame will just barely border the old camera frame after this translation. That is, they are normalized to the size of the orthographic camera bounding box.


"Extrude Faces Along Normals" works exactly as "Extrude Faces" I have a sphere like this:

When I press Alt+E and Extrude Faces, it works like:

As I'd expect of it. However, when I 'Extrude Faces Along Normals', it works like:

...and I can't tell the difference. What I expected `Extrude Faces Along Normals" to do is something like:

But I can't figure out how to achieve this effect.

EDIT:

I tried the 'Extrude Along Normals' tool on Tool Bar. As you can see in the picture, no luck for this one either.

Make sure your pivot point is set to median.
Otherwise it won't work as expected.


How can I "unsplit" (ie reconnect) vertices that I split (not separated) from mesh in edit mode? Hopefully I can upload this video to show what I mean.
I add a cube, go into edit mode, extrude a bit. Use Y to split some of the mesh.
Move the split part away a bit. Then move the split part back.
Now I want to reconnect the split part to the main mesh.

So here I am not talking about two objects at all. It's all one object.
I am not talking about separating part of the mesh to new object.
I do not refer here to merging vertices either.
I mean the opposite of splitting. And I do not mean joining two objects.

Maybe there is a simple way I am overlooking.
Maybe Face> Intersect (Boolean)> Union?
Maybe Edge Loops added in exactly the right places, then merge by distance?

Here's where I'm asking if there's an easy way to sort of
"unsplit" some vertices that I had previously split (Y) from a mesh
while in edit mode.

Thanks for any ideas.

Note:I could not find a way to upload a nice little video to show what I mean, so here's at least a picture.

Edit_1:

Thanks for you ideas. In a bit more complex situation with the mesh, as this gif shows, how would one reconnect, or merge these two "unlinked" ? "islands" ? of vetices? Note that L selects linked vertices, so here I have some "unlinked" vertices. so my question is, how to get them back linked together so that L will select them all? Thanks for any other ideas to try. This is my first attempt to make and upload a gif to show what I mean.

I think you are overcomplicating it way too much. If you only want the shape that you uploaded a picture of, it can be done in just 2 steps:

1: Inset the top face of the cube by pressing I.

2: Extrude the inset face up by pressing E.


Translating or extruding in inches How can I translate or extrude something in inches? If I hit E or G then type a value, it's taken as feet, and if I try to type in ", it's simply ignored.

I live in metric land, but I do understand imperial units quite well. I usually don't bother setting Blender to anything but the default BU; I simply take 1 BU as 1 m.

Now I'm trying to model something whose measurements are defined in feet and inches (a pool table with several randomly placed balls). I see several workarounds to the above problem.

Model in BU and scale down properly once I'm done.
Take 1 BU = 1".
Convert the measurements (or use the converted measurements from the WPA site), and model by the conversions.

However, I want to model it directly in feet and inches. If nothing else, I might learn something new: working with imperial units in Blender.

A bit of googling lead me to Metric & Imperial Units in Blender.

@DemonFate's answer, made me try manually setting the scale to 0.0254, which is 1 inch expressed in metres. I assumed the scale was a conversion from BU to whatever unit I wanted. But from the link above, I realised that when Blender is set to Imperial, the scale is a conversion from feet to whatever unit I want. Hence setting it to 0.08333 does the trick. To get the best precision, type in 1/12 and hit Enter, and Blender is smart enough to calculate it.

There are drawbacks, but I can live with them. The Scale and Location values in the Object tab and in the Properties panel now increments in thou, and all values typed in manually when grabbing or extruding are now taken as inches.


Duplicate object in different sizes My goal is to make a field of grass in blender. I have one "blade of grass".

I want to duplicate it 100 times, and make each element a different size.

How can I do this?

Greeting Pat

for a better view i upload screenshot for blender.

You can use:

1) Hair Particle system

Just set random size to 1 as in the picture below

2) 2D Arrays & Randomize transform

Duplicate the object 10x10 times

Than apply modifers, enter edit mode, spilt by loose parts.

Now you'll have 100 different objects. Run the command Randomize Transform and set the XYZ Pos, Rot, Scale variance factors and the seed.

Obiuvsly the first method gives you the opportunity to change the base object at anytime, so it usually preferred.

3) Random Object Array add-on

It's an add you can find on Blender Market (so it's not free). As stated by the author:

  A particle system is great for hair, particles, fur, even grass. But it can become an obstacle for other purposes. Compared to a particle system, the Random Object Array add-on offers much more control over random values like rotation, position, scale.

Here's a video about it:

https://youtu.be/ugaEllRttAk?t=8m13s


Can I transfer an already made UV to another object? I've got two objects that are exactly the same, but with different UVs, is there any way to transfer the UV from one to another?

You can select the two objects, and link their UV maps.

Select the "target" object
Select the "source" object (this needs to be the active object)
CtrlL, "Transfer UV maps"


How to change component selection type in edit mode in Blender 2.8 alpha? Anyone know what happened to the Ctrl+Tab shortcut? Usually when in object mode it switches to weight paint mode, and when in edit mode it offers a menu called "mesh select mode" to choose between vertex, edge, or face selection.

That used to work fine on last weeks builds of 2.8, but today I've downloaded the new build and now Ctrl+Tab only shows a menu to change between "object interaction mode" (object mode, weight paint, sculpting, etc..).

Note: Tried exporting the key configuration file from a previous build where this was working, but that didn't fix the problem.

First of, Blender 2.8 is in development. It's an unfinished alpha product constantly changing hour after hour. So if you're not prepared to constantly change with it, you should wait for the 2.80 release.

For now, the default keymap is one of the things currently being worked on. You can follow the advancement  on the tracker here. There is also a list of shortcut being made here.

The previous component menu seems to be gone for now. Though you can use 123 to switch between each of them.


Sunbeams! But without blurring of the rest of the scene? I have a scene, rendered in Eevee!

I also have some sun rays, with a spotlight and cube that provides volumetrics!

But... The cube providing volumetric also makes the rest of the scene really blurry.

I would like the sun beams to shine while keeping the rest of the scene clear. The following is a hasily photoshopped picture of what I would like to achieve:

Or, to use a picture from the internet, something like this:

The above picture, taken from the internet, uses the sun beams node. However, it is not possible for me to use a composited sun beams node, as the sun beams are originating from a light source that is off-camera.

In summary:
I would like the exact same rays as provided by a volumetric cube, but without blurring the background. How is this possible?

Light rays coming into dark (church window) always will look better, than open foggy environment for this sun-beams.

If you want to avoid volumetrics in back part of the scene, make volumetric Cube smaller or use some texture for Density node to keep Volume Scatter in specific part of your scene.

Separate XYZ node is used instead of Mapping node just because it is still difficult for me to use it for orientation simple Gradient texture in one of main axis.

You can also render separately Volume Pass, add some contrast and composite it.


blender immediately shuts down my computer whenever cycles renders anything I haven't been able to find anything on this.
Whenever I try to render anything with cycles as the render engine, it immediately shuts down and reboots my computer, meaning it shuts down, posts, boots, etc, not a soft reset. This happens whenever I render an image, or if I have the engine set to cycles and I have the viewport set to render.
I've looked through over 50 different forum posts on this site alone, and many more on google, and found no answers. I will however provide a debug log from the last time this happened. this happens no matter what .blend file I open, even just the default cube causes this. (the log I provided is with the default cube)

TL;DR:
it was a bios setting that by default, shut down the computer when you tried to use it
full version:
I did end up finding the issue, but its what I least expected. to, in the bios on my mobo, you can control the current going through the VRM's, you can adjust it in percentage so that if it goes over a certain percentage, it'll enter a shutdown state and reset. mine was set to 35%, of the total allowed current draw, so it would shut down if it went over that. I was measuring different points on the motherboard, and I noticed that the shutdown on the VRM controller was being triggered, but there was no voltage drop, (which would mean its a power supply) so I went into bios and I found probably the most annoying default bios setting I've ever dealt with, the current shutdown limit, mentioned above.
my full setup, for anyone else having this issue:
ASUS TUF gaming+wifi x570 running the second latest bios as of 8/12/20 (all stock settings
aside from the boot order)
3900x, stock clocks with a 240mm AIO
1080ti founders edition, stock clocks
32 GB 3200MHz DDR4 corsair vengeance
Seasonic 900 watt PSU
3 HDD's, an ODD, and an M.2
running windows 10 home edition x64 fully updated as of 8/6/20
Blender version 2.83
latest Nvidia drivers as of 8/11/20
steps to create the issue:
render anything using the cycles render engine using the CPU.
steps to solve the issue:
adjust bios settings, specifically under advanced<DIGI+ VRM<current shutdown, from 35% to 100%. another thing that may have worked is flashing on the latest bios, or re-setting everything to defaults, but I don't recall changing this setting, so it may be a bug in this bios rev, IDK, but this fixed my issues. hope it helps :)
P.S.  sorry for the information overload, but I figure if anyone else has this problem, too much info is better than not enough info.


How to separate objects created using mirror modifier in Blender? I am using Blender 2.56. I created all body parts of humanoid model.

I used mirror modifier on individual body parts separately. Now I have to merg all the parts to make full body.

Now my question is I want to make changes on only left hand not on both of them.

But mirror modifier is making the changes on both at a time. I applied the mirror modifier even then when I am coming to edit mode and doing some changes both hands are getting modified.

How to separate those both hands and make them independent ?

In fact I got the solution in some other place.

To make the hands separate objects just Tab into edit mode, select all verts (A) and hit P.

Choose Separate by loose parts.

Tab into object mode and they will be two separate objects.


How to change material properties with time I'm trying to create a magic halo behind an object. For this I decided (maybe, improperly - but I'm a newbie) to use hair. So I grew up a long hair, assigned an emissive material and made its colour change with location.

But now I also want that halo to gradually change colours as the time progresses. I cannot find any time-based shaders in the nodes collection, only as a composition node - but that one is to my understanding only applicable to the whole scene animation.

First you have to set everything up and then click "I" on the color bar.
Next You have to go to the desired time where the colour change will end on the timeline. After that change the colour of the Halo. Finally click "I" on the colour bar again. This sets the selected colour to the selected time on the timeline.

Final Product:

NOTE: Example above is made in Blender Render since it takes a long time for a cycles animation, but this also works in Cycles as well.

BTW This is probably not the kind of "Halo" you are talking about, but it's a good example.


Physics not running in AV-Sync I can't figure out how to make physics run in viewport in AV-Sync. Any object that I add physics to in No-Sync is fine and they work, even if I switch to AV-Sync. But, if I switch to AV-Sync and then add a new object with physics they don't work. A simple cube with rigid body physics doesn't drop as it's supposed to. Instead it just hovers and slightly moves up and down.

The AV-Sync option changes how the timeline runs the animation - so that instead of always processing each frame, instead it will skip frames where necessary to ensure that the playback matches the 'actual' expected frame rate. This is to allow the animation to be syncronised with another time-bound source such as an audio track - where slowing down the video rate would result in the audio and video becoming out of step.

So, in order to prevent the video from lagging behind, Blender skips video frames where it has been unable to keep up - to get it back 'in step'. This does, however, mean that Blender is unable to complete the Rigid Body (and other simulation) processing for each frame and since the simulation for each frame is dependent on the immediately preceeding frame this means that the simulation cannot be completed if any frames are skipped - so the animation will stop as soon as an unbaked or uncached frame is skipped.

This means that when using the AV-Sync mode you should always use the Bake option of the Rigid Body (or other simulation) cache to ensure the simulation is fully calculated before you run the animation on the timeline.


How can you change the render format? So, i made a temple and wanted to render it. I changed the default settings of the aspect ratio ( after looking up how to do that). Everything seemed fine, but when i finally render it, the image is squashed. What did I do wrong?
this is how it should look...

and this is the squashed looking render.

You changed the aspect ratio when you shouldn't have. Change it back to the default setting (X: 1.0, Y: 1.0) and the render will turn out like the preview. Think of the setting as the aspect ratio of the individual pixels, not of the entire image.


How to inactivate a strip in Python? After I make a cross effect strip, this new strip is now referenced in:
bpy.context.scene.sequence_editor.active_strip
Then I try to make a new cross fade transition elsewhere by first setting .select as False in all sequences and then selecting two strips and adding the cross effect strip. Now I get the wrong results apparently because of the active strip. How do I inactivate the active strip?

I deselect all strips successfully via:

for s in bpy.data.scenes['Scene'].sequence_editor.sequences_all:
    s.select = False


Can right click select everything under the cursor, instead of just one thing? I'm moving some vertices of a mesh to be better aligned to a reference image:

The mesh has depth:

This involves a lot of box selection (or C):

Is there a way to configure Blender to make right click select everything under the cursor, to avoid having to do all of these box selections?

On the buttons of the bottom bar is "limit selection to visible".

Turn this off and your selection will go through and selevt everything behind the box/lasso/etc selection area


my subdiv modifier pulls the model out of shape I was following this tutorial Blender Character Modeling 2 of 10

and when I switch the subdiv modifier on and I move points about it just pulls the model out of shape, makes the surface react like weird scales and makes holes all over the place. What is my problem?

The issue you are having is caused by not connected topology, those faces are separated from the rest of the mesh. Let me illustrate:

This is how a basic plane looks with a Subdivision Surface modifier:

Notice that the edges are all rounded. Now if I extrude an edge, it will remain connected, while if I duplicate it then it is disconnected and I will need to remove doubles: