Animated objects not consistently making contact with rigid body physics objects I have a scene of numerous objects ("triggers") arranged on a path that are animated to ride on a twisting conveyor belt.  Suspended over the belt, there is a rigid body physics lever that is supposed to rotate on it's hinge whenever a passing trigger object makes contact, which then causes a mallet to swing that is connected to the lever via a rigid body spring constraint.

The problem is that the lever rarely reacts when a trigger makes contact.   I have tried changing the sensitivity margin settings of both the lever and each trigger, but this has yielded hard to reproduce results.  I have checked my normals, scale, etc.  I have increased the Rigid Body World steps per second.  I was able to fiddle with settings on the object physics properties, but could only get one of the triggers to move the lever; but after saving and then re-opening the blend file, the previously working trigger failed to work again!

In the screen shot, you can see the triggers distributed along the spiral conveyor, with an example trigger labled "X" (that will make contact with the lever when the animation starts).  The curving arrow illustrates the direction of travel of the triggers (which travel at a steady velocity).  The lever/mallet contraption is suspended over the triggers.

I would very much appreciate any suggestions as to what might be the issue.

Here is my blend file: https://drive.google.com/file/d/0B8euJ49ta_XTUFRnT2xTdTlZOEk/view?usp=sharing

----- Updated ------

I created a simplified setup to figure this out, and I think that I am zeroing in, but not there yet.

I placed a simple spinning paddle wheel object under the lever.  Eight paddles, with seven that are 0.05 blender units thick, and one paddle that is about 0.15 units thick. The tips of the paddles are about 9 blender units apart.  I set the sensitivity margins of all physics objects to default 0.04.

The speed of the paddles, and the thickness of the paddles seem to make a difference.  If I set the rate of spin down to a 2 second interval per paddle, the lever responds consistently to each paddle.  If I speed up the paddle wheel, to about one second paddle spacing, then the lever hits success become variable: completely missing one third, slightly twitching for a third, and the final third are hit solidly.

At a midway speed setting of 1.5 seconds per paddle, I see an improvement over the 1 second spacing results.  What I also notice at this speed is that the thicker paddle has the best chance (but not 100%) of moving the lever. When it does move the lever, the thicker paddle also forces the lever to deflect further than the thinner paddles deflect the lever.

I hope these further clues help to find a solution.

In the 6 weeks since I posted this question, I have found solutions and/or work-arounds for the problem.

Here are the relevant points that contributed to the fix:

1) The objects that sit on the conveyor belt were actually imported from an OBJ file that I built outside of Blender.  Independent of my physics issues, I found that these objects were not rendering correctly. The issues seem to be related to normals being strangely wrong. Other users have also noted that OBJ imported objects have normals issues in Blender. I did a bulk swap-out of these imported objects using Ctrl-L Object Data, with a Blender-modeled object. This fixed my render issues.  Was this OBJ issue impacting physics also?  Perhaps.

2) The objects on the conveyor belt each have a Curve Modifier, and animation is done by key-framing the location of one of the objects that is the parent of the other objects on the conveyor belt.  The fix involved creating a set of non-rendered objects that move on a plane in concert with the objects on the belt. These super-simplified "ghost" objects are setup with rigid body physics, and their only purpose is to trigger the mallets.  I was fortunate that all of the mallets are on the same plane.  I removed physics from the belt-mounted objects.  This did the trick!!  My observation is that the critical difference is that not using a curve modifier on objects that need to be part of the physics was the break-through that I needed.

3) Other lessons learned (painfully):

a) I accidentally changed the scene physics speed from 1.0 to 0.1.  This caused everything to react very slowly which took me a while to find the root cause, as I was in the midst of tweaking various rigid body parameters and constraints.

b) Baking - Once I did a full bake on all frames (it took two hours), the scene simulations were much smoother.


Why does Boolean difference add material to this mesh? In Blender 2.76b and 2.79b, in a mesh, I have added a Boolean subtract modifier. The subtracting mesh was made from text. I have another mesh from text which subtracts correctly. However, on this one, instead of only subtracting the volume, it also adds an outline where the modifying mesh (from text) exceeds the modified mesh.

Here is a screenshot showing the modified mesh in edit mode:

Here is a screenshot showing the modified mesh, in which you can see that the subtracted mesh (from text) somehow also adds:

I mirrored some of the vertices in making the modified mesh, because the shape I am making is symmetric. Mesh from text subtracts correctly on the first side which I modeled by hand. However, mesh from text (whether I duplicate the first text or create new text) adds as well as subtracting on the mirrored side.

Does the mirroring have anything to do with this? How can the issue be resolved?

Here is the .blend file.

Thank you!

Seems to be an issue with the "Carve" Solver. When I switch to "BMesh" in Blender 2.79b, it seems to produce the correct output. Thank you for providing ideas!


How can I export multiple animations into one .x file? When I export my models and animations I use a .x (Direct X) format. I can see how this format could accommodate multiple animations. However, I can't get Blender to export anything other than the active action. I have my animations in different actions, as described in this question/answer.

How can I export multiple animations into one .x file? I'm using the built in exporter for .x files.

Blender has a DirectX exporter. Go to Addons in User Preferences and look under Import/Export.

Check Export Animations, this should export all the animations in your file. I would recommend playing with the other animation options as well. You can read up on each setting on its wiki page.

Test 1: I enabled it and made a simple scene with two animations. I exported the file to .x and opened it in a text editor and I saw the animations in there clearly labeled and with the transform locations I had used.

Test 2: I also downloaded a .x viewer called 3dmodelviewer, exported a file from Blender with over 6 animations and it loaded and played them all so the exporter works with multiple animations.

NB: In my tests, I parented primitives to several different bones. I also noticed that I had to be in pose mode when I was animating the objects, if not it doesn't work, not sure why.


Can I have a unique UV map for each frame? This is sort of an unconventional use of Blender, but I'm straightening the distortion of scanned pages of a book, and I have the pages of the book scanned and numbered. What I want to do is use a plane with a simple UV map (two faces, one for the left page and one for the right). I've tested this concept out and it works for a single scanned image. I'm thinking I can run the scanned pages as an animated image sequence. What I'm not sure how to animate is the UV maps. Any idea how I can have a different UV map be called automatically for each frame, corresponding to its number? Maybe there is some way to use Python to update which UV map is used in the material's UV node?

UV maps are not animateable by default in Blender. However, there is an addon that can give you this functionality, it's called AnimAll.

Once you install this addon, you will have a toolbar in the Animation toolbar in the 3d Viewport on the left. This will allow you to insert UV keyframes and alter the UV Map to achieve the per-frame warping you require.


Black shading appears in faces I'm Modelling a car in which i'm getting a black shading while in rendered mode.
i've tried deleting the faces but still im getting those black shades.

Try the following solutions

Maybe just because of the Smooth Shading applied for a low poly 3D model: Your model is currently at a low poly stage so change it into high res model or remove smooth shading until you add in more details to the model(maybe at least till you add subsurfs).
Normals Issue: Try recalculating the normals -> enter edit mode and select all then press Ctrl+N key
Duplicate Vertices or edges issue: Enter into edit mode and select all, then press W key and click on Remove doubles


Where is the 'detail flood fill' option in blender 2.9? I wanted to try it out but I can't find it.

As the manual said, you just need to select Dynotopo > Detailing> Constant Detail
And you will see the option below


How can I create a parabolic trajectory between two 3d points The idea is to make some sort of node arrangement that creates a parabolic trajectory between two points. Just like when missiles are launched from the ground.

As Jacques pointed to be more specific I want to achieve something like this:

The animation that I'm trying to achieve is the typical world globe with points and lines simulating that trajectories of airplanes in order to show connections between different places of the world.

Basics

You can use splines for that. Bezier splines to be more exact.
As input you need to have the start and end points with normals. Where you get these points from is the part where you have to be creative. I will show you here how to create splines from the mentioned input data as well as two methods how you can use this concept in practice.

Here is a basic setup that creates a spline from the 4 input values (note that I hid one socket in each Append Point to Spline node):

Next step is to create a subprogram (a group in this case) to simplify the following steps:

When you put this in a loop you can already do a lot of stuff. The main question is how much control you want to have over the result.

First Use Case

The goal is to connect the vertices of a given mesh.
I start with such a problem by breaking it down into smaller pieces.

How to select 2 random vertices from a list of vertices?

How should the basic loop look like?

Bringing it all together:

More control over the 'height' of the splines by multiplying the normal with something:

You may also want to implement a filter that eg only points will be used that have a specific distance to each other:

This method works quite well, but you don't have very much control over the individual splines.

Second Use Case

My second idea is to use two planes to control each spline. If this method is suitable for you highly depends on the amount of splines you want to have in the end.

Preparation:

Create multiple objects which consist of two planes and put them into a group.

Now I want to take each spline individually and create a spline between their centers (with the normal as direction). I again hid some sockets in the Polygon Info and Object Mesh Data node in the right toolbar.

Based on that you can easily create more splines and control them with the planes. Maybe you also want to control the length of the normal with the area of the polygon by using it as scale factor. Another idea is to use the shrinkwrap modifier to position the planes directly on a target object.


How do I make a crystal glow? I am trying to make the infinity stones and I am struggling to make them glow.

This answers doesn't translate to my issue since the solution involves creating a duplicate of the object scaling down and making it emit light. This ruins the transmission shading of the original object.

In  the films they emit a strong light from their cores. I want to animate them spinning in a circle so the glowing effect must be done in blender. I am currently using an hdr to light them. (using a gtx 960m chip so the less taxing the better).

Make a uv sphere inside the crystal , use emission shader , increase the strength of emission and render using evee.


Problem with Mirror Modifier and allignement I was following the instruction of Blender Guru to realize a chair, I'm stuck in the part of mirroring, because the mirrored object apper to be in the wrong position  , in my case in the other part of the origin (look at the image, it's more clever)
Maybe is something really simple, but I don't know what I'm missing.
I have alse tried to do what it's written there: Mirrored object is misaligned when compared to its source object

