What's a good strategy for designing a room with multiple objects in it?

Room modeling tips

Transparent objects

It's often handy to make some objects such as the walls transparent for the viewport. For render they're still fully visible of course:

Furniture creation

It's good to keep the pivots of the furniture in the bottom, so that you can snap them to different surfaces with Face Snapping. You can easily rotate them around their local axis with R+ZZ (or XX or YY depending on the case):

Managing lots of objects

Sometimes it's good to make some objects non-selectable, like the walls. Layer Manager is a great addon for managing objects if you have them on different layers.

Alternatively, parenting them to an empty is an easy way to make them non-selectable. Use Ctrl+Left click to affect all the children of a parent in Outliner:

Rendering

Sometimes it's necessary to place the camera outside of the room and mark the front walls as invisible to camera. Hiding them is not encouraged, because the light that comes outside the room makes it look dull. The light needs to bounce from the insides of your front wall:

room.blend


How to rearrange poses in Pose Libraries?

Technically you can but I will say it's not worth the effort (at least with the current version). This could be an idea for a feature request or a possible addon.

To briefly cover the details for the adventurous, a pose library is nothing more than an action saved for the armature. The pose library name is the action name. The first pose is saved at frame one, the second at frame two and so on. By going to the action editor (dopesheet - action editor context) you can re-arrange the order of the saved poses. This means that the pose names will no-longer match up but you could then rename them to match. Once you start you need to keep track of what frame is for what pose name. If you have 5 poses to re-arrange it's not too hard otherwise it's easier to leave it for now.


Alright, I managed to solve it myself now with a Python script, it goes like this:

import bpy

for b in bpy.context.selected_pose_bones[:]:
     rot = b.constraints.new(type='LIMIT_ROTATION')
     rot.use_limit_z = True

You need to have your bones selected (in pose mode).


How can I convert the locations of a group of objects into the vertices of an object?

In the .gif I invoke the Pie Menu with the W key.

The important part in this setup is the small loop that takes a list of objects and returns their locations in a new list. This basic setup is pretty common all kinds of animation nodes trees.

Extra notes:

The python equivalent to this loop would be:

# Long Version
locations = []
for object in objectList:
    location = object.location
    locations.append(location)

# More Pythonic Version
locations = [object.location for object in objectList]

The core of the addon translates for your node tree into python code that looks like this:

 def main(loop_iterator_0):
     global _frame_9pg, _enabled_jfa
     loop_generator_output_0 = []
     loop_zipped_list = list(zip(loop_iterator_0))
     loop_iterations = len(loop_zipped_list)
     for current_loop_index, (loop_iterator_element_0, ) in enumerate(loop_zipped_list):
         # Node: 'NodeTree' - 'Object Transforms Input'
         try:
             _location_9pg = loop_iterator_element_0.location
         except:
             _location_9pg = mathutils.Vector((0, 0, 0))
             _rotation_9pg = mathutils.Euler((0, 0, 0))
             _scale_9pg = mathutils.Vector((0, 0, 0))
             _quaternion_9pg = mathutils.Quaternion((1, 0, 0, 0))
         if _enabled_jfa:
             loop_generator_output_0.append(_location_9pg)
         pass
     return loop_generator_output_0


Model the circle
Add cylinder (⇧ ShiftA), then enter edit mode (↹ Tab) and select everything (A)
Scale the cylinder (S) so it has the same radius as desired for the holes
Move it over on the X or Y axis so it intersects the circle (GX)
Exit edit mode (↹ Tab)
Add an empty (⇧ ShiftA) and rotate it 15° on the Z (RZ15)
Add an array modifier to the cylinder
Disable relative offset and enable object offset
Specify the empty as the offset object in the array modifier
Note: You can press E while hovering over the object selection box to pick an object by clicking in the 3D view
Increase the count until there are cylinders all around the circle
Add a boolean modifier to the circle
Specify the cylinder object as the boolean target
Set the boolean operation to difference
Apply the boolean modifier
Delete now unneeded cylinder object and empty


How to make triangular pyramids on each face of an original triangular pyramid

If I didn't misunderstand your question, you can switch to Edit Mode, Make sure all faces are selected by pressing A, then AltP to poke faces, which will create a vertex on each face. Tweak Poke Offset value in its setting panel down to the left-hand Tool Shelf.(or press F6 to call a separate popup).


You need to turn on Proportional Editing:

From the Blender Manual:

