Why does this baked Ambient Occlusion have a dark patch on one of the faces? I'm baking Ambient Occlusion for a game asset. It worked on the cable part (see image and blend file). But now on the camera, on its side it makes a weird split on one face, half of the face is shaded, the other not, also other faces of the camera are not shaded. But the front of the camera is shaded. What am I doing wrong here, how to get proper AO for this camera object and fix the erroneous face?

Ok, I figured it out, it has to do with the mirror modifier. Had to turn it off temporarily (for view and render), and then everything bakes good. Then turn it back on.


Repeat a generated texture in Cycles? What is the way to multiply a texture across one axis?
Lets assume that I have a plane. How can I multiply the "Gradient" texture in the node editor (Shift A > Textures > Gradient) several times across the plane surface?
Here is what I mean -

I'm aiming for a holographic like effect so that texture will be used for something like this -

I tried using the "Mapping" node, but I still can't figure out what to do. Here's my node setup for the hologram like effect -

The results from the node setup -

My aim is to replace that texture with a "Gradient" texture. What would be the approach?

Update - Is there way of using my own created tiled texture to achieve that effect?
I tried something using the tiled texture above - http://www.pasteall.org/blend/31547
Basicly, I want the darker parts to be used by the one node group and the lighter parts to be used by the other and all in between to transition from the first to the other. Am I doing it right?

Welcome to the wonderful world of math!

(note that the top face gets a little screwed up if it's perfectly flat, but that's easy to fix just by adding or subtracting a small value before the Modulo math node)

Modulo is a math operation available in the Math node. It gives the remainder when dividing two numbers (e.g: 5 mod 2 = 1, 9 mod 3 = 0, or 2.3 mod 1.0 = 0.3).

In this case, we divide the coordinates (which range from 0.0 to 10.0, since the mapping scale is on 10) by 1.0, and thus for every whole number the math node shows black (remainder is 0.0), but as the decimal increases it'll get lighter (bigger and bigger remainders) until we reach the next whole number and it turns black again, restarting the cycle.

Since a gradient texture only changes on one axis, we only need to do the modulo operation on the X axis, but in other cases you may want to do it for the Y and Z axes as well.


Why can't I see my object when I start the game engine? I started using Blender a few days ago but I've got stuck with the camera.
I'm trying to make a simple maze game with a moving cube as character, using some tutorials and this is the result.

The selected camera you see is one I added by hand: I deleted the default one and added this with Shift+A > add camera > etc...
The problem is it doesn't render anything when I press P.

I've tried making the camera active by clicking Ctrl+0 and It seems to be active indeed, but I still get nothing at all!

Make sure it's not invisible in physics.

Make sure the normals are facing the correct direction.


How can I add Emission to the "Mortar" of a grid texture? I'm new at Blender, and so far I’ve made a simple grid:

That is how my grid looks right now, but I want the green part to emit light, I knew that emission would work well, but the input for that is a color, not a material.
Does anyone know how to make this?

If you generate your grid texture with a Brick Texture node, you can connect the Fac output to the Emission Strength input of a Principled BSDF:

Note the green glow cast on the small sphere.
If you want a more visible glow/glare around the grid itself, you could try adding some volumetric mist, or you could fake it with Bloom (in Eevee) or using a Glare node in compositing (in Cycles). Here’s an example using Bloom:

(Note that to get the indirect lighting on the sphere to work in Eevee you will need to add Light Probes and bake the lights.)


Can a custom filter read property value and use it? the built in filters has some settings, like motion blur has amount. but it' cant be assign with logic bricks.

now a custom filter, can it read a value somehow (python code wont work? or would it... like own["blur_amount"] ? )

the shaders is C code it looks like, and doesn't need to have .py extension AFAIK.

anyways, this would be so awesome, also for built in filters. so we can enable/disable and maybe script with python the transition.

Yes you can have a game property in a GLSL shader.

Here is a good read on making exactly what you want, a blur filter with a controlled blur amount from a game property (plus blend file).

From the script linked above, you can just use the property name blur_amount in the GLSL script.

Declare the var like this, then use blur_amount however you want to.

uniform float blur_amount;


Transparent objects block objects behind them when not selected In renders this the transparency works ok. But in viewport in materials view something is very broken. When I selected the transparent object the object behind it shows up ok. When I select nothing the transparent object becomes solid and blocks the other one. When I select the object behind the transparent object it stays blocked behind the transparent object.

Blend file added. When you open the file just click the different objects and see how the transparency turns on and off depending what is selected on both separate transparent objects. Render is fine but I can't work in render view.

blend: https://www108.zippyshare.com/v/gWH4KN9d/file.html

In the properties of the "glass" shader, under Settings / Viewport color, lower the Alpha value.

In the properties of every transparent object, in Object / Display, check Transparency.

Bonus : this kind of transparency also works in Solid view, not only in Material view.


Technique or Tool for uniform mesh spacing? So I have a nice circular array of identical parts (64 in total) on an engine I am building.
I need to push them all out a very small amount from the their center of origin.

Is there a tool or a technique that someone knows, or another post that might help me with this.

I need each to be spaced identically along their normals.

UPDATE:
Thanks to JackDaw, I have formulated a complete Answer for those wishing to do this in the future:

Figured it out. The Icon for only Origins, is called Manipulate Center points in 2.79b.
For people wanting to do this in the future, building on what Jackdaw said:
1. Make sure each object has it pivot where you want it to move from.
2. Make sure the cursor is in the center of the location you want to scale out from.
3. Turn on the Manipulate Center Points (Shortcut Alt+Comma)
4. Select your pivot point (located next to shading method on the bottom toolbar) use median point or 3d cursor.
5. Press S and it will move the objects from that point.

Thank you Jack Daw.

I even made a demo video because this is great to know. Thanks again.
https://youtu.be/RTndO8tfUIw

Since they are located on the same distance from the centre you should be able to use scale from 3D Cursor (placed at centre) with Only Origins set. If you need to an exact distance that will need to be calculated.

Or in Blender 2.79b


How to put together a driver with python I'm trying to write a script to create the beginnings of a music visualizer but I'm having a hard time creating drivers to do it. My basic game plan is this:

Calculate frequencies and step sizes
For each frequency step, create a cube.
Create an empty to go along with it.
Do some transformations on the cube.
Add a driver to the cube.
Link the cube's Z scale with the empty's scale using drivers.
Create a material that also uses drivers to hook into the empty's scale and use that to animate stuff.
Bake sound to empty's scale.
Rinse and repeat until all cubes/empties/materials are created.

The reason I want to use drivers is that my previous approach was to bake the sound to the cube's Z scale then I had another script that would read that information for each frame and then keyframe the cube's material. This led to pretty big file sizes. Larger than it needed to be, anyway. So this time around I figured I'd get around that by using drivers. I've been playing around in the console trying to figure it out and this is what I've got so far:

bpy.ops.mesh.primitive_cube_add(location=(.5, -.5, 0)) # Create a cube
currentcube = bpy.context.active_object # Make sure we can keep track of this cube while we're working on it.
currentcube.name="cube.001"
bpy.ops.object.empty_add(location=(.5, -.5, -1)) # Add our control-freak empty.
currentempty=bpy.context.active_object # Make sure we can keep track of this empty while we're working on it.
currentempty.name="empty.001"
currentcube.dimensions = (1, 1, 5) # Do some transformations.
bpy.ops.object.transform_apply(scale=True) # Apply the transformations.
fcurve = currentcube.driver_add("scale", 2) # Add a driver to the scaling on the Z axis.
fcurve.driver.type="AVERAGE" # Default is SCRIPTED for some reason.
drivervar = fcurve.driver.variables.new() # Create a new variable on the driver.

And it's at this point that I'm stuck. dir() and autocomplete got me this far but now it's failed me and I'm having a hard time working my way through the docs.
I know drivervar is a DriverVariable. From the docs it looks like I need to add a new DriverTarget into targets, but it's read-only.

But that's okay because while organizing my thoughts and the random code bits I had been trying in the console I found out that there's already a blank target by default at drivervar.targets[0] and it's not just an empty array like I had assumed. I would like to thank everyone here for the wonderful help and expertise I'm sure you would have provided if I hadn't discovered this on my own.

This is a general function I use in many of my scripts for adding drivers. You're welcome to implement it in your own script. It's pretty general and supports inverse relationships between properties (if one property goes up, the driven property goes down by the same amount), and also adding functions to the scripted expression (such as sin, cos, max, round, radians, etc).

def add_driver(
        source, target, prop, dataPath,
        index = -1, negative = False, func = ''
    ):
    ''' Add driver to source prop (at index), driven by target dataPath '''

    if index != -1:
        d = source.driver_add( prop, index ).driver
    else:
        d = source.driver_add( prop ).driver

    v = d.variables.new()
    v.name                 = prop
    v.targets[0].id        = target
    v.targets[0].data_path = dataPath

    d.expression = func + "(" + v.name + ")" if func else v.name
    d.expression = d.expression if not negative else "-1 * " + d.expression

You can then use it to link you empty and cube's Z scale this way for instance:

cube  = bpy.context.scene.objects['Cube']
empty = bpy.context.scene.objects['Empty']
add_driver( cube, empty, 'scale', 'scale.z', 2 )

I do have to say, though, that if you want to link the empty and the cube's scale, all you need to do is parent the cube to the empty, no driver is required.

cube.parent = empty


How to make sharp and rounded corners I'm trying all kinds of options to make sharp edges and rounded corners for an excavator arm. Apart from just using bevel, I also have tried to use "make sharp" and "edge crease", but it doesn't look nice. Any suggestion have I can improve my model with more edges and where to put them or any other approach to make rounded corners with sharp edges?

If you're modeling using subdivision, at its simplest, this sort of topology will give you a rounded corner: supporting loops close to the sharp edges, and looser on the round corner. You have a degree of control over the tightness of the corner by sliding the edges on either side of it.