I was doing the operation in the wrong order, the right one is:

Add mirror modifier
Cut the part that you want to be mirrored in 2 half
Delete the vertices of one half

I swapped the first 2 steps


How do I custom set the origin when use the mapping node? I'm going to use the mapping node to rotate my X-mark texture.
However, the origin isn't centered on the X-mark.
How do I custom set the origin when I use mapping nodes?

Test Chris's Answer
The origin of the geometry seems like independent of the rotation origin of the mapping node.

All you have to do is add a vector math node before mapping node, set it to add. Now you can easily change the origin by changing the value of vector math node


Why normal map baking break at UV seams? I wonder why my normal map baking (from high to low mesh) got incorrect result like this:

blend file is here. Thanks anyone that can explain or help to solve it.

The results are correct. The reason it appears wrong is because the normal map is using tangent space (which is what you usually want) - tangent direction is based on the UV map, so there will usually be a difference in colour where there is a UV seam.

However the colour difference is not an artefact. When used as a normal map (not as a colour map), everything will display correctly:

(That's the low poly model)


How does normal baking work? I understand that one uses normal baking to bake the normals of a high-resolution (sculpted, in the millions-of-polys range) to an image, which are then set to the normals of the low-resolution (retopologized, in the thousands-of-polys range) mesh to create the illusion of higher resolution, as shown in the following image from Wikipedia:

To save the normal of each vertex to an image, the mesh would have to be UV-unwrapped. However, as I understand it, the entire purpose of retopologizing is to get good topology that can be used for UV-unwrapping. Even if you unwrap the high-resolution mesh, how do you unwrap the low-resolution mesh with the exact same configuration, such that the normals are projected properly?

Or, phrased more succinctly:

What exactly is the workflow for sculpting, retopologizing, and normal-baking?

The high resolution mesh does not need to be UV mapped at all.
Baking the normal map works by calculating the difference in the surface normal between a particular point on the low resolution mesh and the nearest point on the high resolution mesh. As long as they are sitting on top of each other, everything should work as expected.

Above you can see the two meshes are on top of each other (the middle image is only the wireframe of the left image, not another mesh) and the resulting normal map.

So the position of the surface is used to determine which points on the low and high resolution meshes go together, the UV of the low resolution mesh is simply the target output of the bake and no UVs are used in the calculation of the normals, thus the high-res mesh doesn't need any.

Also, clean topology is also important for correct deformation in rigged models. As long as there are no overlaps and the islands aren't too close together (3-5 pixels is usually fine) the quality of the UV map isn't too important.

Thus the workflow is:

Retopologize the sculpt
Unwrap the low-res mesh
Place them on top of each other (if they aren't already)
Select the high-res, then the low-res mesh
Tab into Edit Mode of the low-res mesh, select everything
Make sure you're using Blender Internal render and create a new image. I recommend enabling 32-bit Float to prevent any banding or other image artifacts.
In the bake panel, choose Normals for the bake mode and enable Selected to Active
Hit the magic bake button
When it's done, save the image as an EXR or a 32-bit format, otherwise some of the information in the normal map will be lost and you'll get obviously visible banding.


Weight Paint isn't painting smoothly? so I'm planning to weight paint a tentacle. I chose one of the bones on the tentacles and started on weight painting. I found something wrong though... When I weight paint, sometimes it shows, sometimes nothing happens. How do i solve this? I actually tried subdividing the tentacles into 10++ cuts. It solved the problem, but it become very very laggy. Anyone knows how to solve this problem? Weight paint problem

I see that you're trying to paint between vertices, you can't, if you want the painting to be more subtle you need to subdivide your object. And of course you also need to use the good brush strength (you can mainly use the Draw brush in Mix or Subtract mode, F to change the brush radius, ShiftF to change its strength, you can also use the Blur brush to smooth).
Weight painting is used to give a value between 0 (blue) and 1 (red) to your vertices, 0 meaning the selected vertex group (in the Vertex Groups list) has 0% influence on this vertex, 1 (red) meaning it has 100% influence on this vertex.
Which doesn't mean that this vertex can't be part of other vertex groups by the way, several groups can have a weight of 1, which means they will equally influence this vertex.
So you can't paint edges or faces, only vertices.
If you open the N panel > Item > Vertex Weight, you can select a vertex and see what group this vertex is part of and how much weight this group has on this vertex:

Also, good thing to know, if you want to paint through, disable the Front Faces Only and Front-face Falloff options and enable Projected:


Connecting eye rig to head bone I rigged the body of my character and proceeded to the facial rig, in which the eyes (mesh) are already connected to an armature, but now I want to connect those eyes armature to a new bone I made on his head so I can control both of them at the same time.

Adding to that, I also want to connect that new head bone to my master bone so I can move it all together.
Tried bone and object constraints, and parenting, but for some reason I can't seem to get it right. Everytime I move master bone (which you can't see on the image) in "Pose mode", the head bone and eye armature won't follow.

Thanks in advance :)

You might need to adjust how you are trying to parent objects in order to solve the issue you are having.

When you want to parent an object to a bone that you plan to move with pose mode, you should try to parent it to the bone, rather than parent to the armature object.

Here is a simple workflow that should work for your situation.

Select the armature that you want to follow the bone in another armature
Now select the armature that contains the bone that you wish to parent to.
Use the parenting menu and select bone, or bone relative, depending on whether you want your child armature to retain its offset or not.

Hope that helps, happy blendering!

Note that:

If the armature containing the bone you want to parent to has multiple bones, you will need to select the proper one before doing so.

You can do that by going into pose mode prior to parenting, choose the bone that is to be the parent, then go back to object mode.


Create cube in bmesh at given position in a efficient manner I want to create a cube in bmesh at a specific position. How can I accomplish this?
I'm interested in as efficient solution as possible btw... there will be A LOT of cubes to create every frame.

A person going by the nick @Random helped me with this on blender.chat. The solution was to pass translation matrix to create_cube op.
bmesh.ops.create_cube(bm, size=0.5, matrix=mathutils.Matrix.Translation(current_point))


Texture painting on an existing material Is it possible to texture paint on a material that has been already assigned to an object?

The answer is YES! And these are the steps you begin with:

Make sure to UV unwrap your model.
Apply a material, create and add an image texture.
Go to Texture Paint mode, and start painting directly on the model.

IMPORTANT

Remember to save the painted texture to a file or pack the image directly inside
your blend file, before you lose it!


Keep texture shadeless, but recieve shadows? I'm working on a VFX shot where I have created a clean plate that is motion tracked to go over a store sign. I made some 3D text to put in its place, but because the clean plate is shadeless, the text does not cast a shadow on the clean plate. Is there a way to keep the material/texture shadeless and therefore seamless with the original video, and allow it to receive shadows?

I don't know if there is a way to do exactly what you're talking about, but I have another idea.

I would duplicate the clean plate and move it ever so lightly closer to the camera (as little as possible). Then change its material to a transparent shadow-catcher. That way, you can see the plate through/behind it, but the letters can still cast shadows on it.

I'd love to see how well it works ;-)

I hope that helps!


Can't dissolve certain edges I can't tell why though...

I tried to select all the edges and dissolve them but to no avail.

I tried with only one edge selected but i wont do it...

Can someone help me?

Ngons aren't the only problem which can prevent Dissolve from working, non-manifold geometry is one more. There are internal faces in your mesh left after applying Mirror modifier:

Above Select > Select All By Trait > Non-Manifold was used to select all internal faces.

Remove the faces and then dissolve the edges with either Limited Dissolve or X > Dissolve Edges.

In more general case this is one of the problems which arise if you don't delete the faces which are on the mirror plane of the modifier (if you add Subsurf these will be visible as a seam in the middle of the mesh).


How to make toon shader more realistic and clean crooked shadow in models? How can I make my toon shader more realistic? I have a crooked shadow in my character model, how can I correct it?

One thing that might help is to bump up the subdivision modifier (assuming you have it on), though that might increase render times.

Another thing you might try is custom normals. This way, you can have more control over how the shading looks but it adds several steps to your workflow.

I would also suggest this video. Its long and has nothing to do with blender, but it is very informative.


Blender viewport lag I'm not sure if it's even related, but in the top right corner of the viewport you can see it shows 5FPS.

I just downloaded Blender today and been trying to fix this problem for hours. My Blender is lagging, everything is unresponsive and the viewport is 4-10FPS at all times. I'm running out of ideas what to do.

What I tried to do so far:

NVIDIA Control Panel, disabling FXAA
Couldn't find a setting for integrated graphics, nor could enable it
Disable Shadowplay and restart PC
Update NVIDIA drivers and downgrade to an older version
Re-installing Blender (twice)
Changing Blender settings like filtering and window draw methods

GPU: NVIDIA GeForce GTX 1060 6GB (no OC)

CPU: Intel i5 4460 (no OC)

Motherboard: MSI B85-G41 (MS-7850)

RAM: 16GB DDR3

OS: 64-bit Windows 7

I know there are other questions like this, and I tried the solutions, but they didn't help. If you need any other info then ask. Thanks ahead!

EDIT:

I found out one thing - if I make the viewport smaller, then it doesn't lag anymore. And if the window size is still maximum, but I make the viewport small, then nothing lags as well. But why should even lag when it's bigger, if nothing is taking CPU/RAM? This is how everything is when Chrome and Blender are running (CPUID HWMonitor):

GPU

Other

More (probably not important): https://pastebin.com/Ts9MN0Kz

Hmm in viewport try do a factory reset, press space and write load factory settings. Open up some monitoring programs, for GPU, cpu, ram and HDD. try see if anyone of them is being overloaded or overheated. third, is a question, is it anything in the viewport as you test?


How to close timeline window I accidentally open the second timeline widow. What's worst it is moving simultaneously with the properties tab. My question is - does anyone know how can I close this window. Here you is what my problem looks like

If you grab the bottom corner of the top window you collapse the top timeline and you get rid of your 2 problems:

