Merging two bones that are children of 'one' parent

If you want to delete, let say, bone1, and you want to keep, let say, bone2, with influence of bone1 being given to bone2, you can delete bone1, then go in the Properties panel > Object Data > Vertex Groups, select bone1 group, press Select, select bone2 group, press Assign, now the vertex group that was linked to bone1 is linked to bone2.


How do I start motion on a curve on a later frame?

It's pretty easy... once you know what you're doing.

Switch to the graph editor.
Expand the "bezierCurve" object, and select "EvaluationTime".
Press n and scroll down to the "modifiers" section.
On the "generator" modifier, edit the "coefficient for polynomial 'y'"
Lowering this value will make the animation start on a later frame. You can see this by looking at where the line intersects the 0 point.

You can edit the path using "restrict frame range". Simply set the start and end frame, then use the in and out to control the easing.


It can be the Clipping Distance of the Scene view and the camera, try to set a higher number, and those weird clipping artifacts will disappear.


How to export Python animation to gltf from Blender 2.80?

The glTF exporter is looking for animation keyframes in the NLA tracks for export.  If you have custom Python code that's just writing to the object transform on the fly, that's not going to be found by the exporter.  Your Python code will need to create actual animation keyframes, such that the exporter can read those keyframes and write them into the glTF file.


I don't know how your object is rotated, but instead of setting Scale X to 200 in the Mapping Node, try Scale Z with 200 and X and Y at 1 (or maybe only 0.5) and change the Texture Coordinate from Generated to Object. If Z isn't correct axis, try setting Y to 200.
And if you're going to color your object, you don't need that Mix RGB node, because you're just flipping black to white and vice versa. But since the Noise Texture generates an even distribution of the 0 to 1 range, flipping the colors doesn't make much of a difference.
On the other hand, the Height input of the Bump node converts greyscale values to height information - so it's best to use the Fac output of the Noise Texture instead of Color.


How to combine large scale and small scale in one project

If you just want Mars to be a static background, you could create a HDRI image as explained in this video. You basically render a equirectangular version of your scene and use it as the background in your second scene. Note that you have to switch to Cycles, a step not mentioned in the video.


How to bend tube so it's ends fit given positions?

Its not the precise awnser to your question using "curves".

I suggest you use the "spin tool" to get the desired "precise" effect and control.

Add a circle.

In front view.

Go to edit mode.

Move the circle to which point you want.

Press spin. (It wil spin around the midpoint as centerpoint)

And adjust your desired settings.


Animation Nodes - Blend distribution of objects on a curve into another curve

First, I'll show how to morph objects distribution from one curve to another curve then we will use the same node-tree to morph a curve.

==========================================

Morphing Object-Distributions:
1) First, we have to sample the curves (A and B) which we will use to distribute the objects, both curve's sample-amount should be the same:

2) Now, we have to mix the locations or vector-lists of both the curves and the mix factor is controlled by the falloff. To do that, we can use the Mix Vector node but for vector-list, we also need a Loop node. However, for better performance, I have made a group-node which do the same job i.e., mix the two vector-lits (A and B):

3) Next step, mix the locations of both curves using the group-node (mentioned in step 2) then use the resultant locations to distribute the objects:

4) You can use any falloff to animate the object-distributions. Here, I have used the Delay Falloff node to animate the distributions:

5) And also use the same group-node to mix the other vector-lists, e.g., Tangents of both the curves:

Here is the final node-tree:

Blend File:

==========================================

Morphing Curves: We can also use the resultant locations from group-node to create a spline for curve morphing:

Blend File:

==========================================

Edit:

Morphing Object-Distributions on multi-splines:
We can easily morph the object-distributions on multi-splines use Loop Node. In this example, I use the above node-tree with a single spline (A) and loop/iterate over other splines (B list):

Final node-tree:

Blend File:


When adding a new face, joining faces become reflective

The fill option is a bit mischievous some time. You may want to try grid fill and see if the same thing happens. It could be flipping your normals or maybe they are already flipped and it is showing back faced culling. You can check to see this in the material slot, there is a back faced culling viewing option.


Key Color still shows in sort of a torn manner

The main problem is that the alpha channel generated by the keying node has to be associated with the picture. Use an Alpha Convert node in straight to premultiply mode.

The artifacts at the top of the image are caused by the compression on the original image. Some compression algorithms for video work by considering similar colors to be one solid block of color, usually this is not as visible, but since you are using this area for keying, the macro-blocks become visible.

What that means is that the color you are keying out is not even.
The solution are:

Use an image that has less or no compression.

Change the threshold of tolerance for the key, either by modifying the Key Color or by modifying the values for Clip Black (pixels that are considered part of the background) or Clip White (pixels that are considered foreground)
Read the manual for this node:

https://docs.blender.org/manual/en/latest/compositing/types/matte/keying.html


The factor of the Mix Shader node is the fraction of the second shader that contributes to the output shader.  If the factor is 0.8 then the output shader will be 80% the second input and 20% the first input.

The Is Camera Ray output (along with most of the other Light Path outputs) is a boolean (true = 1, false = 0).  So if the ray is a camera ray (true), the value going to the mix factor will be 1 and the output will be 100% the second shader input.


Using Walk Navigation like Unity and Unreal

I'm not sure about 2.8 but in 2.79 you can activate it by pressing Shift + F this way you'll be able to fly around using W, A, S, D, E(Up), Q(Down); You can also activate gravity by pressing TAB.

Edit: you can also use the Mouse Wheel to change the speed of the movement, Up/Forward to increase, and Down/Backward to decrease it.

after you're done:
 LMB to stay in the same place or RMB to return to the original place.

I hope this solves your problem :)


I had this same issue with Blender 2.8

This worked for me :-

under View Layer tab, select Filter drop down and make sure that the Environment Checkbox is checked

Hope this helps


Pacman is pretty simple to model

Start by adding a sphere: Shift-A>Mesh>Shphere
Hit F6, in the properties window that is provided, change the segments to 24.
Hit Tab to enter edit mode.
Rotate him by 90o on the X axis, RX90
Right Mouse click while holding Alt on The face loops you'd like to delete for his mouth. You may need to select additional faces using the Right Mouse Button.

Use X>Faces to delete

There are a few more steps to add eyes:

Select a face on the one side you'd like his eye(s) to go over

Snap the 3D cursor to it, using Shift-S>3D cursor to selected
Exit edit mode, Tab
Add another sphere.
Use Shift-S>Selected to cursor to position your eye.
Scale it to the correct size using S
Use ShiftC to re-center the cursor
Use ShiftAltC>Origin to 3D curosr to move the origin of your eye to the center
Add a mirror modifier using the modifier panel.

To animate the Pacman, instead of deleting the faces covering his mouth, split them down the middle ShiftV, and then rotate them to alin with the upper lip. You can use this as a shape key. You will then need one with is mouth closed and you're good to go, simply animate between the shapekeys.

If the shape keys don't provide satisfactory results, You can try using somthing like the hook modifer, with an empty for each row of verts.


You've set your Tranform Pivot Point to the 3D Cursor, I guess it's your problem, switch to Median Point for example:


Export Animatet Character to Threejs json has invisible material

TGA textures require some particular workarounds for use in three.js (or on the web in general). The easiest fix is probably just to convert your images to PNG or JPG.

EDIT: another problem is that the opacity must not be 0.


It's possible and easy (check image below). By adjusting value of previous keyframes, you get different mixtures of them.


Modify nodes in compositing nodetree using Python

This bug report: https://developer.blender.org/T35720 pointed me to right right data path. When you want to modify node tree in compositor, then you have to use following path:

bpy.data.scenes['Scene'].node_tree.nodes['Alpha Over'].premul

or you can use following syntax to avoid hard-coded name of scene (current scene will be used):

bpy.context.scene.node_tree.nodes.['Alpha Over'].premul

and it just works. :-)


How do I parent a bone to another bone for an imported model?

The dotted black line is called a relationship line, and it reveals that some kind of connection, either a parenting connection or a constraint connection, already exists between Sword1 and whatever this unnamed bone is. In either case, you will probably want to break this connection and start over. With the Sword1 bone selected, go to the Constraints tab in the Properties Panel, to the right of your 3D View, and check whether anything shows up. The relationship line is probably coming from something that will be found here. The other place you can check, but seems less likely, is the Object tab (not Object Data tab), and look under the Relations section, to see if the bone has a parent. If you found any connections, remove them. If you found none, then select the whole armature in Object Mode, and then tab into Edit Mode, then select the Sword1 bone, press Alt + p, and choose Clear Parent. Now your Sword1 bone should still be part of the armature, but shouldn't move with any part of it during posing. Go into Pose Mode, and move the Sword1 bone to the hand position. It might be a good idea to make sure the armature is in its rest pose before doing this, which can be activated in the Object Data tab, under the Skeleton section, where you'll see two buttons, Pose Position, and Rest Position. Choose Rest Position to see the rest pose. Once you've activated the Rest Position, however, you can't move any bones until you return to the Pose Position. So after activating the Rest Postion, press Ctrl + a and from the Apply menu, choose Apply Pose as Rest Pose. Now return to the Pose Position. You shouldn't have to do this again. It's a kind of calibration effort to ensure that you're working from the rest pose before adding constraints. If you add constraints without being in the rest pose first, weird things can happen.
Finally, while in Pose Mode, select Sword1 and create a Child Of constraint for it, and point this constraint to the hand IK target bone as the constraint's target. You will want to press the Clear Inverse button after creating the constraint to get the sword to remain where you placed it. It should follow the hand now when moving the IK target, and by keyframing the influence slider for the constraint, the sword can be released by the hand, or retrieved by it, any time you want.


Vertex Paint not painting the areas selected on Blender2.8

This has an answer here.

Is it possible to paint only on selected vertices in vertex paint?

Though I would like to add that if you are in any viewport shading mode other than Solid, the results won't show up in the 3D viewport when you are painting in vertex paint mode.

Also of note that after you get this working, you're very likely going to want to perform a render at some point. And you may run into more trouble when you get to that point, because vertex paint doesn't seem to want to render unless you go into the Shader Editor and hook up some nodes. If you later find that this is a problem, consider reviewing the following:

How can vertex paint be rendered?

How do I set a vertex color material in Blender 2.8?


There is no automatic way.