[

However, if, for example, you you wanted a perfect circular arc in the corner, breaking instantly to perfectly orthogonal edges, you might choose a bevel, as suggested by atek.


God rays in viewport but not in render Trying to render a scene with a UFO with god rays coming out the bottom.
Working in Blender 2.9
In my viewport it has light
But in my render it doesn't
To get the god rays, I added a hole at the bottom of the UFO, and added a spotlight inside the UFO.
I then added a cube to surround that area, and gave it a volume scatter node like so:

My settings are:

Light Paths > Max Bounces > Volume 5 (Tried 0 and 5, nothing happened)
Increasing cube Density in the Volume Scatter node from .09 -> .15 (nothing happened)
Toggled on and off Physical Atmosphere addon (nothing happened)
Spotlight intensity: 100000 W
Spotlight radius: 1.29 M (tried reducing to 0, nothing happened)

I also tried making the surrounding cube smaller, nothing happened
My render settings are:

Cycles

My view layer settings look like this:

I found the answer. The problem was essentially what was described here: Volumetric Light not working on Cycles (but good in preview)
So what I did was I selected that cube that surrounds the scene, and I went into the object visibility properties and selected "Render" because it was unselected.


Make other controllers 'available' in pose mode? I'm rigging a character in Blender 2.91.2, and it's my first time doing this in Blender (I have some prior experience with rigging in 3ds Max).
I pretty much rigged the whole character and it's working fine.
But for the facial animation I created shape keys, and then I created controllers that affect the shape keys via drivers. These controllers are meshes, not bones. They are working pretty well, but then I realized something a little annoying: to animate the body I have to go into pose mode, but in pose mode I can't animate the facial controllers (cause they are not actually part of the armature). I can animate the facial controllers in object mode, but not the armature. It's annoying, specially since things like the jaw and brows are actually part of the armature, but other mouth controllers are not. To animate that you would have to keep going back and forth between pose mode and object mode, so that's not ideal.
I realize now I should have created the facial controllers with bones inside the armature, but I didn't realize this before.
Is there some way I can make the controllers also 'available' for animating in pose mode without having to recreate all the facial controllers with bones in the armature?

The easiest option here is to disable "Lock object modes", on the main Edit menu.  If you do this, you'll still be able to select (and manipulate) objects while in Pose mode.
If there's a reason you don't want to do that, an alternative is to parent (bone parent) your mesh controllers to new bones.  If you really want, you could even give these bones custom shapes, referencing your mesh controllers, and then hide the mesh controllers on some distant collection....


Generate square "skin" around a line for icon solidifying I'm quite new to blender/modelling, and though I have made a few successful pieces previously, I'm having an issue in generating an object for 3d printing.

I am essentially creating a series icons, made up of straight lines. Here's an example of one:

The idea is that the black lines will be basically a square rod, and all connected to make up the icon. This square rod needs to have the faces aligned with the plane the object sits on... Like this:

I've traced the icon in blender using simple vertices linked together with straight lines.

The issue I'm having now is when I try and give the shape some volume. This is a very basic and out-of-proportion idea of what I'm trying to get as a final product:

Here, I've thrown this together by extruding the points up, creating faces an then insetting them, but the icon doesn't really have any physical volume, as it has no inner side wall or bottom face. Plus, the lines are all inset, instead of being equal on both sides of the line I really need to make it so that the lines all basically have a square tube around them all.

I've heard of people using bezier curves, and then beveling the lines to add thickness. This gives me several issues.

Firstly, the bevel comes out as a diamond, rather than a square, where the faces are all at 45 degrees to the plane the object sits on:

Secondly, the lines are all different thicknesses and appear to taper along their length, which I have no idea how it happens:

Finally, the corners of the shape have open ends, and I'm hoping to make it so that the object has sharp corners.

Any help with this issue would be much appreciated.

There seems to be some sort of screwiness that goes on in the mesh when you create it from vertices. To combat this, after I traced the image using vertices, I converted it to a poly curve (Alt+C). I set the curve extrude function to "0.1".

Then I converted the curve back into a mesh (Alt+C) again, and Removed Doubles in edit mode.

When I added the Solidify modifier this time it worked perfectly as long as "Even Thickness" was checked.

Here is my finished product. The blend file is included below, feel free to use it for your project.


Procedural random/different colors based on normal direction What I have.

A simple subdivided Cube with circular holes in it - every side, six of 'em. Holes have they own material, and each of the hole has different color. Holes are completely flat.

I have managed to color them dumb way (in other words - my way) by separating XYZ and assigning pairs of colors to opposite sides. Not to shabby. It's working after all and working well, I reckon. But... Only for this particular example.

What I want.

I would want to achieve the same result (similar, but this I'll explain later), with one Color Ramp and math-node-vector-fu so the color would be assigned based on Normal direction. Randomly or not, it's not so important, as far as every hole/face group would have different color - providing same number of colors in ramp as there are holes.

And a little catch.

It would be nice if it will be possible to use it on more face groups and with different angles.

What I've tried.

To be honest. Many things. I've tried to use Normal Coordinates mixed and added and crossed with other ones. I've tried to use multiple setups from different sources regarding "different color for faces". I've multiplied the hell out of it. Nothing worked. The best try was to have 3x3 different colors (3x reds, 3x blues).

  Disclaimer: I would rather avoid Python scripting, Vertex Painting, UV
  Unwrapping, Texture Painting, assigning materials by hand for each face group and 3rd party add-ons. This whole
  question is about understanding Cycles more and pushing it to limits.

  Master build or 2.8 branch answers are welcome.

Blend file for testing:

Edit.

Result from Ed Tate answer:

Technique #1

A psuedo-random color can be assigned to a range of normals (needed if there are small variations in face normals) and stay with the object as it rotates. The normal vector for the object faces is transformed to local coordinated, then rounded, then passed through a noise texture, and finally a color ramp.

For the sample model in the question, the geometry for the lights was separated from the original mesh and simplified so the faces for the light were approximately flat. To illustrate how the colors are assigned based on normals, a sphere with random colors is shown along with the disco ball.

Solution (tested on 2.79)

Create a shader for the random face colors. The input will be the geometry node followed by the vector transform node. The vector transform node allows the object to be rotated without the normal changing (See Cycles normal input relative to object's rotation ).

Add logic to the shader to quantize the normal values for x,y, and z. The values for x,y, and z are rounded so they have a fixed number of values. The input at the bottom controls how many different levels of normal values are considered. This keeps faces that are almost flat a single color.

Changing this value changes the number of normal ranges that will result in a unique color.
For a value of 2

For a value of 10

For a value of 100

Finally, the quantized normal is input into a noise texture, then through a color ramp and to an emissions shader.

Putting it all together, the complete shader is shown below.

The geometry as shown in the question needed one change for this to work as expected. The lights mesh needed to have flat areas for the colors. The way the geometry was created, results in curvature around the edges of the lights which results in small areas with different normals. Applying this shader as-is to those areas, resulted in unwanted artifacts.

By separating this mesh and removing the modifiers, the light meshes are flat and get a single color.

An example blend file:

Technique #2

The advantage of this technique is that a texture can be used to assign the colors to the normals. A psuedo-random color can be assigned to faces with unique normals by converting the normal to spherical coordinates, then using a procedural noise texture and color ramp to set the colors.

Solution (tested on 2.79)

The key to make this work is to convert the normal for face from a vector into two angled using spherical coordinates (see Wikipedia - spherical coordinates). To do the conversion, the atan2 function is needed, but not available in 2.79, so this is done using math and the arctangent function (see atan2 in Blender).

The spherical coordinates are converted into a value between 0 and 1 by scaling using radians.

The coordinated are used as a lookup into a texture. To test the mapping the default blender UV texture is used. Using smooth shading on a sphere shows the mapping works as expected. The colors for the faces can be assigned using an image texture.

To procedurally assign the colors, a noise texture is used. The spherical coordinates are input to the noise texture. Using the default settings, the colors are not independent and blend together.

Changing the settings helps make every face's normal have a  difference color.

Finally, a color ramp can be used to control the colors assigned. Add a color ramp between the noise texture and the shader. The output of the noise texture is scaled to use all of the range of the color ramp.

The complete procedural shader for this is shown below.

Sample blend file -


Stl Files and Adding Bases I am working on a project which uses a 3D printer to print parts of the moon, and was linked this add-on to start creating my own models, I have got to this stage

but when i export the file as a stl from this point, the stl loads nothing.

Also is there a way to add a flat base to the model, so it sits smoothly when I print it

How to add a flat base:

First of all, you need to reposition your mesh so that it is horizontal. After that, select your mesh, press Shift + D, click (don't move the mouse), and drag the new mesh down along the Z-axis. Now go into Edit mode, with Tab, select everything with A, press S to scale, Z (limit scaling to Z-axis) and 0. Your mesh should be flat. Go into Object mode, select both your objects, press Ctrl + J to join objects, go into Edit mode again, select the outer edges of both surfaces with Alt + RMB, press Ctrl + E, select Bridge edge loops, and you're basically done.
The result should look a bit like this:


How can I render a composition(s) from the command line? I've never used the python console before so I only know these commands from the documentation that I've looked up. But I've read that it can be a lot faster than just pressing ctrl+F12 because it doesn't need the GUI.. or something. I looked in other places as well but my brain started to melt from this programming nightmare thing. I also have multiple scenes that needs rendering, so if I could do them one after another, it would be a plus. So if someone could show a command that let's me render my animation(s) in the compositor from the command line, it would be most appreciated!

there is already a previous question about creating render queues.

The Blender Manual also has a section about command line rendering if there are any specific commands you need to add.


Copy part of a UV sphere to rounded surface I have a project with a UV sphere and I would like to copy only part of the sphere to a rounded surface:

I have selected the vertices of the surface that interests me but I can't seem to find what is the next step to copy the selected surface to another project (if I do a simple Ctrl-C Ctrl-V then I copy the whole sphere).

Any help would be greatly appreciated,

Anthony

One method could be:

In Edit mode, with those faces selected, use SHFT + D to copy the faces followed by P  to separate the copy into a new mesh object.

Now you can edit the new object ( or copy and paste to a new scene ).


Can screen layouts or workspaces be locked? Is there a way to lock screen layouts so that when you change them while working, such as by switching editors around or resizing them, those changes don't affect the original state of the active layout?

I like Blender's versatility in allowing me to organize my workspace any way I want. I'm often doing this on the fly, but sometimes things get weird and I just want to go home. (sniffle). Only I find out that my original home (layout) doesn't exist in this scene anymore, because I've fouled it up beyond all recognition.

The only way I've found to combat this is to immediately create a new "junk" layout when I open a new scene and keep creating new "junk" layouts any time I switch to one of my default layouts. It kind of works if I remember to do it, but I usually don't, and it kind of defeats the purpose of having layouts. Any solutions or workarounds or possible scripting ideas would be much appreciated. Thanks.

Blender uses different layout screens or workspaces, all of them customizable.
While there are a number of built-in presets, those might not fit your workflow. So create different ones depending on your needs and get into the habit of using keyboard shortcuts to switch between them instead of resizing/splitting/changing modes and making a mess of the interface.
For 2.79 the shortcuts are:
CtrlLeft and CtrlRight Arrow
In 2.8 use:
CtrlPage Up and CtrlPage Down
Or use the menu:

To make your custom layout screens permanent:
Start blender.
On blender 2.79
Make new layout screens by pressing on the + sign:

Name them as something that make sense to you and re-arrange the windows to suit your needs.

Now save all of this as your startup file using CtrlU.
For 2.8
Create a new workspace by clicking on the plus sign next to the existing workspaces and select Duplicate Current.

You can rename the workspace by double clicking on the tab and typing a name that makes sense to you.

Arrange the workspace to fit your needs, then save the current project as the startup file.

From then on, every time you open blender your custom layouts will be loaded.
Alternatively, if you don't want to make permanent layout screens, just create a duplicate of your default layout and work on that one. That way you can go back to the original when you need.
If you moved things around and don't have a default layout screen to go back to, you can save your file, quit blender and re-open it making sure you don't load the User Interface (un-check the Load UI box). The file will then open using the default startup file's layout.


Sculpting Lag and Freezing I recently saw the sculpt January and decided to try out sculpting in blender, which I usually use for hard surface modelling with subsurfs. I saw people using Dyntopo, so i enabled it but whenever I get to a level of detail like 100000 polys the viewport lags hard. My cursor still moves, but the red circle freezes as it tries to follow it, making a slideshow, and so it draws just straight lines. Another way I can get this issue is with using a resolution of 50 constant detail with dyntopo on the basic 2x2x2 cube. It lags whenever I try to draw on it.

I'm on blender 2.79 with no addons installed. My P specs are b85-g41 PC Mate Mobo Intel i5 4460 3,2 Ghz CPU Nvidia Geforce GTX 970 3GB With 16 Gb of corsair RAM.

I have a WACOM bamboo tablet drivers, but am just testing with the mouse. I did use the tablet but it had the same problem.

I've reinstalled blender, tried older versions and tried it in steam. All to no avail. Any ideas?

See answers to question 3516

Dyntopo is increasing the density of the mesh for you as you sculpt and it is very demanding on performance at that resolution. To see this:

In Properties panel -> Object -> Display, enable Wire and Draw All
Edges.
Repeat your test of resolution 50 at constant detail on a default cube with dyntopo enabled

If you need to sculpt at this level of detail, you will have to upgrade some hardware.

Tablet vs. mouse is not relevant.


Extend strip to current position (or marker) in VSE What is the name of the action that allows you to extend a strip in the video sequence editor, that can be done by right clicking on the strip handle and dragging the mouse to the desired position?

Where would it be in a menu?

I am looking to create a keyboard shortcut that would allow me to extend a strip in the same way that Shift+S snaps the strip to the current position.

If you select start point of strip instead of full strip, Shift+S will do exactly what you want:


Why dark vignette looks posterized? I've been trying to render a scene with a dark infinite background, but when I use a vignette effect it looks posterized. I thought that it might be something I did in my Blender file, but then I started a new file just to test it and it seems like that's the way it works...
Bright background (no posterize effect)

Dark background (posterized)
Open the image to visualize it better

I tried adding a blur filter but it makes it worst:

Blend file: https://drive.google.com/file/d/1pIytoPHVPMyP7YvvJW72glZ9j9wP4Kz5/view?usp=sharing

What you are experiencing is a quantization error called banding.
Most monitor can only display 8 bits per color or 256 tones from dark to bright. There are just not enough levels to do a subtle gradient between two dark tones or similar colors.
It is a limitation that will show in most monitors (unless you have one that can do 10 bit display).
As a workaround, you can play with the dither settings in the Post Processing settings for the scene.
(from the blender Manual)
Dithering

Dithering is a technique for blurring pixels to prevent banding that is seen in areas of gradients, where stair-stepping appears between colors. Banding artifacts are more noticeable when gradients are longer, or less steep. Dithering was developed for graphics with low bit depths, meaning they had a limited range of possible colors.


animate a conveyor belt I´m trying to make a conveyor belt, but haven't found any useful guide so far.

So.. is there a way to first make an array for the wood plank and then make all the planks follow a path?
I don't want to parent 100 different objects just to make this animation.

I would prefer to be able to use a path rather then a bezier curve since I want to be able to have different elevation in different sections of the conveyor belt and find it hard to edit a bezier curve. And I also don't want the planks to deform as they reach the edges between sections of the loop.

Thanks in advance!

Best regards
/John

One technique that might be useful is to turn the motion of a single plank into an NLA strip that repeats in a track.  Then you put that same action into a repeating NLA strip into a track on each other plank, but offset in time, so it follows the same path, but a second or so later than the plank in front of it.

I optimized my workflow by setting up the repeating strip before duplicating the object with Alt-D.  Then all I had to do was grab the strip in the NLA and G X -10


Why does changing the 3D cursor move other quad view windows? Just discovered the quad view option (CTRLALTQ) and love it. However, I have a problem that I have not been able to find a solution to. When I change the position of the 3D cursor in one window, the views in the other 3 windows are thrown out of whack, sometimes jettisoning another view far off from anything in the scene so that it is a real chore to bring everything back to alignment. Is there a way to keep changing the 3D cursor in one view from affecting the positions of the 'cameras' in the other 3 views?

In the View Panel, disable Lock to Cursor so that your view is not centered on the cursor:


How to place vertices evenly spaced along a path\curve using Python? How would I go about placing vertices spaced evenly along a path or curve? I've looked at the Extrude Along Path addon, but I don't get the math, and it's doing more than I want to do. To be more specific, I need to know how to get the location of where to place the each vertex.

The mathutils module has an interpolate_bezier function that will give you a list of points along a curve.

import bpy
from mathutils.geometry import interpolate_bezier

res = 5 # number of points to get

src_spline = bpy.data.objects['BezierCurve'].data.splines[0]

k1 = src_spline.bezier_points[0].co
h1 = src_spline.bezier_points[0].handle_right

k2 = src_spline.bezier_points[1].co
h2 = src_spline.bezier_points[1].handle_left

points = interpolate_bezier(k1, h1, h2, k2, res)

for p in points:
    o = bpy.data.objects.new('p', None)
    o.location = p
    bpy.context.scene.objects.link(o)


Draw floating UILayout In sculpt mode you get this menu with a right click:

The UI elements in this menu are visually the same you would get by drawing a UI using bpy.types.UILayout functions.
Yet, the only answers I found for drawing custom floating UI elements referred to bgl and blf, like in these two Blender StackExchange questions:

How to draw shapes in the node editor with python bgl
Floating UI window in 3D view

However, ideally I would use standard Blender UI elements to create something like that.
Is there a way to draw standard Blender UI elements in floating windows like those in the screenshot using Python?

WindowManager.invoke_props_popup(operator, event)

Operator popup invoke (show operator properties and execute it automatically on changes)

Code based on How to call a confirmation dialog box?, I just  replaced invoke_props_dialog by invoke_props_popup to diplay the popup without confirmation option:

import bpy

class SimplePropConfirmOperator(bpy.types.Operator):
    """Really?"""
    bl_idname = "my_category.custom_confirm_dialog"
    bl_label = "Do you really want to do that?"
    bl_options = {'REGISTER', 'UNDO'}

    prop1: bpy.props.BoolProperty()
    prop2: bpy.props.BoolProperty()

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

    def execute(self, context):
        self.report({'INFO'}, "YES!")
        return {'FINISHED'}

    def invoke(self, context, event):
        return context.window_manager.invoke_props_popup(self, event)

    def draw(self, context):
        row = self.layout
        row.prop(self, "prop1", text="Property A")
        row.prop(self, "prop2", text="Property B")

class OBJECT_PT_CustomPanel(bpy.types.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"

    def draw(self, context):
        layout = self.layout
        layout.operator(SimplePropConfirmOperator.bl_idname)

def register():
    bpy.utils.register_class(OBJECT_PT_CustomPanel)
    bpy.utils.register_class(SimplePropConfirmOperator)

def unregister():
    bpy.utils.unregister_class(SimplePropConfirmOperator)
    bpy.utils.unregister_class(OBJECT_PT_CustomPanel)

if __name__ == "__main__":
    register()


Object reflecting unwanted environment I'm seeing a curved environment highlight on the top left + bottom right corners of my object. How can I remove this reflection so my object has consistent lighting?

In the object context menu I changed 'Shade Smooth' to 'Shade Flat' and the unwanted reflections were no longer rendered.


Car test Ray problem in BGE I did a little "realistic" buggy test, please watch my video (I'm french but I did the video in English).

I just have a little issue, see the python console and my explanation in the video or in the picture below.

The problem is when my ray sensor no longer detects the ground (When car is in mid-air.) It generates an error in the python console and decreases the framerate of my game (especially in full screen). I don't know how to fix this in my script.
This error occurs when my ray detects nothing in its range.

Here's a picture:

Here's the video: https://www.youtube.com/watch?v=fAOVMnYo-ao

You already know what is causing the problem, it is because your script is trying to loop through a empty list (when the ray sensor is not hitting anything.)

All you have to do to fix it is add one line to your script.

if sol:
    #then your if statements goes in here

or change your if statement to this:

if sol and 'Sable' in sol and own['Vitesse'] > 10:

That one line checks to see if your ray is hitting anything, if it is then the rest of your logic will run. If the ray hits nothing, then there is no error because nothing happens.


Repeated subdivides are not in single direction I am following this YouTube video tutorial.  I believe the tutorial uses version 2.67 and I am using version 2.79.

In the tutorial, only two opposing edges of a plane are selected, and afterwards, when it does three successive subdivides, the plane is subdivided in only one direction (between the opposing edges), like so:

But when I do the same, I get unwanted additional cross divides in the perpendicular direction, like so:

How can I get subdivides in only one direction between the original two edges?

Hmm. I did some testing. That video tutorial is from 2013 so the creater of that tutorial must have most likely been using blender 2.61 or 2.62 or 2.63 as that was the latest at that point of time.

When I downloaded and ran blender 2.61 the subdivide behaved like it did in the video. So this implies that something changed in blender since 2013. Since 2013 a lot has changed.

The subdivide behaviour you get now is the correct behaviour as per the latest blender. The older blender subdivided in one direction.

I would advice you use edge loops like suggested by  Dontwalk earlier i.e. with Ctrl + R shortcut to slice in one direction.

Alternatively download and use blender 2.61/2.62/2.63 to follow along with that tutorial.

Older versions of blender can be obtained here https://download.blender.org/release/. The date of release of those blender versions is also mentioned there. (Note: these versions are no longer supported -- use at own risk).


Blender Subsurface Scattering on Certain Area Is there a way to increase the Subsurf Scatteringjust for certain areas like Vertex Groups?

One option is to use Vertex Colors:

Go to Object Data in the Properties panel and add a new slot for Vertex Colors. You can then go to Vertex Paint mode and paint wherever you want the subsurface to be.

Unlike Vertex Groups, Vertex Colors can be brought into materials with the Vertex Color node. (Shift+A > Vertex Colors > YourVertexColors).


How to *efficiently* find all lights within a scene? I'd like to fill a custom UI list with all the lights that are in the current scene, but am unsure of the best way to do this. We could iterate over bpy.context.scene.objects and validate object.type == 'LIGHT' to filter things out and then use objects[i].data to get the actual light, but that strikes me as clunky and non-performant, especially for scenes that have a large number of objects.
Ideally I would like to drill into bpy.data.lights and then filter this much smaller dataset based upon the scene(s) each light is used within. But, given a light in bpy.data.lights, how can I find the object that's using it, and from there check this object's user_scene attribute? This strikes me as being much faster than iterating in a top-down fashion over a bazillion objects' data attributes, but if there's a mechanism for going bottom-up from a light to the object(s) that are using it then I can't find it in the API. Any ideas, smarter people of StackExchange?
Many thanks, and apologies if this is a DOH! kind of question, I'm new to this and still feeling my way around in the dark.

Put them in a collection
IMO the simplest way to do this is, as suggested
scene_lights = [ob for ob in scene.objects if ob.type == 'LIGHT']

One light object could have the same light data as any or all of the lights in a scene.  Even if there are few lights, checking that the data belongs to an object in the scene could prove less efficient than above.
If you feel that there are so many objects in the scene that iterating over them is inefficient, consider linking them to a collection(s) using name or ID property to tag the collection as being for light objects.
lightcol = bpy.data.collections.get("Lights")

if not lightcol:
    lightcol =  bpy.data.collections.new("Lights")
    scene.collection.children.link(lightcol) # or wherever
# populate it.
for lt in scene_lights:
    lightcol.objects.link(lt)

Could make collections within this collection to further categorize by light type
Polled PointerProperty
As mentioned by @brockmann can also consider using a polled pointer property, an example for materials
Custom search data to UILayout.prop_search
whereas in the case of lights the pointer property type would be bpy.types.Object, and the poll method would test against type. Could easily be extended to light type


How to only deform (GKEY in Edit Mode) selected faces? I want to only push forward the front faces, but not the side faces, like in the image below

You can hide (H) the vertices you don't want to move. They won't be affected by the PET.

To make them appear again, unhide them with Alt+H.


My animation has no keyframes but still moves? I don't know what I've done here.  Basically, I've recorded one animation and want to record a second, but even though there's no keyframes showing the robot animates.

Also, the armature leaps to the side if you switch between armature/pose mode.

Short video showing the issues

I would really appreciate understanding what is going on here because if I don't know how to correct this it's going to be an issue with every animation.

Many thanks in advance.

A

Blender file:

You have 2 armatures, Track Controller (with only one bone, on the left of the machine), and Armature, which is all the machine bones.

Your Dopesheet is in Action Editor mode, it will only display the keyframes relative to the selected armature.

When we open the file, Track Controller is selected, and as it has no action, no keyframes are displayed.

On the contrary, we can see that Armature is animated. It's normal because an action has been assigned to it, and if we select this armature, all the keyframes of this action will be displayed on the Dopesheet.

If you want to close the action playing for a selected object, press the X button on the right of the action name. It won't be played anymore by the armature but it will still be selectable in the dropdown menu if you want it back.

When you close your file, every action will be saved as long as it has at least one user (one object or armature using it) or if you've assigned it a fake user (press the F button on the right of the action name if you want to give an action a fake user). Fake user is a way to make sure that the action you've created will be saved even if it doesn't have any user yet.

About le leap to the side: your bones come back to their rest pose as soon as you come back to Edit mode. If you select all these bones in Pose mode and press altG they will combe back to the same pose.


Library Override links broken, how to fix? I was working in a scene last night in Blender 2.90.1, with 3 rigged characters I imported as library overrides. I created a brick wall behind them in the scene and posed them in front of it.
Then this morning when I open the file, none of the library override characters show up, it is only the brick wall. They still show in the outliner but I get an error when the scene loads that says:
"Unable to open "file path" . No such file or directory
"Cannot find lib "***.blend"
It shows that for every object in a big long list. Now I'm not sure why this happened, i didn't change any paths while working on the scene or between last night and this morning. All the files are on a local drive.
And aside from why it happened, if by chance all of my file paths did change, how do i fix the path for the library override to work again?
Thanks!

Most external files can be quickly resolved by using File -> External Data -> Find Missing Files, there's options in that submenu for changing the path behavior per .blend.
Linked Libraries are slightly different, they can be re-linked using the Outliner, by switching the Display Mode to "Blender File" and then right-clicking the broken library to Relocate.
This may preserve the Library Override and it's data, but the feature is still being actively improved, so some datablocks may be reset to their linked state.


Looking for a character rig equal to AnimSchools Malcom quality, or high quality cartoonish human rig Trying to find a high quality cartoony human male rig. Looking for help. Also a working skateboard rig would be nice, im using the new version of blender 2.80 beta, and the skateboard rigs from blendswap dont work with the beta blender version. hmm... basically i have a little animation/film i have in mind i would like to make and would like to use the new version of blender to get used to it. thank you for your help :)

Malcom seems to have pretty complicated face setup not sure if I've seen readily available blender rig like that around... I guess BlenRig is the closest? (Not sure if that has been updated for 2.8, though)

https://cloud.blender.org/p/blenrig/


2d texture eyes that can move around freely I've been struggling with this for a while now so I figured just asking it here might help.

I have a character on which I'd like to have 2d eyes and eyebrows. I want to be able to move the eyes around freely, and I wanted to use UV wrap to move the uvs of the eyelids and eyebrows around to get different expressions. So kinda like how the characters in Wind Waker look :)

So far I've tried following a couple of different ways of going about this but with both I got stuck at some point. Here are the tutorials I've tried:

1.https://www.youtube.com/watch?v=beTOy-dwOOc  I couldn't figure out how exactly he'd made the helper rig because he doesnt really show it step by step, just the results. My main issue here was with the bones/armature hierarchy... (he doesnt seem active on youtube anymore so i cant ask him)

2.https://www.youtube.com/watch?v=5NlvgMYZgaY This was the most thorough tutorial and looked like what I was looking for, except here the eyes are flat and cant really move around, and I don't know if its possible to get what I want with this technique.

Is the first tutorial better suited for what I'm trying to do or is it possible to achieve this with different UV maps, like in the second tutorial? If someone could explain the part in the first tutorial about rigging the helper object in more detail, that'd be great ^^

So it's been a couple of months now and I figured out a way to do this a while back so I figured I should post it so that anyone looking for this specific technique can use it! Here goes:

1.Select a couple of faces of the mesh where you want the eyes to be and create a split mesh from this. It should be a second "layer" for you to place the eyes texture on.

2.Create a texture for the eyes. Place the different types of eyelids (default, closed, bored, surprised...) at equal distances from eachother (this will make a later step easier) and leave enough space for the pupils. Here's what my eyes texture looks like:

3.Create 2 different UV maps for the eyes: one for the eyelids and one for the pupils. That way you can animate these seperately.

4.Now create a new material for the eyes. You will need to plug the 2 UV maps into the texture nodes and use a multiply node to overlap them. Here is how I set up the shader for the eyes:

5.Use the UV wrap modifier to rig the eyelids (youtube.com/watch?v=5NlvgMYZgaY) and an empty connected to a bone to move the pupils

To make the eyebrows, you'll want to follow the same steps, except with just one UV map and a simpler shader (be sure to have some overlap between the eye mesh and the eyebrows mesh! It's hard to make someone look angry when there's a lot of space between the 2)


Incompatible operator return when checking animation data I have the code:

import bpy
import math

scn = bpy.context.scene

class AutoReverse(bpy.types.Operator):
    bl_idname = "object.move_operator"
    bl_label = "Auto Reverse"

    def execute(self, context):
        # get keyframes of object list
        def get_keyframes(obj_list):
            keyframes = []
            for obj in obj_list:
                anim = obj.animation_data
                if anim is not None and anim.action is not None:
                    for fcu in anim.action.fcurves:
                        for keyframe in fcu.keyframe_points:
                            x, y = keyframe.co
                            if x not in keyframes:
                                keyframes.append((math.ceil(x)))
            return keyframes

        # get all selected objects
        selection = bpy.context.selected_objects

        # check if it has animation data
        if bpy.context.active_object.animation_data.action is not None:

            # get all frames with assigned keyframes
            keys = get_keyframes(selection)

            # print all keyframes
            print (keys)

            # print first and last keyframe
            firstFrame = keys[0]
            lastFrame = keys[-1]

            # checking if it is baked
            if len(keys) < lastFrame:
                #baking the animation
                bpy.ops.nla.bake(frame_start=firstFrame, frame_end=lastFrame, step=1, bake_types={'OBJECT'})

            #scale it by -1 to reverse it
            old_type = bpy.context.area.type
            bpy.context.area.type = 'GRAPH_EDITOR'
            bpy.ops.graph.interpolation_type(type='CONSTANT')
            bpy.context.scene.frame_current = 1
            bpy.ops.transform.resize(value=(-1, 1, 1))
            bpy.context.area.type = old_type
            return {'FINISHED'}

        else:
             self.report({'ERROR'}, 'There is no animation')

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

if __name__ == "__main__":
    register()

I get the error

RuntimeError: class OBJECT_OT_add, function execute: incompatible return value , str(, Function.result expected a set, not a NoneType)

From testing I think it's from this line:

if bpy.context.active_object.animation_data.action is not None:

(BTW I know there is an almost identical question, but he fixes it himself and I can't find a similar error in mine)

I would like to know why it occurs (beyond just purely what the error tells me), how to fix it, or whether there is a suitable replacement to the line above to avoid the error alltogether, thank you.

Okay, I forgot that if you use  self.report({'ERROR'}, 'There is no animation'), you must add return {'CANCELLED'}.


Change an object's property's based on its name with python I have an object in my scene named cube. Is it possible to add a particle system to that object with python by using its name?

You can do this using the below script:

import bpy

C= bpy.context
scene = C.scene

bpy.ops.object.select_all(action='DESELECT')
objname = 'Cube' ###### Add Name of object you want here ######
ob = bpy.data.objects[objname]
ob.select = True
scene.objects.active = ob
bpy.ops.object.particle_system_add()

Result:

A .blend file can be downloaded from here:


Missing Option tab in tools? I'm missing my options tab in the tools. I've reset the interface to default and also tried opening previous files that I know I used the options tab, but still no luck. I have no Idea where it went? Can anyone help, cheers!

You need to switch to Edit mode by pressing Tab
Options tab appears for Edit mode.


Best Way to animate lake I have created a water simulation and set a cube inside the domain to fluid. I was wondering what the best way to make a big lake of water (with realistic ripples) would be. No tutorials seem to go beyond still images or using an inflow. In my final render I plan to have the scene at night, and have a shot low to the water, then have the camera glide just over the water. I am hoping the water will look something like this:

For a large rippling body of water such as a lake, rather than use a fluid simulation (which would require a great deal of simulation time to get believable results) you can combine multiple waves to give the effect of ripples on the surface of the fluid - similar to that in this answer. However, if you don't need it to be seamless, you can use Wave textures instead of plain Sine waves with the Distortion significantly increased - this will reduce the number of waves you need to combine to get a believable result.

For example, consider the following material :

Here, two Wave textures with high noise are combined via an Add maths node and used to drive the Bump of a flat plane. Note that one of the Wave textures has been rotated via the Mapping node.

The Value node is keyframed to vary the offset of the Wave textures - to move the waves 'forward' as the animation progresses.

By adjusting the rotation, Scale, and other Texture parameters you can get quite a pleasing effect as follows :

Note that this is using the Bump node to generate the Normal. If the water will be viewed from a very shallow angle it may be preferable to add geometry and use True Displacement to create actual waves in the mesh.


What's the best method to turn a character left/right without a slipping feet? I tried the Follow Path constraint and it works well when the character moves in a straight line. When he turns left or right, the foot slips or slides. How can I stop him from skiing?

Creating a particular action for turning left or right:

This method has the highest quality animation and the best physics as it's not an automated process. Since it's a human-made (keyframe by keyframe), it may require some time and effort and I'm a lazy person.

I feel like I can take an advantage of the walking cycle that I already made and simply rotate the armature (on its local axes by an empty or something similar). This may have less quality animation and that's okay for me since it's a little faster. At the same time, I wouldn't like it to have a poor looking sliding foot.

My test file:

I made this file for experimenting purposes. The sliding feet appears in curved places. You can download it here:
https://filebin.net/zz66k7lujql2bk1c

When you see that the walk cycle doesn’t work anymore I guess you have no other solution than put a new action above your walk cycle in the NLA.

First I would make the armature differently: Create a root bone on the bottom, make it the parent of controllers, pole targets and of the spine base (current root). This way you’re free to move your spine up and down during the walk.
Prepare a walk cycle with no slipping, there are several methods, I guess it’s too long to explain here.
Don’t give your root the Follow Path constraint, give it to your armature object. After that, select the curve, go in the Graph Editor, unfold Evaluation Time, in the N panel remove the Generator modifier.
To set the speed of the walk along the curve, play with the curve's Evaluation Time value in Object Data > Path Animation, and, in the NLA, play with the action clip's Scale (NLA N panel > Action Clip > Playback Settings).
Once you’re good with the speed, look at the moment where you need to fix the slipping, for example where the curve turn is too narrow, put the time vertical bar at this frame.
Create a copy of your walk cycle in the Dopesheet. In the NLA, select the strip with the walk cycle, press ShiftA > Select the new action, it creates a new strip in a new track.
Select the new strip, press Tab, go in the Dopesheet, edit the action so that the feet don’t slip. In the 3D View You can copy paste the pose from the previous walk cycle to have a logical transition between this walk cycle and the new action.


Export of Georeferenced 3D .obj File I am exporting a 3D model in .obj format.I want to georeference it.
I require the export to be in the Global Coordinates System (UTM)
The problem is that I am getting coordinates like:-
v 0 0 -0
v 0 -145 0
v 147 123 125.3
v 120 -2.5 30
…
But I require coordinates to be like this (The results I got with other softwares georefrenced .obj data)
v 733711.541 24.000 -3157883.355
v 733715.789 24.000 -3157880.456
v 733721.676 24.000 -3157888.570
v 733720.655 24.000 -3157889.166
…

This is a very specific task, if I may add a personal note to that. But luckyly I studied physics and happen to know the answer.
OBJ are saved in form of Vectors. One point is represented by 3 vectors along X,Y,Z -axis. Most likely they are called a,b,c. 0,0,0 being the origin. I don't want to go to deep into that. Unless you want that - let me now.
Representation in Form of a,b,c, in a 3D space is called a Cartesian System.
Since earth (approx) is a sphere we need to transform this Cartesian System into a Spherical System. From a,b,c, to Spherical coordinates (r, θ, φ) radial distance r, azimuthal angle θ, and polar angle φ.
you can calculate each point with this:
Cartesian (x,y,z) → Spherical (r,θ,ϕ)
r=√x2+y2+z2
θ=tan−1yx
ϕ=tan−1√x2+y2z
Last step is to calculate Sperical Coordinate to UTM which is a cylindrical projection. Which results in X and Y [Because a cylinder is a unfold rectangle]
X=rθ
y=r ln[tan(pi/4 + ϕ/2)] = r/2 ln [(1+sin(ϕ)/(1-sin(ϕ))]
There are calculators for this.
search for Cartesian to UTM / Spherical to UTM
Hope it helps


Define pie operator menu position I seem to be unable to find any information online about how to define a pie menu operator position. They seem to change a lot - for example the three button section flips position between 7 and 3.

Is there no way to force a button to only show up on a certain position?

You are showing two different menus, one in object mode the other in edit mode, the different names above the centre circle indicate they are using different code - the name comes from bl_label of the menu class.

While the order that items appear does seem odd at first, there is an order to the madness. The primary design is to have one operator at each position, starting from the left, then the right, bottom, top, then the top diagonals and the bottom diagonals.

Run the following script in the text editor and have a look at the items positions, then uncomment one of the lines between operators and see how it effects the layout of the menu, repeat for each commented line.

import bpy

class VIEW3D_PIE_template(bpy.types.Menu):
    bl_label = "Render"

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

        pie = layout.menu_pie()
        pie.operator("render.render", text='one')
        #pie = pie.column()
        pie.operator("render.render", text='two')
        pie.operator("render.render", text='three')
        #pie = layout.menu_pie()
        pie.operator("render.render", text='four')
        #pie = pie.row()
        pie.operator("render.render", text='five')
        pie.operator("render.render", text='six')
        #pie = layout.menu_pie()
        pie.operator("render.render", text='seven')
        pie.operator("render.render", text='eight')

if __name__ == "__main__":
    try:
        bpy.utils.unregister_class(VIEW3D_PIE_template)
    except:
        pass
    bpy.utils.register_class(VIEW3D_PIE_template)

    bpy.ops.wm.call_menu_pie(name="VIEW3D_PIE_template")


Lower the Polycount while keeping the details of sculpting Is there any way in which I would be able to lower the polycount on my model and still keep the details intact?
I have tried remesh and decimate modifiers but just make the rigging aspect of the model tougher.

The purpose of multi resolution sculpt was so that artist could make a high res model. Then bake those information onto a low resolution mesh. "Blender Normals baking" or "Blender Baking Normals" will be the key word you want to search for online videos to learn about the technique. You will also need to understand how to prepare UVs for texture baking which is an essential step before you could produce good looking normals.

All of today's next gen games and games engine real time rendering utilise the normals map to give low res model and high resolution look.

Here is a nice concise read about normals, link below.

http://www.falloutsoftware.com/tutorials/gl/normal-map.html

Here is a nice simple tutorial video on baking a high multi res model's normals to be used on a low resolution model.

https://www.youtube.com/watch?v=xa6132QM2Y4


How do i place an image texture over multiple objects? I can make an image appear on a single face of a cube and by sharing the material, I can make a single image spread over the same side of many cubes. However the order of the images seems set at random. Is there a way of preserving the relative allocation of pieces of the image?
EDIT:
Further to SHikha Mittal's extremely good attempt, I was hoping for this result:

You can use the following node tree settings using "Object" output from "Texture coordinates" using another object (here an empty):

The empty will project along its Z axis.
On bottom line, the coordinates are shifted by 0.5 to center the image. The image is set to "clip".
On top line, we only keep Z values we want (upon a small negative value if the empty is placed along the objects we're projecting on). This is multiplied by alpha to render as red alpha parts of the image.


How to get rid of white and black border on PNG I am importing images as planes for a 2D animation in blender, however all the PNGs have a white outline and what looks like a drop shadow around the images. Any idea on how to get rid of it? Any help will be much appreciated!

Below are the screenshots. I'm not sure which settings I should be looking for. Import settings, Materials or Textures?

Blender's 3D view has some problems compositing planes with alpha in OpenGL mode. You can mitigate those effects to some extent (by changing the alpha clipping in the preferences or the different viewport alpha settings in material properties) but don't expect to have a perfect compositing of RGBA texture in the viewer, as Z compositing and Alpha compositing sometimes fight each other when selections are involved.

Render should turn out ok. If it doesn't, then there is a problem with your PNG images (wrong alpha association).

Wrong alpha association could be fixable (using the CM panel of the Image viewer if it) ONLY if the halos are the result of an incorrect alpha interpretation. If the image is encoded incorrectly, then there is no way to solve it, other than recreating the image textures properly.

Blender usually interprets PNG textures correctly if they are properly encoded, so check with a test render first. If it renders ok, and the halos pop up and disappear based on what's selected, then it's just the problem described first and you can't do really much about it other than trying to mitigate it as much as possible (which is probably a waste of time since it doesn't affect rendering)


Does blender 2.8 have an autosave feature? For example, I would like to save work every 30 secs or so; in a file with name file-prefix_timestamp.blend

Blender automatically saves your scene to a temporary file every few minutes. To get to these auto saves, just reopen Blender and go to File > Recover Auto Save.

Auto Save
 Temporary Files
Enables Auto Save. Tells Blender to automatically save a backup copy of your work-in-progress files to the Temporary Directory.

Timer
This specifies the number of minutes to wait between each Auto Save. The default value of the Blender installation is 2 minutes. The minimum is 1, and the Maximum is 60 (save every hour).


Simulation Editor Blender 2.90 In the developer tools experimental features for blender 2.9, there is a box that says "New Particle System". When I check it, it allows me to access the "Simulation Editor", which seems to be a type of particle nodes. I have looked online for information about this, but I have not found any. Can anyone explain how to use this "Simulation Editor" or tell me where I can find more out about it?
To clarify: this is NOT the functions branch, this is just developer tools for Blender 2.9.

Unfortunately the system was removed... for now. https://developer.blender.org/rBM7254


Spherical background image I'm trying to experiment with an animation project that requires the use of a spherical background image. The image I wish to use comes from a program that outputs six images; one for the top, bottom, left, right, front, and rear views.

Originally, I tried getting these stitched using an external program to create the spherical projection that can be used for a background in Blender. This worked perfectly, as far as seeing the image was concerned. However, the only free tool I could find places a watermark on the image.

So before I ask if a fully functioning free tool exists, is there a feature or add-on in Cycles that can create the intended background using the available images?

If it matters, the node setup I used for the watermarked image was:

One approach you could use is to create a special converter scene using cycles.

Place the camera in the center of a cube and give each face of the cube its own material based on one of the face images (honestly: rigging the materials and the UV coordinates will probably be the most time-consuming part of this exercise).  You probably want to use an emission BSDF.

Then change your Camera > Lens from Perspective to Panoramic.  Change the new Type: to Equirectangular (unless you want one of the others).  Then render one frame and you should have an equirecangular version of the scene.

Save that image and you should be able to use it as the environment in your main project.

There is also https://github.com/Samsung/360tools, but I have not investigated the exact command-line for converting from a cubemap to equirectangular, and it might require you to convert to YUV and back.


Colour ramp that remains constant in meshes of different sizes First ever blender post.
I am trying to make an animated graphic equaliser using some cubes and "bake sound to F-curves".
The animation is fine, but I want to colour the cube with a colour ramp (green-yellow-red transition).
I tried using Texture Coordinate->Mapping->Gradient Texture->ColorRamp method, which gives me the desired look, however, it calculates the ramp for each frame, and hence size, of animated cube, rather than giving a consistent colour across all bars, with only the tallest ones having the red...
I saw another post, where this "colour gradient exposed dependent on length" requirement was done with hair objects I guess: How to change hair color along length of strand?
Can this be done with cubes with baked animations?
cheers...

You need to define common scale and coordinates that are independent of the other objects dimensions.
If you add an empty to the scene, you can use it to control the sizing, so that the gradient remains constant regardless of the dimensions of the object.
In this example 3 different cubes of different sizes have the same material.

It doesn't have to be an empty, it can be any object.


How to detect mouseup event in a blend4web sensor manifold Blend4Web's documentation is not really clear how you can detect a mouseup event inside a sensor manifold. At its official forum I find a suggestion to compare the elapsed time against the delta time, which would be highly over convoluted.

Is there any simpler and safer solution?

Thankfully there is a simpler solution. The mouse click sensor passes a 1 to the manifold's logic function on mousedown event and a 0 value, when the mouse button is not pressed. So we write a logic function which returns its value inside a CT_CONTINUOUS type manifold, which according to the documentation behaves like this:

  Manifold control type: continuous. Such manifold executes the callback
  with a positive pulse (+1) each frame when the result of evaluation of
  its logic function is non-zero. It executes a callback with a negative
  pulse (-1) once the logic function evaluates to zero.

So your callback function will have the 1 pulse on every frame when the mouse is down and the pulse -1 on the first frame after the mouse button is released.

function registerMouse() {
  console.log("mouse registered");
  var clickSensor = m_ctl.create_mouse_click_sensor();

  function logic(triggers) {
   if (triggers[0])
    return 1;
   else
    return 0;
  }

  function cb(obj, id, pulse, param) {
   console.log(pulse);
   return;
  };

  m_ctl.create_sensor_manifold(null,
                               "mouse",
                               m_ctl.CT_CONTINUOUS,
                               [clickSensor],
                               logic,
                               cb,
                               );
 }

Notes

In this simple example it would be sufficient to use the default logic function (pass null instead of a function), however you should definitely use this scaffolding, when you have multiple sensors in your manifold.

You can also use CT_TRIGGER type manifold


Curve tools: is there an add-on to join overlapping curves? In a "Curve" object that contains several non-continuous curves, is there an add-on to join overlapping segments together, like remove doubles does in mesh editing?
Explanation: merge two non-continuous segments with two control points in the same place so they become one unique segment!

I have this solution: I move one control point, then select the second contol point and press F to create a new segment that connects the two together. Then I remove the previously moved control point with X and both segments become one unique segment!

I can add a new add-on with this process, but I want to know if this command already exists.

There is no function that does this. If there were it would be Merge (AltM) as can be done with vertices in a mesh object. Ideally this command should be coded into Blender natively without needing an add-on as it's such a minor operation. It would only be possible with two open-ended points though, and maybe that's the reason it hasn't been included thus far.

I suppose having an error message appear at the top of the screen when the points are not open-ended is one approach; another is breaking an existing segment in favor of forming the new one.


How can i edit an image to make it shake in the video editor? I'm trying to add a bulldozer shaking super fast for a video i'm editing and i  don't know how to make the effect. I tried transform and adjust each frame to move over and over but it just didn't save the changes and didn't work for some reason. Any help is appreciated!

You can do it by keyframing object location and giving it a noise F-curve modifier. I chose my camera to add some shake into it.

Select the object you want to shake. Press i and choose Location to keyframe the object location.

Keep your object selected and go to Graph editor. Shortcut is Shift+F6.

Select the dimension you want to shake your object to. I chose Z but you can do this to all dimensions if you want to. Select Key and under Add F-Curve Modifier you find Noise.

From Modifiers panel you can adjust the strength. If the panel is not visible you can press n key. You can play with other settings if you want to.

Just play the animation and you have some shaking.
Video editor
In Video editor you can keyframe the offset location of your image or image sequence as can be seen in image below. Everything else is the same.


How to create real tilt-shift lens blur in Blender? I basically want to rotate the DoF-Plane just as a real tilt-shift lens does, so that the depth influences the blur and not a gradient. Is there a way to recreate this effect in blender?

I want to provide an alternative to cegatons answer. This is an attempt to reproduce the behavior of a real Scheimpflug. The focus plane is supposed to "cut" objects. When you create the focus plane in post however, it doesn't intersect with the objects. To mimic this behavior, follow these steps:

Create a Cube in your scene, name it "gradient Cube" or similar, it will control the falloff of the gradient. In the object tab, disable all cycles visibility options (camera, diffuse, ..., shadow) to make it completly invisible for the renderer. Create a second RenderLayer ("gradient"), add a material to it, with the nodesetup shown in image 1. In the TextureCoordinate node choose your gradient cube as object input.
Position the cube so that the middle grey (~0,5) of the gradient follows the desired Scheimpflug. The farthest visible point from camera should be black (0), the neares white (1).
Render the image. Save each RenderLayer to OpenEXR, 32 Bit float. I added the contrast only for illustrating that the gradient now "cuts" the objects. The actual gradient is very flat.
I would recommend not to use the blender Defocus. It produces horrible artifacts. I used Nuke non-commercial, which is free to download/use with some restrictions in functionality. Read both renderlayers. Shuffle them together, take RGB from the beauty pass and shuffle the R channel of the gradient layer to Z(depth). Insert ZDefocus, choose the focal point. To round it off, introduce some grain. (the out-of-focus areas looked too smooth)

The result with animated gradient-cube:


Getting the active region How can I get the active region (i. e. the region the mouse pointer is over and keystrokes are sent to) with the Python API?

Background:
I want to manipulate the view_matrix of the region the mouse pointer is over. In the "Scripting" screen I can get the matrix with

bpy.data.window_managers[0].windows[0].screen.areas[2].spaces[0].region_3d.view_matrix

or with

bpy.data.window_managers[0].windows[0].screen.areas[2].spaces[0].region_quadviews[x].view_matrix

if the SpaceView3D is in quad view mode. bpy.context does not help: My script runs in a timer started from the text editor, and its context is always "Scripting" therefore.

Getting the active region seemed to be a simple, common task to me, but I am stuck here. May be I am looking in the documentation's wrong area ...

bpy.context.space_data is the current space, if you need a certain one, iterate over all areas in the current screen and test for the .type:

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        area.spaces.active.region_3d.view_matrix
        # you may want to break here

To figure out which region / quadview the mouse is over in a modal operator, compare the mouse coordinates with the region rectangle:

import bpy
import math

def get_view_orientation(space, view):

    if view.view_perspective == 'CAMERA':
        if space.camera.type == 'CAMERA':
            view_orientation = "Camera " + space.camera.data.type.capitalize()
        else:
            view_orientation = "Object as Camera"

    else:
        r = lambda x: round(x, 2)
        view_rot = view.view_matrix.to_euler()

        orientation_dict = {(0.0, 0.0, 0.0) : 'TOP',
                            (r(math.pi), 0.0, 0.0) : 'BOTTOM',
                            (r(-math.pi/2), 0.0, 0.0) : 'FRONT',
                            (r(math.pi/2), 0.0, r(-math.pi)) : 'BACK',
                            (r(-math.pi/2), r(math.pi/2), 0.0) : 'LEFT',
                            (r(-math.pi/2), r(-math.pi/2), 0.0) : 'RIGHT'}

        view_orientation =  orientation_dict.get(tuple(map(r, view_rot)), 'USER').capitalize()
        view_orientation += " " + view.view_perspective.capitalize()

    if space.local_view is not None:
        view_orientation += " (Local)"

    return view_orientation

def get_quadview_index(context, x, y):
    for area in context.screen.areas:
        if area.type != 'VIEW_3D':
            continue
        is_quadview = len(area.spaces.active.region_quadviews) == 0
        i = -1
        for region in area.regions:
            if region.type == 'WINDOW':
                i += 1
                if (x >= region.x and
                    y >= region.y and
                    x < region.width + region.x and
                    y < region.height + region.y):

                    return (area.spaces.active, None if is_quadview else i)
    return (None, None)

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
        if event.type in {'RIGHTMOUSE', 'ESC'}:
            return self.cancel(context)

        if event.type == 'TIMER':
            space, i = get_quadview_index(context, event.mouse_x, event.mouse_y)
            if space is not None:
                if i is None:
                    view = space.region_3d
                else:
                    view = space.region_quadviews[i]
                print(get_view_orientation(space, view))

        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.5, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()


How to fix these weird shading problems? when ever i use the Boolean modifier i usually see these weird cuts in the shading, the same thing happened when extruding too. Does anyone know how to fix this?

You might have some artifacts in your mesh after using the modifier. If it's just a shading issue, you could try turn on "Auto Smooth" in the object data properties and see if that fixes it. Auto Smooth also works best when your shading is set to Smooth. Another thing that can help is to clear the custom normal data on the model to make sure there aren't any other settings affecting  your shading.


How to copy paste a node setup from one file to another I have one file with a node setup that I want to use on another file how do I do this with put doing it node by node.

One option to help keep things organised is to create a Node Group from your setup.

Select all the nodes you want in your group
Ctrl G form a Node Group from them

Give the group a name by typing it into the field on its node. Click the shield  on the right. This will give the group a fake user, so it won't be garbage-collected and deleted when saving the source .blend, in the event that it's not being used by anything else in the file.

Now, in any other .blend, you can hit File > Append.. look up the source .blend file.. and the group will be found in the 'Node Tree' folder. Clicking it makes a local copy available under the  Shift A > Group listing in the Node Editor.

You can   Ctrl AltG un-group the node, locally.

(You can create libraries of any of the entities in a .blend file this way, to be linked or appended to other files)


How to fix Hair strand - texture Working on the retopology of this mesh I lost the info about the hair. If you notice the strands in picture 1 looks non linear and picture 2 look linear. I don't know if blender updated and change this or  I just don't remember where to change it. ... I think the issue was in cycles hair rendering-> primitive-> line segment / Curve Segment but I don't find it anymore in the new update. how can I do then to get a more defined strand?Can somebody help me?
Thanks in advance

After experimenting around I found a solution for this problem. Cycles Hair settings is not in the last blender update but the texture of the hair from linear to curve can be improved just by changing steps from 2 (settings default in the hair properties) to 6.


Blender Disabling Windows Aero? So Lately everytime I open Blender (2.76) it stops my windows Aero and changes my theme back ?

Wondering if there is a solution to this problem

Its really hard to work with the basic theme

Using windows 7

Nviada GTX 980

I had the same issue. I created an account to say that the above fix worked with a similar PC build: using windows 7 and a 980. Rolled back to Nvidia 368.81 driver.

http://us.download.nvidia.com/Windows/368.81/368.81-desktop-win8-win7-winvista-64bit-international-whql.exe


How to stack/layer two textures with alpha over each other with Material nodes? I have two textures with transparency and I want them on top of each other with a Diffuse shader below them via the Material nodes in Cycles.

Because I'm using the Material nodes and not the Compositor, I can't just simply use the Alpha Over node.

Here's as far as I got. (Ambient Occlusion is enabled. I need both textures at full opacity.)

My problem seems to be stemming from the fact that I don't know how to combine alpha channels, if that helps.

How do I do this?

(It MUST be done in the Materials node editor.)

Here's the .blend file:

The alpha channel of both images can be combined ( in this case  it works if you add them, but you can also do other operations depending on your needs) and used to control the mix for the colors or shaders:

or:


Project from view(Bound) I am new to Blender and I am trying to map an image as a texture on top face of a mesh. I choose the view I am interested in (Top view) and use Project from view(bound). But I can also see the image on other sides of the shape, which is not desirable.
I cannot manually select the faces because the object is created by point cloud and consists of too many edges and faces.
Does anybody have any idea?

You can tab into edit mode, select one face where you don't want the image to be, then hit shift + G select co-planar, it will select all the faces with the same normal (the same orientation).
Then you can use the option of the threshold to allow faces with a pretty much similar orientation to be selected,
Then you can finally use the search bar to extend your selection if needed.
depending the orientation of the other faces of you mesh you will have some cleaning to do, but this method should make things easier and faster


Animation nodes: rotate around axis How do you rotate an object around a given unit vector and angle? I thought I could use this matrix, but I'm unable to create a custom 3x3 matrix inside animation nodes.

$$R=
\begin{bmatrix}
\cos\theta+u_x^2(1-\cos\theta) & u_xu_y(1-\cos\theta)-u_z\sin\theta & u_xu_z(1-\cos\theta)+u_y\sin\theta\\
u_yu_x(1-\cos\theta)+u_z\sin\theta & \cos\theta+u_y^2(1-\cos\theta) & u_yu_z(1-\cos\theta)-u_x\sin\theta\\
u_zu_x(1-\cos\theta)-u_y\sin\theta & u_zu_y(1-\cos\theta)+u_x\sin\theta & \cos\theta+u_z^2(1-\cos\theta)
\end{bmatrix}
$$

You can use the Convert Rotation Types node to construct a rotation matrix from Axis Angle model and then use it to rotate the object:


icons_geom.blend - how to move a new icon into the export collection? The Blender toolshelf icons are defined in a icon_geom.blend file. The file can be found here: https://developer.blender.org/diffusion/BL/browse/trunk/lib/resources/
This blend file has a collection called Export. And a new icon needs to be in this collection. But it is not described how to do so. Just that it is required. There seems to be no UI way, the collection just shows in the Blender file and Orphan mode in the outliner. It is not in the move to collection dialog and  not in the Scene or View Layer mode. Drag n Drop fails, paste fails. I have tested everything i could think of. No avail. I have never seen such a hidden collection before. It is not documented.
So how do i add a new mesh object to the Export collection? Any help is appreciated.

I was once more beaten by the obvious here.
Have a look at the Properties editor at the right. There is the Add to Collection button in the Collections panel in the Object properties of the selected object. And here you can find the Export collection in the list then.
Thanks goes to HooglyBoogly at Blender Developer here.


Control an object's specularity with distance I want the specularity of my Earth model to turn off after a certain distance from the camera as, in reality, the sun's reflection from the water soon fades the further you get from it. I want this same affect to apply to my model. Are there ways of doing  this?

With material nodes, you can use the Camera Data input to get the distance from the camera to the surface. Note that this number will be much higher than the 0-1 range you'd normally want for a color value, and the numbers get bigger the further the surface is from the camera, so you'll need to do some math to invert and scale this value to whatever works best for your scene.
See the image below for a sample setup in Blender Internal, but Cycles has the Camera Data node as well.


How to render videos for twitter? I'm trying many configurations to upload a video on Twitter.
Twitter displays the following error message:

"Your media file is not compatible."

Which is the right format and encoding to upload Blender videos in twitter?

I have just downloaded video into Twitter with next rendering settings. On the picture below I marked significant properties. Some of them can be set with other values according Twitter documentation I guess. For example fps can be till 40.
In my case it looks like the problem was in audio codec. I did not have any sound so the codec was none. But Twitter require audio codec anyway.


How to switch between UV maps on multiple objects? How to switch between UV maps on multiple objects at once? Example -- you have 300 assets, 1st UV channel for diffuse texture and 2nd for light map. If you want to edit all UV shells of the 1st channel on several objects in multi edit mode, you have to switch to this channel manually on every single active object one by one. Is there a Python script for doing it at once?
I've checked StackExchange and other forums, but couldn't find the working solution.

This script seems fine, but it doesn't work for me:
https://pastebin.com/wNWdUJdC

An example image of two objects:

That's acutally pretty close. You just have to assign a MeshUVLoopLayer reference to MeshUVLoopLayer.active according to the API. Also I'd suggest exclude the active object from the loop and test whether there is an active layer within the poll method:

import bpy

class OBJECT_OT_set_active_uv(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.set_active_uv_selection"
    bl_label = "Set UV Layer on all Objects in Selection"
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        obj = context.active_object
        return obj is not None and obj.type == 'MESH' and obj.data.uv_layers.active

    def execute(self, context):
        target_uv = context.active_object.data.uv_layers.active
        for obj in context.selected_objects:
            if obj.type == 'MESH' and obj != context.active_object:
                if target_uv.name in obj.data.uv_layers.keys():
                    # Active UV Layer = Target Layer
                    obj.data.uv_layers.active = obj.data.uv_layers[target_uv.name]
                    obj.data.uv_layers[target_uv.name].active_render = True

        return {'FINISHED'}

def draw_set_active_uv(self, context):
    layout = self.layout
    layout.operator(OBJECT_OT_set_active_uv.bl_idname)

def register():
    bpy.utils.register_class(OBJECT_OT_set_active_uv)
    bpy.types.DATA_PT_uv_texture.append(draw_set_active_uv)

def unregister():
    bpy.utils.unregister_class(OBJECT_OT_set_active_uv)
    bpy.types.DATA_PT_uv_texture.remove(draw_set_active_uv)

if __name__ == "__main__":
    register()
    # Test call
    #bpy.ops.object.set_active_uv_selection()


Randomise vertices in xy-plane I try to generate Cables with the Blender Python API.
I got it mostly working but there is one detail I would like to change.
I randomised the vertices of a Nurbs Path with bpy.ops.transform.vertex_random but the problem with that is that the vertices also get randomised in Z direction but I want them to be "flat" cables laying on the ground.
Has anyone a solution to this?
Every kind of help is highly appreciated.
Thank you very much.
The Code:
import bpy
import math
import random
import bmesh

#define number of Cables
numberOfCables = 5
count = 0

#clean scene (delete all objects inside
def clean_scene():
    for things in bpy.data.objects:
        bpy.data.objects.remove(things)

clean_scene()
#bpy.ops.object.select_all(action='SELECT')
#bpy.ops.object.delete(use_global=False, confirm=False)

#Main Programm
for i in range(numberOfCables):

    #define random values for location and size
    X = random.uniform(0,5)
    Y = random.uniform(0,5)
    randomRadius = random.randrange(15,50,5)/10000 #random thickness ranging from 3mm to 8mm
    randomLength = random.uniform(0.3,1) #random length ranging from 30cm to 1m
    randomSeed = random.uniform(0,10)
    #print(randomRadius)

    #create Nurbs_Path
    def create_Nurbs():
        bpy.ops.curve.primitive_nurbs_path_add(radius = randomRadius,
                enter_editmode = True,
                location=(X,Y,1))
        return bpy.context.object

    obj = create_Nurbs()

    #randomly place vertecies to have different "cables"
    bpy.ops.transform.vertex_random(offset=.5,
            uniform=5,
            normal=5,
            seed=randomSeed,
            wait_for_input=True)

    bpy.ops.object.editmode_toggle()

Change the value of NurbsObject().data.splines[a].points[b].co, checking points[b].select if you'd like to restrict to only currently selected points:
def AnisotropicRandomizePoints(scale=(1,1,1,0), points=None):
    """Anisotropically randomize the coordinates of NURBS points.
    Accepts a sequence of length four as its first argument,
    with the first three elements scaling the randomization
    applied to X, Y, and Z coordinates and the fourth element
    scaling the randomization applied to W respectively. Uses a
    given list of points if specified, otherwise uses all selected
    points in the active object if in Edit Mode or all points
    in the active object otherwise."""
    import random
    import bpy
    if points is None:
        points = [p for s in bpy.context.object.data.splines for p in s.points if p.select or bpy.context.mode not in ('EDIT_CURVE', 'EDIT_SURFACE')]
    points = [*points]
    for p in points:
        for i, v in enumerate(p.co):
            p.co[i] = v + (random.random()*2-1)*scale[i]

(Do AnisotropicRandomizePoints(scale=(1,1,0,0)) to restrict randomisation to the XY plane.)


Physics fluid stimulation is not showing rendering tab or being rendered in one particular project I am in a middle of project. I did some basic flame kind of Stimulation for my project. I can see that effect in object mode and material mode but not in rendered mode. So I created a new project. And linked every collection from my actual project. When I rendered new project. I can finally see the render. But unfortunately I couldn't get my original lighting from original project. So, can you please tell me why my fluid (fire) stimulation is showing in one project and not not showing in other.

I accidentally turned off the volumes option in filter tab under view layer properties.


How to copy modifiers with attribute values from active object to selected objects with python scripting? Is there a better way to copy a modifier with all attributes from active object to selected object through python scripting other than adding a modifier to selected and copy attributes one by one (with dictionary for example) from active?

The problem is some attributes are read-only (even if it makes no sense - like for example subdivision algorithm in Subsurf modifier) and i don't know how to set them through python script.
So i can't copy that subdivision algorithm value from one to another through scripting with method setting a value for an attribute:

bpy.data.objects[object_name].modifiers[modifier_name].attribute_name = attribute_value

So to reiterate my question: is there any other way to add a modifier to an object that would allow setting up values for all attributes?

I don't think that's possible.

A modifier can only be inserted through modifiers.new, so its properties do need to be copied individually. The problem here is in checking which properties can be copied. (e.g., Subsurf modifier's subdivision_type property is actually not readonly as you claimed, but we'd need to test it manually or check the API reference to find out.)

The whole "check writability then copy" procedure can be done more efficiently, though. For example, see this function:

import bpy

def main():
    active_object = bpy.context.object
    selected_objects = [o for o in bpy.context.selected_objects
                        if o != active_object and o.type == active_object.type]

    for obj in selected_objects:
        for mSrc in active_object.modifiers:
            mDst = obj.modifiers.get(mSrc.name, None)
            if not mDst:
                mDst = obj.modifiers.new(mSrc.name, mSrc.type)

            # collect names of writable properties
            properties = [p.identifier for p in mSrc.bl_rna.properties
                          if not p.is_readonly]

            # copy those properties
            for prop in properties:
                setattr(mDst, prop, getattr(mSrc, prop))

main()

It copies all modifiers from active object, to every other selected objects of similar type. What modifier properties to copy is determined by checking is_readonly attribute of all items in the modifier's bl_rna.properties. This way, we can ensure that only writable properties get copied.

In the API Reference, some readonly attributes like Dynamic Paint's brush_settings have no other method of access, so they can be set only through the UI.


Error attempting to import image as plane in blender internal I selected File > Import > Images as Planes, and chose a 700 kB png from the file system screen that pops up (in Blender 2.76). The first time nothing happens, on later tries it gives me the errors shown in the screenshot:

I've tried now with different images, same thing. Definitely nothing is added to the scene - nothing shows up in the Outliner. It is a new file nothing in it but a lamp and a camera.

Edit: This was a temporary problem with the Ubuntu launchpad ppa version of Blender. It has now been fixed.

The file is here

The png file can be downloaded from here, and here is a version:

What should I do here?

I had the same error:

Apparently images can't be in the same context as the blender file (note on the report error, first line starting with File, context is written within the parenthesis).

So create another file separated from where the blender file is and import your images from there. It worked fine for me.


Problem with rigging after object rotation I am making a simple door opening animation with door handles pulling down.  Everything worked fine

until I selected everything and tried to rotate the door around the Z axis.

How do i fix this?

I don't know, but I would try to use parenting to make a hierarchy. By doing this you need only to move one object, and the rest will follow.

Note the differences in the outliner:


Increase Cloud Evolution Speed? I am trying out the Cloud Generator AddOn that comes with Blender 2.67.
I have created a a single cloud and selected the CloudPointDensity texture.
Under Turbulence I have changed Influence from Static to Global Time.

This causes the cloud to evolve and change shape as time passes. However, I would like to change the speed of this evolution and I can not find anyway to accomplish this. I have tried Time Remapping and increasing the FPS of the scene. None of these attempts produces any other result other than the default evolution speed.

Is this possible with Blender? Or does this border on feature request?

Thanks

Global time is basically just the frame number. As far as I know, Blender can't render in between frames, so there isn't a way to slow down global time.

(I may be wrong about that though. Maybe turbulence is computed as a current_frame / total_frames? In that case, you could try increasing/decreasing the number of frames. I don't have time to do a test case, at the moment.)

Instead, you should use "particle age" for the influence. To modify slow down the turbulence, you'll need to select the particles option when you first generate the cloud. This will let you edit the particle system associated with the point cloud texture. Longer particle lifetime = slower; shorter particle lifetime = faster.

See the Blender Wiki for the Point Density Texture

Edit:
Oh, you could also just render it at slow speed, then speed it up using a "speed control" effect in the video sequencer. 'Tis a hack, but may suit your situation.