I may be wrong but for the moment it looks like if you have sticking windows, you can only get rid of them with the creation of a new one (or directly collapsing 2 windows but you'll need to recreate the one you had):


My project just stop working after a while I'm doing some animation with bouncing balls and hair, everything is fine but after a while, when I work on projects, the objects stop to follow my commands. It happens all the times, and what was good a minute ago now doesn't work anymore, like this object crashing and not following the property about soft boby, just like the particles don't follow anymore the objects even if pin goal is set to 50.

Well, nobody answered, but that's it.
I abandoned Blender 1.9 and I get back to Blender 1.83
now everything is perfect.


Create a curved circle with precise dimensions If you imagine the external edge of a torus, all the way around, or you imagine a uniform cylinder where you then bend the vertical edge in uniformly to create a circle - that is what I'm trying to achieve.  A curved circle with specific measurements.

Specifically, I want it to be 4 units high (easy) with the swell of the curve precisely one unit thick.  In other words, say the bottom of the curve is at 0.00, then the widest point of the swell is at 1.00 before coming back in again to 0.00 at the top of the curve.

I imagine this could be done by trimming down a torus, but the "exterior/interior" radii settings on the Torus Dimensions don't appear to be accurate enough for my purposes - because the Torus inner edge swells in too, and I can't therefore use that to measure because I don't know the degree of that swell.

I imagine this could be done by bending a 4-unit-high cylinder, but I don't know how to...

Any help/guidance much appreciated.

Thanks,
A

A curve with its control points precisely placed and a Screw modifier will do this.

Is this the shape you wanted?

Edit:

Sometimes the handles get swapped around, and that kinks the curve around on itself.  So move the handles around and see what effect that has on the curve to make sure they're coming out on the right sides.  If you move the control points (the handles get highlighted too) with G for grab, X, Y or Z for the axis and 0 or 1 or whatever you need, you can get them in a symmetrical place - you have control over that at least.  To get the handles arranged you can turn on Snap (the magnet icon at the bottom in Blender 2.79) and turn on Absolute Grid Alignment (the second icon along after Absolute Grid Alignment, you can move the handles to a fixed point on the grid so everything is properly aligned and symmetrical.  If you then want more or less curve you can move the handles to another grid point, keeping them symmetrical.


Icecream close-up - What nodes am I missing? I'm trying to reproduce this ice cream from another blender
forum. Yet I'm miles away from this artist's work. What nodes or settings am I missing?
What I want:

What I have:

Reference hi-res download: https://blenderartists.org/uploads/default/original/4X/4/3/f/43fd66535d47ddccf47d6b52734453f795309766.jpeg

I tried to get closer to your reference, but checking real shots it seems to me I just multiplied wrong interpretation of reality. Of course it has hundreds of possible looks, but version in your reference looks weird to me ;) Anyway ...

Wave texture can't create a zebra strips, that is what I see as bigger breaks on surface.
For that I based material on Gabor texture, it's OSL texture (so only CPU and Cycles shader). Gabor texture is part of Templates in Blender's Text Editor.

Later I will add blend file to test it. If you need more details let me know.


Particle System, objects emitted colliding Basically using particle emitter to emit trees for a forest. Problem is they emit to close to each other making it look messy is there anyway I can make the particle system detect the other particles emitted and not collide with each other when emitted. This is being done using hair(needed) and heard about dynamic paint but couldn't work out how it can fix this issue.

I think you could set a big size to the particles

And then use the Molecular Script addon and enable the Activate Self Collision option.


how to keep sharp turns on model while sub surf modifier is active? (image inside) I would like a sharp turn, not the smoothed round turn that the sub surf modifier causes. Is this possible? Notice the purple line for the mean crease, I would like it to look like that

Depending on what your mesh is like, there are several ways to do this.

3D Objects:
You can accomplish this with the shortcut Shift+E while in edit mode. Select the edge you would like to crease (the "seam") first, and then press 1 or move the cursor until the crease is maxed out.

2D Objects:
For two-dimensional objects (planes) you can use Loopcuts to simulate this effect. One of the main drawbacks to this method is your vertex count will be increased. Sadly the Edge Crease option does not work on 2D objects.

In edit mode, hover over the adjacent edges and press Ctrl+R, then click once and drag towards the seam. Now click again to finish the operation. Repeat for the other side.


Is there a way to sort shape keys by name? Anybody know of a way to sort the shape keys by name, it gets quite annoying puzzle if there is an extended list of them. Be nice if it would be implemented in the specials menu like with the vertex groups. Or at least a function call like py.ops.object.shape_keys_sort(sort_type='NAME').

On the "Object Data" tab in the "Shape Keys" panel; click the tiny + symbol at the lower left of the shape key list.

This will enable the filtering and sorting options

Clicking the AZ button sorts the list alphabetically.

(The tooltip lists the relevant python command as MESH_UL_shape_keys.use_filter_sort_alpha)

These filtering options/sorting options are hidden away in all (most?) of these lists.


Python: How to completely remove an object How can I completely remove an object (for example a camera) using python scripting?

Using something like:

scene.objects.unlink(camera)

Does not work, since it is still available in bpy.data.objects. However, using:

bpy.data.objects.remove(camera)

still doesn't remove the camera, since it continues to exists in bpy.data.cameras.

Is there a way to remove an object from all of these places at the same time?

You can use bpy.ops.object.delete() operator to remove selected objects:

import bpy

# Deselect all
bpy.ops.object.select_all(action='DESELECT')

# Select the object
bpy.data.objects['Camera'].select = True    # Blender 2.7x

# https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Scene_and_Object_API
bpy.data.objects['Camera'].select_set(True) # Blender 2.8x

bpy.ops.object.delete()

In order to remove multiple objects, you can iterate through all objects, set the select state in Blender 2.7x or call select_set(state) in Blender 2.8x based on a certain condition and finally call the operator one time.

Blender 2.7x

import bpy

# Delect objects by type
for o in bpy.context.scene.objects:
    if o.type == 'MESH':
        o.select = True
    else:
        o.select = False

# Call the operator only once
bpy.ops.object.delete()

# Save and re-open the file to clean up the data blocks
bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)
bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath)

Blender 2.8x

import bpy

# Select objects by type
for o in bpy.context.scene.objects:
    if o.type == 'MESH':
        o.select_set(True)
    else:
        o.select_set(False)

# Call the operator only once
bpy.ops.object.delete()

# Save and re-open the file to clean up the data blocks
bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)
bpy.ops.wm.open_mainfile(filepath=bpy.data.filepath)

Context override (2.7x & 2.8x)

Instead of (de)selecting the object(s) beforehand, you can also pass a custom context (a list of objects in this case) to avoid changing the selection within the viewport:

import bpy

objs = [bpy.context.scene.objects['Camera'], bpy.context.scene.objects['Cube']]
bpy.ops.object.delete({"selected_objects": objs})

Example on how to remove objects by certain types:

import bpy

objs = [ob for ob in bpy.context.scene.objects if ob.type in ('CAMERA', 'MESH')]
bpy.ops.object.delete({"selected_objects": objs})

Further reading: https://docs.blender.org/api/current/bpy.ops.html#overriding-context


adding vertex custom data for game engine shaders I would like to know how you can add data to each vertices so that in unity I can access that data to perform shader calculations?

I was reading a article. https://www.alanzucconi.com/2018/09/17/shader-showcase-saturday-10/#more-10187. on how to perform the fortnite procedural building animations.

There are several data values added to each vertex in the article.

a extra bit (0 or 1) for left and right
pivots and rotation axis are stored in the vertex data
a additional integer for timing calculations

How would I add this data to a model in blender 2.7 or 2.8? Additionally what is this known as in blender? Vertex Data is blank in the blender manual. https://docs.blender.org/manual/en/2.79/modeling/meshes/properties/custom_data.html
So I'm not sure what topic to search for using blender.

I was aware of using vertex colors and I have used them in the past for vertex animations.
But as there was a need for 3 different data properties I didn't know how to represent the extra detail in the vertex.

I started looking for my answer from the perspective of the shader instead of blender + custom vertex data.

fortnite procedural animation

What this developer did was use a additional UV channel instead.


Setup blender cycles so that it shows svg images as they would normally look I have created an svg image in inkscape. In blender (cycles) I've imported the svg image but the colors are not ok:

How do you setup blender cycles so that it renders the imported svg the same as in inkscape or any other svg viewer?

(reason for svg: to animate the separate objects/layers)

I tried to remove the lamp --> dark, nothing visible
I tried changing lamp type --> almost no difference
setting the World surface color to white gives me the correct white background already
Scene > uncheck Shadows in Light paths, does not really do much.

What should be enabled/disabled to correctly display the svg images?

As you describe it, you just want to import into blender for animation purposes.

I might be wrong, but I think blender only looks at the shapes of the svgs and (based on your image) approximates the color gradients as single colors. I suggest exporting all svgs as png with alpha and use the "import image as plane add-on" in blender. addon

Set the materials on the planes to an emission shader with strength 1 (this way they are "not shaded" and somewhat independent of external lighting, giving a 2d look) and the background to white.


Access to the poses in poselib I have an object with assigned armature .To this armature is assigned poselib, with several poses.Now my intention is to access all of the bones position in my python script from the poselib list

I will be very grateful for any hint.

A pose library is simply an Action datablock. Each pose is actually a marker in the pose_markers collection; you can use the marker's frame property to evaluate the action's fcurves, which gives you the pose.


How to permanently remove a default add-on As you can see in the images, the addon has been removed from the folder. I didn't remove it, it was probably Blender, or the new PRO version of Archipack that I installed. No way for me to know.
However, now there is no ARCHIPACK in the ADDONS folder, while there is a ARCHIPACK_20.
I tried to close and reopen Blender, but the problem persists.
It's also fun that there is a REMOVE button for version 2.3.3 PRO, but no REMOVE button for the old version.