Cycles render engine uses path tracing to render a scene. In order to calculate whether there are additional objects that might cast light/shadow in a scene, it has to calculate the whole scene based on the camera's view.

The only method for Cycles to get that information before the final render would be through pre-processing, which in the end would take more time than rendering empty tiles.

However, you can restrict the render area by using the Render Border feature.
Hit 0 on the Numpad to enter Camera View, then hit Ctrl+B and draw a box around the area you want to have in your final result.

Now only the selected area gets rendered and the result gets resized to the final image's size.


Is there a way to lock stacked UV Islands when running Pack Islands?

Ok, so this still might be of interest to some of you...
This method involves the use of Blender's Texture Atlas Addon. It's in Blender's default addon section but needs to be installed.

Scenario:

Let's assume we have four objects. Two of these objects are exact copies of the other two objects. Let's call them original1, original2, copy1 and copy2.

Let's further assume that at least the originals are fully unwrapped.

All four objects should use the same texture, while the copies of the originals should use the same UV space within this texture.

Creating the Texture Atlas

Open a new view and change it to UV/Texture Editor.

Select original1 and original2 in the 3D View window.

In the Properties Window go to the Render Panel and scroll down until you find "Texture Atlas". Click on the "+" Button to create a new Atlas.

A new window "add Lightmap" will pop up where you can change the name (not necessary imho). Click "Ok" to create the Texture Atlas.

Under "Texture Atlas" click on "No_Unwrap", then click on "StartManualUnwrap".

(You might want to change the resolution here, you also can create a new texture later on)

In the 3D View window tab into "Edit mode". Now both original1 and original2 got merged into one object temporarily, should be in edit mode and you should see their overlapping UVs in the UV/Image Editor.

In the UV/Image Editor go to "UVs" -> "Pack Islands". You also might to rearrange the UVs to use the Texture space more efficiently.

When you are finished with rearranging the UV islands, go to "Texture Atlas" and hit the "FinishManualUnwrap" button.

Both original1 and copy1 are now separated objects again and you dropped out of edit mode.

If you select original1/2 and tab into edit mode the respective UV islands show up in the UV/Image Editor.

Copying the UV maps

In Object Mode select copy1, then shift-select original1. In the 3D View Menu Go to "Object -> Make Links -> Transfer UV Maps".

Select copy1, tab into edit mode and change the Texture in the UV/Texture Editor to the Texture Atlas/the same texture you are using for original1

If done correctly copy1's UV space should be exactly the same as original1's.

(I merged original1 and original2 into one object in this picture to show that both share the same UV space)

Repeat for copy2.


GPU final render is very dark (depending on number samples)

Ok, so I found (thanks to Mr Zak!) that one of the differences between preview and final render was a Motion Blur. Even though it is disabled in preview and I had it disabled in render settings, when I enabled it in render panel and everything works again!

Though I definately remember it working from default blender file (where I suppose it was disabled?)... and this is seems like a bug, but hey, we found a workaround!


This is similar to the question asked here: How can an equidistance, spherical panorama image be generated from Blender Cycles? See the answer for information on setting up a Cycles-based equirectangular camera.

As Leander mentioned: If you prefer to use Blender Internal or the Blender Game Engine, a Skybox is probably your best bet (simply render six 90º FOV square images, then make a cube out of the results and use that to surround your scene.


There is an addon called hairnet that can do this in some cases:
https://en.blender.org/index.php/Extensions:2.6/Py/Scripts/Objects/HairNet

This only works on mesh hair that has been modeled in certain ways though.


How do you make a cycles volume material fade to invisible at the edges?

Apparently using a mapping node with a quadratic sphere texture gives the effect of faded edges... and it looks REALLY nice (especially with some tweaking). The node setup in the image I linked is what I used to get a sun-like fade-off effect at the edges.

If you copy the nodes on the underside of my node setup you should be fine, but one thing to keep in mind is that the quadratic sphere gradient is NOT automatically calculated from the center of the object. You'll have to manually adjust the X,Y,Z location on the mapping node to get the gradient's center to match the object's center. I had to eyeball it.

Also, changing the interpolation of the B/W color ramp in the image changes how quickly the color falls off, so it can blur the light at the edges even more. You can add extra control points to further control this.


Fluid simulator not working in animation

I had the same problem and I found this video very helpful.


(Blender 2.82.1) "Could not build proxy for strip ..." How do I fix this?

I had similar issue with the following file: "30 ans laura.mp4"
I renamed the original file to: "Laura.mp4", reimported it and it worked.
I suppose it's an issue with the numbers.
I didn't investigate further but I hope it helps.


How to make a sphere which number of faces is divisible by 5?

Hit T to bring out the Tool Shelf. In the lower part of it, there should be a section where you can set the properties of newly added objects. If there isn't, put the mouse pointer on the little + sign and pull up.


Python to select and delete multiple faces?

You can use bmesh and bmesh.ops to do it.

The code is commented below:

import bpy
import bmesh
from mathutils import Vector

def NormalInDirection( normal, direction, limit = 0.5 ):
    return direction.dot( normal ) > limit

def GoingUp( normal, limit = 0.5):
    return NormalInDirection( normal, Vector( (0, 0, 1 ) ), limit )

def GoingDown( normal, limit = 0.5):
   return NormalInDirection( normal, Vector( (0, 0, -1 ) ), limit )

def GoingSide( normal, limit = 0.5):
    return GoingUp( normal, limit ) == False and GoingDown( normal, limit ) == False

obj = bpy.context.object

prevMode = obj.mode

# Will need to be in object mode
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)

# Create a bmesh access
bm = bmesh.new()
bm.from_mesh( obj.data )

# Get faces access
bm.faces.ensure_lookup_table()

# Identify the wanted faces
faces = [f for f in bm.faces if GoingUp( f.normal ) or GoingDown( f.normal )]

# Delete them
bmesh.ops.delete( bm, geom = faces, context = 'FACES_ONLY' )

# Push the geometry back to the mesh
bm.to_mesh( obj.data )

# Back to the initial mode
bpy.ops.object.mode_set(mode=prevMode, toggle=False)


Blender 2.8 OpenGL requirements and Render Farms

You should be able to render from command line without the graphical user interface without trouble. You can find more info on that in the documentation


Unable to link 2 nodes to mixshader at once (python)

When a node has two inputs with the same name, for instance 2 color inputs, then you should pass the index instead of the input name.

# both inputs are called 'Color', so it's not enough
links.new(image_texture.outputs['Color'], emission_.inputs[0])
links.new(image_texture_2.outputs['Color'], emission_.inputs[1])

The shader mix node has 3 inputs, two are called 'Shader'. You'll need to use indices to distinguish each.

# The mix.inputs[0] is the factor, indexing starts at zero
links.new(emission_.outputs['Emission'], mix.inputs[1])   # shader 1
links.new(trans.outputs['BSDF'], mix.inputs[2])           # shader 2


Cant change animation action from move to hit

It might be possible that you have some action strips stuck in NLA editor (thus not giving you an opportunity to change the action). Go to NLA editor (it's a panel type) and see if there is anything besides your desired action. In any case, try to remove any NLA layers/strips related to the armature.

I hope it helps.


How do I cut something in the game engine?

You could have the game engine replace the "solid" model with a model representing the "broken" model. Not the best method for realism, but it would work every time :)


Proportionally editing an object using a given/exact angle

First, make yourself aware of the trigonometrical relations.
$height =  tan(\alpha) = tan(63°)$
In python you can express this as
tan(radians(63))

This is the desired height. Add a cylinder, select the top edge loop and type the equation into the Z field. Upon pressing enter, the value will automatically be calculated.

Scale the top edge loop to 0, add a half sphere, add appropriate loop cuts if necessary, then merge the top circle into a single vertex.


Loop animation of an imported image sequence in the video sequence editor

You just need to update the "final frame" of the rendering range, to make it fit your whole sequence: you can set it in the timeline header, or in the main "render"properties panel.

If you're using N chained copies of your sequence of X frames, just put "N*X" into that field and press enter: blender will calculate the final number and render that amount of frames...

Eg, if N=3 and X=240:

the result will be 720 frames, enough to contain your looped sequence in the final rendering.


Curve Modifier with Spiral

You can't keep the materials or the mesh structure (yelow and black alternance) with the screw modifier because it was made to work with 2D profiles, not 3D objects.

You could instead go back to the array and use the Curve modifier (instead of Simple deform modifier) to bend the array using a spiral curve as deforming object.

You can use the "Add Curve: Extra objects" add-on to quickly generate a Archmedian or Logaritìthmic curve with the needed radiut and height displace.

Here's a possible modifiers stack for the object.

After that, fix the "rollercoaster effect" by switching to Z-Up twisting method in the curve parameter.

You can now repeat the road turn for each level of the building with an another array modifier.


I think we're going to need more details and possibly the file, because this is likely something very simple.

1st- how did you create the plane? Was it Add>Plane?
2nd- Did you do anything to the plane before duplicating it, like some modeling?
3rd- At the top right corner, it should let you know how many faces, vertices, etc. there are on the selected object in edit mode. When you get into edit mode how many faces does it say are there?
4th- Did you apply any modifiers and duplicate that with the plane?


A small light source will create sharp shadows. In the HDRi image you are using, the direct sun will create a very defined shadow.

A different HDR, this time of a cloudy day, will create a much larger light source, and less defined shadows.

As an alternative you can add objects that will reflect some of the light into the shadowed areas:

Or maybe you don't need to use the HDR and just use a large source that will give you a soft shadow.

Or a radical approach is to blur the HDR image used as environment texture, making the light source less defined:

Note that you might need to change the strength used for the environment texture