Proportional Edit is a way of transforming selected elements (such as vertices) while having that transformation affect other nearby elements. For example, having the movement of a single vertex cause the movement of unselected vertices within a given range. Unselected vertices that are closer to the selected vertex will move more than those farther from it (i.e. they will move proportionally relative to the location of the selected element
Influence
You can increase or decrease the radius of the proportional editing influence with the mouse wheel WheelUp, WheelDown or PageUp, PageDown respectively. As you change the radius, the points surrounding your selection will adjust their positions accordingly.


Texture painting on an object also adds paint on the back of another

You have your texture paint slots set to Single Image mode, so the only image that corresponds to paint is the base body image. The palderons image texture is solid brown, and if you change to Material mode then you can paint to the separate texture images.


Is there a way to Time Delay a Constraint (Like Slow Parent)

The Animation Nodes plugin can be used to generate objects and it has a Delay Falloff node which can transform them in sequence.

This series on youtube has an example.

Example based on link above:

Line Mesh is used to generate the locations
Object Instancer generates the cubes
Replicate Matrix generates transform matrices from the positions
Offset Matrix rotates each item, the delay falloff does them in sequence


How to invert colors in the image sequence editor

Just add a Curve Modifier to the Strip and "invert" the diagonal line by inserting two points top-left and bottom-right:


How do I fit label precisely around bottle, specifically the circumference?

To unwrap a cylinder in correct proportion:

Cut a vertical seam where you want it
Set an orthogonal view (poles or equator.. here, equator)
In edit mode, U unwrap  with 'Cylinder Projection' and settings as shown..

Oddly, in the 'Radius' field, entering pi*radius

.. which  doesn't make sense to me .. but there it is...


Transparent textured planes produce black artifacts

Looks like you need to increase the maximum number of Transparent Bounces in Render settings > Light Paths:


Blender 2.8. Trying to join bezier curve with bezier curve made from spiral: "Cannot make segment" error

There is no way to join 2 curves in Blender. You could convert them both to mesh, join them, and convert back to curves.


the speed of camera rotations when using the numbers of the numpad?

Yes, go to User Preferences/Interface, and here play with the Smooth View and Rotation Angle settings.

  Smooth View
      Length of time the animation takes when changing the view with the numpad. Reduce to zero to remove the animation.

  Rotation Angle
      Rotation step size in degrees, when Numpad4, Numpad6, Numpad8, or Numpad2 are used to rotate the 3D View.


How to centre align a circle to be above another circle in other layer?

In Object Mode, the action Selection to cursor will move the object such that its origin is at the cursor. For your object, it's origin is not at its center, so it does not line up to the eye.
First, go into edit mode on your pupil and use Set Origin > Origin to Geometry. This will bring your origin to the center of the pupil, so when you then run Selection to Cursor, it will be properly centered.


I am getting no lighting or anything else in my render

Issue is solved by moonboots and his suggestion to Properties panel > Render > Performance, try High Quality Normals.


Blend file opens in 32 bit but not 64 bit?

Have you unchecked the "load UI" option box before opening the file? I have had occasional problems opening files created with different versions that were ignored when I used the current user interface rather than the one embedded in the .blend file.

I tried the sensei interface and went back within a couple of hours... Too much of a change from what I was accustomed to using to adapt.

Phred


Pivot point problems when "adjust edit cage to modifier result" selected on amature modifier

That's how blender works, it could/should be reported as a bug.

The mesh is deformed to match the armature during edit mode but the manipulator widget doesn't get the same deformation. If you toggle the edit cage display on/off you should see that the widget stays in the undeformed location of the selected face.

The same thing is happening with snapping the cursor.

While the widget is drawn visually in the wrong location it still functions correctly, as do the keyboard shortcuts G,S,R.


Weird Transparency when Rendering in Cycles

You've plugged some image textures into the alpha socket of your Principled BSDF nodes, in Eevee it doesn't create transparency by default as long as you haven't enabled Alpha Blend, but in Cycles it automatically creates transparency. What is your goal with this setup?

Alpha is useful for example if you want to use the alpha chanel of a picture in order to create transparency:


Rendering a plane plane of grass, proper particle settings, and scaling

The plane looks fine.

You can make the amount of grass particles lower by going to Children> and switching from None to Interpolated, and then lowering your particle number till you see fit.

You could duplicate it multiple times, and just not render your grass till the final render.


Boolean operations are a convenient way to transform geometry, but they can leave behind other problems. In this case you've generated a big and ugly n-gon (a polygon with more than 4 vertices). Ngons are notorious for deforming in unpredictable or undesirable ways. In general is preferable to work with quads.

Start by getting rid of the ngon

select the edge loop by pressing Alt while slecting an edge.

Press the space bar and type grid fill (or press CtrlF and select grid fill)

And play with the grid fill settings until you get something that does look like a grid.


Simple UV unwrap with unexpected results - 2.78

You have your vertices of the Uv Island pinned. Select the island with A in Uv Editor and press Alt+P or go to Uvs-->Unpin to unpin it. Then unwrap it (U-->Unwrap) and it's gona look fine.


You can do this using the 'Vertex Weight Mix' modifier.

Here, I have an object with two vertex groups I would like to mix, one is a patch on the left and the other contains a patch on the right of the object:

'Vertex Group A' is set to the left patch (the vertex group I want to effect) and 'Vertex Group B' is the right patch (the vertex group I want to add into the other one). I then set the 'Mix Mode' to add and the vertex groups are mixed:

Applying the modifier will cause these mixed weights to be permanently written to the 'Left' vertex group.

If you want to preserve the contents of the 'Left' vertex group then you can make a copy of it before applying the modifier:


It looks like you are trying to join vertices from different objects. In order to bridge those vertices, you will have to join the objects together by going into object mode and selecting both objects and hitting Ctrl+J.


Create Hole. Mesh LoopTools Addon. Extrude and Shape.

Simplified Shapes.  A Box representing your lantern.
Suggestion change your mesh model construction technique as indicated below.
Faces Removed. Counting edges to match a destination shape.  Appropriate vertex density.
Square hole shaped to circular with LoopTools Circle.
Extruded.  Shaped with Proportional Edit. We see a continous well shaped extrusion rather than two meshes islands intersecting.
Now you can align the base with the two (side supports) to create a continuous surface.  You can use Bridge Edge Loops for that.  This is not shown but is certainly shown here at BSE on other questions.
Weld Pattern Options

Torus modified with Proportional Edit / Displacement Textures as an optional separate Mesh.
Higher (localized) vertex density for weld patterns
Texture paint
Not Recommended Particle System unless Spheres


How to Tweak Dragon Scales Scaling from a Particle Emitter

Define a vertex group on your particle emitter, the tail, and use weight paint to make the part with larger scales stronger (red) and smaller scales weaker (blue). In your particle settings under "Vertex Groups" there is a field called "Length". Add the vertex group you just created to that. Now, the scales should be larger where the weight is high and shorter where the weight is low.

Hope that helps and answers your question.


how to get camera locations and euler rotations for 3d points hemisphere surface?

First let's make sure I understand. A hemisphere:

Center of the hemishpere selected (yellow):

Center is known (let's start with (0, 0, 0), default 3D cursor position)
Radius is known (let's start with 1 m, default sphere setting)
And you want to compute camera 3d locations and corresponding Euler rotations on hemisphere pointing at the center:

(here computed based on current frame)
In order to get this effect, create a UV sphere in default 3D cursor position and default sphere settings, resize the camera to fit inside the hemisphere and make it show in front:

On the above screenshot you see 3 pink fields - those have drivers. If you right click on the first field (x location) and choose Add driver, or hover over it and press SHIFT + D, a driver dialog will appear. You can then remove the default variable:

And put sin(frame/100) into an expression. Sine will give you a horizontal ratio of the distance for a given angle. Here the angle is frame/100, so the current frame number, divided by 100, expressed in radians (without dividing, the animation would be too quick).

Likewise for z location you want cos(frame/100), where cosine will give you a vertical ratio of the distance.
The camera should also rotate towards the middle. So here you want to do the reverse of the above, to calculate the angle based on the ratios. So for Y rotation you input atan2(x, z), but here you're using two variables, that unlike frame, have to be added as input variables.

Press Add Input Variable button, choose its type as Transform Channel, name the variable x, point to the camera as the object you're taking the value from, and choose the property of the object you take the value from. Then repeat the same for z (with adequate changes).
You're done. If you parent the camera to the hemisphere, you will be able to scale it, and it will still work. However the rotation will break:

This is because I didn't tell you to change the space for two variables in the rotation driver from default World Space to Local Space.

If you don't want to use parenting, you can just multiply the ratio you get from sin/cos by the distance (here multiplying was redundant as we would be multiplying by 1, which was the default radius of the sphere). You can hardcode the distance, or use a variable like the (hemi)sphere scale:

If you want each frame to correspond to 1°, then you have to replace frame/100 with frame * pi / 180. If you don't want for the camera to start at the top, but at the bottom, you can just subtract 90 from the frame.
Finally, you can add offsets based on sphere position (again, if you didn't use parenting), as well as its rotation, but as you can see below, it gets quite complex really fast without parenting:

Location X: sin((frame-90)*pi/180+rotY) * scale + x
Location Z: cos((frame-90)*pi/180+rotY) * scale + z
Rotation Y: atan2(x1-x2, z1-z2)


Soft Body - Preserve Volume when deformed

Meshes are typically created 'hollow', as an outer surface only. This means that the soft body simulation normally treats the object as an outer shell and this means it can easily be deformed into its own volume.
In order to prevent this can can add internal structure (just like a 'real' object) which can oppose any crushing forces to retain the object's volume.
For example, for a cylinder you can add internal structure as shown :

The soft body forces for the internal edges will act to prevent the mesh from being crushed. In order to further increase the internal forces you can enable Soft Body Self Collision in order to prevent those internal vertices from being pushed closer together, thereby retaining the volume.
Note : The above mesh was created by the following steps :

Add a Circle
In Edit mode, select all and Grid Fill
Select all and delete 'Only Faces'
Extrude to create a 'section'
Optionally remove internal faces (only faces)
Use Array modifier to replicate into a cylinder
Apply modifier and Remove Doubles to ensure joined together

Note that the additional internal vertices and edges (and especially the self-collision) will significantly affect the soft body simulation time.

EDIT : For an alternative method of creating internal geometry, see Create internal mesh for object


My FBX import doesn't have any animation and looks very deformed. Help!

Did you apply all the modifiers? Its usually the root of my problems when I'm exporting things to other formats.


What is causing disabled options when adding a mesh/curve object to the scene?

It sounds like you may have disabled Global Undo
That panel is called the redo panel, because when you change a setting on it, blender actually redoes the previous operator with the new settings.
If blender can't undo the previous operator first, running it again will add it's effect on top of the result of the previous operator (which is not the desired effect at all).
So this panel is disabled when undo is not available.
For 2.8x and 2.9.
Edit > User preferences > System > Memory & Limits: Global Undo

For 2.7X use
CtrlAltU> User preferences > Editing:


How do you match the rotation of an object based on the edges of another object?

You could use snapping, but I would use vertex snapping, instead of edges: enable snapping, choose vertex, then in edit mode start the rotation (on the correct axis).

While rotating, move your cursor over a vertex of the reference shape, to get the alignment. Sometimes, depending on your exact setup, and the various object transforms, it could work also in object mode.

Here is a simplified example:


How to change image dimensions of a generated image from Python?

To change the size of a generated image:

img = bpy.data.images.new('imageName',1024, 1024)

# ...

img.generated_width = 2048
img.generated_height = 2048

Otherwise, call image.scale(w, h) to preserve existing pixel data.


The contents of some render passes is always computed as part of rendering the combined pass. It takes little extra time to allocate the pass and store that value, however for a simple render and many passes this overhead will add up too.

For others (e.g. the Motion Vector pass) it would not normally be computed, so it will take up more time.


I can't seem to import a model that I downloaded from the internet

Now I can only guess, but if the objects in the outliner are the imported ones, it might help to select one of them in there and then use View >> View Selected from the menu in the 3D editor so your view centers on the object. Might be they're not at all in the center or very small.


how to get an empty for an object to move with the object?

Select all the objects and the empties you want to move together and click Ctrl+J. You Group the objects and they move together.


To scale the links of the chain, you have the chain object selected and go into Edit mode. The links disappearing is a desired behavior, as the links are trying to fit the length of the deform curve.


An edge turned pinkish but it's not seam after putting subdivision surface modifier

I guess it's the Crease, select this edge loop, open the N panel > Item > Edge Data and bring back the Crease to zero, or select, ShiftE and drag. It is used to sharp angles.


Why does baking a fluid sim use so little CPU?

There are two contributing factors. One is that the code for the fluid sim has not been rewritten to support take advantage of multi-threading. This means that only one, discreet process will be running.

The other factor is task-switching. Windows has literally hundreds of processes that need CPU time at any given moment. Each of these is queued for time on a processor. One will get switched onto the processor for a few milliseconds, and then it will be moved to the back of the line (sort of) to wait for its next turn. You have 100% of one process that's spending a quarter of its time on each core... but not simultaneously.

Now for the LONG answer...

An excellent metaphor is checking out at a grocery store.

The one special rule at this grocery store is that you can only pay for one item at a time. You pay for one item and then you go back to the line to wait to pay for another item. You keep going to the back of the line until you don't have any more items to pay for, which would be like when a program exits.

With a multi-core processor, you have one line, but several checkers. You go to whichever checker is available when your turn comes up. Blender is checking out a lot of items, but it's not limited to one lane, so it can go to any of the four checkers. Blender is showing 25% on each core because its one process is doing 100% of its work, split between 4 cores.

This is what happens when one program has one batch of things to do on the CPU.

But what if a program had a partner who could also check out some of the things, too? If a program could copy itself, it could give half of its batch of things to the copy and check out twice as often. This is what is meant by writing a program for multi-threading. It has explicitly have (create) a partner (thread).

If there's a partner, and if your batch of things can be split into two completely separate batches, then you can have two people waiting in line, each with half of the things. They get done twice as fast.

This is why GPU processing is so fast. It's streamlined for situations where you have 9000 of exactly the same kind of item to check out. The GPU has (random guess) 9000 check out lines. It will give 1 item to 9000 people, and check them all out at the same time. Done.

The trick is, the separate threads have to be (almost) completely separate programs. You can't split a ladder in half, and pay for half of it at one checker and half at the other. You also can't take two numbers that you want to add together and do one of them on one processor, and the other on another processor.

They can't share variables, they can't share memory space (sort of), they can't communicate with each other the way that different functions/methods do within the same program. This means if they're going to multi-thread, then the process has to be non-linear.

For example, if you and I were going to cooperate on adding a bunch of numbers, that'd be great. You add half of them, I'll add the other half, and we'll add our results together. We don't have to be synchronized, and neither of us has to know what the other is doing. We just add whatever the results are, and we'd get done in half the time.

Back to your original question, if you and I were going to cooperate on calculating where a particular molecule of water was during a particular second, we'd get almost no benefit over just one of us doing it. You'd have to wait for me to calculate a current position, before you could even begin calculating the next position. Then I'd have to wait on you, back and forth.

Some processes aren't suited to multi-threading. Other processes just have to find the right factor to split on, so that things can be done in parallel.


By Manipulating primitives.

For instance Tree 1 (Top Left of your ref image)

Add the Tree Trunk.
Do this by adding a cube ans scaling it on Z.
Go into edit mode on the cube, and Select the top face, and scale it inward.
Create a material that looks like the trunk you prefer.
Go back into Object mode.
Create a new Cube.
With this new cube selected go into edit mode, again select the top face and scale it inward until it looks like a pyramid.
Scale up/down according to your preference.
copy the new pyramid upward in Z with Ctrl+D, then Z.
scale the new mesh a little less.
repeat 5-9 one more time.
Create a leaf material and assign it to the three pyramids.

For the next tree copy the trunk of the last tree, then add an Icosphere.

Make sure you have the Tool Panel Open (the panel is on the left of the 3D View, and you can toggle it using the T key.

Then, copy the trunk again, and for the next tree use a lower res icosphere. When you create a new one, look at the lower half of the Tool Panel and set Subdivision to 1.  Then go into Edit Mode, and move, and extrude some thing around scaling them down slightly as you go up the Z axis

For the last tree copy the trunk again, and do some research / experimentation with the Skin Modifier, and when you are done learning how to use it, copy the pyramids from your first tree, and position them accordingly.

I hope this sends you down the right direction, but I must say this kind of question is too broad for this site, and doesn't deserve this kind of attention from the users, and will probably be flagged. Please get a feel for what this site is about by browsing around before asking such a broad question. If you browse you will see more specific questions, and more concise answers.  If you want help on tutorials, and learning try: Blender Artist . org


Prevent Steering Actuator from over-shooting? BGE

You can increase the number of frames per second your game calculates. The steering actuator works by calculating the needed rotation to reach the target for each logic tic. The faster an object is moving, the more moment per tic it has along its axis. Each tic, it moves the object along an axis and calculates the rotation needed to reach the target. When the moment is fast, it adds a lot of distance and calculates the new rotation. If that distance is long enough to move your object off it's target path, it will look like it is overshooting.

By increasing the frames per second that the game runs at, you will increase the logic tics per second. This helps because it calculates a new rotation faster, keeping it on the target path better.

For example, you could set it to 120 instead of 60. Your object should now recalculate it's rotation and trajectory along the path twice as fast. However - this will also drag down performance. The faster you set the FPS, the more work your computer needs to do. If you have a lot of logic, forcing it to run twice as fast should create a noticeable drain on performance.


Out of memory after rendering thousands of similar scenes

In case anyone have a similar problem, I figured out the solution.
My script was generating a new texture at each iteration. I thought it was being discarded but actually not, blender was retaining this information as orphan data. So I simply needed to add bpy.ops.outliner.orphans_purge() at each iteration to clean this unused data that was loading my memory.


Cannot Get Transparent Object to show up in reflections

This may be an answer from 2.9 manual...

Screen Space Reflections and Ambient Occlusion are not compatible with
Screen Space Refraction; they will be disabled on the surfaces that
use it. Surfaces that use Screen Space Refraction will not appear in
Screen Space Reflections at the right place. Surfaces that use Screen
Space Refraction will not cast Ambient Occlusion onto other surfaces.

I guess I must use cycles...


Some parents of a hair particle system go underneath faces

Added a subdivision modifier to change the geometry of the surface on which the particles are being placed on (not the particle itself), which fixed the issue. Not ideal, but it works.


Changed Cache > Type to All, and Bake options appeared.
Baked, then ran the simulation without a problem.


Rigid body simulation not interacting with objects that have an array modifier

The rigid body simulation will not work correctly with an 'arrayed' mesh fit to a curve in this way as the 'arrayed' instances are not separate bodies but are actually just the original mesh, deformed. This means that while they could be made to be "solid" to the rigid body world (by setting collision to 'Final') they will not interact as if they were separate, moving bodies.
In order to create such a simulation you need to have separate rigid bodies for each 'panel' of the conveyor. Rather than use a Curve Modifier you can instead use a Follow Path constraint on each panel.
Start by creating a single 'panel' and set as a Passive Rigid Body. In the Rigid Body settings, set it to 'Animated'. This will allow it to interact with the simulation while still being controlled outside the simulation.
Create the curve for your conveyor belt - I used a Nurbs Circle as a start point and extruded each side outwards to 'stretch' it.
Add a Follow Path constraint to the panel with Target set to the curve. Configure it so that changing the Offset moves your panel along the path.
Duplicate the panel as many times as required for your complete conveyor. Amend each panel's Offset in the Follow Path constraint to position it in the correct place.
Once complete you can go to the Curve properties, enable 'Path Animation' and keyframe the Evaluation Time to animate.
This produces the following result :


Whilst in edit mode, press N to open up the properties bar. Scroll down to the mesh display section and make sure that all edge info and face info checkboxes are unticked.

Hope this fixes your problem.


Here a more accurate answer.
And here is a simpler solution for the first picture (but you can use this kind of solution to fake the second one):

Create 2 bricks (front view), the proportion is 2 x 1 units, subdivide a bit, rotate them 45° and stick them together.

Use a first Array modifier to duplicate them on the X axis. Find the good Relative Offset value.

Use a second Array modifier to duplicate them on the Z axis. Again, find the good Relative Offset value.

Add a Simple Deform modifier / Bend mode, find the good Deform Angle value (more than 360°).

Add a Subdivision Surface modifier and press Smooth Shading.
To make it follow a curve, use a Curve modifier.


How can I add a material to a curve like a regular mesh?

Adding a material to a curve is actually very simple :).

Adding the Image Texture, which is correctly UV mapped is much harder. If it is an object which won't be visible well in render (a background element for example) you may use this kind of node setup. The texture distortion wouldn't be much visible...

But the seams would.

You may try to blur them a little increasing the Blend factor in Image Texture Node.

If you don't want to have the seams visible, the only way is to use Convert to mesh from Curve option (ALT+C), then unwrap the mesh and use the UV Coordinates in Texture Coordinate Node. Next paint over the seams in Texture Paint Mode.

As @NoviceInDisguise said, you may always try to use Procedural Texture and use the Generated Coordinates.


How to trace the path of an object in the video editor?

Combining colored elements is easiest in the compositor.

I would also suggest using 3D to create the colored line as Blender has good visual tools in 3D. Just use a Shadeless or emitting material to make it monochromatic.

Then mask out the part of the bird, which shouldn't be covered by the line.

Render it with transparency and use a mix node in the compositor. Check the invert button in the mask options (in the image editor) to invert the mask.


Why keyframed animation of linked object is not saved?

Files differs in more aspects, but one that cause saving the keyframes is your "CRUMPLE" action saved in your "broken" file.

There is several ways to fix it:

Delete this Action in your original file before Linking or
Manually set Make Library Override by right click on item in Outliner of the file or
Go to Dope Sheet editor switch to Action editor and click on chain icon to make it local or click on X icon to delete Action

Note: When you use "Link" operator (to bring some elements from another blend file) you can't modify them. For that blender use Library Override to make it happen. Any linked element in Outliner that is linked from external directory is using "chain" icon to indicate that. To be able to manipulate with linked object you have to Add Library Override, that creates something like information layer that stores changes from original.
I have never used Library Override before so I'm not experienced here ... but for some reason Actions and Materials are kept Linked for Make Library Override Hierarchy command by default. If it is a bug or expected behaviour ... I don't know (probably in common use you don't want to modify those). Anyway as I wrote you have to delete or Override specific items manually.


How does tile size affects render time in GPU compute cycles?

You have to see the cores of your graphic card. The number of cores is the number of tiles it can process at the same time. If you have a big amount of cores make the tiles smaller. About 1/8 of the blender's default size is ok. If you have a really good graphic card try the 1/16 of the blender's default size.


Is it possible to use a displacement map without having real geometry?

Using a subsurf (subdivision surface) modifier before the displacement will give you a lot of flexibility.

Here's a simple plane (imported with the images as planes plugin) subdivided 100 times in edit mode, and then with a subsurf modifier added to it...

(Click on the images to enlarge)

The main advantage of the modifier is that you can determine different levels of subdivision for the 3D viewport and for the final render, so you can keep a decent level of detail for the final render, while having a responsive interface...

The order of the modifiers is important here because you want to subdivide first and displace later, otherwise you'll have a much smoother map but with less detail, like illustrated here:

To change the order of the modifier stack, use the triangles on the right side of the modifier's window:

A happy medium is using a subsurf before displace modifier and then one after:

But be extremely careful!: by doing that you are making an exponentially large number of vertices.

For example: If you set the first modifier with a subdivision level 2, it will create 25 vertices out a single quad. Further subdividing those 25 quads with other subsurf modifiers can very quickly take you to a number your computer will not be able to manage, and might even make it crash...

  Please read this performance considerations: https://blender.stackexchange.com/a/15667/1853

To get to very detailed but efficient mesh, you can get to the level of detail you want with the subsurf modifiers, apply them (use the apply button on the modifier), and then use a decimate modifier to make the number of vertices more manageable while keeping the shape.


How do I twist this shape in a way that is 3D printable?

Making this structure into a manifold mesh could be tricky. Thankfully, 3-D printers do not care if meshes are technically separate if the faces are in the same mathematical position. If you can create one ring, you can duplicate it, and then move it up so the bottom of the new ring is exactly on the top of the lower one, or even intersecting it, and the 3-D printer will print one solid instead of something that breaks apart.


The find curve by path and insert the keyframe is very common in Blender.

You may not need to find the any keyframe in Blender by key.  You can iterate through them and update a value such as curve type if the frame matches the frame in your inventory by frame number.

If you have potentially extra items you can remove(delete) the entire curve.

Your concern about time efficiency ("costly") is good yet now may not be the time to optimize.

There is the [add] method documented here.

https://docs.blender.org/api/current/bpy.types.FCurveKeyframePoints.html#bpy.types.FCurveKeyframePoints


The problem are weights. each part of the mesh gets weights automatically by assigning the armature modifier, but these don't work with intersecting objects like yours. It's almost impossible to assign proper weight to cloth details like this manually.
To solve it, try to use Mesh Deform modifier:

make a very simple mesh around your model.
add Mesh Deform to your original model, bind it with your mesh.
add bones to your simple mesh.


can a transparent object hide a specific object behind it?

The Input > Light Path node, Transparent Depth output, used as a factor in a Mix shader, seems to work:


Origin is not in the horizontal middle for a model which I "overlaid"

Further to @cegaton's answer.. the behavior of Shift S Cursor to Selected respects the current Pivot point.

in Edit Mode with all selected:

if the Pivot is set to 'Median', the cursor goes to the location of
the smaller empty in the illustration, at an average position of of
Suzanne's selected vertices, giving them all equal weight. Since she
has more vertices in her face than at the back of her head, that
drags the location towards the front.
If the Pivot is set to 'Bounding Box' the cursor is sent to location
of the larger empty, at the center of Suzanne's bounding box.

I'm not sure if this is what you want, but illustrated below is the result of Shift S Cursor to Selected in Edit Mode, with all vertices selected, and the Pivot set to Bounding Box Center, followed by  Shift Alt O in Object Mode > Origin to 3D Cursor

The cursor and origin are at the center of the object's bounding box.

The "Bounding Box Center" option is located here:


My Rig Changes Position in Edit/Object Mode?

In Pose mode make sure you are in "Pose position" .

In rest position it will go to the objects original position and origin point

Also , Edit mode doesn't effect the animation / Pose , so when you go into edit mode , the armature will also go to the objects original position and origin point . Edit mode is only for moving vertices/faces/edges and bone origin placement


How do I get vertex coordinates in the same units as the scene units?

I think the question is mathematically inaccurate. Your coordinates are defined by magnitude and direction. To add a scale factor like mm or m you need to multiply these unit vector values with constants.


Blender's concept is to work with objects. So if you don't see your world in the outliner anymore, you probably just unlinked it. The object itself still exists in the background and will be kept until you close blender.
In the gif you see how to might have unlinked the world and how you get the (still existing but not linked) world back.

If you closed blender anyway and the unlinked map is lost, just create a new world by hitting + New in the world tab.


will stopping an animation render mid-way still save the progress?

Answer: no.
We generally make our animation renders as a PNG or EXR image sequence, and then we transform the image sequence in the final .mp4 (this latter render is very fast).
The advantages are that you can stop the render in midway, if there's a crash or an electric failure you don't loose the previous computing, you store maximum uncompressed quality, you can store layers for later compositing, and so on.


Here's my BI setup:

material:

textures:

The first texture is a nice dense whole brain object, almost making the voxel data appear like a surface. The second texture makes the voxel values affect reflection color, which is important for inside the object.

I used a simple boolean modified to cut away the corner chunk:


something like this would let you determine if the polygon is back or front facing in the current view context, given a bm and a polygon to check:

def is_front_facing(context, bm, polygon):
    """
    When deciding if a polygon is facing the camera, you need
    only calculate the dot product of the normal vector of
    that polygon, with a vector from the camera to one of the
    polygon's vertices.

    - If the dot product is less than zero, the polygon is facing the camera.
    - If the value is greater than zero, it is facing away from the camera.
    """

    region = context.region
    rv3d = context.space_data.region_3d

    # neat eye location code with the help of paleajed
    eye = Vector(rv3d.view_matrix[2][:3])
    eye.length = rv3d.view_distance
    eye_location = rv3d.view_location + eye

    pnormal = obj.matrix_world.to_3x3() * polygon.normal
    world_coordinate = obj.matrix_world * polygon.verts[0].co

    result_vector = eye_location - world_coordinate
    dot_value = pnormal.dot(result_vector)

    return not (dot_value < 0.0)

I ripped this out of some old code, it might help to see it in context if it doesn't work. It will be important to establish which rv3d to use, because a polygon that is back-facing if viewed from the top, will be reversed if viewed from the bottom.


Mask Image Plane in Shader Editor or Compositor

Boolean Modifier
Since you will have to separate lines of glass from red wine and white line on wine surface (that has to be part of animated section), seems to me easier to recreate pictogram in some vector app (so you can work with always sharp and clean shapes), import as SVG and animate with Boolean Modifier.

add the glass Solidify modifier to get thickness, it will prevent from z-fight, or bring this object a bit above
convert wine object (named Wine_Mask) to mesh and give it a Solidify modifier to get thickness (needed for later boolean operation)
add a Plane to use it as a wine, split face into two, upper part for white wine surface line, the rest as wine volume, add Solidify modifier with less thickness than Wine_Mask object
add Boolean Modifier > Intersect > Object - Wine_Mask

It can be animated in similar way as shader version too.

Shader
Shader controlled by Empty

keeps wine surface horizontal (independent on glass rotation)
volume controll
parented to glass keeps location

Roto-Mask
From what I know it's the worst way ever to do something like this. Mask's shape can be animated by simply pressing I in Image Editor, but in a very limited way. From UI point of view there is not any feedback that key framing is happening, so open Dope Sheet Editor to to see them. The biggest issue is that animated points of mask transit along shortest way from key to key (see this question). It isn't such a big problem to animate straight point movement, but curvy part would has to be animated frame by frame = time consuming.


Mirroring to create a single polygon across the mirroring plane

The mirror modifier in your illustration is working exactly as it is designed to do. In this case, it is mirroring an edge. To complete a face, you need to add one more vertex, located at the intersection of a line perpendicular to the y axis, and the y axis, which passes through the vertex furthest from the y axis, and create the face. The easiest way to create this vertex in the illustrated figure is to extrude from the vertex at the far right to the y axis, constraining the extrusion to the x direction. If you do this, the mirror modifier will work the way you wish.


Can I animate which vertices a certain material is assigned to?

Assign different materials with different pass index to the different vertex groups you want to affect.

Enable Pass index on the render layers.

In the Compositor you can then alter the material using the ID mask.


Explicitly setting object name to "X" actually sets it to "X.001"?

Blender uses the name to uniquely reference the object - so if an objects already exists with that name it cannot allow you to create another one. Instead, it creates the object and adds the ‘.001’ suffix to make it unique (or 002, 003, etc until it finds an unused name).

One solution to your problem is for your script to first check whether that object already exists and if it does to either rename or delete the old object before creating the new one - this way your object should always be created with the name you specify.


Beginner question: Collision is not working

Based on the comment i would suggest the following solution:

Make a copy of the container object, adding a "-simhelper" at the end allows for easier identification later.
Select the copy and adjust the thickness of the solidify modifier to at least the size of the objects that are gonna fall in. Explanation a bit below.
Make the copy invisible in render by going in the Object Properties, under Visibility un-check the Show in Renders and in Viewport Display un-check the Shadow and maybe set the Display As to "Bounds".

This way the simulation helper object will not bother you in the viewport or render.
Select the simhelper object and then the original, make sure the original is highlighted as yellow, active, and press Ctrl+P "Object", making the simhelper a child of the original, in case you have to move the original later.
Now you can disable the "Rigid Body" on the original
Test the simulation and adjust the thickness of the solidify modifier as needed.

Little Explanation:
The Reason for using a thicker simulation helper is that the simulation uses sub-steps to catch an intersection, if the object falls to fast and passes through the walls without being caught by the simulation, it keeps falling and results in your problem situation.

Happy Blending


Apply your scale in Object mode, otherwise your bevel will be distorted. Also make sure that the Amount value is low as your object is rather small:


Would a 16-bit image for a bump map have any advantage?

8 bit images normally store 2^8=256 different shades of grey. In theory, you could encode more information in it, but most displacement textures you use wont. This means, that if your displaced model is 8 Blender units high, the smallest height difference you will get is 8/256=1/8th Blender unit. This doesn't seem like much, but can create visible steps between two heights.

Using a 16 bit image can store 2^16=65536 different height levels. No matter how you use your bump texture, you won't notice any artifacts here.


Can I change the view(pan/rotate) while performing an action?

You can't move the 3D view while editing something, even with a 3D mouse, at least in Blender 2.67b, from what I know.
For your "snapping" problem, I suggest you the use of the 3D cursor, by doing the following:

place the 3D cursor at the exact point you want your vertex's final position (with left click in the view, or directly by entering the coordinates in the properties panel - shortcut N - or with the snap menu, see below)
select your vertex
hit shift S to display the "snap" menu
choose "Selection to cursor"

You'll notice that there is also "Cursor to selected" option available in this menu, allowing you to position the 3D cursor accurately at the selection's position.
Hope this helps.


How to install box cutter if it isn't found in add on?

https://blendermarket.com/products/boxcutter
Once purchased, Follow the guide to install into blender. Boxcutter is a paid addon and cant be installed from the default addon directory.
Manual: https://boxcutter-manual.readthedocs.io/en/latest/


How to disable the face overlay in the UV editor?

Go to your User preferences and under Themes for the UV/Image Editor category, lower the alpha of Face Selected to suit your needs. At 0, only the outlines should still show.

It is also worth noting that there is another option for Face color in the same category, the default color for this is white and the default alpha is ~0.3.
Therefore, if you have alot of faces overlaying each other, this can lead to a white look as it will add up so you can also adjust the alpha value there as well depending on what you need. Setting both Face and Face Selected alpha values to 0 should suffice.


Free fall physics simulation capture as a video

I am posting a part of my code here that I believe will make sense.
After setting up the scene I do the bake_all like the below and call the render_ogl method I wrote

    scene = bpy.context.screen.scene
    scene.frame_end = 150
    scene.rigidbody_world.point_cache.frame_end = 150 #If this is not     written the simulation ends at 250 default
    scene.rigidbody_world.solver_iterations = 60
    scene.rigidbody_world.steps_per_second = 240
    scene.rigidbody_world.time_scale = 10
    scene.rigidbody_world.use_split_impulse = 1
    bpy.ops.rigidbody.objects_add(type='ACTIVE')
    bpy.ops.ptcache.bake_all(bake=True)

    #Create the camera with respect to which rendering should be done
    my_camera = createCamera('my_camera', (1, 1, 1), list_ob[0])
    set_camera_params(my_camera, render)

    #Set lamps to see the ogl rendering
    my_lamp = createLights('my_lamp', (15, 0, 50))
    set_lights(my_lamp)

    #Ogl rendering
    render_ogl(my_camera, scene, fp, ind)

The render_ogl method is as below.

def render_ogl(camera, scene, fp, ind):
    #Some scene nodes I have for the rendering
    scene.use_nodes = True
    nodes = scene.node_tree.nodes

    #Use the default nodes generated in blender
    render_layers = nodes['Render Layers']
    output_viewer = nodes['Composite']

    #Add output file node
    output_file = nodes.new('CompositorNodeOutputFile')
    output_file.base_path = "/home/kar/Desktop/Blender_Render_Output/"

    #Link all the nodes
    scene.node_tree.links.new(
        render_layers.outputs['Image'],
        output_viewer.inputs['Image']
    )

    #The settings to save the file as per the given indices
    scene.render.filepath = fp + 'zbuffer' +str(ind)
    scene.render.image_settings.file_format = 'FFMPEG'
    scene.render.image_settings.color_mode = 'BW'
    bpy.context.scene.camera = camera
    bpy.ops.render.render(animation=True)

    return


Shadow catcher plane transparency problem in compositing

To alpha over your rendered car and shadow above your footage, the background needs to be transparent. Go to Render Settings > Film > Transparent and enable it.


How can I make an exponentially curving object?

You can use the XYZ Math Surface available through the Extra Objects add-on to achieve this.

First, go into User Preferences, Add-ons, and search for Extra Objects. Enable it via the checkbox.

Now you should have additional objects in your Add/Mesh menu - in particular the Math Function, XYZ Math Surface. The XYZ Math Surface allows you to set up how two variables - U and V - vary, and how the X, Y, Z coordinates are generated from these.

Set up the parameters in the Toolshelf (T) as shown below :

Here U varies from 0 to 2*pi with 128 steps - one whole rotation (in radians).

V varies from 0 to 2.10 with 32 steps - this is the distance from the centre.

The X coordinate is defined as (v+0.1)*cos(u) + (v+0.1)*sin(u) and Y as -(v+0.1)*sin(u)+(v+0.1)*cos(u) - this converts from the polar coordinates to X and Y.

The Z is calculated using an exponential function -1/e**-(1.6-v) (EDIT - this can be simplified to e**(1.6-v)).

Note the +0.1 in each of the X and Y equations to offset the centre of the cone so we don't hit infinity (limits the inner edge). Also, adjusting the 1.6 in the Z equation adjusts the speed of the exponential falloff.


Blender object being imported in Unity is invisible

Since your plane is in $XY$ in blender, it's actually in $XZ$ in unity if you exported by default values, so you can't see it by its side.
Try change to 3d view and see if this is the issue
Also, it could be mesh normals which determines front faces. Blender renders both faces, front and back but in unity its just front by default, but in this case I don't think it's the problem.


If you want more control, select 2 facing nodes and press F till you have filled all the couples with faces.

Check this video: I just pressed F many times:


Blender is eating GB's of HD space when rendering

The bvh cache files can be found in a folder called cache that will be located in the same folder as the config folder that contains startup.blend, the filenames start with bvh_ followed by a unique 32 character string.

See this page for details about where the config folder can be found.

This question has more info on when the BVH Cache can be helpful.


How to set the parameters of a texture present in the shader editor to the rhythm of music

You can import the song in the VSE window, create an empty, create a single keyframe (i.e. loc at frame 1), in the graph editor select the keyframe and go to the menu "key - bake sound to f-curves".

Then you can add a driver to any parameter of the shader, pointing to the empty X loc (world related)  and have it following the music, tweaking the values in the dirvers formula.

If you want to separate low frequencies and high, you can create two audio files, one with a low pass EQ (below 160 Hz) and one with an Hi pass EQ (maybe above 2KHz), and repeat the process for every desired EQ band.


Following Path Bone Jumps at the end of the path

Fixed it... I did a parenting from the bone to the mesh with Keep Transform...


Boolean Modifier fails or makes object disappear

It appears that your mesh with the Boolean modifier is a 2-dimensional plane, this will cause some issues with your Boolean operations. I noticed some very unusual behavior when trying to perform a Boolean operation on a 2-dimensional mesh (final result, difference mesh  has been deleted):

However if I extruded the plane a small amount, the result was completely normal:

I think you will have to add some thickness to your mesh before using the Boolean modifier if you want to achieve expected results.

Also see this answer to a very similar question.


This probably happens because your viewport is set to perspective view.
Therefore, the camera slows down when near it's limit.

Switch to orthographic mode, and all will work again.

View > Perspective/Orthographic
Shortcut: Numpad 5


Insert video to sequence editor with python Script

When invoking an operator in python, there are three positional arguments that are generic to all operators, all other arguments that pass settings specific to the operator must use keyword arguments.

So to call the operator you should use -

bpy.ops.sequencer.movie_strip_add(filepath=video_file)

Note that movie_strip_add will add one video file as a strip, so to add a directory of movies you will want to use a loop.

def execute(self, context):
    episode_path = "/path/to/videos/"
    for v in [f for f in os.listdir(episode_path) if f.endswith('.mov')]:
        bpy.ops.sequencer.movie_strip_add(filepath=os.path.join(episode_path,v))
    return {'FINISHED'}


Wierd problem with textures turning white

In texture view, you you will see the image from the UV editor, not the image(s) from the texture(s) assigned to the material, as illustrated in the image below.

Open up your texture image in UV editor while you have the UV map open (if that image is already assigned to a texture, you need not load it again, just click the arrows to the left of the word New, and a drop down list with already loaded images will appear).

You can make the same image visible in solid view as well, if you enable Texture Solid in the Shading panel.


Is there a way to array an object along multiple curves without having to duplicate the object for each curve

Particle System above.  Objects are emitted from faces. All the particles can be changed with a single GUI entry. Non faces are ignored.  Carefully duplicate the settings.  The number setting should be suited to your case. [Particles/Face] <-- 1 and [Random] <-- False. Particles can conveniently represent a sequence of items.

Suit to your needs. You can arrange the faces with no connection to other faces.  My presentation was done with speed in mind.

Particles use collections.  The arrow in the image above.

Particles can efficiently reuse/instance mesh data. I would change your representation to a mesh with Particles.

Group instances bound to an [empty] can also efficiently represent your visuals.  More instances.

Both techniques can be searched here at BSE or the website that rhymes with NooNube.

.

Sharing a mesh data block. See the edit history if this interests you.


Your question is a bit difficult to understand, but I believe I am answering.

It being a plane should not make a difference.

It sounds like you need to add another keyframe. If I am interpreting your question correctly, you are inserting a keyframe, moving/rotating/scaling the plane, relocating the time cursor, and watching all of your transformations revert to the keyframed loc/rot/scale. You can animate by inserting that original keyframe, NEXT moving the time cursor, changing the loc/rot/scale, and finally keyframing again. The plane should now change it's loc/rot/scale between the two keyframes.


How do you add an object from another scene in the BGE?

Scene dependencies

You can't copy game objects across scenes. All template objects have to reside in the scene you want to add them to.

Linked objects

Blender allows to link objects (and object data) across scenes. The BGE will load them as individual copies. This allows you to get a single (Blender) object as copies within your BGE scenes.

Ensure they are still placed within hidden layers that you can use them as temple object on add object.

Scenes interaction

These objects are individual Objects and have no relation to each other (beside they look equal). This means when you want to transfer any "manipulation" from one scene to the other you apply a similar manipulation to this other object.

Example 1:

In scene A you show object cube. When clicking on it you want to create such a cube in scene B.

So you need to tell scene B, that it should create a cube at a certain location.

I suggest you send a message from scene A to an "object builder" object in scene B. This object builder creates the desired cube at the desired location. You should provide enough information that this will be successful. So you need to tell that it should be a cube and not a sphere. You should tell what location the cube should get and so on.

Example 2:

You moved the copy of a sphere from (0,0,0) to (10,0,0) in your scene A.
Now you need to apply a matching operation to the according sphere of scene B.

So you tell the other scene to "move sphere" to an according position. Be aware it does not need to be the same position as in scene A.

Conclusion

I'm not sure if that explains enough.

Each single scene is responsible for itself. It should know the templates it can use and it adds the copies by itself.

Avoid trying to add objects from other scenes. This creates unnecessary dependencies. Better tell objects of the other scene what you want. This way the scene can care of it self.

Messages are a good way of inter-scene communication. They do not establish strong dependencies (means it does not matter if the other scenes exist). It works well even with multiple listening objects in any number of active scenes.

You can still access complex data from a custom python module. This way you get scene independent shared data that can be used as long as your game runs.


Is it possible to enable backdrop using Python when running Blender without GUI?

You can set this property, you just have to know which area is the node editor. Like this:

import bpy

def get_node_editor_area():
    """
    Get the index of the area containing the compositor
    """
    for i in range(len(bpy.context.screen.areas)):
        area = bpy.context.screen.areas[i]
        if area.type == 'NODE_EDITOR':
            return i

area_index = get_node_editor_area()
bpy.context.screen.areas[area_index].spaces[0].show_backdrop = True

If this is for an addon and the user will have the mouse in the node editor area when this function is called, I think you could use bpy.context.space_data.show_backdrop = True instead.


How can I create an animation within a cloth simulation?

I have solved it: I created the skeletal animation as if there was no cloth simulation happening at the same time. After that, I created the cloth simulation and applied the collision modifier to the avatar. After baking the cloth simulation, I played the animation and it worked: the cloth responded to the skeletal animation and did not disappear.


Is there an easy way to add a hole into an object?

Examples

In edit mode you can switch to face select mode (control tab).  Select faces and delete.  You may need to  created additional faces to delete.
Extrude or inset and remove faces
Use any mesh primitive with multiple faces and delete a face.
Add more faces (loop cut and slide) and delete a face to create hole.
Use a Boolean modifier with operation Delete to create additional geometry suitable to the final step to delete faces.
In the image below we see from left to right

a plane
a plane with sphere placed to intersect the plane
goal mesh achieved with hole cut from Boolean modifier with [apply] clicked and user editing to delete extra vertices
plane selected with Boolean modifier present
plane with extra geometry created by Boolean modifier with [apply] clicked. Extra geometry will be deleted. N-gons may be present.

If rectangular outside with circular hole is desired use a torus or sphere or cylinder and use a shrink wrap to a rectangular outside.  Below is an example of a torus with 3 vertex cross section.

The geometry created above may be more suited to some situations rather than a triangulated n-gon.


Some brushes have this option in their properties panel, but the grab brush doesn't seem to follow its instructions, and it seems to be always view-related.


Why does this mirror, made using a glossy material, not fully reflect all the incomming light?

Make sure Render Settings > Clamp Indirect is set to a suitably high number, or 0 to disable clamping all together.


I've noticed the center of the axis (sorry don't know the exact name) was not at the center of the object, also followed here and it worked


How do i get rid of these circles appearing on the background I created while using emit?

Okay I figured out what was wrong, the 3 and the ring were too close to the background. This appears to be "Z Fighting."


MeasureIt won't show actual size of my model, only when the Subdivision Surface modifier is applied

The accepted solution, provided by batFINGER. You add an empty to the scene, by either hovering over Add in the 3D View menu, selecting Empty -> Plain Axes, or, you can alternatively, hold Shift+A, and select Empty -> Plain Axes.

Then, a tip is to use the snap function (you find it in the 3D View menu as well, or, by simply pressing Shift+Tab. Then select what you want to snap to. In my case, it was vertices. But you can snap to either vertices, edges, faces or even entire volumes. Or just incremental snapping.

You can choose what to snap to by pressing Shift+Ctrl+Tab to toggle between the different snap modes.


Synchronisation between Video and UI/Image editor

I recommend you to convert the video to an image secuence, you can do it with Blender if you want, render the video without changes to a series of images. Anyway I prefer using ffmpeg to do this job, is free and you have lots of examples on Internet.

I think the problem could be that, as the video is encoded, a frame in the middle could not exist (completely) and this is why it can't show the image.


Export Blender 2.79 PBR shader to Unreal Physical based material

Bit of a late answer, but I have recently released an add-on for Blender 2.8 to do exactly this simply and easily (though admittedly not quickly - baking in Blender, like rendering, takes time).

Documentation here: http://www.toohey.co.uk/SimpleBake/

Available here: https://gumroad.com/l/mzYoz

It is also possible to do this manually. In a nutshell, you need to create an image within Blender (in the UV Image Editor) and add an image node to every material you are using set to that image. That image node needs to be selected in every material, though it doesn't need to be "hooked up" to anything at all. It just floats there.

The best way is to then take each input to your Principled BSDF shader one by one, run it through an Emission shader (connected to the Material Output in place of the Principled BSDF you had before) and then bake emission.

It's a bit of a long and painful process if you have an object with lots of materials - hence why I wrote the add-on.


Why are my videos rendering in black and white?

Sounds like the output might be set to BW in Render settings > Output. Make sure it is set to RGB instead (or RGBA if you need the alpha channel):


Calling bpy ops fails with context is incorrect

For whatever reason, I couldn't get ANY Blender bpy.ops.mesh.rip rip_move rip_edge rip_edge_move at all BUT the same thing exists in bmesh functionality called split_edges (facepalm). Following code splits all edges along any edge that is marked as "seam".

bm = bmesh.new()
bm.from_mesh(me)

seamEdges = []
for edge in bm.edges:
    if edge.seam:
        edge.select = True
        seamEdges.append(edge)

bmesh.ops.split_edges(bm,edges=seamEdges)
#apply
bpy.ops.object.mode_set(mode = 'OBJECT')
bm.to_mesh(me)
bm.free()


How does 'local with parent' space work?

It looks like the second bone has a hidden initial transform of 1.0 in the y direction relative to the origin of the armature. So, it is already at 1.0y, and it movies 1.0z with its parent. Those hidden initial transforms are tricky.

EDIT: Oops, in armatures "Local with Parent" uses its position in edit mode rather than a hidden transform like in object mode.


Transparent Glass Material not rendering alpha in Blender Internal

Your Glass plane uses Raytrace so you need to allocate more depth rays for the amount of transparency changes behind it. I have bumped it up to 6, I guess you'll need more for all those trees?

Alternatively you could switch the transparency type to "Z Trans" but you'll loose some of the nice effects from raytrace.


When accessed via Python, all angles are in radians, not degrees.

rotation=(0, 90, 0),

If you want to write in degrees for convenience, you can use math.radians eg

rotation=(0, math.radians(90), 0),


How to prevent the intersection of mesh particles

Perhaps part of a solution.  On the far right a single mesh has many triangles.  In the middle the mesh has some randomness introduced by user actions.  On the left is a render of particle system with minimal overlap and some randomness.

Of course my views are focused on a top down view for explanation purposes.  Your views will have artistic intention.

A Bit quick and dirty because there are not scripts or externals tools.  Some user action is required.

The far left image of triangles can be created by multiple means.  One method is to place 4 triangles in a mesh, add two array modifiers, then apply the array modifiers.  The triangle faces were for legibility.

In the middle part of the image.  Edit Mode, Face Mode. [Select Random] of faces by 10%. Or you can select faces manually. Copy and Paste faces or not. Toss a coin, Delete the faces .. or not. Then a proportional edit with [individual centers] and [Proportional Edit Falloff] Random or not. Adjust influence sphere. Repeat as necessary. Try many quick experiments and maybe the GPU will burn out. The distortion of the triangles was not a goal.  Proportional edit minimizes some work since it can operate on large portions of the mesh.  Be careful or mistake will occur with crowding.

On the right is the particle system.  Random <= False, Emit from faces, Particle/Faces <= 1, No Physics. No Gravity influence. Emission frame interval [1,1].  The idea was the Blender User Can see the locations.  If the terrain is flat enough a shrink wrap can be performed.

Perhaps a script would be easier.


How to get the upper X% of an object and remove the rest

One way is with a boolean modifier.

Add a plane (⇧ ShiftA> Mesh > Plane) and make it large enough to exceed the bounds of the target object.
Add a boolean modifier to the target object and specify the plane as the second object:

Also ensure the boolean operation is set to Difference or Intersect.
This plane can be moved around and the mesh will be cut and filled accordingly. By using the dimensions of the target object, it's not difficult numerically place the plane in order to remove e.g. 75% of the object:

Which side of the mesh is removed can be controlled by flipping the normal of the mesh (⎈ Ctrl⇧ ShiftN) in Edit mode (↹ Tab), or by switching between Difference and Intersect boolean operations.


Isometric 30° seems to behave like dimetric 26.6° (Blender 2.8)

I misunderstood the Wikipedia article. The angle 26.565° is the angle between projected non-vertical axes, and the horizontal line:

While the angle of the camera should indeed be 30° from the horizontal / 60° from the vertical:

To those, who want to achieve true Isometry in Blender, instead of the pseudo-isometry that I need, you actually have to set the angle of the camera to 35.264°.


Rendering matcap with ambient occlusion using blender internal render and cycles

Enable the Ambient Occlusion in the World section of the properties panel. Set it to Add.

Create a new material: "Ambient".
Set the Diffuse Intensity to 1, and the Color to (1, 1, 1). Rendered view will show the ambient occlusion of the material.

Create a new material: "mixedMaterial". Assign it to the mesh.
Enable nodes, add the "Ambient" Material, the "Matcap" Material and combine them with a Color Mix node. Set the Mix nodes mode to Multiply.

This is the result.


You need to add weight painting to this part of the mesh as well. First click on the mesh (model) then keep holding the shift button and click on the rig then hit ctrl+P then select parent with Automatic weighting, this should fix this.


Rotated array modifier around constant origin?

You can add a Copy Location modifier to the Empty, from Word Space to Local Space.

Notice that this will create a dependency cycle that will result in a delay in the updates.


Blender 2.8 - do Materials always have Textures?

You never apply textures directly to an object, there is no such thing as directly assigning an image to a mesh.

"Visible textures" are always applied to a material. This may seem incorrect at first, because some applications hide this fact from you by automatically creating a material in the background for said texture, or some times an object already as a blank material applied to it, and the texture is assigned to it instead, but generally speaking you can't just put a texture on an object.

Exception being that in Blender you have Object Textures (like Musgrave and Clouds you found) which are used by Modifiers, Particle Systems and other object level data. These can't really be made directly visible, and are not intended for used in a material per-se. They can only be made visible indirectly through their influence in things like a Displace Modifier or a particle system.

They cannot be used in materials nor can they make use of shader nodes. If you want to use textures in materials they should be made with the node editor exclusively, or baked into image textures.

UVs are one of the several type of Texture Coordinates, obtained through the process of Unwrapping a mesh. They are a completely different type of data and are used to map any texture (material or otherwise) over a mesh, so the application knows which part goes where.

There are several types of coordinates that can be used for different requirements, some of them don't require unwrapping.


How can I add a second texture apart from the one I'm using with displacement modifier?

Yes of course you can still have different textures when using cycles. However that way you add them, and access them is a little different.

When you are using cycles you no longer start your texture in the texture tab of the properties window (like how you had to do it for particles), now much like the displace modifier there is a button to jump right to your texture.

Now for the particle system, you do much the same thing as for the displace modifier.

Go to the particle tab and add a new texture.

Click on the "Show texture in texture tab" button. (You could also go to the texture tab your self, more on that in a bit.)
You are now editing the texture for the particles, set what ever influences you want.

The texture tab works a little differently then when you are using the blender internal.
In cycles all the textures are nicely broken up by category, and you can edit any of them at any time.

While you can make new textures and assign them to different uses (say I make a new texture for the displace modifier, I can switch right in the texture tab.)
However you can not add new texture uses from the texture tab. So if you do not already have the displace modifier using a texture you can not assign a texture to it in the texture tab.


Sleeve isn't being weighted correctly when parenting to rig

I figured out a solution.  By adding some extra control bones specifically for the sleeve, I was able to get it to bind with useful weights.


How can I make my tail animation smoother?

A smooth effect is extremely easy to create, utilizing interpolation in 3D animation. Make sure your bone chain is fully forward kinematic.

Set a key for both extreme position and copy the first extreme and insert it at the end again. This results in the two keyframes A > B > A'. I created the pose by switching to Individual origins so that I could rotate all of the bones at once. I created the inverse keyframe by ⎈ Ctrl⇧ ShiftV pasting the pose.

Make the animation repeat by pressing ⇧ ShiftE in the dope sheet and selecting Make Cyclic.

The child joints of a chain would move after their parent joints. This is what the overlapping action principle of animation embodies. Grab the keyframes of the child bones and offset them one by one.

If you want more overlap (resulting in a snake-like action) increase the offset of the keys.
If you want less overlap (resulting in a more stiff / rigid action, e.g. a dinosaurs tail) decrease the offset of the keys.
If you want more movement in general, go to the graph editor and scale the curves along their Y axis.
If some joints are shorter than other, their animation would likely have a smaller magnitude. This can be respected while setting the keys in the beginning.
Adjacent shorter joints would also have less offset in timing than adjacent larger joints.


Can I assign a toggle shortcut to the Cursor Depth feature in User Preferences?

Easy.

Go to hot-key tab in user-preference. (Ctrl Alt U)

Find 3D-view, then go to 3D-view(Global), scroll down and find the 'Add New' inside this hierarchy.

After you press 'Add New', a new hotkey entry with the name 'none' and the key of 'A' will appear.

Click the arrow to the left of it, in the text box where it says 'none', add this:

'wm.context_toggle'

A new box appears, 'Context Attributes'.  add this:

'user_preferences.view.use_mouse_depth_cursor'

Give it a hotkey that does not conflict with any existing hotkey in 3D-View.

Done.

PS: If you have the Pie Menu Editor Addon, you can also add the property into a Pie Menu, which saves hotkeys.  In that case, you have to use this:

'C.user_preferences.view.use_mouse_depth_cursor'

or

'bpy.context.user_preferences.view.use_mouse_depth_cursor'


Delete all groups in blend file.

BlendDataGroups.remove(...)

import bpy

for g in bpy.data.groups:
    bpy.data.groups.remove(g)

remove all empty groups (no objects assigned) from blend file

empty_groups = [g for g in bpy.data.groups if not g.objects]
while empty_groups:
    bpy.data.groups.remove(empty_groups.pop())

Note: For my current version (2.79.4) there are some extra options all set to True by default to "force the issue" without having to unlink and unset users.

>>> bpy.data.groups.remove(
remove()
BlendDataGroups.remove(group, do_unlink=True, do_id_user=True, do_ui_user=True)
Remove a group from the current blendfile

See also.

Proper way to remove unused linked Group data-blocks


Convert rigged armature into static object

You can try and apply the armature in the modifier's tab. There should be a button named "Apply".

If you're looking for a specific pose, just get the pose that you want and hit "Apply" and your mesh will get that pose permanently.


How to weight paint character whose mesh is in several [joined] pieces?

OK!  So, cautionary tale for other animators: If you redo your IK bones 50 times, make sure that each time you uncheck "deform", otherwise good luck figuring out what portions of your mesh you are going to get unwanted vertex weights for. In this example, the IK bones at the heels painted the heels (unwanted), but the pole targets offset from the knees painted only the mustache (for some reason, also unwanted). Beware!


This is a possible cycles shader you can use with your textures.

The "?" indicates you can plug the color map or not.


Thanks to hint from 4-K, I indeed found out that the problem was because of duplicates. To check it, I just moved single vertices in edit mode.

To remove them I did the following:

Open the edit mode for vertices.
Select all the vertices using A key.
Open special menu using W key.
Click "Remove Doubles".

Then Blender said that there were 8 redundant vertices, and I got correctly working bevel modifier.


Why is the color information lost when image data is multiplied by and ellipse mask?

A Mix-Node set to multiply must instead of a multiplying Math-Node be used to achieve the vignette effect.

Thats because a Math-Node's input is a scalar value and the color vector seems (I couldn't find a reference for that) to be converted to a single grayscale value. The Mix-Node is designed to process color data.


You have proportional editing (O) enabled:

Disable it by pressing O again or selecting disabled in 3D view > Header.


My model is see-through with black lines

Probably, you pressed Z and then you changed the viewport shading so now you are in wireframe shading.
Press Z to change to Solid Shading via the pie menu or use the topbar as shown below:


Animation not working after appending node group

The animation data is getting ported with the node group, just not applied. You can import a whole scene and it will work fine.

No solution has been found to re-link the animation data.


How to setup cloth animation to make ribbons?

@LukeD, @Patdog thanks guys!

This combination are works:

Avoid close gaps between mesh if "self collision" enabled. I placed my ribbons in checker order.
Use one subdivision for simple meshes. By placing subdiv modifier first or subdivision manually.
Use Harmonic force


The vertices are obscured by the mesh itself. In order to see them you need to either switch to Wireframe mode or enable 'X-Ray' (icon to the right of the overlays drop-down).


How can I export a mesh to UE4 with empty transforms?

Apparently Unreal recognise the prefix "Socket_" as a socket location. The prefix gets striped on import. Also note that the position will be in blender translation.


2D Blender how do I make objects move with frames?

While in Grease pencil draw mode when you edit over frames a new keyframe is automatically created, 3D objects (like your text object) have to explicit the keyframe insertion. This can be done pressing I to insert  a keyframe, or, automatically, enabling the little dot icon (record auto keying) on the left of the centered play buttons in the timeline window (at the very bottom of your screenshot).


Just a little update if you are searching for this for 2.80:

The active object has moved from the scene to the new view layers system, as you can have multiple active objects across multiple view layers.

bpy.context.view_layer.objects.active = some_obj

I would link to the ba post, but offsite linking is hated upon here.
So, thanks to you, iceythe!


The Options can be found in the Tool Settings header on the right-hand side. If you cannot see the Tool Settings, right click in the area where the View, Select, Add and Object menus can be found and activate Header > Show Tool Settings.


Physic simulations in Blender don't update at any time (and that's a good thing, so you don't melt down your computer and you keep a responsive software as long as you need).

In order to the gravity affect your hairs, you have to start the playback. You have the playback controls buttons on the bottom left of your screenshot.


I can't access sculpt vertex paint in 2.90 alpha

Open user preferences

Under interface enable Develeper
Extras

After enabling the developer extras, Experimental will appear in
the menu enabling the experimental features making the options below
available (as of f319eec88186)


Decrease thickness of object

I have made a half sphere and added some solidify modifier and applied to it. To decrease thickness or shrink down the thickness. In edit mode -> select all and press Alt+S or Mesh -> Transform -> Shrink Fatten

As soon as u click on or better press Alt+S like we scale we get a arrow to increase or decrease the thickness. After click u can press F6 for operator panel or adjustments. Click Ctrl+N to flip normal.


Tracking very long shot with no points in common between first and last frame

Yes, it is possible to track and reconstruct shots where the beginning and end of the movement have no common elements to track.

The important concept here is that there has to be a section of the shot that contains enough (and accurate) tracking points (at least 8 of them), and good parallax information to be able to solve that section. Blender can then reconstruct beyond that point, even on places where there are no "bundled" tracks. Note that you should track a whole bunch of elements as they move through the shot, from the moment they enter frame until they exit.

The trick to pull this off is choosing the section of the shot to be used. That is what the Keyframe A and Keframe B are for. In most cases you'll get good results if you set blender to determine the most usable section of the shot by enabling keyframe

If a tracked element leaves the frame but comes back later in to the shot, it is very important that you track both sections and then join the trackers so that blender understands that is dealing with the same element and not something new.

For more tips on Motion Tracking please read through the following link:

How can I get better results when doing camera motion tracking?


Most of the common problems people experience with the Boolean modifier are generally down to only 2 or 3 things: Normals, Doubles (or overlapping geometry), Non-Manifold geometry.

Normals

Faces have a direction, it may seem like a weird idea but it's necessary in computer graphics to give a polygon (different word for face) a direction.

The fact that faces have a direction is included in the word "face", for English speakers: "what direction is it facing? it's facing that direction". Blender will give the new faces you create a direction that corresponds to the faces around it, it's up to you as a modeler to be aware of this.

The direction of the Normals determines how the objects combine when using a Boolean Modifier:

On the first image the cube and the torus have their normals facing out:

On the second image the Torus has the normals facing in:

On the third image both objects have their normals facing in:

What are Difference, Union, and Intersect supposed to produce?

Difference: The result will be those parts of the mesh which do not share volume in 3D space. see here a good expose on how to do this, and what to expect
Union: Returns the two meshes joined as one, the two meshes do need to have at least some common volume in 3D space. If they don't you can use the Join command (Ctrl+j) instead of a boolean.
Intersect: will return the shared 3d volume of the two meshes.

Quote from the manual:

  Difference

  The modified mesh is subtracted from the target mesh.

  If the target Mesh has inverted normals, Blender will Intersect the modified  mesh.

  If the modified Mesh has inverted normals, Blender will add both meshes (Union).

  If both Meshes use inverted normals, Blender will Intersect the target Mesh.

  Union

  The target mesh is added to the modified mesh.

  If the target Mesh has inverted normals, Blender will Intersect the target Mesh.

  If the modified Mesh has inverted normals, Blender will subtract the target Mesh.

  If both Meshes use inverted normals, Blender will Intersect the modified Mesh.

  Intersect

  The target mesh is subtracted from the modified mesh.

  If the target Mesh has inverted normals, Blender will subtract the target Mesh.

  If the modified Mesh has inverted normals, Blender will intersect the target Mesh.

  If both Meshes use inverted normals, Blender will add both meshes (Union).

Fixes for problems caused by normals in boolean operations are generally easy: Faces of both objects should all be outward facing with no exceptions.

To recalculate normals enter Edit Mode (Tab).

Select all faces and press CtrlN To have the normals face out

Or CtrlShiftN to have normals face inside the mesh.

To flip a single face, select it and use Mesh>Normals>Flip Normals.

You can toggle the display of normals in the Properties Panel (right panel N):

Doubles

Doubles are multiple vertices which share the same 3d location. These are problematic for the boolean modifier if they occur in one object, because they're a sign of degenerate geometry (zero area faces, hidden duplicated edges) or simple geometry which isn't fully connected as you might be led to believe by how it looks.

To Remove doubles

Enter edit mode (Tab).
Select everything (A.
Presss W and select Remove Doubles.

( insert images of example tell-tale signs of doubles )

Overlapping geometry between objects:
If you've removed doubles and flipped normals the right way, then a third cause of Boolean Failure is that some of your edges are shared by more than 2 faces. Inspect your Objects closely.
Multiple vertices in the same location will often cause the boolean modifier to act up.
In addition to Double geometry on Object A or B, object B should also not share any duplicated geometry with A. You can always prevent this by adjusting one of your Objects to comply with this limitation of the Boolean Algorithm.
From this bug report:

  this is a known bug in Carve upstream (a library we're using for boolean operations)

Non-Manifold Geometry

Boolean operations will fail when using Non-manifold objects.

For all intents are purposes manifold means 'is it air-tight', meaning it has no holes. Examples of non-manifold objects could be objects like planes with no thickness, or objects that are self-intersecting or that have Zero-area faces or have Open volumes.

For some operations it helps if you use the Outliner to hide the object you are doing the boolean operation with from view/render so you can see clearly the effect of the operation before applying the modifier (apply at the last possible moment!)

Other cases where boolean operations can fail:

Using Curve objects instead of Mesh objects

Blender doesn't let you use a curve objects for boolean operations. That inlcudes Text objects, as they are considered curves as well. Those objects would need to converted to mesh by pressing ⎇ AltC.


How to remove triangular edges that appear after subdivision

Start with a lowpoly geometry and try to keep the mesh as regular as possible.

We don't know the final shape you want to obtain, but what I'd do is starting from a circle with few (8) vertices and extrude it along Z and scaling these extrusions.

Here is the geometry (in edit mode below with the starting circle selected), and above the same with a subdivision surface set to 1.

The main part is done simply extruding and scaling the base circle.

Then, when the shape looks ok for you, You can make the 'nose' part by selecting faces on the side and extrude them along X.

The hole (where the genius will come from) is done selecting top faces of the previous extrusion and insetting these faces using I and delete this inset.


Problems with box select and click-drag select

Maybe try changing the select mode by pressing W.


As far as I'm concerned, the Wave modifier just moves vertices up and down but doesn't rotate anything because it just works on the single vertices translating them on the z axis depending on their X and Y position.

If you want to make a curved pipe in which the section rotates and not translates, I recommend you to use a curve modifier. You'll need a sinusoidal curve (look here for that) and a curve modifier to apply on the cylinder.


Select bones of first armature then hold shift and select bones of the second armature and at the end then press ctrl + j. This must be done in object mode. I think this will join two armatures into one.


Never mind, I found out the issue. I had my X curve locked, so I couldn't edit the curves.


How do you make linked duplicates with modifiers?

For the moment you can give a modifier to a linked duplication but you won't be able to apply it (unless you make it a single object of course). So what you're looking for is probably Collecion Instance.
Create Your object (or your objects), put it in a new collection:

Press ShiftA > Collection Instance and choose the collection. By default it will appear where the original object is relatively to the world center, so move the instances away:

If you give your original object a modifier, they will all be affected, you can also apply the modifier:

If you ever need to make one of the instance independent, select and press CtrlA > Make Instances Real, then Object > Relations > Make Single User > Object & Data.


Can't transfer model to unity properly. (Unity experience needed)

As you can see I got the model working properly.
My first suspicions were that the model textures and UV mapping were messed up, so I made sure every individual piece was its own texture. (Possibly unnecessary)
Finally what ended up being the problem was the normals for many parts of the model needed to be recalculated. Unity only has one side to its normals while Blender has two, thus it functioned in Blender still without appearing to be a problem. I noticed the forearms were the only objects that appeared correct in Unity, and sure enough they were only one's that accepted a texture.
And for those people also trying to export models to Unity, I can not stress this enough- Make sure all your textures are in a folder for organization and move that folder MANUALLY to Unity. Many tutorials completely skip this fact and make it appear that simply a packed blender file is enough. It is not.


Animation nodes setup not rendering as it appears int the viewport

Unfortunately you used a relatively bad practice for projects that need to be rendered in the end. Namely you created a feedback loop, meaning you use the same mesh as input and output.

You should try to build a node setup that calculates the whole result in each frame deterministically. The result in one frame should not depend on the results in previous frames.

This is problematic because, when rendering, the AN node tree might be executed more than once per frame.

Another thing you can try is to bake your mesh animation into an alembic file.


Why are my objects not visible when looking through camera and starting the game

You may want to apply (CtrlA) the location of both your camera and the object it's parented to, to get rid of any positioning discrepancies during runtime.


Check “Selected Objects”>> At the right bottom, open the “Armature” settings and check “Only Deform Bones”, uncheck “Add Leaf Bones”>> At the right top shift-select “Armature” and “Mesh”


select > select random > f9

in the box set percent to >   (1/amount of object)*100

it will select 0 or 1 or 2 objects depending to seed
you can see how many got selected in the bottom right bar.


Transparent Strip Around Border Of Render Preview

When you did ctl + b and drew the box to render you only selected that part that you see rendered. There is more to the scene but you would need to redraw your box (ctrl + B) around the whole box outlined in red (the render view).

To recap:

Just ctrl + b around the entire red square and you should be fine.

The ctrl + b is just for rendering a certain part of your scene so you do have to waste time rendering everything.


timebase denominator exceeds H.264 maximum

What I did to solve this problem was changing the frame rate to the device I was recording at. once I did this it started rendering the animation. (Before it was at 30 fps and I changed it to 29.97.) I hope this helped


How to store and access generated data in a project?

Keyframes

Suggest using your midi file reader to keyframe the animation. I have done this using the very basic pysmf reader to make an action of custom properties for each track. For example in image below "AE" for electric guitar track, and "AB" for muted trumpet track.

For each of the midi notes in the track, if there is an ON event, keyframe that to a custom property, eg middle C on electric guitar "AE" would be assigned custom property AE60.  The smf decoder gives middle C as C4, I get it's midi position 60 by finding its index in midi_notes list below. Your reader may handle this differently.

notes = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'A#', 'B']
octaves = range(-1, 10)

midi_notes = ["%s%d" % (n, o) for o in octaves for n in notes]
#pop off the last 4

for i in range(4):
midi_notes.pop()

Rather than using custom properties, ob["AE60"], another method would be to create collection property for the tracks and channels.

The velocity and event time in seconds, converted to frame, of each on / off note event in the track, are keyframed as a (frame, value) pair.  Constant interpolation will make the note stay on until an off event.

To find the value of AE60 in an action named "MidiAction" at frame 44

bpy.data.actions["MidiAction"].fcurves.find('["AE60"]').evaluate(44)

The very much WIP code to produce action above is here


Quick way to move an object some distance from one external vertex to another external vertex?

A basic script for doing nearly the same (in object mode):

It is visually different as the object will move at first step then at the second one.
But the result is as expected, I think.
Use D key to use it. You can use Blender snapping options (i.e. snap to vertex) or not.
The principle is to use grab operator with invoke default from a modal operator:
import bpy
from mathutils import Vector

class GrabOffset(bpy.types.Operator):
    """Move an object by an offset"""
    bl_idname = "object.grab_offset"
    bl_label = "Grab with offset"

    def modal(self, context, event):

        #Left click
        if event.type in {'LEFTMOUSE'}:
            #Second left click?
            if self.second_locations:
                #Calculate delta and move objects
                for obj, floc, sloc in zip(context.selected_objects, self.first_locations, self.second_locations):
                    obj.location = floc + obj.location - sloc
                return {'FINISHED'}
            #First left click
            else:
                #Keep locations
                self.second_locations = [Vector(o.location) for o in context.selected_objects]
                bpy.ops.transform.translate('INVOKE_DEFAULT')

        #Aborting
        if event.type in {'RIGHTMOUSE', 'ESC'}:
            context.object.location = self.first_location
            return {'CANCELLED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.selected_objects:
            #Keep original locations
            self.first_locations = [Vector(o.location) for o in context.selected_objects]
            self.second_locations = None

            context.window_manager.modal_handler_add(self)

            #Invoke grab
            bpy.ops.transform.translate('INVOKE_DEFAULT')

            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "No active object, could not finish")
            return {'CANCELLED'}

keymaps = []

def register():
    bpy.utils.register_class(GrabOffset)
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
        kmi = km.keymap_items.new(GrabOffset.bl_idname, 'D', 'PRESS', shift=False)
        keymaps.append((km, kmi))

def unregister():
    for km, kmi in keymaps:
        km.keymap_items.remove(kmi)
    keymaps.clear()
    bpy.utils.unregister_class(GrabOffset)

if __name__ == "__main__":
    register()

    # test call
    #bpy.ops.object.modal_operator('INVOKE_DEFAULT')


How to create a strong halo light effect?

Use the compositor Glare node with the type set to 'Fog Glow'.

Ensure you have a suitable emission material behind the 'windows' to ensure there is a bright area for the glow to act on. Add a 'Glow' node and set the type to 'Fog Glow'.

Adjust the parameters of the Fog Glow and/or change the intensity of the emitter to get the desired effect.

No glow, a moderate glow, a strong glow :


Blender 2.80: Left Mouse Button is moving cursor, not selecting (despite proper keymap settings)

In case something goes wrong with the configuration, you can restore the default settings through File > Default > Load Factory Settings.


How to map "CHANGE FRAME" to mouse right click in Blender 2.80 in the VSE

Under the File > User Preferences > Keymap look for the Animation entry.

There should be a Change Frame entry. Change it to watever you like, in this case I'd advise something like Tweak - Right.

You may additionally have to change the context menu to open on Right - Mouse - Release event instead.