Blender comes with a "Light" version of Archipack, you can't "Remove" it with a button like custom add-ons. This is true for all add-ons that come shipped with Blender.
The custom add-ons get installed into a separate folder (Appdata/Roaming/Blender Foundation/Blender/2.xx/Scripts/Addons on Windows), while the "default" ones can be found in the blender installation location.
You can see the actual install location in the File field when expanding the Add-on informations. You can actually see it in the screenshot you posted.
To permanently delete a "default" add-on, go to the location mentioned in the File field and simply delete the corresponding folder or .py file. Next time you open Blender, it won't be loaded.


Benchmarks for choosing the right CPU Is there any reliable benchmark resource (website?) for choosing the right CPU for Blender? I found http://blenchmark.com/cpu-benchmarks, but they seem not reliable. For example, according to them, AMD's Ryzen 1700 is even faster than Intel Core i7 7820X, which seems unreal.

How do you choose the right CPU or get insights regarding Blender performance of different CPUs?

There are several standard blend files provided by the Blender Foundtation for testing and benchmark purposes available at Demo Files. The BMW scene as become a common test scene for various purposes.

In recent years due to the popularity and it has become an informal benchmark tool used by hardware manufacturers to provide a common ground for comparison. This has the advantage of using real world computational needs rather than artificial benchmark tools created for the sole purpose of testing

As such the Blender foundation has started a new initiative to provide an official reliable benchmarking tool for testing purposes.

This has materialized as a website called Blender Open Data that aims to collect performance data for various hardware configurations.

As of November 2018 status is still in beta testing, so not much information is available at the moment.


Why blender is not registering its website on brave rewards? I was trying to send blender some fund but my brave browser said that blender website is not registered for brave rewards.

Blender has its own platform for donations. You can donate to Blender development fund or make a one time donation using the listed options that include PayPal and even several cryptocurrencies.


Open or extract parts of a very large .blend file I accidentally saved a large research project in a single .blend file and closed it. It is 304.4MB and it crashes blender every time I try to open it on several different windows 64-bit and 32-bit machines with relatively powerful GPUs (Quadro 4000, GTX 670, GTX 690).

Is there a way to extract anything out of this file and/or break-up the file perhaps as a way to work around this?

Borrowing an extract from RolandiXor's answer, you can create several new files and append pieces out of the large.blend file.

  Appending

  This creates a full copy of the existing data, which you can modify without issue and include in the file you are editing. You do not need to keep both files together. You are also fully able to edit the appended data (such as an object, material, or scene) without affecting the original file from which you appended.

  Appended objects have an orange outline when first appended (with the default theme), but once you deselect them, then select them again, they show as normal objects do.

When you enter the blend file, you will be shown several directories, these are the categories in which a general scene is grouped. I would suggest moving large models (located in Objects) into their own files (and adjusting any modifiers that might be on them such as subsurf) and if you need to recreate the scene again, use the other technique which is Linking which will allow you can attend to specific models without all the overhead of a cluttered scene.

It is a very good idea not to keep large scenes that consist of several models, multiple textures and effect systems in one file but to rather distribute these over several files and then link these into one file. The advantages of doing this are numerous.

To efficiently work with a heavy scene or dense meshes, you can find several tips here.


Best practice and method for transparency with leaves? I'm modelling leaves as a solid mesh using Displacement for texture (no Image Texture files). Leaves need Subsurface scatter (SSS) and translucency. I can add Subsurface Scatter with the Principled Shader, but I'm confused about the best practice for a realistic translucence to the leaves. I see three possible approaches: Transmission value in the Principled Shader, or a Transparent node or a Translucent node plugged into material output.

What is the difference between these three tools (Transmission, Transparent, & Translucent shaders) and what is the best option for this application?

I understand that the Transparent shader allows light to pass through unhindered (like glass). And Translucent shader scatters light - not dissimilar to SSS - like it is passed through a body or mass. But, can this same effect not be achieved in the Principled shader with SSS and  Transmission? In short what does Transmission achieve that Translucent and Transparent shaders cannot?

Thank you.

Translucent BSDF is physically more acurate in this situation.