(for info on how this works please watch Bartel Skorupa's video Manipulate texture coordinates like a boss)


You can create new transform orientation for that edge.

Select side face of the roof. In the N panel create new transform orientation (you can create it pressing Ctrl + Alt + Space, as Gonzou mentioned):

The created orientation should be selected as active. If it isn't, in Alt+Space menu select this orientation (it will be called something like Face). Switch to Edge selection mode, select your edge, extrude it, cancel moving by Esc and start grabbing pressing G twice.


bpy.data.objects['Sphere.017']

refers to an object. (Lets assume all names in quotes are the names of objects in your Blender Scene)

2.8 Recent Version of the API

bpy.data.objects["Cube"].select_set(True)

# to select the object in the 3D viewport,
# this way you can also select multiple objects

bpy.context.view_layer.objects.active = bpy.data.objects['Sphere']
# to set the active object

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

⚠Older Version of API 2.79

A python script can do something with that.

You can also use

bpy.data.objects['Cube'].select = True
# to select the object in the 3D viewport,
# this way you can also select multiple objects

# additionally you can use
bpy.context.scene.objects.active = bpy.data.objects['Sphere.017']
# to make it the active selected object


Can you use Open Image Denoise on the gpu in blender 2.91 or will it only work on the cpu?

Seems like it is made for CPUs: https://www.openimagedenoise.org/ so it does not work on GPUs. It's created by a CPU manufacturer after all. We have OptiX denoiser for GPUs.


How can I use for loop (or while loop) in python to move 50 objects with random beginning positions to specific positions

This script creates random points and mixes with points of helix. Here i used lerp() from mathutils to mix two points based on frame. You can replace helix points with vertices of cylinder.
import bpy
from random import randint
from mathutils import Vector
from math import sin, cos, pi

# create helix points
def helix(amount, radius, height, twist):
    points = []
    for i in range(amount):
        t = twist * 2 * pi * i/amount
        x = radius * sin(t)
        y = radius * cos(t)
        z = height * radius * t / amount
        points.append(Vector((x,y,z)))
    return points

# generate random points
def random_points(amount, min, max):
    randpoints = []
    for i in range(amount):
        x = randint(min, max)
        y = randint(min, max)
        z = randint(min, max)
        randpoints.append(Vector((x, y, z)))
    return randpoints

random_points = random_points(50, -3, 3)
final_points = helix(50, 0.2, 8, 8)

# get objects from collection
coll = bpy.data.collections.get("spheres")
objects = coll.objects

# clear previous animation data
for obj in objects:
    obj.animation_data_clear()

start = 1
end = 100
for f in range(start, end+1):
    bpy.context.scene.frame_set(f)
    for i, obj in enumerate(objects):
        obj.scale = (0.1,0.1,0.1)
        obj.location = random_points[i].lerp(final_points[i], f/end) # vector1.lerp(vector2, factor)
        obj.keyframe_insert("location", frame = f) # insert location keyframe


Two Particles systems attracted to same force field

Of course you can do that,
Just go to field weights tab in particle settings of that particle system and reduce the effect of the force field that you don't wan't to zero


Why are bpy.ops.transform.rotate() and resize() missing black arrow visual indicators?

The visual indicator that follows the mouse doesn't appear because when you use a button in the Tool Shelf to invoke an operator, the mouse is in a region separate from the actual 3D View, which is where the operator takes place. Here are the region types, taken from https://docs.blender.org/api/blender_python_api_2_78_4/bpy.types.Region.html:

[‘WINDOW’, ‘HEADER’, ‘CHANNELS’, ‘TEMPORARY’, ‘UI’, ‘TOOLS’, ‘TOOL_PROPS’, ‘PREVIEW’]

Rotate and Resize are operators that will not draw their visual indicators if they are not invoked in the proper region. If you call these same operators from the search menu (Spacebar) and the mouse is in the 3D View's region instead of the Tool Shelf's region, the indicators will appear.

Additionally, if you press R to rotate an object with the mouse inside the Tool Shelf (Region Overlap must be enabled in the User Preferences for this to work, unless you use the search menu instead of R), the indicators will still not appear, for the same reason that it doesn't work with buttons.


The black artifacts are caused by intersecting meshes. In order to fix the issue, select the house model, enter edit mode and use W > "Remove doubles". Finally, go back to object mode and check if you have any duplicates of the objects in your scene, and delete them.


Why does my texture image join badly at the edges? Bad UV unwrapping?

You are using the default UV Map for a torus, which should (and does work) provided you make a small change to the shader.  Here's your original texture node:

In this case, the interesting setting is the 2nd one

This flat projection produces the torus you have in your question

If you change the type in the drop down menu from "Flat" to "Tube"

The problem goes away, but the project changes so that the UV map is on the other side of the Torus:

There ways I solve this later problem: simply reposition the torus so the part you want exposed is visible to the camera
The image texture is trying to map a 2D UV map onto a 3D object.  If you give it guidance by marking seams then you've actually created a flat (almost) representation of your 3D object and "Flat" works.  But if you count on the various smart UV unwrapping modes, they rely on you hinting the geometry of your object in the image texture settings.
There are a very long list of possible combinations, each requiring a slightly different approach to the settings, which is why most tutorials on UV mapping go directly to "mark seams, make flat".  The problem with doing this with a Torus is that if I mark the obvious seams:

The resulting uwrap:

has several problems.  It doesn't match you image texture.  It doesn't use very much of the space available.  You can cut the Torus into pieces to fix the later, but the only way to fix the former is to redo the texture painting.
This is why, by the way, the workflow for texturing is to first create the UV Map, then test it with a UV checker, and only then to create the image texture.


Is it worth running Linux on my Mac to use the built in AMD graphics card?

Blender usually renders considerably faster on linux, but if you are not sure wether you should install linux or not, it will be easier to just create a linux live usb stick and boot on it. This way you can try linux and render stuff without making any changes to your system. When you are done, you can simply plug out the usb stick and boot on your os. The only downside of a live usb is that your changes won't be saved so you will have to download blender every time you boot on it, wich is really annoying. If you have questions simply comment my answer.


All lenses cause some distortion. There are no "perfect" lenses in the real world.

When dealing with motion tracking it is crucial to account for such lens distortion.

Usually, as part of the tracking and solve process, blender determines the lens distortion parameters.

That information can be used in two ways:

1- to create an undistorted version of the footage and use that as reference for the creation of 3D elements.

2- to distort the elements created in the 3D environment so that they match the distortion of the camera lens used to create the original footage.

Either one of those paths involve using the compositor and a movie distort node.

https://docs.blender.org/manual/en/latest/compositing/types/distort/movie_distortion.html

For a very detailed post on the subject please refer to:

How to determine lens undistortion values for motion tracking?


This is how you add image:

import bpy

path = "path_to_the_image"

try:
    img = bpy.data.images.load(path)
except:
    raise NameError("Cannot load image %s" % path)


Weird Color Overlay in Solid Shading Mode in the Viewport

I don't really know what is causing it, probably a visual glitch.

Whatever it is, its produced by a vertex color layer named "Col" your object has, removing it makes it display properly.

It is only present in Multitexture viewport shading mode, if you switch to GLSL the blue tint is gone.


Making an hanging object with ribbon tape

I'd try a cloth physics simulation on the ribbon, with a collision added to the rod. Most of cloth tutorials will give an idea.


how to bake a roughness map with different intensity reflections

Use a Mix Shader node to combine your two different materials then use a black and white mask to tell that material what part is what, if you don't want to make a new texture you might be able to get away with doing a color ramp.


How to match the camera to the current 3d view without the cropping?

Just use Ctrl + Alt + Numpad0 and then move the camera back on the Local Z axis (double tap Z for local). You may also want to adjust your clipping on your camera. To do that go to the camera settings in the property panel and move the end distance back until everything is there, i.e. not clipped...


may be u have done this way so the cube is invisible and only the pivot point visible


bone spine004 cannot connect chain bone position is disjoint. incorrect armature for type chain_rigs

This worked for me...
I went to Bone Properties for Spine004.
'Inherit Rotation' was checked,  I unchecked it.
...no more Error


Is it possible to load and riggify FBX format from not Blender software?

Once imported into Blender a model is a model, regardless of origin or file format.

You should be able to edit, texture, apply materials, rig and animate, any model once inside Blender, whether it was imported in FBX, or not

What you should pay attention to is the quality of the modelling. The ability to be animated will depend largely on the quality and topology of the mesh.
A quad based geometry is preferable, avoid triangles, ngons and sculpted meshes.

The file format will only have influence on what type of data will be brought in with the model. Most likely any modifiers and optimizations done to the model with software specific features will be lost. You may also want to see if an un-
subdivided base mesh is provided, so you can subdivide yourself to the desired target levels.


Join objects (boolean) with different materials

To keep the existing materials on meshes in a boolean operation, simply put the material on those objects on both material lists. For example Cube 1 has Material 01 and Cube 2 has material 02. For those two objects to be joined in a boolean operation and keep their respective materials Cube 1 MUST have Material 01 AND Material 02 in its material list and vice versa.

Two objects with different material lists:

Now the completed Boolean with the two materials in the one list of Cube 2:

If I did not put both materials in then the original one overwrites the mesh material because the material no longer exists (child material data dissolves in a union operation) so you must make sure the material actually "exists" so that it can stay on the object. Hope that helps :)


Using glow to create an outline with this add-on: https://gist.github.com/tin2tin/b8e7fb9156b5c5d54fdab5d808dc7c1f
Change the blur width to change the outline width and change the multiply value to change opacity.
Offset the position of the outline to make a drop shadow.


Transformation constraint does not contain mapping?

Check your axis.
Recently answered this question re bone drivers.

In the armature (data) properties viewport display tab, turn on Axes. Or use translate tool and put in LOCAL transform orientation mode. Your screenshot is in GLOBAL.  This will show the directions of the local axes. For bones Y is head to tail.

Bone on right is root bone, when moved locally in X, rotates other bone in Z.

Mapped from Local X location (0, 1) to Local Z rotation (0, 360), with Z source targeting X
Your axis alignment may differ, can only tell Y from screenshot. Change to suit, but have feeling your wheels will spin if you move car sideways 8).
Note, if you know the diameter of your wheel (d),  move pi x d for every rev. to make rotation look real.  Generally for wheels would spin a bone on its Y axis, but it's arbitrary.
PS. Whoops, May have got my mapping spinning wrong way, (negate a value in to or from) but you get the gist.)


Where do the white lines come from in my composite?

Those two images you're trying to composite together have "correlated" alphas. The Alpha over operation isn't the appropriate operation for this situation.

The solution is simple: you just have to add those images together, then add their alphas together and assign the resulting alpha to the result of the first addition.

Here's how:

Why alpha-over doesn't work

Alpha over is, like its name states, an "over" operation. Something is over something else, covering it. The alpha channel determines the occlusion of the background by the foreground.