Connect it using Mix Shader with Principled BSDF
Use the Fac slider to control the influence
Use Cycles render engine for realistic translucence (Eevee doesn't support it)

If you want to use only Principled BSDF shader, use Transmission + Transmission Roughness. Notice the light scattering isn't as strong.

Subsurface Scattering doesn't directly affect translucency, but it's needed for proper realism. Just bear in mind it's a bit slower.


property timer value Coming back to this thread: countdown timer

I want to check the time property and set a new scene when it reaches 0.

What should I put in the Value box of a Property-equal sensor to check for when the timer reaches 0? I tried 0, 00:00, some other formats although I think I can't really put expressions there and none of them worked.

Maybe this textObject.text = '{:%M:%S}'.format(time) is something that I can't play with in the Value box of the Property and I need to go through python, but I wonder if there is a simple logic brick solution.

These are the logic bricks.

As the timer property provides a float value, you need to check if the value is "equal or above zero". Since Blender 2.74 the property sensor has according modes. If you use an older version, you can use the interval mode

The value to check against is -> 0 or 0.0 it does not matter which one.


How can I hide just the custom gizmo icon on with a checkbox instead of all gizmo's as my script does? import bpy
from bpy.props import StringProperty, IntProperty, BoolProperty
from bpy.types import (
    GizmoGroup,
)

# CUTOM PANEL IN PROPERTIES OUTPUT PANEL
class CUSTOM_PT_menupanel(bpy.types.Panel):
    """Creates a Panel in the Output Properties of the properties editor"""
    bl_label = "Test"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "output"

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

        row = layout.row()
        row.prop(scene, "gizmo_show_hide")

#SCREEN OVERLAY GIZMO
class Camera_overlay(GizmoGroup):
    bl_idname = "Gizmo_Icon"
    bl_label = "Gizmo"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'WINDOW'
    bl_options = {'PERSISTENT', 'SCALE'}

    def draw_prepare(self, context):
        region = context.region
        self.my_gizmo.matrix_basis[0][3] = region.width - 40
        self.my_gizmo.matrix_basis[1][3] = 40

    def setup(self, context):
        mpr = self.gizmos.new("GIZMO_GT_button_2d")
        mpr.icon = 'OUTLINER_OB_CAMERA'
        mpr.draw_options = {'BACKDROP', 'OUTLINE'}
        self.my_gizmo = mpr

#GIZMO SHOW AND HIDE FUNCTION
def update_func_gizmo(self, context):
        areas = context.workspace.screens[0].areas
        for area in areas:
            for space in area.spaces:
                if space.type == 'VIEW_3D':
                    space.show_gizmo^= True

        return{'FINISHED'}

#CHECKBOX GIZMO BOOL
bpy.types.Scene.gizmo_show_hide = BoolProperty(
    name="Gizmo Hide",
    description="Check Box to Show And Hide Gizmo",
    default = True, update = update_func_gizmo)

#CLASS LIST
classes = (

    CUSTOM_PT_menupanel,
    Camera_overlay,
)

#REGISTER AND UNREGISTER CLASSES
register, unregister = bpy.utils.register_classes_factory(classes)

if __name__ == "__main__":
    register()

import bpy
from bpy.props import StringProperty, IntProperty, BoolProperty
from bpy.types import (
    Operator,
    GizmoGroup,
)

# CUTOM PANEL IN PROPERTIES OUTPUT PANEL
class CUSTOM_PT_menupanel(bpy.types.Panel):
    """Creates a Panel in the Output Properties of the properties editor"""
    bl_label = "Test"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "output"

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

        row = layout.row()
        row.prop(scene, "gizmo_show_hide")

#SCREEN OVERLAY GIZMO
class Camera_overlay(GizmoGroup):
    bl_idname = "Gizmo_Icon"
    bl_label = "Gizmo"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'WINDOW'
    bl_options = {'PERSISTENT', 'SCALE'}

    @classmethod
    def poll(cls, context):
        scene = context.scene
        if scene.gizmo_show_hide:
            return False
        else:
            return True

    def draw_prepare(self, context):
        region = context.region
        self.my_gizmo.matrix_basis[0][3] = region.width - 35
        self.my_gizmo.matrix_basis[1][3] = 40

    def setup(self, context):
        mpr = self.gizmos.new("GIZMO_GT_button_2d")
        mpr.icon = 'OUTLINER_OB_CAMERA'
        mpr.draw_options = {'BACKDROP', 'OUTLINE'}
        self.my_gizmo = mpr

#CHECKBOX GIZMO BOOL
bpy.types.Scene.gizmo_show_hide = BoolProperty(
    name="Gizmo Hide",
    description="Check Box to Show And Hide Gizmo",
    default = True)

#CLASS LIST
classes = (

    CUSTOM_PT_menupanel,
    Camera_overlay,

)

#REGISTER AND UNREGISTER CLASSES
register, unregister = bpy.utils.register_classes_factory(classes)

if __name__ == "__main__":
    register()


Slice a cube with a spun curve Using a bezier curve, I created the line labeled "A" in the first diagram. I then added a "circle" curve and used "A" as a bevel curve. I ended up with the large UFO looking disc "B". It also looks like Saturn. Note it is a curve and not a mesh yet. I would like to slice a cube using the shape "B". I want to end up with two separate meshes for each half of the cube. The boolean tools are not working. The "slice" command fails because it cannot be applied on curves. I tried converting the "Saturn" looking curve "B" into a mesh and then trying again but I end up with an intact cube. Any idea how this can be accomplished?

I think the best way to achieve what you want will be to use the boolean modifier actually. There are just a few settings we will have to change and a couple extra steps to do.

Let's start with the shape. For this to work, you will need your shape to be a mesh. You can convert your curve to a mesh using the shortcut Alt+C. Now, just to be safe, select everything and remove doubles with W. In my case there were 8 doubles.

Here's the shape I'm using in edit mode. Something to keep in mind is fewer faces is better. Mine is actually a bit too high res really and if you have too many faces it could cause problems. In areas where there is very little change in the curve of the surface you may want to remove some edge loops.

Now we can place this mesh where you want to cut the cube. Make sure that the object completely intersects the cube. If you scale anything in object mode, make sure you apply the scale before proceeding.

Once you have everything set up, duplicate the cube. You can hide one of the cubes, we'll just need it later. Add a boolean modifier to the remaining cube, and set the Operation to Difference. At this point, if you go into wireframe view, it should look pretty good (by pretty good I mean it should look like a wireframe cube intersected by a wireframe version of your original object). If it looks good, apply the modifier. In one of my tests, changing the solver to Carve helped. This will remove one half, but we'll have to do that anyways.

Here's the cube with the Boolean Modifier before it was applied.

If you used Carve, you will have one half left, if not, delete the top or bottom four vertices from the cube so you have just a half left.

Half the shape after applying the modifier and deleting the top 4 vertices. Some nasty shading issues around the edges, but we'll deal with those later.

Now we need to make the other half, so select faces of the cube that will need to be duplicated and duplicate them and then separate them to a new object with P. Now we can unhide the second cube as well.

Faces being duplicated.

Select the new object (which should only be the faces where the two objects will meet) and select the four corner vertices. Set the snapping to face and extrude these vertices along the appropriate axis. Hold Ctrl and hover your mouse over the face of the second cube that these vertices will need to match up to (were just recreating the cube shape here for the second half). The vertices should snap to the corners of the cube. Click to confirm, and create a face with F. Now you just have to fill in the 4 sides on the new object and you're done.

Snapping the corners

Go ahead and delete or move the second cube and the original shape as they are no longer necessary. If you notice any shading issues an edge split modifier on each object will sharpen up the edges nicely (I used this in my file).

Final result are these two shapes which fit perfectly together. If you compare the third image to this one you can see the effect of the edge split on the shading.


How to programmatically add an effect strip I have some test images. I want import all images into the sequence editor, one image per channel. But I want to add a transform effect strip for each image and tune it. I want to do this all programmatically.

This is my test python script:

import os
import re
import bpy

from bpy import context
scene = context.scene

path = "/path/do/images"
files = os.listdir(path)
files.sort(key=lambda var:[int(x) if x.isdigit() else x for x in re.findall(r'[^0-9]|[0-9]+', var)])

c = 1
scene.sequence_editor_create()
for f in files:
    seq = scene.sequence_editor.sequences.new_image(
        name=f,
        filepath=os.path.join(path, f),
        channel=c,
        frame_start=1)
    seq.use_reverse_frames = False
    seq.blend_type = "OVER_DROP"
    seq.frame_final_duration = 240
    # [INSERT TRANSFORM STRIP HERE]
    c += 2
    if c == 21:
        break

I skip one channel between images. I want to insert the effect strip in between.  I tried effect_strip_add:

bpy.ops.sequencer.effect_strip_add(
    type="TRANSFORM",
    channel=(c+1),
    frame_start=1)

But blender says:

  ret = op_call(self.idname_py(), None, kw) RuntimeError: Operator
  bpy.ops.sequencer.effect_strip_add.poll() failed, context is incorrect

How do I programmatically add an effect strip?

Oh. I found it.

Not need select. Just add new effect strip:

eff = scene.sequence_editor.sequences.new_effect(
    name="Transform",
    type="TRANSFORM",
    channel=(c+1),
    frame_start=1,
    frame_end=240,
    seq1=seq) # this last arg is target channel


How to reroute faces in blender 2.79 what is (ctrl a) shortcut stands for? do you know about rerouting faces in blender by pressing (crtl+a)can change faces route to form or change face shape, it joins or rotate faces to form a face as required by artist
i have an video link the guy is doing it by pressing (CONTROL A) i cant do it please help please follow the link below to know what i want...
https://www.youtube.com/watch?v=6Lu-n5cd6y8&t=244s

It's more precisely at 3m50s: https://www.youtube.com/watch?v=6Lu-n5cd6y8&t=3m50s

It looks like he has created his own shortcut, he's rotating the edge with the Mesh > Edges > Rotate Edge function, but you can simply access with a ctrlE:


Converting string int-tuple to float-tuple Is this a valid way to convert a string int tuple to a string float tuple, or is there a better way?

test = str((1, 1, 0))

# get chars between ()
test = test[test.find("(")+1:test.find(")")]

# if not a float already
if "." not in test:

    str_out = "("

    # add .0 to numbers
    for char in test:
        if char.isdigit():
            str_out += char + ".0"
        else:
            str_out += char

    str_out += ")"

print(str_out)

Don't think you need to do that

Firstly this will convert simple tuples of ints and floats from string

>>> x = str((1, 20, 2.0))
>>>
>>> y = tuple(float(s) for s in x.strip("()").split(","))
>>> print(y)
(1.0, 20.0, 2.0)

However if this is in relation to previous question, its not so much a matter of (needlessly) converting ints to floats its converting a flat list (1, 2, 3, 4) into a nested list  ((1, 2), (3, 4))  2x2 for brevity sake

Even if it is a flat list of floats it will throw the error because it wants the members of constraint_matrix to be sequences not a float or int.

So without bothering to convert to floats, and having converted string to list (or tuple)

>>> x = (1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> tuple(zip(*(x[i::3] for i in range(3))))
((1, 2, 3), (4, 5, 6), (7, 8, 9))

For other methods.

https://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks

This is possibly better asked on stackoverflow. Consider using re or argument parsing libraries.

Btw code in question will fail with numbers > 9


Render window keeps popping up with the last frame of recent render I'm a newbie user and I'm trying to render an image on 2.81 and 2.81a but the render window keeps popping up with the last frame of recent render.

I can tell the computer is rendering due to the processor load, but I can't see any result anywhere.

Any setting or preferences I accidentally touched?

I am also relatively new to blender but enjoying it ALOT.

As for your problem, in my opinion, this is because the particular render is sort of 'attached' to your active camera which i assume , that you used with keyframe insertions in your animation timeline. To circumvent this, I usually create a new camera and select it to be the 'active' (see below). Then F12 as usual to render from that camera.


Vertices with anything above 0% weight move as if they were 100% weight? Vertices with anything above 0% weight move as if they were 100% weight?

and as you can see, when the vertices have 100% weight, they move the exact same way

and no, no other bone has any weight on the same vertices

Yes, this is correct behaviour.

The weights associated with bones on a vertex are normalized before the deformation.

A vertex, which is not assigned to any bone vertex group will not move at all. A vertex with two (or more) groups will have its weights normalized. If GroupA and GroupB have weights of 0.4 and 1.6, BoneA and BoneB will the influence the vertex's position by 20% and 80%.

If (as in your case) a vertex only belongs to a single group, that group is "normalized" which results in 100%.


Blender Texrures streaching I downloaded a texture and put it on my anvil. As expected, the texture stretched out acrost the whole anvil and looked ugly. Is there a way to repeat the texture on every vertex face or repeat a few times over the whole anvil?
Thanks :D

Maybe learning a bit of Uv unwrapping can help
https://www.youtube.com/watch?v=Y7M-B6xnaEM
https://www.youtube.com/watch?v=cS6B5PAzlWI


opening unity model with animation into blender I'm somewhat new to animation in blender and still in the learning process. I've just bought an animated model from the unity store to help me learn how to get better animations but I'm having issues loading it into blender. The model and the animation itself are two different fbx files. I can import them separately into the same blender file.The animation has only action data and no armature attached. How would I attach the animation to the armature model? I've tried using action editor under the dope sheet, but the animations are broken up by individual body part (ie animation of Left ear, animation of left paw) and I can't seem to apply each individual animation to each bone in the rig.
Hopefully the video below gives you a better idea of what my problem is. Tbh I'm not even sure why the animation is separated from the rigging or what type of object it is. Any help is appreciated. Thanks
https://gyazo.com/d0bbf526dc1d118651b477a3c25b3ad5

Normally, FBX animation data is embedded into the model.

You might try reimporting the FBX and checking the preferences in the import window to include animation.

It looks like the armature is parented to the model, so what you can do is download BVH retargeter and use that to retarget copy the animation data from the animation to the armature in your model.

If that doesn't work, you can export the animation armature as a BVH, and then use BVH retargeter. Usually though, if step 2 doesn't work this won't either. Be sure to make sure there are no transforms on the model, and don't use "apply all transforms" either. Do it manually. So make sure that its location and rotation are set to 0 before retargeting.

The really long way is to use bone constraints. Go into pose mode and select a bone on the armature parented to the model. In bone constraints (blue bone thing second from the bottom) choose "copy all transforms" and select the armature and then the bone. What will happen is the bone will "snap" to the bone on the animation.

You may encounter problems with bone rolls. You shouldn't, given this the animation for that model, but Blender and Unity have different standards for directional information. If you do you will need to go into edit mode and get the bone rolls of the target armature to match the source...so the bone rolls armature parented to the model.

Final thing to try is to delete the armature in the model, put the animation into pose mode, then align the model over the armature and parent using armature deform using automatic weights.

You might find that there are some add-ons to help with the conversion, but usually its from Blender to Unity rather than the other way around. I have imported plenty of Unity models into Blender without problem though.


Texturing a network of roads I have a network of roads here that I want to give texture, but I have no idea how to do this seamlessly. I gave it a noisy gray texture for the asphalt but I don't know how to put the yellow lines/ white lines on certain areas.

Here is the road network:

It's a lot bigger than what you see, the width of each road is 3.7m.
Also, UV mapping is one of my weaknesses so if it is needed for this I might need a bit more explanation to understand it. Thank you.

Well, to start off, tileable textures are easy to make with the free Krita, for example. Just press W to see your image a tiled:

Then, scale your UVs to the width of the texture:

That way you at least get the straight roads to be tiled:

For the intersections...

Image taken from here

If you make edges in the middle of the road and want to slide them with GG, you probably need to check the 'Correct UVs' in the Tools panel (press T in viewport) in order to slide only the edge and not distort the road texture:

One way is to use this kind of texture in a separate material assigned to new polygon to terminate the tiling road:

Then just rotate and move (G,X or Y to restrict the axis you're moving the UV)

For the diagonal roads, you may need to use GG and then slide back a bit and then hold down Alt and then slide forward in order to lengthen a diagonal road polygon:

The diagonal-to-straight road transition is a bit difficult to make nicely. If you don't want to be too finicky about it, maybe just go like this, select the polygons and unwrap the road again and scale it to the width of the road texture like before. Then just slide the UVs until you have a nice result:

Just ask in the comments if you have issues with these or want to know something extra :) I'll update the answer.


How to make a niche out of an object Hello!

This is my very first post on this site, so please excuse me if something is not clear or the structure is bad.

Anyways, I am making a very detailed model of an engine, and I am having trouble with making this little niche or how to call it (highlighted - red color). As you can see in the picture, it's coming out of "top" part and smoothly joining the rounded tube.

Any ideas on how to make that? Your help would be so much appreciated!

Best regards,
-T

I would do it this way: Once you've created your sphere, create a mesh with an edge that follow the profile of your excrescence. Once in top view use the Knife Project tool to project the profile on the sphere surface. Now join and delete some vertices, extrude up, close the top, create the small hole, etc... Maybe use the Mirror modifier to duplicate the shape all around, or duplicate this part 3 times, rotate it and paste it all around with the Snap (Vertices mode) + Automatically Merge options activated, and at the end create somme additional edges to sharp the edges.

Addendum:


How does Color Mix (Difference) node work? How does the above node setup work, and what will happen when I change the Fac value (0-1)?  What calculation is the mix node doing here when set to Difference?

In Cycles a color is just a set of 3 numbers representing the red, blue, and green content of the color.  To perform a mathematical operation on a color Cycles splits the color up into its RGB channels, performs the operation on each channel individually, and then combines them back into a Color datatype again.

The Mix RGB node, when set to difference, returns the absolute value of the first color minus the second color.  Mathematically: Color = |Color1 - Color2|.

The Fac value controls how much this influences the output.  So if Fac is 0 the output is always Color1, if Fac is 1 the output is always the exact result of the mix operation chosen (in your case, Difference).  It basically just mixes Color1 back into the result of the operation.  Mathematically: Color = |Color1 - Color2| * Fac + Color1 * (1-Fac).


How to set Import Units when importing a collada file with python script? Blender shows the python command in the tooltip, for example, hover the mouse over File > Import > Collada (Default) (.dae), it shows:

  Load a Collada file
  Python: bpy.ops.wm.collada_import()

Then I can find the bpy.ops.wm.collada_import() command in the script console.

I want to set the Import Units to True before I import the collada file, hover the mouse over the ticker it says

  Python: WM_OT_collada_import.import_units

But I can't find any clue on how to use this piece of code.

WM_OT_collada_import is the bl_idname of the Collada Import Operator in the C-code notation (in Python it's wm.collada_import, but the importer is a C operator).

import_units is an operator property.

If you want to set this property to True in an operator call, give it a keyword-argument:

bpy.ops.wm.collada_import(filepath=..., import_units=True)


Syncing a Blender camera tracking scene to an Fspy camera match I've been having issues orientating a tracking scene--
For a recent project, I started by doing a camera match on the first frame in Fspy, which produced an amazing result, as evidence by the sample geometry I added as a test:

However, after taking the rest of the footage through blender's camera tracking process, I'm finding it impossible to line up with the above Fspy import.
The Fspy import gave the scene a Field of View of 48.16, while the camera tracking seems to be spitting out a Field of View of around 13.5 . Is there someway I can alter the camera track to generate the 48.16 Field of view? Is there a better way to orient the scene without needing to go through Fspy? Happy to provide the Blend file/Fspy export if needed. .

Looking at your tracked scene it seems to me that you don't have enough parallax to solve the scene using the default settings. There hardly any movement in those trackers, or not enough for blender to determine real 3d information.

Such static scenes should be solved as "tripod". But before, solving the scene use the field of view (or lens and sensor combination) you got from fSpy.

Once the scene is solved as tripod you can manually align it with the existing geometry. Note that tripod solve will not give you accurate 3d but just a visual reference.

Read: How can I get better results when doing camera motion tracking? and Correct tracked camera orientation

Alternatively, given that the camera is not really moving, consider doing a stabilized version of the shot, and use that with the camera from fspy.


Getting area (region.view2d) pixel coordinates of 2D views (VSE, NLA) I am looking to overlay a sound vis, using bgl,  over strips in the NLA, VSE, like

How can I find the area.region.view2d x,y, width and height of strips in the NLA and VSE editors using python?

Yes, this can be done, using the API call View2D.view_to_region.

Heres a "hello world" example, drawing Hello World under the active strip.

import bpy
import bgl
import blf

def draw_callback_px(self, context):
    print("mouse points", len(self.mouse_path))

    region = context.region
    strip = context.scene.sequence_editor.active_strip
    if strip is None:
        return

    x = strip.frame_final_start
    y = strip.channel
    x, y = region.view2d.view_to_region(x, y)

    font_id = 0  # XXX, need to find out how best to get this.

    # draw some text
    blf.position(font_id, x, y, 0)
    blf.size(font_id, 20, 72)
    blf.draw(font_id, "Hello Word " + str(len(self.mouse_path)))

class ModalDrawOperator(bpy.types.Operator):
    """Draw a line with the mouse"""
    bl_idname = "sequencer.modal_operator"
    bl_label = "Simple Modal Sequencer Operator"

    def modal(self, context, event):
        context.area.tag_redraw()
        region = context.region

        if event.type == 'MOUSEMOVE':
            self.mouse_path.append((event.mouse_region_x, event.mouse_region_y))

        elif event.type == 'LEFTMOUSE':
            bpy.types.SpaceSequenceEditor.draw_handler_remove(self._handle, 'WINDOW')
            return {'FINISHED'}

        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            bpy.types.SpaceSequenceEditor.draw_handler_remove(self._handle, 'WINDOW')
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.area.type == 'SEQUENCE_EDITOR':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            self._handle = bpy.types.SpaceSequenceEditor.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')

            self.mouse_path = []

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "SequenceEditor not found, cannot run operator")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()

Note that this is the template operator_modal_draw.py with minor edits.

The draw_callback_px can be added without having to be connected to a modal operator, if you want this to display continuously.

Also see: https://github.com/armadillica/attract-blender-addon/blob/master/draw.py for example use cases.


In Blender 2.8 how do I render the world once for all view layers? I have a setup where I have one collection that is a background and one that is silhouetted against it. Each of these is in it's own View Layer. The background one rendered straight, the foreground one is lit brightly, rendered and then inverted.

My World is a starfield generated from a noise texture. The problem is that if I have world enabled, the inverted foreground layer creates an inverse starfield, completely blanking out the background layer.

I have found a few questions around this topic ( for example 'One render layer with background image and one with transparent background' ) but they are old and they talk about enabling environment rendering which doesn't seem to exist any more.

So, in Blender 2.8 how do I render my world once rather than once-per view-layer?

You can get precisely what you want by creating a dedicated, empty background render layer with an environment pass.
1.) Under "Render properties" on the "Film" panel select "Transparent". All of your current layers will now render a transparent world background.
2.) Create a new layer and disable ALL collections in the Outliner. In the "View Layer Properties", enable an environment pass.
3.) Now in the compositor, use an "Alpha Over" node to put everything above the "Env" channel of the background layer we just created.