When you inspect the alpha-over formula for two associated (premultiplied) images, you'll see it's just an addition, but before that addition the alpha channel of the foreground is inverted and multiplied on the background, casting a shadow on the pixels that the foreground occludes.

Associated Alpha Over Operation:

Foreground.RGB + ( ( 1.0 - Foreground.Alpha ) * Background.RGB )

Porter Duff Alpha Merge Operation Uncorrelated Geometry:

Alpha.A + Alpha.B - ( Alpha.A * Alpha.B )

Correlated Geometry:

Alpha.A + Alpha.B

When alphas are correlated, like in your example, there is no foreground-background situation. It's rather filling a hole in one image with the other image.

The hole and the image that will cover it fit perfectly, so there is no reason for casting a shadow on the background. There's already a hole in it.
If you use alpha over, the "shadow" of the foreground will be multiplied again on the antialias pixels that are already shadowed by the mask, causing a doubled value of transparency, and that's why you get those semi-transparent pixels where they should be completely opaque.

So, skipping the "over" part by just adding the two plates together works perfectly. In Blender you have to add alphas too and assign the result to the mix.


Is it possible to set the image of the image texture to be a camera in that scene?

You'll need to do some compositing to make this work, because you can only have one active (rendering) camera per scene. So yes, you will have to render both, but Blender can auto-composite your results.

Make a new scene. You can do a Full Copy if you want to copy everything over, and delete all but the mouth and the camera. Keep the background camera as perspective, and make the camera in the new scene orthographic. In the new scene with the mouth, make sure you have Film -> Transparent checked. You might want to copy the lights over as well.

In the compositor, check "Use nodes," and duplicate the existing Render Layers node. Change its scene, so that both scenes are present. Connect the two nodes' image outputs to an Alpha Over node, which will layer them. Connect that to the composite output, or the viewer output if you'd like to preview what's going on. Look up some compositor tutorials if you're not sure what all this means.


How to automatically/dynamically repel control points on a path/curve?

There is no built in tool to do this automatically, nor any specific tool to do what you want. I don't think blender as any sort of curve intersection tool, let alone one that takes bevel objects into account.

That being said you could use a few other workarounds.

Either select all your intersecting vertex and scale them out relative to the selection center. That should move them apart eventually enough to avoid all intersections, or

You could use Proportional Editing for more localized control, to move only vertex within intersection radius. Select one vertex with close-by intersections, press O key to turn Proportional Editing on then scale it up. Control the influence radius with the Mousewheel to affect only neighbouring vertex in the desired influence area.


Zoom in to all objects in view using Python

To zoom into your new objects you will want to deselect all at the start of your script, then ensure that each new object is selected as it is added. You may want to keep a list of each new object then select them when done, depending on what steps you use this may be the only way to have only new objects selected as some methods can alter the selection.

Once you have the new objects selected you can use bpy.ops.view3d.view_selected() to zoom in on them.

The numpad / that you ask about is local view which is available as bpy.ops.view3d.localview()

As for the info window, I'm not certain of the exact criteria of what gets shown there as not everything shows. Most undoable actions and view changes show up, simple things like navigating the view don't. But then you can rename an object in the object properties and it shows but rename in the outliner and it doesn't.


How can I set the linearVelocity so that the object travels a specific distance with python?

Use velocity=distance/time, in your case velocity=30/0.25=120 BU/s however the blender game engine units are BU/game-frame (default=60) therefore the correct value would be 2 BU/game-frame. To make the object travel 120BU/s on the local Y-axis, I believe you need to use (assuming default game-frame):

setLinearVelocity((0.0,120.0,0.0),True)

EDIT: Apparently the units are BU/s


I would advise against any serious use other than for the purpose of visualization - you can:

create 3D portrait of suspects
where and how the body fell with rag-doll physics
how a skull was fractured when hit by axe
where did fire or liquids hit the skin
reflections in mirrors or windows
etc.

But these simulations are not driven with real exact physics, they are only approximations and just based on them (simplified for performance) and cannot be used seriously for analysis, they are for shows. In some cases it can give approximate results, but in others there is no assurance that the result would'n be far from reality.

It's the other way around - you need analysis (or some reference) based on which you create the visual. Blender software has tools to match what you want visually.

It is a great tool to show others what you need, so they don't have to rely on imagination, but generally Blender tools lack accuracy to have merit in serious criminalistic proofing.

In cases where Blender is close to reality (as it should be for the visuals to feel believable) you will deduce the same with common knowledge and there won't be any need for such analysis.


I made a lot of windows with the vertical split option

Option 1 (without closing your file)

On the Workspace bar click on + to add a new workspace
Optional: delete the old one

Option 2

Save File and close Blender
Than open Blender again
Click top left on File > Open
In the pop-up screen click top right on the Gear Icon
Uncheck Load UI (user interface)
Select your File to Open


How to model the curly cable part of the phone

There are several solutions, here are 2. You could create it with a Curve modifier or with Spline IK. The second solution is bit more complicated but it will probably give a better result.
Also, I explain how to create bone controllers for each handle of your curve: it's useful when you want to animate or even keep a basic reset shape for your curve.
With a Curve modifier:

Create your cable profile, it looks like a rectangle, shift it a bit from its origin. In Object mode apply the rotation of the object.
Give it a Screw modifier, play with the parameters.

Create a curve, flatten it, subdivide it a bit, make its origin begin at the same point as the cable origin, make sure its normals direction goes in the right direction, if not switch with W > Switch Direction.
Give your cable a Curve modifier, choose the curve as Object.
Now if you bend the curve, the cable will follow.

To give a bit more smoothness to your cable, bevel its profile vertices with a shiftctrlB.
Give a Subdivision Surface modifier to the object.
Now your cable is ready, you can apply the Screw modifier and parent the phone handset to the vertices of the cable end, or you can try to keep the Screw but I guess it will make the handset setting more complicated.
To animate you can hook the curve handles to bones, as explained further, or to empties.

With bones and Spline IK, as explained here by Peter Drakulic:

You've made your object and your curve (see beginning of method 1). Apply the Screw and Curve modifiers of the object if you want. Keep the curve.
Add a bone as long as the curve, subdivide it a bit.
Keep your armature selected, switch to Pose mode and give the top bone a Spline IK constraint with the curve as Target and the number of bones as Chain Length. Deactivate the Y Stretch option. Now when you move the curve the bones follow.
Parent the object to the armature With Automatic Weight. Put the Armature modifier above the Subsurf. Activate the Preserve Volume option of the Armature modifier.
Again, to animate you can hook the curve handles to bones.

You may want to create some bone controllers for each handle:

Create a new armature with each bones at the exact same point as each handle.
Switch the armature to Pose mode.
Select one of the bones.
Press shift and select the curve.
Go in Edit mode and select the corresponding handle.
Press ctrlH > Hook To Selected Object Bone.
Same thing for the other bones.
Now you can control the whole curve with this armature.


How to animate the visibility of a constraint?

Place the cursor over the 'visibility property'
Press I to insert a keyframe
Go to the next frame, disable the visibility and press I again
Go to the next frame, enable the visibility and insert a keyframe


Mirroring stopped working entirely after hours of using it without error. Blender 2.90

In edit mode (TAB), select all vertices (A). In mesh menu, click "Symmetrize" to fix the symmetry (use -X to +X or +X to -X). It should be fixed if you use X as mirroring axis.
While all vertices are selected, you should also fix your normals with Shift + N.
You should also try mirror modifier (but you have to delete 1 side).


How to get rid of internal shadows/blackness in glass/transparent/refractive materials?

I see you have Transmission bounces set really high, but I think one of the causes might be a lack of Glossy bounces which is actually what handles all the reflections on the Glass shader. Without it, Glass would just refract and be transparent.


Set origin to bottom center of multiple objects

Move the origin to bottom of all selected mesh objects.

EDIT updated for 2.8.  See prior revision for prior.

Object mode script. Moves origin to bottom of mesh, leaving object in place. Pass the matrix world to move origin to global z.

Looks at the 8 coords of objects bounding box.  The bounding box is
in local coordinates. To change space pass a matrix. eg the matrix
world of the object will determine lowest z in global space.
o is the bounding box center. Set o.z for new origin from min z of
bounding box points.
Transform all vertices by -o
Move the object back globally by o to keep the object in place.

import bpy
from mathutils import Matrix, Vector

def origin_to_bottom(ob, matrix=Matrix()):
    me = ob.data
    mw = ob.matrix_world
    local_verts = [matrix @ Vector(v[:]) for v in ob.bound_box]
    o = sum(local_verts, Vector()) / 8
    o.z = min(v.z for v in local_verts)
    o = matrix.inverted() @ o
    me.transform(Matrix.Translation(-o))

    mw.translation = mw @ o

for o in bpy.context.scene.objects:
    if o.type == 'MESH':
        origin_to_bottom(o)
        #origin_to_bottom(o, matrix=o.matrix_world) # global

With some numpy

The global version above drops in global z direction from bbox center of geom, which can lead to an origin outside the bounding box.

Instead here is a version that finds all z minima and sets the origin to their mean

from mathutils import Matrix, Vector
import numpy as np

def origin_to_bottom(ob, matrix=Matrix(), use_verts=False):
    me = ob.data
    mw = ob.matrix_world
    if use_verts:
        data = (v.co for v in me.vertices)
    else:
        data = (Vector(v) for v in ob.bound_box)

    coords = np.array([matrix @ v for v in data])
    z = coords.T[2]
    mins = np.take(coords, np.where(z == z.min())[0], axis=0)

    o = Vector(np.mean(mins, axis=0))
    o = matrix.inverted() @ o
    me.transform(Matrix.Translation(-o))

    mw.translation = mw @ o

This could be further enhanced by using methods outlined in this excellent Q / A

Replace matrix @ vector list comprehensions with something more efficient

Note: Remember objects can share a mesh. The test code above runs over all mesh objects in the scene without checking for this.

Related: Origins to the down of the object by default


The bottom line is:
This is theoretically impossible
If you think about it, object, generated, mirror (and any other auto-generated texture coordinates) can be as detailed as is necessary -- they are not based on the detail of the mesh. UV maps, on the other hand, are very much related to the detail/design of the mesh object. This is often called comparing apples and oranges :)
That being said, the only way to fake it would be to use a texture (to get much more detail than a mesh, but less than auto-generated coords) as mentioned here. If it would be easy to convert the clean object or generated coordinates into uv-maps, game devs would be using it everyday...but there isn't. So for right now we just need to stick to smart unwrap and our uv seams ; )
Finally, if you're still not convinced, take a look at this mess of auto-generated coordinates...

Here I am mixing three different texture coordinates (generated, window, and reflection) and using the result in the checker texture's vector input. This material is applied to a cube and however you manipulate the uvs, you will never be able to mimic this mapping because these texture coordinates act like textures themselves: the massive amount of warping from the checker texture is only because of the strange texture coordinates. Oh, and about the texture coordinates acting like textures themselves...have you ever tried to apply a texture as the model (I mean a diffuse/albedo/color texture not a displacement map)?
Yet another reason as to why this would not be feasible or even desirable is that the texture coordinates, excluding uvs, are all volumetric while the uvs are two-dimensional. Therefore, as soon as you "converted" to uvs you would have lost the most important benefit that the object texture coordinate gives you: flexibility.
I hope this helps to clear up your question effectively.


Try to model only one half of the object, then enable the Mirror Modifier and check the X and Y boxes under Axis option (remember to have the origin point placed as pictured below). Apply the modifier when you're done with modeling. You may then add the Subsurf and Solidify Modifiers.

You can easily model the curved corners of a tray using the Spin tool. To make the ribs, divide the surface using Loop Cut tool (Ctrl+R). Select one face, press E and then S to scale it a bit.

Now select the next face and press Shift+R to repeat the earlier operation. Do it with all the faces.

Select all faces and extrude them (E)

You may scale them horizontally for better effect. Scale one, click the next one and use the Shift+R shortcut to speed up the process.

Use a Loop Cut tool again to make the edges of the ribs sharper.


Surprisingly, the [hover-L] and [CtrlL] operations select contiguous faces by visibility, not underlying geometry.. so.. in Edit Mode..

H hide the selected perimeter faces
With the cursor over an inner face, L. Or, having selected an inner face, CtrlL
AltH unhide the perimeter faces again

Hiding geometry is more useful than it might seem, at first.


Nevermind.
Just found an easy workaround using the Data Transfer modifier. Below are the steps I took to fix it:

Created copies of all my objects (body, head, hands, feet, ...)
Joined them together into 1 single object
Used the Data Transfer on each of the remaining original objects
Settings: Face Corner Data -> Custom Normals and Source object the newly created full character object


How to save a packed image from a script

The docs reference unpack

Given an image with the super descriptive name 'Untitled':

>>> bpy.ops.image.unpack(id='Untitled')
Warning: AutoPack is enabled, so image will be packed again on file save
Info: Saved packed file to: /home/zeffii/Downloads/textures/dances_packed.png

{'FINISHED'}

If you look in console you'll see where it saved to.

But it is possible for certain to use plain old .save() too. Opening a .blend where the image is packed I did

bpy.data.images['Untitled'].filepath = '/home/zeffii/Desktop/some_name.png'
bpy.data.images['Untitled'].save()

And it stored straight to desktop

Things I don't know

How to save as a different file type, and how to force a different save directory for the unpack command.


Maybe try to check your model in wireframe mode, there is a possibility, that some edges are copied and then the result can be like that. Also, you can press '2' button on your keyboard and try to delete these edges. Now I see that you have used a mirror moddifier - so it is very possible that two edges are at the same place and then the result is like that :)


You can close windows by taking the diagonal 3 lines in the bottom left-hand corner and dragging it up or down to collapse it. In the viewport create a new window by dragging left on the 3 lines in the top right-hand corner, but collapse by dragging right on the same lines.

Hope this helps! :)


can the "channel" button for the preview screen be set to a new default value

First go to the Video Editing layout:

Now, in my Blender (2.77), this defaults to 0, but find the Channel for the preview here:

Click on the left arrow to change it back to 0.

Now here you have an option, you can either go back to the 3D view (Default), or if you are going to be exclusively video editing, leaving it on the Video Editing layout may be useful.

Go to File -> Save Startup File and click it.  You can also use Ctrl + U.  This can of course be used to save Blender in other states (for instance, having a scene without a cube at the beginning).


Can I drive multiple drivers with a Vector from one procedure call?

As you point out drivers need to return a float or int (bool). You can however add just about any type to the drivers namespace.

Not knowing the complete ins and outs of your setup you could look at setting up

i) A frame change handler and use something like globals, or an ID property to select objects and then set the location with your get_loc method.

def fc_handler(scene):
    obs = [o for o in scene.objects if "drive_me" in o.keys()]
    for o in obs:
        o.location = get_loc()

bpy.app.handlers.frame_change_pre.append(fc_handler)

ii) A mix of drivers and a frame_change handler, eg set up a "Mover" class and make an instance available to the driver_namespace, update it if needbe in a frame_change handler

class Mover():
    def setloc(self, frame):
        self.x, self.y, self.z = get_loc()
    def __init__(self):

        pass # set up a class

mover = Mover()
bpy.app.driver_namespace["mover"] = mover

Then properties can be driven with mover.x, mover.y or something more adventurous mover.jiggle(var1, var2)

Using the drivernamespace is a handy way to test things from the python console

>>> dm = bpy.app.driver_namespace['DriverManager']
>>> dm
<sound_drivers.sounddriver.DriverManager object at 0x7facfaa903c8>

For an interactive tool I would use a modal operator. Here is an edited snippet from  script editor > templates > python > Operator Modal Timer, Op performs commands on timer tick or event. A scene bool property update method to start. To stop the operator set it to False.  Eg use toggle button in a UI.

def toggle_modal_timer(self, context):
    if self.modal_timer:
        bpy.ops.wm.modal_timer_operator('INVOKE_DEFAULT')

bpy.types.Scene.modal_timer = BoolProperty(default=False, update=toggle_modal_timer)

def get(self):
    # here is a handy spot to return a manager class
    # using dns can declare it anywhere.
    # using context we have it available on context pass.
    dns = bpy.app.driver_namespace
    return dns.get('mover', None)

bpy.types.Context.controller = property(get)

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

    _timer = None

    def modal(self, context, event):
        scene = context.scene
        controller = context.controller

        if not scene.modal_timer:
            return self.cancel(context)
        #print(event.type, dir(event))
        if event.type in {'LEFTMOUSE'} and event.value == 'RELEASE':
            print("LEFT MOUSE RELEASE")

manipulating context.controller will effect any drivers with mover in their scripted expression.  You can get "tricky" with the Mover class  by passing a name reference and the locals() dictionary via drivers' scripted expressions.

Of course you can also manipulate objects directly in the operator.


I've got the same problem, and This is how to solve it:
- Once you set all axes correctly, you fill find a red point
- Change that red point position, make it closer as much as possible to the vanishing point (intersection of the 2 axes)
- Then save it and it will work correclty


Action Editor keyframes only showing when I have bone selected

In the Dopesheet you may have the Only Show Selected option (former Only Include Channels Relating To Selected Objects) enabled, just disable it.


How does real life camera sensor size affect tracking on Blender?

If you use Automatic Refinement for the focal length during the solve process in Blender then it shouldn't really matter, since Blender will calculate the (more or less) correct focal length for the given sensor size. For the final image it doesn't really matter anyway, as long as aspect ratio and the camera solution itself are fine.

But if you want to be sure you have the correct solution by comparing it with real world data, like your actual camera sensor size and focal length, you can fill in those values in the Camera and Lens panels of the clip editor and see if you still get a proper solution. If the automatic refinement calculated something that is way off from the real world data, then probably something is wrong.
Of course, as you described, you have to account for the crop factor. An iPhone will hardly have a true 35mm or so focal length, but rather something like 4.2mm. But if you take into account that it also is not a full frame camera, then it's really just about the correlation between focal length and sensor size that matters in the end.

See this video, where I try to describe it:
https://www.youtube.com/watch?v=yjLTg37hFUM&index=9&t=0s&list=PLtuvwW4VAp5tu2RdbRHThM6FVFfvFur1g


How to script the motion blur shutter curve?

I'd suggest read the values and create a dictionary out of point positions per frame, which allows to structure as well as access the values in a reasonable way:
dict = {
    frame_number : [
        (LOC_X, LOC_Y),
        (LOC_X, LOC_Y),
        (LOC_X, LOC_Y),
        ...
    ]
    frame_number : [
        (LOC_X, LOC_Y),
        (LOC_X, LOC_Y),
        (LOC_X, LOC_Y),
        ...
    ]
}

One pitfall is that the minimum point count for a curve is 2, means that you can not remove all the points of any existing curve.
The following demo sets the shutter curve based on custom data. Notice that set_curve() is a slightly modified version of the reset_curve() function from this Q&A:
import bpy

frame_dict = {
    1: [(0.0, 0.0), (0.07, 0.5), (0.25, 0.9), (0.5, 1.0), (0.75, 0.9), (0.92, 0.5),  (1.0, 0.0)],
    2: [(0.0, 0.0), (0.125, 0.44), (0.375, 0.95), (0.5, 1.0), (0.625, 0.95), (0.875, 0.44), (1.0, 0.0)]
}

# Based on 'reset_curve()' from https://blender.stackexchange.com/a/64461/
def set_curve(curvemap, custom_points):

    curve = curvemap.curves[0] # Get the curve
    # Remove redundant points
    if len(curve.points) > len(custom_points):
        n = 0
        while len(curve.points) > len(custom_points):
            curve.points.remove(curve.points[n])
            n += 1
    # Generate missing points
    if len(curve.points) < len(custom_points):
        n = 0
        while len(curve.points) < len(custom_points):
            curve.points.new(0.1, 0.5)
            n +=1
    # Set the values and update UI
    for c, point in enumerate(curve.points):
        point.location = custom_points[c]
    curvemap.update() # Optional call

C = bpy.context
shutter_curve = C.scene.render.motion_blur_shutter_curve

# test call
set_curve(shutter_curve, frame_dict.get(2))

In order to set the curve and render each frame, go through the key-value pair of the dict and call Scene.frame_set(your_frame) per iteration to update the scene:
for frame, points in frame_dict.items():
    # Set the curve
    set_curve(shutter_curve, points)
    # Set the frame
    C.scene.frame_set(frame)
    # Render the frame
    bpy.ops.render.render(write_still=True)