Why will my rigid body objects not come to a rest after landing in a bowl? I am making this scene of a bowl of chips in a bowl and I am trying the use rigid body physics to place them in the bowl in a realistic fashion.

There are two ways I have been trying to achieve this:

Simulating all the chips falling at once.

When I try is this the chips fall down and collide with the bowl just fine but then will not stop jigging bouncing and catapulting out and and thru the bowl.

Dropping the rigid bodies in one at a time.

This seems the prevent the jigging and clipping issues but I can't find a way to switch the individual rigid body back to a normal mesh without the timeline resetting thus preventing me from simulating the rest.
(I suspected if the turn the physics off for each chip after they stopped moving would prevent the next chip violently reacting with it).

Any ideas on how to get the damn things into the bowl and then turn them back the normal meshes?

Mesh collision box deform base.

I looked at other tutorials but nothing helped, I just dont know what the problem is.

The solution is quite simple! you need to enable deactivation on the chip meshes.

If they don't settle down fast enough, raise the linear and angular velocities. I'd especially recommenced the angular velocity (amount of rotation).

How this option works is that when the rigid body gets still enough, it is deactivated and stops moving.

For you particular simulation, values around 2.6 seemed to work well.

Here is a working .blend


Are there Z Transparency in Blender 2.80 or above? I would like to ask where is Z Transparency and how does it looks like in Blender 2.8 and above?
This image shown above is around the 2.78 version of Blender. Which is before 2.8 came.

Directly, no. Practically, yes. Z transparency was a component of materials for the blender internal render engine, which was discontinued with 2.80.
I’m guessing the problem you are encountering is that your materials have been either non-transparent or dead black.
How to fix: In EEVEE, you must manually set the blend method of the material to something besides “opaque.” Said settings panel is by default at the bottom of the Properties editor -> Materials tab. Your options are:

Opaque. Ignores transparency. If pure transparency comes in, it turns black.
Alpha Blend. Tries to do full alpha mixing. Has had trouble working correctly with more than one face in a row.
Alpha clip. Either fully opaque or fully transparent.
Alpha hashed. Like alpha clip, but with a random threshold. Good for most applications if you don’t mind a little fuzz. More rendering samples will provide better results.


How can you make meshes transparant in sculptmode? I am trying to create a relief using an image as reference. The way i would like to do this would require to make the mesh transparent in sculptmode, but i can´t find this option. Any suggestions please?

In Cycles add a material to your plane and set up material nodes as pictured below (Mix Diffuse and Transparent nodes). With the viewport shading type set to Material set the Factor of the Mix node to adjust transparency as you like. In Material header-->Settings panel under the Viewport Color set the Alpha to 0.000.