Alternatively you can setup a frame_change_post handler which allows to preview and set your values on the fly, when changing the frame in the timeline (before rendering):

def set_curve_frame(scene):
    shutter_curve = scene.render.motion_blur_shutter_curve
    if scene.frame_current in frame_dict:
        set_curve(shutter_curve, frame_dict.get(scene.frame_current))

bpy.app.handlers.frame_change_post.append(set_curve_frame)

Related:

Can python access control points of Hue modifier?
Python Render Specific Frames


I don't believe Cycles simulates light as waves. But Dispersion (Diffraction) effects are on the way, and can already be 'faked' in many ways.

If you are interested in optics experiment with cycles, take a look at the pinhole camera and
shaped bokeh.


You could do it this way:

Give your sphere a Wireframe modifier. Play with the parameters, disable the Replace Original option so that it keeps the whole sphere shape, make sure that Material Offset is set to the material slot the wireframe is supposed to display, i.e. Material Offset > 1 for the second material in the object's material list. In the Material panel prepare the materials, choose Emission type if you don't want any shadow.


Automatic weighing deforms my character when rigged

I believe you should first adjust the meta-rig armature to fit your character. Then generate the rig with Rigify and finally assign weights. Bad things usually happen if you scale the rig after its been generated.


When adding a new mesh/object into Blender, it will be added where your 3D cursor is (looks like a red and white circle). You can move the location of the 3D cursor by left clicking. Also, if you want to move the objects so that they are the same level, change their position on the Z-axis. This can be done in multiple ways

The properties window: by default, the properties window will be on the right side, under Outliner tab. To move the 'level' of an object (where it is located on the Z-axis), click on the Object tab (looks like a cube) and change the Z value under location (1st is X-value, 2nd is y-value, 3rd is Z-value). To put all your objects on the same level, make sure all of their Z-values are the same.
The other properties tab: By pressing the key shortcut "N" or dragging the + (top right of your 3D view box) to the left, you can bring up the other properties tab. The Z-value of the objects location will be under 'Transform'.


Changing a plane's material alpha from BGE python

you don't need Python to do that. You can animate the transparency and just play the animation. You can download the example blend belowor rebuild the setup from the screenshot below. In my case there is a fade in of 100 frames and a little bonus - the plane is destroyed when the fading is done.

.

Enjoy!


Help on Themes. Unable to change color of attached section

The Dope Sheet > Channels (ThemeDopeSheet.channels) option modifies the background for the channel entries.

The text for the unselected channels is defined by Dope Sheet > Theme Space List > Source List Text (ThemeSpaceListGeneric.list_text).


Use gltf/glb exporter to export with transparency .

The opacity alpha has to be in color image. (Check the documentation for correct export settings and node setup)

gltf format supports :

Color + alpha
Metallic + Roughness + AO
Normal Map

all other maps will be ignored


You have a couple of coincident edges.

If you start with an edge close to the corner, the bevel will be clamped on one side (left and middle, below). If the edge is slid all the way down so you can't see it, the bevel will only happen on one side (right).

Note, if you're in Face selection mode, and you have face markers switched on, you can see the scrunched face .. it's the dot in the middle of the corner edge.

Solution: Remove doubles (2.79: CtrlV,R. 2.8: AltM Merge > 'By Distance')


The key is how you UV Unwrap your mesh. A good way to check Your UV maps is to apply a checker pattern to your mesh. There are many videos and tutorials out there that are great for becoming better at the anatomy of Unwrapping, but the best way to learn is to practice yourself. Starting with simple objects like a can, and moving on to more complex objects like a creature.


Imported image darkened after imported to "image" node in compositing

I had the same issue. Check the box exposure value

As you can see I had -2.610 value and the picture was darkened (like in your screenshots).

Try to set this value to 0. If the value changes back to previous number after a second, check your addons. As for me, I could set it to 0 only after disabling my Photographer addon


Why is my resolution so low on my textures in the viewport and in renders? (Blender 2.8)

Looks fine to me, but you can raise the Viewport sampling value (see Render context menu, right side of each of your images) to improve the quality of the viewport render. Of course, this will cost you performance, so don't go crazy. If you just care about Renders, raise the sampling value for Render. 64 is very low for a lot of renders. Use 64 or fewer samples to make sure the composition is good then crank it up to around 500 for detailed scenes. For less detailed scenes, you can change the sampling to 100 and turn on Denoising in the View Layer context menu. Those are just my preferences--they work for me. But as a rule, render quality is proportional to the number of samples (up to a certain point, which is why I advise you shoot for 500 and not 1000)


How do I achieve this kind of light star effect?

You can connect it like this. Play around with the settings - "ghosts" looks good as well. The emission strength of the object being bloomed plays a factor also. See below:


Strangely enough, Blender calculates the relativ dimensions with respect to the larger dimension.
These words are not very well choosen. Here is a graphic that show a large orange square. Blender gives us relativ coordinates in this reference frame. The green rectangle is our movie aspect ratio.

import bpy

render = bpy.context.scene.render

coordinate = bpy.data.masks[0].layers[0].splines[0].points[0].co.copy()
coordinate.x *= render.resolution_x
coordinate.y = coordinate.y * render.resolution_x - (render.resolution_x - render.resolution_y) / 2

# at 100%, this gives us the correct coordinate
print(coordinate)


Rotate polygons around edge (animation nodes)

The Extract Polygon Transforms node can be used to generate transformation matrices that can be used as the pivot of the Offset Polygons node. In which case, the first edge in the polygon is used.

Note that you should switch to local axis transformation in the advanced node settings of the Offset node.


How to put this orange thing in the same place with selection?

That little orange thing is the Object Origin of your object. It's 0,0,0 for the local coordinate system in which all verts of the object are kept.

It's the pivot point of the invisible shoe box in which your mesh lies.

When you move verts while being inside Edit Mode, the Object Origin stays where it is and like in this example ends up far away from the mesh.

In the tools to the left, you have the 'Set Origin' button. There you can select one of three choices. Move your mesh to where the OO is, Move the OO to the middle of the verts or place the OO where the 3D-Cursor currently is.

The real problem that you have here is that you probably dove into using Blender without learning the fundamental basics. What an Object Origin is belongs in that category. That will bite you a lot more often if you don't remedy it.


A new created face does not sharing the old one shading information

Select all faces and Recalculate Normals, it looks like the face normals are facing in different directions, recalculate normals should do the trick. All the best Marco


Transitioning the overlap of multiple objects

According to what you illustrated, I would propose a non-compositing way by using modifiers only:

Enter Edit Mode, Select one face as where the transition starts, ShiftS > Cursor to Selected to snap cursor to that face;
Select all faces, press Spacebar and search for Sort Mesh Elements, choose Cursor Distance in the popup menu, press F6 and toggle Reverse;
Create a duplication for the original object, repeat the last two steps on it, just leave Reverse untoggled;
Add Build modifier to the original object, toggle Reverse in the modifier stack;
Add a Wireframe modifier and a Build modifier to the duplicated object, leave Reverse untoggled this time.

After tweaking the modifier settings a bit, you will simply get something like this when playing animation:

Example file FYI.


Make "gaussian laser beam" (object with variable radial emission profile)

Here is a node setup that approximates the Gaussian beam.

normalize the coordinates of the object by division on the dimensions
subdivide the radial dimensions "in this case Y and Z" on the beam length "X"
feed  Y Z into a Gaussian function to create the redial gradient
the longitude gradient is simple (beam length-X)

Coordinates node group

Gaussian function node group

The A input in the Gaussian function group controls the amplitude of the Gaussian function.
S_y and S_z control the Y and Z spread.

simple render :

another render :

.blend file
YA render


I'm guessing that what you are wanting is merely the two hands operating in concert to manipulate the paddle. If that is the case, then I can tell you that you don't need a rigid body for that, and in fact, it won't help you at all.
What you need are constraints. In particular, two IK constraints, one for each arm, each with its own independent target, and pole target, assigned (use newly created unparented bones to provide for these targets).
Then you will also likely need a Child Of constraint for each IK target bone, with the paddle object itself made the target of this constraint. You may also need either some tracking or copy rotation constraints to ensure that the hands don't wobble around and stay oriented properly.
Finally, you should have one final Child Of constraint on the paddle itself, with the target for that constraint put on the root bone of the character rig, so that the paddle will follow the character location when you move your entire rig.
With all this set up, you will be able to grab your paddle, move it, and even twist it, and your character's hands should stay stuck to it, and the arms move mostly correctly in response. You may have to occasionally adjust the pole targets for the arm IKs to get optimal positioning.


Why does my cylinder turns into a plane in cloth animation

So, it is quite simple, you dont tell blender what is the physic of your rope. A cynlindre with cloth simulation is like an empty cylindre made of fabric.

If you want to create a rope simulation, you will need to apply the simulation on a line and not a cylindre, then draw a cylindre around the line.

I found this video that could help you to achieve what you want.


I have same problem at 2.81 and automatically resolved at 2.83.
For migration to 2.83 attention to project import routine. It make some change at object and some minor options.


This has probably been solved a long time ago. But I just encountered this problem now and stumbled on the answer somehow.
If you want text to appear on the inside of the circle, you have to enter Edit mode and transform the bezier curve 180 deg along the x axis.


Disable editing of multiple objects in Blender 2.8

From your comments I can see your problem is due to having other objects selected and not knowing about them. Not a real solution for your problem but, whenever I'm modelling with several objects, as a good practice I always tap A twice to deselect everything before selecting the object (I use the Blender 2.79 hotkeys). There are many advantages in being able to go to edit mode with multiple objects and I'm sure you will soon make use of them as well.

Update: For Blender 2.8 it's Alt+A to deselect anything.


If you have a NVIDIA GPU and would like to see the real GPU usage, you have to use the CUDA tab in Windows Taskmanager. If you are on Windows...


How can I loop two different animations with one playing right after the other?

Ok, so to do this, you have to have two states. On the first one, you have an always sensor playing the first animation. Then you have a delay sensor that is set for 3 * length of animation - 50 hooked up to a state actuator that changes the state. The second state is the same, but you play the second animation.


just in edit mode rotate the cube 60 degrees


How can I insert values at the start of an array of vectors in Blender 2.8 using Python

By default Vertices vectors are in 3 dimensions so we need to create a new one with 4 dimensions.

import bpy
from mathutils import Vector

try:
    vectors = [Vector((7.0, v.co.x, v.co.y, v.co.z)) for v in bpy.context.object.data.vertices]
    print(vectors)
except AttributeError:
    print('Please select a mesh object')

Result :


Difference Between texture and material shading in the viewport?

Texture is nothing more than a 2 dimensional matrix of pixels - an image, nothing more. To apply a texture correctly to a 3d object you must tell it how to map those pixels (that use X and Y) coordinates to a 3d object (that has X, Y, Z coords). Doing so is called UVMapping.
So, Texture is image, that can be applied to a geometry using a sort of 'map' called UVMappig that tells Blender (or any other game engine or 3d software) where should each pixel go.
Texture only describes colour.

Now, a material describes much more than just colour. Material can describe glossines, shiness, transparency and plethora of other more or less strange characteristics of the model. Material can use textures (But does not have to) to create even more convincing graphics.

Look at a wooden chessboard for instance, the black-white checker pattern is a texture, but the way it reflects everything around, the bumpiness, shiness of it together with the texture create a material.

Moving textures between engines/3d software is easy, models when exported remember their UVMaps in most (if not all) 3d file formats. You just move texture file from one software to another, apply to geometry and it should work out of the box.

Moving materials between software almost always requires rebuilding the material structure from scratch using textures and features given software provides. Sometimes it will be relatively easy to move material between software, sometimes it will be impossible. (Imagine moving a reflective glass material to game engine that does not support real-time reflections, you will have to fake the effect somehow, depending on features the engine provides).

In your barrel example, texture would only describe a colour (also called diffuse or albedo depending on software). Material could add a reflectivity to it, some sort of bumpiness or other shiny details you can think of.


Get Bendy Bone base curve to match bezier curve

Found the answer from a BA thread asking the same question. I've tested this, and it works.

The length of each handle (hlength1 and hlength2 respectively) is based on the “ Ease In/Out ” properties, the length of the bone, and a magic-number factor (“0.5f * sqrt(2) * kappa”, where kappa = the handle length – apparently this formula allows “for near-perfect circles”). i.e.,

hlength1 = ease_in * length * 0.390464f hlength2 = ease_out * length * 0.390464f

From https://blenderartists.org/t/bendy-bone-that-matches-a-curve/1218163/13?u=oscalon, referencing https://code.blender.org/2016/05/an-in-depth-look-at-how-b-bones-work-including-details-of-the-new-bendy-bones/


How do I bend pipes with Blender modelling tools?

there is different ways to do what you want in blender, one of them is this one:

Add a new bezier circle:

Add a new bezier curve:

With the bezier curve selected, go to Properties menu > Object data > Bevel > Object

Select the bezier circle you previously create.

Now the bezier curve looks like a thick pipe.

You can adjust the pipe thickness by reducing or increasing the bezier circle radius
Now you can manipulate the bezier curve as you want to simulate the pipe bend effect.

For more information about bezier curves visit:
https://docs.blender.org/manual/en/dev/modeling/curves/structure.html#bezier-curves


Go to the top left corner to change the window to 3D view (or whatever view you want)

You can also change the header to the bottom if you want.

To learn more about re-arranging the interface please read:
 https://www.blender.org/manual/interface/window_system/arranging_frames.html?highlight=windows


It might have to do with pre-multiplied alpha channels in the PNG image, though I am not sure how to solve it correctly in Blender.

I suspect the problem here is the alpha map transitions softly from hair color to transparent, but the Cycles transparency has a different color from the opaque area (in this case white).

One way to work around it that might mitigate the problem is to change the color of the transparent material to match the color of the hair.

Try plugging in the Image color output to the color input socket of the Transparent node also, to see if it helps.

Depending on how the hair color is setup (if the transparent areas of the image still have hair color) it may reduce the issue.


textures are not loaded with collada files

.dae files do not contain any textures or texture information other than the (absolute or relative) path to those textures. It's actually quite the same as with many other texture formats (.obj or even .blend, if you choose not to pack your textures into the .blend file explicitly).

It's more of a Noesis question, that is, if Noesis is capable of exporting absolute or relative texture paths. Try to export the .dae file into the same folder that contains the textures. Also check if there are any settings for exporting UV layouts.

If importing the resulting .dae file still results in missing textures, you have to recreate the materials of the model in Blender.


Unable to select bones during weight paint of one specific object

Because you probably haven't parented the object to the armature, for example choose to parent with the Armature Deform option, then select the armature, shift select the object, switch to Pose mode, select a bone and paint


Toggle between states with a single button

Pick the state to use before the loop.

set_state = bm.faces[0].select
for f in bm.faces:
    f.select = set_state

Note that within your loop f is the same as bm.faces[f.index]

Or if you want to loop through until you find the first selected, use break to stop the loop.

for f in bm.faces:
    print(f.index)
    if f.select:
        break

In blender's UI, pressing a button executes an operator. You can give an operator properties and set different values to be used when clicking each button in the UI. This also means you can have one button and choose which value it uses.

An operator with a boolean property -

class MySelector(bpy.types.Operator):
    bl_idname = 'mesh.my_select'
    bl_label = 'sample selecting'

    state = bpy.props.BoolProperty()

    def execute(self, context):
        obj = context.edit_object
        bm = bmesh.from_edit_mesh(obj.data)
        for f in bm.faces:
            f.select = self.state
        bmesh.update_edit_mesh(obj.data, True)

        return {'FINISHED'}

A panel to show the buttons -

class MySelectPanel(bpy.types.Panel):
    bl_idname = "OBJECT_PT_MySelector"
    bl_label = "Selecting"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'

    def draw(self, context):
        row = self.layout.row()
        row.operator(MySelector.bl_idname, text='Deselect').state = False
        row.operator(MySelector.bl_idname, text='Select').state = True

It is also possible to set multiple properties for one button

    b = row.operator(MySelector.bl_idname, text='Deselect')
    b.state = False
    b.value2 = 'Use this value'


How to batch export shapekeys as OBJ from the active object?

This script will iterate over the active object's shape keys, set each in turn to 1.0 (while the others are set to 0.0) and save this as an OBJ file.

import bpy
from os.path import join

o = bpy.context.object # Reference the active object

# Change this to the actual folder you want to save your OBJ files in
exportPath = "C:/tmp/obj"

# Reset all shape keys to 0 (skipping the Basis shape on index 0
for skblock in o.data.shape_keys.key_blocks[1:]:
    skblock.value = 0

# Iterate over shape key blocks and save each as an OBJ file
for skblock in o.data.shape_keys.key_blocks[1:]:
    skblock.value = 1.0  # Set shape key value to max

    # Set OBJ file path and Export OBJ
    objFileName = skblock.name + ".obj" # File name = shapekey name
    objPath = join( exportPath, objFileName )
    bpy.ops.export_scene.obj( filepath = objPath, use_selection = True )

    skblock.value = 0 # Reset shape key value to 0


Objects rotate strangely when entire mesh is rotated

Change the pivot center of rotation to be Median point as shown below:


Using subdivision surface cuts up my object?

Without seeing your blend file I can only make an assumption, but it appears as if you have a double-vertex edge on your cylinders. I can create a similar look by creating a circle, deleting half, duplicating it, rotating the duplicated half 180 degrees, joining them, extruding the shape, and then applying a subsurf.

Try going into edit mode, change to vertex mode (press 1), select all vertices by pressing A, right clicking and selecting Merge Vertices -> By Distance.

See if that resolves your cylinder issue.

Edit:

The issue is that you have an extra edge loop which has been folded over. You can either merge those vertices at both the top and bottom of each cylinder, or recreate the geometry with a better plan.


Object I was sculpting disappeared in Sculpt mode, how do I get it back?

You're in Local View. This hides all other objects. It can happen that you selected another object or deleted the local object, and now the view shows nothing or always the wrong object. This happened a few times to me and I wondered where my stuff was gone.
To exit this view press Numpad+/ or use the menu: View → Local View → Toggle Local View
Hope that helps...


Terrible VSE output performance when rending

Install the Parallel Render add-on: https://github.com/elmopl/ktba/blob/master/scripts/addons/parallel_render.py

Use it like this way:
https://github.com/elmopl/ktba/wiki/Addons


how to apply a time function in this script to add ob2 to the scene after ob1 without being together?

Its hard to tell if that's the optimal solution, but a "time function" in python can be summoned using the following commands:

import time
time.sleep(2)  # argument in seconds, int or float

The above function instructs the computer to wait idly for the determined amount of seconds.


Rather than put the code in here, I'm providing the file. It's a little more hackish than I'd have preferred, but you can see how it works and clean it up if you wish.

It works with 3 objects: Scene Master, Enemy Generator and Bullet Generator. In an inactive scene I created an Enemy object and a Bullet object.

The Scene Master runs the script, which gets the generators, enemy base and bullet base. Every 180 seconds it adds an Enemy at the Enemy Generator position and a Bullet at the Bullet Generator position.

Enemies have a constant speed along the Y axis. Bullets have an unset Steering actuator with a constant speed roughly matching the corresponding Enemy. The Scene Master sets the new Bullet's steering target to the new Enemy. The Bullet then actuates its steering logic and starts chasing its corresponding Enemy.

Something I want to impress upon is that you can't target copies of objects by name. Each time you add a new Bullet or a new Enemy they'll all have the same name (Bullet or Enemy). So when we add the objects to the scene we do it while at the same time equating it to an object. This adds the object to the scene and creates a data object corresponding to the newly added version. This data object can be saved in a scene object's properties and accessed later, even if you add 3000 new versions of the same object.

http://dan.gslyr.com/blender/steering.blend


Blender particles. Grid based emitter only allows maximum of 1000 particles. Any way to increase this?

The Resolution sets the density of the particles.
In your case you have a cube with a resolution of 10 - so 10x10x10 = 1000 particles.
For more particles simply increase the resolution.


Your logic cares keyboard sensors only.

You need to describe and handle a "at startup" event. This is typically triggered via an always sensor.


Turn down the Threshold. Edge looks for edges based on z-depth. Threshold changes the limit for this. If threshold is high, or your model is low poly, it will get too many edges.