Increasing the length of a frame and push following strips I'm looking for a tool that I could use to extend one frame of a strip that I have so that the following strips position gets automatically adjusted.

|--strip a--|--strip b--|--strip c--|

Let's say that strip b has one particular frame that I'd like to freeze for 2 seconds. Currently what I need to do is to grab strip c (or however many strips are there), hard-cut strip b, then hard-cut the right portion of strip b so that a one frame strip is available. Then I need to manually move the remainder of strip b away from the one frame, extend the one frame to be as long as I want it to be and finally adjust the position of both the remainder of strip b and strip c.

Can this get any easier? Is there maybe a plugin for Blender that does that?

I just discovered the sequence "Shift-K", "A", "E", "G" :)

Position cursor on the frame you want to make a still from
Hard cut (Shift-K)
Go to next frame
Hard cut (Shift-K)
Go to previous frame (cursor left)
Extend from frame (E) <-- This does the trick!
Grab the remainder and move it as far right as you'd like


bmesh.ops method to get Loose vertices / edges and delete from that list? I read all the api about bmesh.ops, but not find and not have idea to get loose edge/vertices , someone knows something about it, I don't even find examples to get and then delete with method bmesh.ops.delete(bm, geom, context)
Equivalent with ops (Slow if have many object) bpy.ops.mesh.delete_loose()

meshes = set(o.data for o in context.selected_objects if o.type == 'MESH')
bm = bmesh.new()

for m in meshes:

    bm.from_mesh(m)
    ####get list of loose vertices/edge?
    ####delete vertices?
    bm.to_mesh(m)
    m.update()
    bm.clear()

example about loose edges:

Verts with no linked faces

Possibly easiest here is to look for verts with no linked faces. ie they make no part of any face

import bpy
import bmesh
context = bpy.context

meshes = set(o.data for o in context.selected_objects if o.type == 'MESH')
bm = bmesh.new()

for m in meshes:

    bm.from_mesh(m)
    # verts with no linked faces
    verts = [v for v in bm.verts if not v.link_faces]

    print(f"{m.name}: removed {len(verts)} verts")
    # equiv of bmesh.ops.delete(bm, geom=verts, context='VERTS')
    for v in verts:
        bm.verts.remove(v)

    bm.to_mesh(m)
    m.update()
    bm.clear()


how do I animate a vesicle fusing to a cell membrane? I am a medical educator and new to blender animatoin. I want to create a viral particle (UV sphere) "blending" into a cellular membrane. I will appreciate pointing me into the right direction. Thanks!

Could you add some reference images of the effect you are trying to achieve? It is not clear what you want to do.

Would it be something similar to what's illustrated bellow? You can easily create merging/blending soft shapes with meta geometries.

Just create two meta ball objects withShift+A > Meta Ball, scale them down accordingly, then adjust the properties as desired as the Threshold and Resolution.
Move them around and their geometry should just fuse together naturally.


Bevelling sharp interior corners I am trying to model windows on a somewhat cylinder-shaped object and I cannot figure out how to satisfactorily bevel sharp interior corners of the areas around them.  A screenshot of what I am trying to do:

And when I try to just use the bevel tool:

I've also tried using the bevel weight modifier and selecting the edges I want to bevel, but it only seems to work up to those corners, even though they seem to bevel when the modifier is applied to the entire object:

So basically, how would I go about doing this?

I'm a beginner so I apologize if there's something really important I've missed.  Thanks in advance!

If you are using a subdivision surface modifier, the easiest way to sharpen edges is with a loop cut and slide (Ctrl R)

This is where loop cut and slide is located

And if that doesn't work try adding creases to the specific edges


What would be the better hardware to use in cycles? So, i have a dilemma. Do i use my i3 4160 or the soon to be mine gtx 960 to render out scenes and animations in blender cycles, please any answers would be helpful

EDIT thanks for all the advise guys, ill look into this a bit more then.

I think a Intel Core i7 is faster on rendering than a GeForce GTX 960 4GB. If you had A GTX 980 I may had some doubt.


Knife tool with bmesh API I need to find the intersection curve between two (open) meshes, and I can do that interactively with the knife tool. In search for a way to do it from a script, I came across the following highly relevant question:
Using knife_tool from python api

There is one answer, which simply refers to the BMesh API. However, I find no immediate candidate for the knife_tool from bpy.ops.mesh in bmesh.ops.mesh. Is there a way to script mesh intersection cutting from bmesh, or at all?

The attached screendump illustrates a cut in the cylinder mesh from the intersecting sphere mesh. I obtain it interactively with the cylinder mesh edges selected, then by Ctrl+F and choosing "Intersect (Knife)".

Could be this?

# Select all vertices in Edit Mode
bpy.ops.mesh.select_all(action='SELECT')

# Do intersect
bpy.ops.mesh.intersect()
bpy.ops.mesh.intersect(mode='SELECT')


Is there a way to easily blunt a corner vertex into three vertices? I want to take the pointedness out my corners by blunting them.  i want turn the corner vertices into 3.  Imagine my drawing to be a corner of a cube...

I tried to bevel using CTRL-SHIFT-B but it changes so much of the surrounding geometry.. too many side effects for what I want.

Thanks for any insight.

ctrlshiftb works fine. But you need to make sure, your surrounding geometry has good topology. If you bevel the vertex of a non-planar face for example, the silhouette of your object may chance dramatically.

First two bevels on planar faces, the third one is non-planar.


How to cancel circle select mode by 'X' key instead of ESC key? I noticed I use left sided keys frequently and did some customized but one remains.
1. Remove Delete function from X key because pressed accidentally many times.
2. And I want to assign 'Canceling Circle Select mode' by press X key instead of distanced ESC key.

I done step.1 but couldn't find how to do step.2, remap X key as cancel circle select mode. Initially I remapped by AutoHotKey but soon I noticed I couldn't type X character(when renaming/creating object &file)...

Thanks in advance.

I believe you can't change the Escape keybinding, which is also used by many other operators.

But there are other (quicker) methods to exit circle selection.

From the manual:

  To cancel the selection use  RMB or key Esc or ⏎ Enter.

Press the  RMB.
If you're right-handed, awkwardly swivel your right thumb onto Numpad Enter.
If you have a programmable mouse, assign any of its buttons to ⏎ Enter or Escape, this would be a useful keybind anyway which is not wasted.


how to create a maze with curved walls I am trying to build a maze similar to the one shown below.

This was made with basic urdf models on pybullet physics simulator. However, if you look at it closely, some pair of walls have gaps in between them and some don't. I tried many ways to get rid of them but it's very inconsistent for some reason. Instead I'd like to make the same shape on blender as a single .obj file. Any links or suggestions would be much appreciated.

If you just want thet two maze walls touching you could do this in object mode without the need to edit anything.

With a default scene resize the cube as required

when finished ctrla and reset all of the transforms

Turn on snapping and set snapping to vertex

Select the 3D cursor and snap as shown

with the cube selected rightclick and choose origin to 3D cursor

With the cube selected press shiftd to make a copy and immediately rightclick. This makes a copy and leaves it in place.

Select one of the cubes and F3 and type Mirror and choose the X axis

rz22.5 to rotate the object 22.5 degrees

and then the same with the other cube but use -22.5

You now have the shape and can copy and rotate as required.


Drive color via custom property I have an model with an armature. On several bones are custom properties which are used in drivers.
At the end, the model and the armature should be linked in another scene and the custom properties are used to control certain functions of the model.

My problem now is that I want to control a color of an material node by means of a custom property. For that I added the hex value of the color to the property to use this value in a corresponding driver which should set the color of the material node. But the variables in the driver only accept numeric values and hex is a string.
Is there any other way to control a color in a linked object?

Blender 2.75, on Windows

With current blender versions, you can create multi-dimensional custom property fields.
These will look this:
You create them by setting the value on your custom property to this format:
[0.2, 0.4, 0.3]

Be sure to set your color value to the correct type, the default is "linear", for RGB values "gamma-corrected" is usually what you would want.
You can then draw this property anywhere in the blender UI, if you wish. This is a short breakdown on the naming conventions

If you want to use this to drive a material color on an object, so the color picker actually influences the color of a part of a model, you should set up a RGB-node in the Shader-Node-Tree (the Shader Editor).
Open the input field for the color and then add a driver to each color channel.

To access the channels as driver input variables, use the following pattern:
["NameOfCustomProperty"][NumberOfChannel]

or in an example
["color_ball"][0]

this would give the red channel.
["color_ball"][1]

this would give the green channel.
["color_ball"][2]

this would give the blue channel.


how to extrude along a path to connect 2 meshes I need to connect a couple of areas along a path. They where 2 separate models I am combining and I am having some trouble. The modles are an engine and turbo. I need to connect the selected areas along the selected path, and have it look like a pipe. Anyone know how to do that. It is all now one object.

I don't think you can do it this way but you have something close to it with 2 LoopTools > Loft or Bridge. Also, you'll have a better topology if the first and last selection have the same amount of vertices. Activate the LoopTools addon, then:

LoopTools > Loft

Select one of your circles, duplicate it several times where you want the pipe to follow. Select the first and last circle and all the duplications. Then right click to make the Context menu appear > LoopTools > Loft. The pipe appear. You can tweak some parameters in the Operator box (bottom left).

LoopTools > Bridge

This solution is not as precise as you don't determine any intermediate. Select the first and last circles, then right click to make the Context menu appear > LoopTools > Bridge. The pipe appear. You can tweak some parameters in the Operator box (bottom left).


Unknown Measurement Showing in 3d View I was playing with measuring tools a couple weeks ago and came back to my project and I forgot how I created a measurement marker on a blender object. The unknown measurement is shown in the accompanying diagram at 1.96295mm in Edit & Object mode.

The blue measurements are from the MeasureIt tool.
The black measurement text of 1.96 is when I enabled edge length in the viewport overlay.