How to combine "toon-diffuse" shader and "toon glossy" shader?

I reccomend a Mix Shader. If you want it to combine it in a different way, you can always attach nodes like Color Ramp or Fresnel to the Fac value to change the output.


How can I fix these non-manifold edges (boundaries prior to remove doubles, non-contiguous after remove doubles)?

In this case:

Select all vertices, and CtrlV .. R remove doubles
Then, with all still selected, CtrlN, make normals consistent.


How to duplicate a certain collection using Python?

API method
If you know the collection you wish to dupe, and the collection you wish to parent to, consider something like below.  Because a collection can have many parents, I'm not totally sure without using the outliner how to determine which instance of the collection is being duped, and hence where in the hierarchy to paste.
As a test, I've copied the context collection to to the scene collection, with and without linked data.  Using a method that recursively creates a new collection and populates it with object copies from the source.
EDIT. Have added a look up table with original -> dupe to change a dupes parent to a dupe (if duped).  Other things to consider here are driver variable targets, constraint objects, modifier objects.
import bpy
from collections import  defaultdict

def copy_objects(from_col, to_col, linked, dupe_lut):
    for o in from_col.objects:
        dupe = o.copy()
        if not linked and o.data:
            dupe.data = dupe.data.copy()
        to_col.objects.link(dupe)
        dupe_lut[o] = dupe

def copy(parent, collection, linked=False):
    dupe_lut = defaultdict(lambda : None)
    def _copy(parent, collection, linked=False):
        cc = bpy.data.collections.new(collection.name)
        copy_objects(collection, cc, linked, dupe_lut)

        for c in collection.children:
            _copy(cc, c, linked)

        parent.children.link(cc)

    _copy(parent, collection, linked)
    print(dupe_lut)
    for o, dupe in tuple(dupe_lut.items()):
        parent = dupe_lut[o.parent]
        if parent:
            dupe.parent = parent

# test call
context = bpy.context
scene = context.scene
col = context.collection
print(col, scene.collection)
assert(col is not scene.collection)
parent_col = context.scene.collection

copy(scene.collection, col)
# and linked copy
copy(scene.collection, col, linked=True)

Note
For a totally linked copy, ie the objects and collections within are linked copies then
cc = collection.copy()

will do the trick.
Related
Change active collection


What is indirect lighting and why do I have to bake it in EEVEE?

It doesn't have anything to do with how eevee works, indirect lightning is referred to be as a lighting which doesn't directly fall on the camera and is reflected from some other surface. Eevee only approximates it and you get much more realistic and better results if you bake it, you can even limit the area for which it is calculated by using a light probe and then selecting bake all probes under eevee render settings.
Here is blender's official documentation about the topic:
https://docs.blender.org/manual/en/latest/render/eevee/render_settings/indirect_lighting.html


how to bend a zipper to the contour of a jacket?

Here's one way:

With the low poly object selected, go into Edit mode and select an edge loop that runs the length of the object(top to bottom). Press Shift + D then Esc to duplicate the the edge loop. Now press P and choose Selection to make the duplicate edge loop a separate object. Go back to Object mode and select the edge loop object. Press Alt + C and choose Curve from Mesh to make it into a Curve object. Select the zipper and add a Curve modifier to it with the edge loop object as the curve object and Z as the axis. Move the zipper on the Z axis until it fits the curve as you want.


One Particle System is working, the other comes out the underside of the Emitter object?

Ok, I figured it out—I needed to go to my source object, rotate it 180 degrees along the Z axis, and apply (Ctrl+A) the Rotation.


Strange artifacts on Blender painted texture after re-opening

This is a mipmapping issue.

When painting the texture, Blender disables mipmapping (so everything looks shaper) so you don't notice the problem.

When you view the object from a distance, it's actually using a scaled down version of the texture, which shows the black background bleeding through, hence the wires. The solution is to increase Bleed.

You can also fix it in a 2D software using the 'maximum' filter.


Use the text object output node in BAN Blender Animation Nodes.
This is not a tutorial on BAN.


Time remapping addon and motion blur problem

Motion blur is a complex subject that can often require reassembling frames using optical flow technology.

Once you have your edit in place and can precisely locate where you require retiming, you might be able to leverage a tool such as slomoVideo.


How can I combine an animation with transparent background and a pre-rendered scene(panoramic camera)(VR Video)?

To lay the Video clip on the Background

The picture above will be the result.

Node Setup

Switch to Compositing, and click on Use Node

Set it up like this.

Step by step of setting your node

To get the Viewer

To get Alpha Over

To add your Image

To fit your Image to Scene Size

I use Render Layer,
But in your case, you need to load the clip to Motion Tracking since you have rendered it.

Then you need to Add Movie Clip from the Compositing Panel as indicated, and replace it with my Render Layer Node


Actually it's the same as for the armature, select your curve, go in the Properties panel > Object > Viewport Display, enable the In Front option:


Where is the setting for changing the appearance of armature bones?

Same as before (unless it has changed in the latest versions?), Properties panel > Object Data > Viewport Display > Display As > B-Bones, etc.

If you want a custom shape, select the bone in Pose mode, then in the Properties panel > Bone > Viewport Display > Custom Object.


Importing a SVG file creates too many faces

The SVG importer likely generates a 2D curve initially, so in future you might be better off to avoid converting to a Mesh first. Some steps below can be skipped if you do that.

Like this:

There's a few ways to do this, the simplest might be to simply ignore the fact that you have a lot of faces, and convert straight into 2D Curve

Convert the Mesh in Object mode to Curve using alt+C.
Set to 2D Curve type.

Use the Geometry panel to adjust offset / extrude and bevel depth. The Curve object has a lot of the same features as the Font Object type.


The only way I know is to increase the DPI:

User Preferences >>> System >>> General >>> DPI

(but that will also change the size of all fonts in your interface)


How to select each of the segments in my bone for weight-paint?

Bone weighting only works on whole bones. Bone segments are still just part of a single bone, and are not individually selectable or even separate objects.

Blender will automatically blend each bone segment's transform over the vertices weighted to the whole bone, by proximity to the segment.

If you need to fine tune this more you need to use separate bones, and constrain them to move appropriately (mostly likely using a curve to control them in some way).


How do I create a Unity3d-compatible skybox in blender?

I managed to figure this out on my own, based on what I had noted above.

Prior to beginning, you must have set up an Environment material to render, or have set up a surrounding scene to capture.  Once that is done, you set resolution of the render to a square texture, preferably with a power-of-two size (I set it to 1024).

Once the environment or scene is set up and ready to capture, the first step is to open the camera object's properties, and just below the Perspective/Orthographic/Panoramic selectors, you change the Lens Units from Millimeters to Field of View, and then set the field on the left to 90 degrees.

After that, set the camera's position to the center of the grid (0,0,0 coords), and set its rotation so that it is facing straight forward (rotation 90,0,0).  Then render, and save it as the Front texture.

Then rotate 90 degrees counterclockwise, and render as the "Right" texture (even though the camera is facing left).  Rotate 90 degrees counterclockwise again, and render that as the "Back" texture.  Rotate 90 degrees counterclockwise again, and render that as the "Left" texture.

Rotate 90 degrees counterclockwise again, and then you're back at the starting position.  Rotate the camera 90 degrees to point upwards (exact rotation should be 180,0,0), and render that as the "Up" texture.  Then rotate the camera 180 degrees to point downwards (exact rotation is 0,0,0) and render that as the "Down" texture.

After that, fire up the Unity3D editor.  Import each of the textures (which should be named according to direction).  Bring up each texture in the inspector, and make sure that Texture Type is set to Texture, and that Wrap Mode is set to Clamp.  Then, create a new Material asset, and in the inspector, set the Shader to "Skybox/6 Sided".  Then assign each of the textures to the corresponding slots, and you're done.


How to specify number of cuts for subdivision modifier in python

There is an operator that sets subdivision level for an object and adds the Subsurf modifier if it does not exist:

bpy.ops.object.subdivision_set(level=4)

You can call it with a button like any other operator:

self.layout.operator("object.subdivision_set", text ="Add subdivision", icon="MOD_SUBSURF").level=4


Weird vertices after sculpting, what caused this and how to fix?

If the faces are some kind of underlying duplicate mesh, in Edit Mode hover over your mesh and hit L to select linked faces and see if it is a seperate mesh that can be deleted.


Is There a Way to "Render" the sound itself in Blender?

There is active research happening in this field currently and Stanford is in the forefront of this research. They presented their work at SIGGRAPH, 2018. I hope soon it can be integrated to Blenderv2.8. Check out their work on the same -

Paper - https://graphics.stanford.edu/projects/wavesolver/

Video Explanation - https://www.youtube.com/watch?v=2mjPxcE8UDg

Articles - https://engineering.stanford.edu/magazine/article/crash-bam-plop-new-system-brings-sounds-animation-life


How do you export an STL using proper units?

The STL exporter has the Scale setting. You can use it to scale blender unit to one, that your target software uses. It's easy to find out exporting the default cube (2 x 2 x 2 meters), and check its size in the target software. Then use the coefficient found. As for display units, when you select 'Metric' in the scene's Units section, it gives the Scale setting enabled, where you can tell blender that one blender unit equals say 10 meters instead of default 1.
Note that you have to keep the scene scale adequate for blender's physics to work right. It assumes that 1 blender unit equals 1 meter.


Import scene into VSE with different camera size

You need to add a Transform Effect strip and adjust the settings to fit, however, this can be a tedious process, so here is a script that will simplify the process:

First, run or install this script:
https://raw.githubusercontent.com/tin2tin/blender-reset-aspect-ratio/master/reset-aspect-ratio.py
Add a transform strip to your strip that needs rescaling.
Select the Transform strip.
In the Sidebar find the Reset Aspect Ratio and click it.


Look into constraints, they have an influence property that can be animated like this: Keyframing Constraints - Is it possible?

For example you could animate an empty object, and constrain your body with "Copy Location" constraint to it.


Problems baking materials in Cycles Render

For each material added to the mesh from which you're baking, you need to have Image Texture node (selected, but not connected with anything ) with new image on which you want to bake the texture (f.ex. NewColorTexture.png, created in UV/Image editor or in Image Texture node Properties in Node editor). You can bake toon shading as easy as any other.