So my question is how did I create that 1.96295mm dark highlighted measurement.

OK,

Figured it out. After disabling MeasureIt addon since that wasn't related and disabling edge-length display in 3d viewport I noticed the protractor icon (measure tool) was selected on the left.

Playing around I realized that you select a vertex point with the left mouse button and drag it towards another vertex. Only after you start dragging you can hold down the Ctrl key to have it snap to another vertex. The result is the measurement in white text highlighted in a black box as displayed in the above attached image.

Some notes:

After selecting the first vertex, make sure not to drag or Ctrl+Drag
the left mouse button while over empty space or it might select a
vertex hidden below the one you need to select. (Inconsistent)
To delete a measurement, tap on the measurement or the ruler line it
created and press X on the keyboard


How to get a gradient on an angle in cycles nodes? I used some of the suggestions to create a mesh with 2 materials transitioning using a gradient. I can't seem to figure out how to make the transition on an angle rather than horizontal or vertical. Here's the shader setup and the model.

I want the transition from red to gold (in the center section) to start in the upper left and extend to the lower-right above the blue, as indicated by the white arrow.

What you did is "quite" correct, you'll probably just have to find the right transformation parameters for your scene. But with this kind of setup it's not easy to figure them out.

I see you are using a Diagonal Gradient texture type, but at the same time you are also rotating the input coordinates, so as you are rotating something that is already rotated... well, it's easy to get lost.

I would suggest to use a simpler node tree, based on a Linear type, that lead to a behaviour that it's easier to predict, like the floowing.

But my real suggestion would be to use use an Empty to control the Texture Coordinates for the Gradient. This way you'll be able to visually adjust the orientation, the location and the scale of the texture.

Use the Arrows empty's type and remember that the texture lays in the XY plane (so empty's Z axis sould point toward global X).

Here's the shader in action:


Fix t-junction in mesh I'm currently modifying a mesh using a Python script. I just realised that my mesh have a few t-junctions, which I would like to fix. Is there any way to fix t-junctions in Blender? If so, is it also possible to do this from script?

Clarification: My mesh contains t-junctions where the vertices are disconnected from the opposite face. A script or Blender feature that just 'glues'/connects the vertex would also work fine for me.

I came up with the solution below, which seems to work. Generally I just create faces in the holes (the black on the figure above) and finally dissolve degenerate (since the newly introduced faced has the area of zero).

import bpy
import bmesh
from math import radians, degrees, pi, atan2
from mathutils import Vector, Euler

def isEdgesOverlapping(v, e1, e2):
    if e1 == e2:
        return False
    v0 = v.co
    v1 = None
    v2 = None
    if (e1.verts[0] == v):
        v1 = e1.verts[1].co
    else:
        v1 = e1.verts[0].co
    if (e2.verts[0] == v):
        v2 = e2.verts[1].co
    else:
        v2 = e2.verts[0].co
    dir1 = (v1 - v0).normalized()
    dir2 = (v2 - v0).normalized()
    if dir1.cross(dir2) < 0.00001 and dir1.dot(dir2) > 0.5:
        return True
    return False

def fixTJunctions2(bm):
    for e in bm.edges:
        e.select = False
    for v in bm.verts:
            for e1 in v.link_edges:
                for e2 in v.link_edges:
                    if isEdgesOverlapping(v, e1, e2):
                        e1.select = True
                        e2.select = True
                        bpy.ops.mesh.edge_face_add()
                        return True
    return False

def fixTJunctions(obj):
    if bpy.context.mode == 'OBJECT':
        bpy.ops.object.mode_set(mode='EDIT', toggle=True)
    bm = bmesh.from_edit_mesh(obj.data)
    for e in bm.edges:
        e.select = False
    continueLoop = True
    count = 0
    while continueLoop:
        bm.faces.ensure_lookup_table()
        bm.edges.ensure_lookup_table()
        bm.verts.ensure_lookup_table()
        continueLoop = fixTJunctions2(bm)
        count = count + 1
    if count > 1:
        bpy.ops.mesh.dissolve_degenerate()

obj = bpy.context.active_object
fixTJunctions(obj)


Low poly to high poly instancing Is there a way to connect a low poly object with a high poly object linked from another blend file, that is only interchanged on rendering?

Example:
In the viewport I have my low_cube.001. It is connected somehow to high_cube.001 in the high_cube.blend. In the viewport there will always be low_cube.001. On rendering the scene with Cycles, there should be high_cube.001 only.

Is there an "artists" way?
If not, is there a way I can interchange objects with Python, somehow transfer the high poly object into the render engine?

EDIT:
Regarding Python, I don't need a finished piece of code completely worked out, just some directions or ideas would be great alreay!

A method often used for rigged characters is to setup two groups, one containing the low-res objects and another containing the hi-res objects.

When linking a model from another blend file you select the group and Dupli-Group will be used, with a simple switch between low and hi res being made in the Duplication settings of the object properties. This method can swap the many related objects belonging to a group all in one go.

You could setup a pre and post render handler to swap these groups automatically.

bpy.context.object.dupli_group = bpy.data.groups["quadbot_bridge_lo"]
bpy.context.object.dupli_group = bpy.data.groups["quadbot_bridge_hi"]

To experiment and learn how this works you could try the CGCookie FlexRig which uses this technique. This was also used in Sintel and Tears of Steal if you have a copy of those data files.


How do I turn the pivot point off? I turned pivot point on at one point trying to use it but I definitely don't like the way the camera feels, how do I turn this off and go back to the normal free camera where I can go up and down with Q,E, and move around freely?

Appreciate any answers, this is driving me crazy and I can't continue until it is fixed.

Moving the camera with the Q and E keys is part of the view navigation controls, not part of the pivot point choice.
The effect of the keys is different depending on whether you are using walk or fly mode and the controls are described in more detail here. The default mode can be started with ⇧ ShiftF and either fly and walk mode can be chosen directly from View> Navigation> Fly Navigation or View> Navigation> Walk Navigation.

This navigation mode [walk] behaves similar to the first person navigation system available in most 3d world games nowadays. It works with a combination of keyboard keys (WASD) and mouse movement. By default the navigation is in the 'free' mode, with no gravity influence. You can toggle between gravity and free mode during the navigation (↹ Tab).
You can:
Move the mouse left/right to pan the view left/right or
move the mouse up/down to tilt the view up/down.
Move the camera forward/backward (W/S).
Strafe left/right (A/D).
Jump (V) - only in 'gravity' mode.
Move up and down (Q/E) - only in 'free' mode.
Alternate between 'free' and 'gravity' modes (↹ Tab).


How to run a script before rendering After answering the question Always render the visible objects I realized that,  rather than running the script manually, it would be easier to have it run automagically, once, before rendering (that includes the building BVH phase),  however,  I couldn't find a way to do this.  How would that be done?

You should be able to do this be adding a function to:

bpy.app.handlers.render_pre.append(function_name)

This way whatever function you name will be called before the render happens. Here is a little info on it: link

Make sure your function takes self as a parameter, like so:

function_name(self):
    print("Test")


How to make an object pointed I am very new to blender and was wondering how to do something
I was wondering how I can kind of squish the end of an object as seen in the picture below:

But I want to make it so that there is a slope making a pointed object (not really, really pointed just slightly).

If you turn on Proportional Editing (the icon in the header to the the left of the magnet), then switch over to edit mode, you can select the two vertices at the very end. Then scale them closer together and scroll your mouse wheel so that the proportional editing circle starts to pull in as much of the surrounding mesh as you desire.


Animation nodes: applying material to text instances What I'm trying to do is make an animated graph in Blender. I'm using animation nodes to generate text instances for the axis scale labels.

I'm not using 'copy from source' because when I use that, I'm not able to change the text of the object depending on the loop index, I'm just generating text instances. I have everything working fine except for the material.

This would be simple if I was using copy from source, because they could have the material of the source, but since I'm not doing that, I need a way to apply a material to the text instances in the animation node tree, and I can't see how to do this.

Can anyone help with this? Thanks in advance!

Edit:

I was about to post images of my node tree to show what happens when I use 'copy from source' to answer Omar's comment below, but in the course of doing that, I found the problem. Before, when I was using copy from source, all the numbers would be the same. When I have 'deep copy' checked, then the numbers change according to the index. But, if you have 'copy full object' checked, it won't copy the material. So, the solution is to use copy from source, not use copy full object, and use deep copy. Here is my node tree in case this helps anyone. Thanks Omar!

Now Blender 2.8 has Animation Nodes 2.0, as such there is more material handling available. I was able to use Animation Nodes to assign materials to text instances without deep copy. The text instances were created from a text block list making objects with unique names.

I used Object Material Output nodes (labeled 1,2) from a Get List Element node which you can iterate.

These materials were defined as Eevee types but it should work with Cycles as well. Note that the Get List Element is an integer index so you can't blend the materials this way.


Vertex snapping with edge slide? Is this possible or something we're all waiting on?

When I go to slide a vertex along an edge (G,G) I can't snap it to another vertex along that line (from a different mesh).

-James F

A solution is:

Select the edge you want your vertex to slide and press Shift+NumPad7 to snap view to selected;
Then press Ctrl+Alt+Spacebar to create new transform orientation;
Choose it from available transform orientations in the 3d Viewport header (or press Alt+Space) Optionally give it a meaningful name chck USE VIEW;
Move the vertex with G using the new transform orientation instead of Local or Global etc. Snap will work as usual.


Something is falling off on my plane Hey I need help, I'm not really good at blender but I think I misclicked something that resulted in spheres falling off my plane. How can I disable this? Thanks

You must have created a particle system by accident, just delete it:


How to create clipping mask using displacement map? how I can hide certain part of mesh using only the node editor. For example, how I can make the cross-bonding black part of the map invisible in the mesh using only the node editor.

add a mix shader between the material output and the principled shader. add a transparent shader, and plug it into the other input of the mix shader. take your the map you want to act as a mask, and plug it into the factor input of the mix shader.

I hope this helps, and please comment if you need more info.