How to make a node group to calculate fresnel via F0 values Object
I want to make a node group so I can enter a F0 value instead of the IOR value for fresnel.
Purpose
The purpose is to make a fresnel node group for metallic shaders, since default fresnel isn't suitable for metallics.
Already tried
I've already tried curves with facing node, but I'm searching an alternative without curves since they aren't easyly/quickly modifiable (in my opinion).
Starting point
I've started with a fresnel node with an IOR of 1.6, it gives me a nice curve to work on.
Then I put a power math node to have a max value of 1 and adjust the curve's F0, it works like I want, but it isn't intuitive to enter a power value of 0.01 for a F0 of 97%.
Test scene
Color management set to none (pure datas)
Orthographic camera
An arched mesh to apply the shader, I know that the progression of the angle related to the camera isn't linear, so the end of my curve will tend to be x compressed.
Emission shader to see the curve in the waveform tool of the compositor

fresnel_f0_test_scene.blend

Question
With this base, let say I want a F0 = 45% (0.45 is good too), what node group must I set to have the 45% (or 0.45) value driving the power of the fresnel 1.6 IOR value?
Precision
Since it's for metallics I don't need to go under the 1.6 IOR base.
And I used the terme driving but if possible I want to avoid drivers.

Edit: To expose a bit more about the fresnel issue with metallics.
This is a fresnel curve from default fresnel IOR=1.6 (F0=6%). Good behavior for dielectrics.

This one is a default fresnel IOR=18 (F0=80%). Here you see the drop down of the curve, certainly why people use edge tint.

This one is a default fresnel IOR=1.6 with a power of 0.072 (F0=80%). This time the curve is correct (don't know if it's 100% but nice enough). No darkening of the grazing angles

It's why I need a convertion from F0 to the value that powered the fresnel curve IOR of 1.6 (or better, an IOR value of x)

Update 1:

The built in Fresnel node contains the equation for dielectrics, not metals.
However in most cases the the curve is almost identical.

It is possible to implement metallic Fresnel using nodes, but it's complicated and not worth it in my opinion.

Each RGB component of the specular color is treated as its own $F_0$.
(make sure all RGB values are greater than zero, otherwise it will not converge to white at the edges)

I derived an equation that relates $F_0$ to $n$ (index of refraction) from this equation (Derived from Snell's law):

$$
F_0 = \left( \frac{n_1 - n_2}{n_1 + n_2} \right)^2
$$

Where $n_1$ is the index of refraction of the material the light is coming from and $n_2$ is the index of refraction of the material the light is hitting. In most cases air, which has an index of refraction of approximately one, by substitution in the equation:

$$
F_0 = \left( \frac{1 - n_2}{1 + n_2} \right)^2
$$

And since $n_2$ is the index of refraction of the material the light is hitting:

$$
F_0 = \left( \frac{1 - n}{1 + n} \right)^2
$$

Using algebra we can rearrange the equation to find $n$:

$$
n = \frac{1+\sqrt{f_0}}{1 - \sqrt{f_0}}
$$

$n$ is not an independent variable. This means $F_0$ and $n$ can not be controlled separately. Changing them independently would cause an incorrect curve. (Yes, that means the Fresnel in the layer weight node is incorrect)

Unfortunately Blenders implementation of the Fresnel equation does not take into account roughness. This would be an easy fix if we knew the direction to the light source, but we don't have a node with that info. So we just have to approximate it as best we can. This is what Cynicat's roughness hack does.

I have exposed the index of refraction in the Fresnel node group because it's useful for things like refraction.

If you want an edge tint like some metals have you can approximate it by mixing two colors based on the facing value in the layer weight node, then passing that color into the specular slot.

If you want some specular values for materials there is a small list here "Background: Physics and Math of
Shading" on page 17. [make sure you use the linear values not the SRGB ones]

Update 2:

Perhaps you could try Schlick's approximation. It's what most game engines use. It doesn't have that downward curve with high $F_0$ values.


Noob Question: Inverse Kinematics Not Working I have tried adding Inverse Kinematics to the legs of my humanoid model using this tutorial: https://www.youtube.com/watch?v=jp_SqjB0468
However, when I move the IK bone, the leg won't bend at the knee for some reason. I have checked the Parenting relationship between the Lower and Upper Leg and everything seems to be in order. How do I fix this so that the leg bends at the knee when I move the IK bone?

Here is a link to my .blend project: https://drive.google.com/file/d/1darEP59YbALtv4lqDqYXXS6K270zA3_n/view?usp=sharing

In order for the IK constraint to know that the knee is supposed to bend (even with a pole target), it needs to start slightly bent. In edit mode, move the kneecap slightly forward.

Once you've done this, the knee should bend correctly.
Note that if the IK target FootIK is further away from the hip than the ankle is, the leg will be fully extended and the knee will still not bend. Bring the target bone closer to the leg (touching the ankle) to make it bend.


Rendering Output suddenly not working? This is not a repeat of these questions:

No file output after rendering?

How to render an animation as video in Blender?

Blender not rendering animation?

How can I make my Blender animation into a video?

As none of the solutions have helped.

I've been able to render 2 simple animations (in blender render) before without any problems. I made an animation (this time in cycles though) and changed the output folder paths, both in settings>file and properties> render. But there is no new file in the output directory. I can't figure out what I could have done between my last rendering and now to cause this problem.

I've tried with multiple image types (i.e: png, jpeg, jpegavi, etc.) but it makes no difference.
I'm able to save a single image manually from the UV/Image editor (to the output path selected), but it makes no difference when I actually try to render the animation
Running bpy.ops.render.render(write_still=True) in the Python Console doesn't render the animation to the output path selected.
Changing the device from "CPU" to "CPU Compute" doesn't help.
Blender is calculating something, as every time I hit render, I'm notified when the calculation is finished (takes different amounts of time depending on the image output i've selected).
I've tried loading "factory settings" and making a simple animation in there, but it still doesn't render to the folder I've selected.
I have both render output paths (in settings>file and properties> render) set to the same folder.

Not even other forms like this one help:

https://www.blender.org/forum/viewtopic.php?t=19567

These pictures are from the simple animation I made using default factory settings:

My renders were not appearing in the output folder as my macintosh was not linked to an icloud account.

Between my successful and failed renders (about 2 weeks) I had deleted my icloud account and created a new one. I periodically received notifications asking me to sign into an icloud account, but since I don't use icloud, I ignored them. Frustrated, I began running virus checks, reinstalled blender and restarting my computer, but it made no difference. Finally, in an attempt to have everything run smoothly, I signed into icloud (after being asked once again).

In lay terms, it seemed apple wanted to be happy before it would let a nonnative program follow the right paths.

After signing into icloud, my renders appeared on the output folder. Hope this helps anyone else experiencing a similar problem.


What is the loop order of bmesh faces? Let's suppose I create a bmesh with the following commands:

import bmesh
bm = bmesh.new()
bm.from_mesh(obj.data)
bmesh.ops.triangulate(bm, faces=bm.faces)

Have a look at the following picture to get to know what counterclockwise (CCW) and clockwise (CW) indexing means:

Now when I iterate over the meshes faces after triangulating it is there any indication/standard in what order (CCW or CW) relative to the faces front/normal I will iterate over the loops of each face?
Is it safe to assume that I will the following script will either always output [1,2,3] or [3,2,1] for a triangle like seen above?

l = []
for face in bm.faces:
    for loop in face.loops:
        l.append(loop.vert.index)
assert l==[1,2,3] // Or [3,2,1], or one of those lists rotated

PS: Can anyone propose a nice solution that will always guarantee CCW indexing for the faces loops?

From http://wiki.blender.org/index.php/Dev:2.6/Source/Modeling/BMesh/Design:

  Loops store several handy pointers:

  v - pointer to the vertex at the start of the edge (where "start" is defined by CCW order)

this means that CCW indexing can be assumed if I don't get it wrong. Also note that the loop-list on the face is circular according to this:

  Faces link to a loop in the loop cycle, the circular linked list of loops defining the boundary of the face.


Random particle wiggle on sphere How can I get particles to randomly move on the surface of a sphere?

I am emitting small sphere-particles on a larger sphere but cannot get them to randomly move on the surface and not disappear through the larger spheres.

I think the solution is fairly simple and I will try to explain how I would do it. If needed I can add Images explaining everything as soon as I have access to a PC.
You need basically only one thing, you need the particles to be constraint to the surface of the sphere. There are two good ways of doing that.
At first you need to duplicate the emitter sphere and make the duplicate a collision object (physics tab) and set damping to 1.0, then you have two options for making the particles stay. The first option is to add a solidify modifier to the collision sphere and scale it so the particles spawn inside. I personally think the better more flexible way to do it is adding a forcefield to the duplicate collision sphere with negative strength to attract the particles.
For the random movement just add a turbulence force field or turn up the random initial velocity of the particles.

If you want your particles to stay fully on the sphere and not only half, turn on size deflect for the particles

Very important to know is that the object which is the particle emitter has no effect on the particles, no matter if you use collision, force field or something else.

If you want multiple spheres in your simulation, I would recommend using the solution with two collision spheres, because its easier to setup. It is still possible to setup the force fields in a way that the particles will stay on the surface, but It is a little bit more complicated. The advantage though is that one particle from one sphere can travel to touching other spheres, I personally think, that makes a good effect.


How can I inspect Scene Render settings in a .blend file from Python externally? I'd like to be able to use an external instance of Python (ie. not Blender's internal python) to read a blend file and inspect it for Render Settings (ie. Start Frame, etc.).

Is this possible without firing up the Blender app itself? I don't want to have to depend on a Blender app, or to import the bpy module because the main project is in Python 2.7.

Also, I'd like to avoid any cli calls to blender to get this information.

While it is possible, using blender will be much easier. A small script that you pass to blender when run from a cli is small and easy to maintain. From another python script you could automate it with -

from subprocess import call
call(['blender','-b','file.blend','-P','script.py'])

You can even have your script generate the small temporary script that gets passed to blender.

However if you really have a need to not require blender to be installed, you may want to look at an old project that appears to have died off called blender-aid, it provided a web interface to blend files and used a python script to access data in the blend file, it was intended to assist project management and allowed file links to be repaired and/or re-factored, so apart from reading a blend file it could also write changes to them. While the full info of reading a blend file is contained within blender's source code, you may be able to get a start with blender-aid's old script here - or at least it will give you an idea of how much code is needed.


Grease Pencil objects playing around with the greasepencil stuff I am wondering if there is already the possibility to:

transform (move,scale,rotate) grease pencils along with their parent objects?
hide the parent object but keep the greasepencil visible?

E.g. create a null, paint a grease pencil tree, duplicate the null and move it around to create a forest.
Thx

No this is not currently possible. There is some development happening with the grease pencil now so this may change in future versions.

After drawing a grease pencil stroke you can convert it to a curve object. This can be found in the grease pencil toolbar options.

This will convert the one active grease pencil layer to a curve object. The drawback is you loose any of the new fill settings and you need to bevel the curve and give it a material. Once you have the curve you can parent and duplicate as you want.

For the example you give I would draw a tree on an image and use the image as a texture on a plane.


how to stretch ik bone in blender 2.8 in blender 2.7 we have Autostretch Ik for stretching ik and not stretching it, but I can't find it in 2.8.

I want this result: please see the picture.

Select the bone you want to stretch and set its amount of stretch. The amount is calculated in relation to other bones which have some, so if only one bone has some stretch, even a little value leads to a total stretch.

If you want a "Squash and stretch" behaviour you can duplicate the lower leg bone, put off the IK constraint, add a copy loc constraint pointing at the IK constrainded bone and then add a stretch to constraint, pointing at the ik controller (foot) bone. Set the IK bone as non deforming, and use the stretch to instead.


Unavoidable mirror modifier 2.76b   using the default cube I subdivide edges with 10 cuts. Unselect all. Rotate the cube and box select only 1 side. P to separate by selection.
Now in sculpt mode, all sculpting is mirrored about the center of the plane I separated.

Sculpting can be made symmetrical in the toolbar.
Hit T to show it if it's hidden.


How do I cange the cycle settings for Multiple objects - Blender? I need two renders and for the second one I do not need the gloss for multiple objects on the floor. It would be difficult to deselect the gloss property for every object for 50 different objects. Is there a way to apply cycle property change from one active object to all selected?

Also is there an easier way to extract just the reflections from a glossy surface, currently I am using different renders and the difference matte in the compositor.

I'm new to blender.

A lot of options in blender could be copied from active to other selected with Copy to Selected operator from context menu, including cycles_visibility.glossy

You can extract the reflections from some surfaces in Compositor using Object, Material ID or awesome Cryptomate feature and so on:


Is there a way to adjust the radius for AutoMerge welding verts? I'm retopologizing a mesh I created in Blender and I'm trying to use AutoMerge to merge verts by dragging them close to each other. Unfortunately, the radius of effect that AutoMerge uses is very tight and I have to fiddle with moving the vert around so much before it merges that it's wasting time. If I could adjust the distance that AutoMerge uses to decide when to weld verts my workflow would be so much smoother. Any ideas?

Thank you

Ask a question, find the answer yourself:

Using AutoMerge Editing - things aren't merging, what isn't right?

Go into Edit Mode - Tool Shelf - Option Tab on the left - change Double Threshold


How do you quickly align one object to another along only one axis? I know about Object > Transform > Align Objects, but this is too slow. Even if you make a keyboard shortcut to Align Objects, you still must use the mouse to click on the desired X, Y, Z axis.

I know about the Pivot Point Align method where you scale to 0. In Blender 2.8, this seems to be disabled. Alt + , does nothing and the Pivot Point Align button no longer appears in Blender. Even if this mode were still available, changing modes and scaling to 0 each time you need to quickly center something would be way to slow.

Surely this is such a common operation in 3D modeling that is done all the time. How is it done?

Begin with the solution you already know, which is to go to Object > Transform > Align Objects, except that instead of left-clicking to choose Align Objects, right-click on it instead, and choose either to create a shortcut, or to add it to your Quick Favorites menu (which will then make it accessible with the 'q' key). The Quick Favorites option is very fast and easy to use, provided you only have one or two items in it at a time (you can have more, but I don't recommend it).


Blender Viewport Not moving correctly So I noticed that my friend has the same view settings as me, but he can move his view freely and I can't;

GYAZO1 1: his view https://gyazo.com/9f53fbb76a00def58aa31350973ad501

Gyazo 2: mine https://gyazo.com/5c4605b5b2adc48b2c7180922a55f06f

I've tried Clip -> start : 0
but that is not that good to view because some things get transparent.

This is because your Origin Point is mis-placed. Press Shift+C and your Origin Point will be reset to Default place.

  i've tried Clip -> start : 0 but that is not that good to view bc some
  things get transparent

Pressing 0 gives you the Camera Perspective.

  Also this may be because you are too close to your mesh, as your friend's
  view is quite far.


How to remove children rotation? I have a grass particle system on an open field and the grass is animated to look like it's swaying in the wind. So I want the grass to face the same direction, but when I try to use children (both simple or interpolated) they suddenly face different directions. I've tried turning off rotation and set every setting on the children settings to zero, but they still have random rotations. Is there a way to fix this, or should I resort to putting hair number to 100,000?

So basically, I made a model of three low poly blades of grass, put some armature on them and animated them to make it look like they were being blown by a bit of wind. If I put it on a plane or landscape with no rotation whatsoever, it looks perfectly fine and is similar to the results I wanted, but when I use children, the grass suddenly turn in random rotations.

Here's what it looks like when I put it on high numbers with no children.

and here's what it looks like with low numbers (1000 on this image) but with children.

My PC can't handle physics very well, but if there's no solution then I guess I have no choice.

Set parting option to 1:

Default zero parting used to interpolate children strands between nearest control strands, that smooth transition from one control strand to outers (if you render hair, not objects).


Cyan origin dot mystery I've got this blend file (got it from here).
So the mystery is that the origin point's color is cyan. Checked the options in theme colors, "Active Object" entry is set to orange (as it expected) and when I change it, it only changes the outline color of the object. Newly created objects have their origin point colors orange and the "Active Object" entry controls an outline color and an origin point color but not for the objects that were already in the scene.

Objects that are used in multiple scenes will have their object origins displayed as cyan.

The file that you linked to contains 2 scenes, 'bottom' and 'side', as shown in the 3D header:

The object 'body' for example has a blue origin because it is used in both scenes. This means if you move the object in one scene the position of the same object in the other scene will also update to match it. You can see how many scenes an object is being used in by looking on the 'Object' panel of the object and noting the number of 'users'. In the case of 'body' it is being used in 2 scenes:

You can separate the object in one scene from the other by clicking the '2'. Instead of one object linked between two scenes you would now end up with two independent objects, which are no longer linked.

Also see 'Copying and linking objects between scenes' and 'Linking to a scene' in the Blender Wiki Manual.

If the outline of the object and the object origin were blue it would be because the file was linked from another file.


How to set object at a specific depth from the camera, at a certain pixel I want to set an object at a certain distance (or depth) relative to the camera; and also at a particular pixel.
Example:
I set up a camera at a random position in blender. I want an 1280x720 image. So if a line came out of the camera at pixel e.g. (400,400), perpendicular to the image plane; and that line travels 1300 millimeters. It will end up at position (x,y,z) in the blender world. That is the point where I want the bottom centre of my object to be at. How do I calculate this location (x,y,z) ?

Some more context here. I have a image of a scene with a table. I also have the corresponding depth image, which stores for each pixel, the distance in millimeter from the scene to the camera. I have the segmentation mask of this table. So I know for each point on the table, its distance to the camera. I want to set an object on this table, by rendering the scene as background, and rendering the object on top of it at the correct location from the camera.

I think, next must be works:
Sets empty objects to every corner of image - pinLT, pinRT, pin_BL, pinBR. Then calculate rays from camera base to those pins:
eye = camera.matrix_world @ Vector((0,0,0))
rayLT =  (pinLT.location @ pinLT.matrix_world) - eye
rayRT =  (pinRT.location @ pinRT.matrix_world) - eye
rayLB =  (pinLT.location @ pinLB.matrix_world) - eye
#rayRB =  (pinRT.location @ pinRB.matrix_world) - eye

then make interpolation to find correspond ray to the pixel
h = (rayRT - rayLT) * pixels.x / pixels.wide
v = (rayLB - rayLT) * pixels.y / pixels.height

ray = pinLT + v + h

# calc result in world coorinates
resultOnImage = eye + ray
resultInWorld = resultOnImage + ray.normalized() * desired_distance


How to fill up space with the new grease pencil tool blender 2.78 (early version) just as the title says how do i fill up the area i want to ?

because the only way i could get a bigger brush (the only way with grease pencil is by making the pixel bigger (it could only get up to 10 pixel) and it would certainly be a repetitive and not so effective way to do it) sorry if the question is not too clear, i've just get back from work and i'm not at the brightest of time :]

EDIT :

as per suggestion i am editing the question to how can i fill up the space with texture or any other shape that will be able to fill the spaces + on how can i specify where will i fill it up :D

Press N to show the properties region in the 3DView and expand the Grease Pencil panel to find the colour and opacity settings for the fill.


cut a hole with boolean modifer not working I'm attempting to cut a hole in a plane. I added a cylinder object, added the Boolean modifier to the plane, selected "cylinder" and "Difference", but no hole is made. The lower half of the cylinder just highlights, moving/deleting the cylinder reveals a hole-less plane.

How can i cut a hole in the plane?

This is because the plane is non-manifold. It's a 2D object, which has no volume.
Either make it manifold by giving it volume (e.g. with a solidify modifier), or use the knife project tool instead of a boolean modifier:

Add a circle

⇧ Shift RMB on the plane so that both the circle and the plane are selected, and the plane is active (yellow outline).

Enter edit mode (↹ Tab), and align the view so that the circle outlines the hole you want to cut. In your case top view (Numpad 7) is probably good.

Press Knife project in 3D view > tool shelf > Tools > Add:

Result:


rigify - add a Finger during animation I am using blender 2.77 and working with the riggify add-on. I have made some walk and run animations with my alien, so far so good. While I was playing around with the alien's hands to grab around a weapon I recognized I am missing phalanx on each finger. So my alien won't be able to hold the weapon (at least it looks really poor)

Is there any way to save my work I've done the last 2 days, such as the walking and running animations, and edit my rig - lets say like adding the missing phalanxes and regenerate the vertex groups via the generate button? To rework just the hand animations in my walk/running animations - I would love to do just that

So is there any correct way to edit a generated rig after animations? Or do i have to reanimate everything?

If you guys want I can send you the blender file

Once a rigify rig is created, it can be treated the same way as every other rig.

The armature modifier creates a relationship between a bone from the rig and a vertex group of the mesh with EXACTLY THE SAME NAME of the bone.

So: select your rig, go to edit mode, extrude E or divide W your finger bones until you're happy with the result, give to all modified bones a proper name, select the character, in the properties window - vertex tab - create new vertex groups with the same name of the new or modified bones, weight them manually using the "assign" button under the vertex group tab, and his relative value slider.
Assign "1.0" value of every vertex of the finger near to a bone, except near the junction: in those cases assign "0.5" value to both bones of the junction.

As tkausl said in the comments, you'll not loose any part of the already done animation, as soon as you do not modify the bones involved in your animation.

Also deleting unecessary bones from a rig is OK.


Landscape Cross Section of Real Locations I'm trying to use Blender create landscape cross sections like this one

I have to use heightmap data of real locations.
Creating the distortion just on the top face of the box is working fine, the issue I face are the sides as the texture does not extend along the distortion as you can see in the image below.

Any idea how I can make it look like the example I showed above?

Create vertex group for top part
Unwrap object before using modifier
Assign material on sides
Add Displace Modifier and use this Group

In your case seems like Hieghmap texture does bnot overlap edge. Extend a bit texture size in texture properties or scale UVmap in UV editor.

Or you can change Mapping type ...

Clip

Extend

Repeat


UVs Blender - how can i: auto seam hard 90° edges, unfold uv, orient uv, straighten uv i´m coming from maya and want to make the swtich to blender. i need some help with uv.

my video explains in detail what i want to do in blender:

https://youtu.be/SKh-La_fW1o

edit: as you wish all with pictures. but watch the video if something is still unclear its only 1 minute. thank you

1) auto seam, adds seems on all hard 90° angle edges

2) unfold unfold function like in maya

3) orient shell

Still no help, let’s me think Blender can’t do it? Thats sad I wish I can replace maya with Blender I just need to develope my workflow


How to make solid torus knot (sverchok nodes) I am trying to create a solid torus knot using the sverchok addon. I've started with the following node setup:

Which produces:

This works to create edges, but does not work to generate polygons. When switching the UV Connection node to make polygons, I get:

What I'm going for is two unconnected rings, like a couple of chain links. Like this:

The key here is being able to use the torus knot node, so I can adjust the torus knot to different configurations, while maintaining the solid structure around it.
Here is the blend file: https://drive.google.com/file/d/1W8hgo_B8JWy5ZvfJOBlpLgWLUR3aNbo0/view?usp=sharing
Thanks,

If it is what you need, maybe. SNL used for sorting.

import gist:
https://gist.github.com/423c6ca03363c7f4aa2408f8d59df8d4


How can I emulate moving water in the BGE? I am not sure how to make a texture of water make waves and stuff.  I know how to do it in Render, but not BGE (Blender Game Engine). Any help would be appreciated.

The only way that works well and looks great in the BGE, is creating an animated water texture.

Having real geometry to create displaced waves in the game engine would look cool, but it is very memory intensive and would cause your game to lag.

To create an animated texture for the water, there are quite a few steps. Here is a video that describes the technique used to create the water used in the Blender Game "Yo! Frankie".

Video Summary:
Step by step tutorial that shows how to create realtime animated water for the BGE using animation maps.


UV coordinates are locked from -10 to 10? I'm trying to make a face which has a texture loop quite a few times. However, it seems that UV coordinates can't be manually edited using the UV vertex fields, outside the range [-10, 10]. This seems like an arbitrary restriction, especially given that right-clicking and dragging the vertex in the editor allows the vertex to be moved outside this range.

Have I accidentally enabled something without noticing it? Is there a way to disable this clamping?

Edit: I should specify that the range is using the normalized mode, not pixel coordinates.

In code most UI widgets such as sliders, number fields etc ask you to set min and max values.
In some cases this can be relevant to how the widget behaves (for example, sliders with large ranges are harder to slide to specific value due to display precision).
In this case the limits are most likely arbitrary.

For things like texture looping or tiling, normally this is done by using the vector mapping node in the materials edit to scale the UV coordinates, rather than in the original coordinates.


Why can't I get the foot and the ankle move with the rest of the leg? I have parented and connected the bones of the armature:

Yet, when I move the upper leg, the toe and the ankle don't follow.

And I when I go to Pose Mode, the ankle move but I can't apply IK to the toe:

What can I do to get the toe and the ankle to move with the upper leg without deforming in Pose Mode?
My .blend file can be found here:

The main problem is that you are setting lots of IK constraints. To fix this I disabled the IK constraints for all bones except for the leg.lower_L.001 bone. To disable the IK you click on the eye icon as shown below:

Then I select the leg.lower_L.001 bone and set the chain length of its IK constraint to 3 to affect the whole leg (it's 3 parents) and now the IK works great as shown below:

To move the bones in edit mode, you will need to select the whole bones and move them together as shown:


How can I rig an extension arm using only constraints? I would like to rotate LinkA1 (as shown in the image) and then have the entire articulating arm follow, either lengthening or shortening, using only constraints (no armature). I have been trying various methods using Copy Location and TrackTo constraints, but I keep failing to get it to work.

Can someone help me figure out if it is possible to rig such a thing using only constraints?

Here is the blend file if you are up to the challenge:

https://dl.dropboxusercontent.com/u/6647893/Forum_Help/ExtensionArmTest.zip

It is possible (by parenting anyway).

Have a look for now, I will write up the text soon.

Your Modified Blend File:


Straighten bezier curve? Is there any way to straighten out the default Bezier Curve? By default it looks like this:

What I end up doing is selecting the left control handle and rotating by 45° to make the curve straight. Is there any easier way, a keystroke?

Method one:
SY0
This flattens the handles on the Y axis (scaling by 0), however it will distort the rotated handle a little bit:

Method two:
VV, then  VL
This sets the handle type to vector (which makes connected control vertices straight) and the back to aligned (the default).


xml rpc server on blender We need to run an xml rpc server on each blender session started.
Blender communicates with our python 2.7 based pipeline through xml rpc.
The xml rpc server will receive python 3.0 commands as strings set to the xml rpc server.

the wall we've been hitting are:
-We need the script to be started from the same location on each blender workstation.
-When we load the script as an addon, it attemps to spawn several servers on each session when we just need a single one.

Any help would be very welcome on:
-How we can load a startup script for blender from a shared location for all users.
-How we can make sure one single server is started within each session.

Please bellow the snippet code of what we are trying to get up and running on each blender session:

A Python 3.7 XMLRPC Server program in Blender

bl_info = {
    "name": "XMLRPC Server",
    "author": "KristenH",
    "version": (0, 5, 0, 1),
    "blender": (2, 79, 0),
    "category": "System"
}

from xmlrpc.server import SimpleXMLRPCServer
import threading, time
from socketserver import ThreadingMixIn
import bpy
import sys
import socket
print()
from queue import Queue

# Simple server class
class SimpleServer(ThreadingMixIn, SimpleXMLRPCServer):
    pass  # The same statement as Null in C++, Java, C# etc.

# The command function
def command(com):
    com='import bpy\n'+com
    exec(com)  # Trigger command to server
    return com

# The server data
def server_data():
    return bpy.app.version_string, bpy.context.blend_data.filepath, socket.gethostname()

def pscan(host='localhost', port=8000):
    # Setting up a socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    proxy = (host, port)
    try:
        con = sock.connect(proxy)
        return True
    except:
        pass

class ServerThread(threading.Thread):
    def __init__(self, host='localhost', port=8000):
        self.proxy = (host, port)
        self.server = SimpleServer(self.proxy)
        self.port = port
        self.host = host
        threading.Thread.__init__(self)
        # self.server_thread.setDaemon(True)
        self.server.register_introspection_functions()
        self.server.register_function(command, "command")
        self.server.register_function(server_data, "server_data")
        self.version_string = bpy.app.version_string
        self., bpy.context.blend_data.filepath, socket.gethostname()

# A class shows a server panel in Blender
class ServerPanel(bpy.types.Panel):
    bl_label = "Server Panel"
    bl_idname = "Object_PT_server"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_category = "Shortcuts"

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

        row = layout.row()

        server = None
        x = 8000
        attempts = 0
        while(server is None):
            con = pscan(port=x)
            if con is not None:
                print(con, 'found server on', 'localhost:',x)
                row.label(text="Server found on: localhost:" + str(x) + "\n")
                x+=1
            else:
                # time.sleep(5.0)
                server = ServerThread(port=x)
                # Make sure the first port is the start up port.
                # row.label(text="Started the server with:" + str(server.host) + ":" + str(server.port) + "\n")
                print(attempts, "Started the server with:", server.host, ":", server.port)
                server.start()
                # row.label(text="... Press Ctrl+C to exit\n")
                #print("... Press Ctrl+C to exit")
                attempts+=1
                break

# Blender code below
def register():
    bpy.utils.register_class(ServerPanel)
    #bpy.utils.register_class(SimpleServer)
    #bpy.utils.register_class(ServerThread)

def unregister():
    bpy.utils.unregister_class(ServerPanel)
    #bpy.utils.unregister_class(SimpleServer)
    #bpy.utils.unregister_class(ServerThread)

if __name__ == "__main__":
    register()

Many Thanks,

-H.

Spawn the server from the register function, not inside ServerPanel.draw:

import multiprocessing as mp
import socket
import sys
import bpy
import time
import threading
from xmlrpc.server import SimpleXMLRPCServer
import xmlrpc.client
bl_info = {
    "name": "XMLRPC Server",
    "author": "KristenH",
    "version": (0, 5, 0, 1),
    "blender": (2, 79, 0),
    "category": "System"
}

HOST = 'localhost'
PORT = 8000

def command(com):
    com = 'import bpy\n'+com
    exec(com)
    return com

def server_data():
    return bpy.app.version_string, bpy.context.blend_data.filepath, socket.gethostname()

class ServerPanel(bpy.types.Panel):
    bl_label = "Server Panel"
    bl_idname = "Object_PT_server"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_category = "Shortcuts"
    proxy = xmlrpc.client.ServerProxy("http://localhost:8000/")

    def draw(self, context):
        layout = self.layout
        version_string, filepath, hostname = self.proxy.server_data()
        print('found server on', 'localhost:', hostname)
        layout.row().label(text="Server found on: {}:{}".format(hostname,PORT))
        layout.row().label(text="Press Ctrl-C in terminal to exit".format(hostname,PORT))

def register():
    global thread
    proc = mp.Process(target=maybe_launch_server)
    proc.daemon = True
    proc.start()
    bpy.utils.register_class(ServerPanel)

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

def maybe_launch_server():
    proxy = xmlrpc.client.ServerProxy("http://localhost:8000/")
    try:
        result = proxy.server_data()
    except ConnectionRefusedError:
        server = SimpleXMLRPCServer((HOST, PORT))
        server.register_introspection_functions()
        server.register_function(command, "command")
        server.register_function(server_data, "server_data")
        version_string = bpy.app.version_string
        print("Started the server with:", HOST, ":", PORT)
        server.serve_forever()

if __name__ == "__main__":
    register()

This spawns the server as a separate process. proc.daemon = True causes the process to terminate when the calling process terminates. On the plus side, this means that the server will terminate when you quit blender. On the negative side, it also means you have to pay attention to which blender started the server (in case you launch multiple blenders).


Merging Multiple Textures on a Single Model into one Mega-Texture? Every time I try to search for an answer or solution to this problem, it always comes up with the wrong information or something that is so outlandish that I don't understand.

I'm relatively new to Blender and I have a 3D model I downloaded that has a multitude of textures, from eyes, mouth, and body. I want to merge all these textures into one image so there can only be one texture file associated with it.

How can I do this? Do I need to compile the images in the UV/Image Editor, then re-UVmap the images in Blender? If so, could I just copy existing maps and somehow paste them onto the compiled version? Is there a wizard or file format that can do this for me?

Thank you for any help and I'm sincerely appreciative of any assistance.

So to write up an answer, the OP needed baking.

Cycles baking is a relatively simple process as far as Blender goes, and is roughly like the following:

UV Unwrap a mesh with no overlapping Islands.
Add a new, blank image in the UV/Image Editor.

Go to the Node Editor and add an Image Texture node. Select the blank image. Do not make the image interact with the node tree in any way. Make sure the node is selected.
Go to the Properties panel > Render tab > Bake dropdown and select the following settings (for pure image textures).

You will then have an image with all the various Image Textures mapped onto it. You can incorporate this image with UV Texture Coordinates into one mega-object material.


Issue with parenting tracked nulls to get Orientation for mesh I am currently trying to figure out how to get the data that has been tracked from a footage.
I need to track an arm in order to get the movement and replace it with a mesh (that has no hand).
After tracking few points I clicked "Link Empty to Track" and it created nulls moving according to the tracking data. From there I created a bone, added an IK to the first point (Hand track point) to get the orientation and then parent the bone to the Elbow tracking point to get the location. I have also key framed the Z value to have more accuracy.
From here everything is fine, however I tried parenting the mesh to the bone hoping to get the same result, but the mesh just starts to fly around.
I just hope someone can help get a technique where I don't need to match move everything manually.

I found a solution to my problem.
The issue was that I added a Track to constraint to the mesh targetting the hand point therefore creating unpredictable spinning.
Therefore, after removing the constraint from the mesh, I just parent with the mesh to the bone with Automatic Weights, so the mesh will uniquely follow the bone and nothing else.
I keyframed the X Rotation of the bone to match the footage as best as possible.
Hope anyone will find this useful!


How can I extrude all faces evenly and scale faces inwards separately? How can I extrude all of these faces on the rim of this cylinder, and then further be able to scale both edges of the newly formed face inwards?

I am trying to make a part of a wheel to a Tiger H1 Heavy Tank, similar to this part here:

I have already figured out how to extrude all faces evenly, however I'm stuck on how to scale the edges for all of them inwards. The problem is, I can't simply just select all of the edges and scale them, because that turns out very wonky looking!

Here is what I have as of now:

i  to inset, i to toggle individual, Alt + S to move along normal


Does fresnel node corresponds to fresnel-equations? In principle BSDF manual,specular is set to ((ior-1)/(ior+1))^2/0.08 to get realistic result.So does this imply that reflection amount (percentage of incident light) is only determined by ior and light angle on a flat surface ? If so,how should I set up nodes for diffuse,reflection and refraction ?Although all dielectic material has refraction,sometimes I just want to ignore it for simplicity.In this case,how should I remove the part of refracted light and just do diffuse and reflection ?
Edit:I search wiki and it says the amount of reflection and refraction is determined by Fresnel coefficients.https://en.wikipedia.org/wiki/Fresnel_equations
From the simple normal case,R=((n_1 - n_2)/(n_1 +n_2))^2..just plug fresnel into surface the result seems to be it.But I am not very sure.Some materials distinguish fresnel reflection and specular reflection.
https://download.blender.org/documentation/bc2012/FGastaldo_PhysicallyCorrectshading.pdf
Edit:In practical,when we consider unpolarized nature light,the the reflection coefficient is just average of R_s and R_p..Or we even use Schlick's approximation..So the amount of relection and refraction is clear.Diffuse is a particular case of subsurface scattering,so it should belong to refraction.And then how much does diffuse take in refraction ?

First,the answer is yes.In most occasions you don't need to worry about reflection amount when using fresnel as fac in mixing shader.
Second,the fresnel equation compeletely characterizes reflection and refraction in a transmissive surface.In blender,the light is treated as unpolarized so that the reflection amount is 1/2*(R_s+R_p).Theoretically,the fresnel node should be used as fac for mixing refraction and reflection.Diffuse is an approximation of subsurface scattering,so for some materials we assume the refracted light is all scattered so we can replace refraction  shader by diffuse shader.


How do I combine three rendered animated layers? I animated these 3 layers and than tried combining but couldn't do it.
I know how to combine rendered images from different layers in compositor but I'm trying out animation.
Please help.!!!

First make sure that you enable transparency for the background (so that all of the layers have an alpha channel.

Then combine the layers in the compositor using Alpha Over

For a more detailed explanation Read:
My objects are semi-transparent, and not one behind the other in the compositor
and Can someone explain the layer system?


Need help setting up lighting for a render like this. if anybody can help me with lighting and settings to get something like the image. Thanks

Basic setup

First, make the world background black, then add a single light because in your image there is no light whatsoever in the shadows.

Position/Orientation

The position of the light will depend on the type you will use, e.g., for a sun lamp the position doesn't matter. Approximate orientation can be determined by examining the shadows and highlights on the chin and hair regions. See in this picture how the shadow around the chin (relatively smoothly curving surface) is left of the center of his chin and the highlights in his hair extend to the right of the midline through his face.

Example 1

In this case, I used a single area lamp with a size of 1. You can see that with the more finely detailed model due to texturing, the lighting looks better than in the next example because of the finer shadows.

Example 2

In this case, I used a sun lamp, but of course, you could also use a spot, point, area, or even a mesh light.

Extras

You can adjust the lamp size to change the how blurred or scattered the shadows are.
If you want any ambient light to show on your object (which is not in your picture), you can change the strength of the world background based on if a ray is coming from the camera.

If you want more photorealistic light behavior, get Filmic.

The models that I showed in the demos are available on Blend Swap here and here. You can download the rendering setup for the skull project that I edited here:


Grease Pencil: customize the eraser as of in the old versions Since a few builds, Grease Pencil in Blender 2.8 has a new eraser, which is "fading" a stroke until it is transparent, like in many softwares.

But before those last builds, the default eraser had another behaviour: it was reducing the thickness of the stroke until it was disappearing totally, without affecting the opacity.

That old eraser had a nice feeling, I felt good with it, how could I bring it back ?

The soft eraser now has two new parameters:

Affect Stroke Strength and Affect Stroke Thickness. These parameters define how the eraser affect the opacity and the thickness. The old eraser only affected the thickness, and the new default parameters affect the opacity (strength) in a 100% and the thickness in a 10%, so the stroke gets less and less opacity and the thickness is reduced in a small proportion (10%). We set this values after a lot of test to get the feeling of erasing in a paper.

If you want back to the "old" soft eraser, just set the Stroke Strength to 0% and the Stroke Thickness to 100%.

With these parameters you can configure the "feeling" of the eraser.


Time remap doesn't interpolate cloth simulation properly I animated my scene before realising I wanted it at a higher framerate. Oops! Rookie mistake.
So I enabled time remapping and stretched it out to twice the duration (from 100 frames to 200 frames). Everything interpolated smoothly, except for my cloth simulation. That made sense since I baked it before time remapping, and I could see it only generated 100 .bphys frames to disk.
So I deleted my bake, set the simulation speed to half, and baked it again. I could see it generated 200 .bphys files this time, so I thought it was fixed. But when I scrubbed through the timeline frame-by-frame, I could see that it was just repeating the same frames twice (instead of properly interpolating the in-between motion). So while everything else was running at 50fps, my cloth simulation still appeared to be going at 25fps.
I've decided to just stretch the keyframes out on my dopesheet instead of using time remapping for the time being, but I just wanted to know if anybody else has encountered this and can offer a solution? It would save me a lot of headaches in the future.

So ... if I'm right, cloth sim doesn't have subframes (substeps) and I don't see any interpolation to solve those jumps (smooth missing transitions).
As a workaround you can try export the cloth sim object as Alembic (.abc) format without time-remapping. Under Output Properties > Dimension > Time Remapping set New > 200. Import this object back and under Modifiers Properties you can find already added Mesh Sequence Cache modifier > enable Vertex Interpolation. It will generate smooth transition between ramped time frames.


smoke+fire simulation fine in viewport but jittery in render Here's my blend file. The camera shake is intended.

Here's what it looks like in the viewport:

(source: gfycat.com)

When I render, however, even after the camera shakes, the fire clearly jitters a little bit:

http://zippy.gfycat.com/WeepyAnchoredJanenschia.gif

I fixed the problem by disabling "Smoke Adaptive Domain" in the Physics tab in the Properties panel, while selecting the domain:

For whatever reason, this caused the domain to shake around a little bit, causing the jittering. I'm still not sure why it doesn't jitter in the viewport but does in the final render.


How to move an object to a different render layer? I am wondering how to move something to another render layer.

I see the render layers next to where it says Global, but how do I switch my objects over to another render layer?

With M, i.e. move them between viewport layers:

See my answer here for more detail.

Thanks to this question, I found and reported a regression in blender's handling of view specific and scene specific layers.


Auto-set parameters when panel opens I would like to set various parameters when I open a panel. By parameter I mean toggling the bounds for an object or changing object.display_type etc. Is there a python way of calling some code (method, script, operator, handle etc.) when I open or close a panel?

Spit data from draw method to a draw call back.

When playing around with draw callbacks noticed that can modify objects, whereas you cannot from a panel draw method.
Here is an example Is automatic "Reload from disk" confirmation in Text Editor possible?
A panel can be registered as default closed. In this case only the poll and draw header method will be called.  When it is expanded we see the content of the draw method. Explained here.
For convenience the drawing class is added to the driver namespace. As explained in How do you remove a draw handler after it's been added?  See also answer to operator error when open a new file re setting up a  on the window manager.
Test script: defines a draw callback class and a panel (default closed). The drawing class has a list being fed from the poll and draw methods of the panel. The list is kept to 5 members. If the panel is being drawn it sees this and sets the active object to 'TEXTURED' else to 'WIRE'.
import bpy
import blf

class DrawingClass:
    def __init__(self, context, prop):
        self.status = [prop]
        self.prop = prop
        self.handle = bpy.types.SpaceView3D.draw_handler_add(
                   self.draw_text_callback,(context,),
                   'WINDOW', 'POST_PIXEL')

    def draw_text_callback(self, context):
        font_id = 0  # XXX, need to find out how best to get this.

        # draw some text
        blf.position(font_id, 15, 50, 0)
        blf.size(font_id, 20, 72)
        blf.draw(font_id, "%s %s" % (context.scene.name, ",".join(self.status)))
        ob = context.object
        if ob:
            ob.display_type = 'TEXTURED' if "Open" in self.status else 'WIRE'

    def remove_handle(self):
        bpy.types.SpaceView3D.draw_handler_remove(self.handle, 'WINDOW')

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_options = {'DEFAULT_CLOSED'}

    def __init__(self):
        print("init")

    @classmethod
    def poll(self, context):
        print("poll")

        dc = dns.get("dc")
        if dc:
            while len(dc.status) > 4:
                dc.status.pop()
            dc.status.insert(0, "Closed")

        return True

    def draw(self, context):
        print("draw")
        layout = self.layout
        dc = dns.get("dc")
        if dc:
            dc.status.insert(0, "Open")
        layout.label(text="Open")

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

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

if __name__ == "__main__":
    register()

    context = bpy.context
    dns = bpy.app.driver_namespace
    dc = dns.get("dc")
    if not dc:
        dns["dc"] = DrawingClass(context, "Closed")

Have used similar for a panel "heat" addon, where a counter is added to the panel class for every draw call. After a while "cold" panels, are closed, moved or unregistered.


How do I make rigid bodies use a curve guide force? It seems some force types do not effect rigid bodies, does anyone know which forces can actually be used on rigid bodies? In this case I'm trying to get 'debris' to get 'sucked up' by, and carried along the Curve Guide Force. What am I missing? Is there another approach I can take for the same effect?

Curve guide cannot be used with rigid bodies.
As the popup window shows it is affecting only particles.

you could use a follow path constraint to get your effect.


Camera Changes Its Position After Rendering I have set up a scene and the camera is in place but when I render the scene, rendered image is in a completely different place.

Here is a video: https://drive.google.com/open?id=0B4S33z5XcMIsc3M0UmZzQlZhb3M

Your camera has a keyframe on the first frame of your animation, and that is what is being rendered.
If you move the camera but don't record a new keyframe the camera will reset to that keyframe at frame 1.


Arm doesn't want to merge with body My arm that is a curve, doesn't want to merge with the body when I select both of them then press Ctrl+J

At first, it works, I can move the whole body together with the arms
However, when I de-select it, and then click the body again, they don't go together anymore.

The reason you cannot merge the body and the arm together is that they are not the same type of object. The body is Mesh object, while the arm is a Curve object. You may only merge if both objects are the same type (with certain limitations, e.g. you cannot merge two Lamps, or two Cameras).

In order to merge the arm with the body you will need to first convert the arm to a mesh by selecting it and pressing ALT+C > Mesh from Curve/Meta/Surf/Text.

After converting you can then merge the two mesh objects with CTRL+J.


Unity FBX not opening in Blender So I'm trying to open some of the Standard Asset FBX's in Blender like so:

Double click on SkyCarBody and get this in Blender:

FBX settings in Blender:

Completely blank project. Any ideas?

Blender v2.78
Unity v5.5.0f3
Win10 x64 Pro
Nvidia 378.49

Thanks.

It appears that you cannot open FBX directly in Blender just by double clicking from with the Unity Editor, you must use the import function (File -> Import -> FBX). I was able to open the model:


Targa versus PNG for Image Texture I have noticed in cycles I render faster with .tga image textures than .png image textures. Is there a loss in render quality because of using targas instead of pngs? Which should I use?

PNG takes longer to read or write, because the computer needs to compress it. Therefore it takes up less space. TGA is largely uncompressed, so it's being written and read faster, but takes up more space. Both formats are loss-less, but I think the color range of TGA is larger.
Targa is popular in Game Enginges because the Alpha channel is independent from the color channels and it reads very fast. EXR is usually the largest, but it supports HDR. I haven't tested it, but it should be read faster than PNG.


Using Armatures with Grease pencil object Are there any tutorial or help regarding using armatures with grease pencil object?

I found this video on Vimeo by Daniel M. Lara, its great but it does not explain how to go about with armatures.: https://vimeo.com/channels/greasepencil/173325517

There is a blend file available from the video on the cloud as well: https://cloud.blender.org/p/gallery/577ce46cc379cf0814b0ce50

For someone who is new to the blender and from the 2d background, it would have been great if there was a detailed walkthrough available (at least for cloud subscriber).

Basically, every GP layer can be parented to a bone in the N properties panel. Each bone can control more than one layer, but every layer is controlled by a bone only, so you will have to create multiple layers. Use the "mantain volume" bone constraint to achieve "squash and stretch" effects.


Particle as Hair on oval Sphere act wired, goes crazy I changed form on a Sphere, added hair and the hair acted crazy.
Tested when Sphere is round, everything works fine. But the moment I change shape from round to oval, hair explodes from the sphere.
What's wrong here?
Add particle like hair to sphere
2. Changed the length and set hard dynamics = true
Start animation and hair will go crazy.

You probably made the scale in object mode, press Ctrl + A  to apply the scale. Use edit mode to change the mesh properties


Splitting an addon in modules vs having everything in one file? Im wondering the pros vs cons of having an blender addon in a large python script (let say 7 thousands lines) vs splitting everything in different thematic modules ?

I think that In the end having everything in one file is much less prone to error for users (both installation and uninstall) and also less an headache of juggling with multiples files.

Is it all about personal preferences ?

It's better to split it into separate files. The reasons for this are:

Separation of concerns: It's easier to separate UI from state and logic when they are in separate files. Keeping everything in one file also results in low cohesion which is not desirable.
Maintainability: Keeping everything in a single file will likely result in tight coupling, which makes refactoring a lot harder.
Understandability The interaction between classes is difficult to grasp when everything is in a single file. Finding a function or class is challenging when you don't know exactly what it's named and with only a vague idea what it does. This is especially a concern if other developers try to contribute to your project or if you take a break then continue the development in couple a days/weeks/months/years. If for instance the functions for scatter distribution are in a separate file called scatter_distribution.py, then it's easy to find because you already know what's in the file based on its name.
Extensibility: Given that your add-on already reached approx. 7000 LoC, it's clear that new versions with additional features will increase the complexity further. This will impact the previous points negatively. If your code uses separate files you can easily extend it with another file for a specific set of features.
Reusability: Having separate files or modules allows to reuse code more easily in the development of future add-ons that require some of the features you've already implemented in the current add-on.

The add-on can be distributed as .zip which is the standard way of installing it through the preferences, therefore users don't have to deal with the individual files.

In conclusion there are plenty benefits of writing modular code. It may take more work at the beginning, however it can significantly reduce the effort of maintaining the software.

This answer is not a complete and definitive list of reasons, however it should highlight some of the most serious issues that occur when keeping the entire code in one file.


Weird symetry in the weight painting after automatic weight painting is applied (the circular lines are just an option I turned on at some point)
So here is my problem:
I do the automatic weight painting (that comes out partly normal) but some un-removable weights pop out, mostly on the symmetric side of almost every bones that are connected to the shirt of my character.
This cause strange distortions for every movement: pieces of the left shoulder move when the right hip bone moves, etc.
-Those extra weights seem to have completely random positions.
-it is as if only one side of the symmetry was editable. In my example, I can paint weights all over the right side of the shirt while nothing affects the left side.
I suspect some hidden option is crossed somewhere but I couldn't figure out...
Did anyone ever come across that problem?
Thanks
EDIT
Hello again,
I uploaded a simplified version of the file at this link.
Please have a look: https://blend-exchange.giantcowfilms.com/b/0g9rLesg
There is a small walk cycle so you can see the strangeness of the weight painting in the shirt.

Ok first of all YOU CAN KEEP THE MIRROR MODIFIER.
Here is how it works. (assuming your original model is on the left side)
The Mirror Modifier has only one half of the mesh. In that half you have a vertex group for right and for left (.L and .R) or a symmetric one without any suffix. In Weight Paint Mode you can only paint on the original side. If you want to influence the other side, you need to paint the other group (.R not .L). The mirror modifier will keep the content of both .L and .R for the original side. For the flipped side it will just flip the names. That means .L from the original side will be written to .R in the mirrored side AND .R from the original side will be written to .L in the mirrored side.
Ok now that that is clear and you keep your mirror modifier, I can take some guesses as to what happened.

You could not draw the weight paint. In this case disable the subsurf modifier and the solidify modifier and/or change to a bigger brush or, only if that doesn't help, change to Projected drawing with Front Faces Only disabled. (see the other answer, make sure to switch back after this or you will likely cause a mess at some point without realizing, was there, can not recommend.)
You are only able to draw if you are drawing on the original side. So you can't draw on the .L group to remove the spot on the right. You need to select the .R group and paint on the left side where the spot should appear in that case.
You were drawing on the wrong vertex group. I noticed multiple vertex groups for a lot of bones ending on .001. Make sure you only have one per bone and don't confuse them.

Luckily you seem to understand that by now (https://developer.blender.org/T81252).
So consider this an answer to those people recommending to apply the mirror modifier (@moonboots)!
EDIT: if something behaves weird you can always check weight exactly by going into edit mode, selecting one vertex and looking at the vertex data in the right "N" Panel


How to apply sculpting to mirrored object I made arm and mirrored it, applied the modifier. Then I started sculpting but symmetry was disabled. How can I apply those sculpting work to the other arm as well. Thanks in advance

In Edit mode go into the header menu > Mesh > Symmetrize, then choose the symmetry axis in the Operator box.


Passes between render layers 2.8 I have a large scene so I want to render it layer by layer and then combine it in compositor. However, separate view layers are not intersecting with each other (for example if sun is on the viewlayer_1, objects from viewlayer_2 are not getting any light). In previous version of Blender everything was easy to set up in Layer settings, but now I can't figure it out...

I guess I found a solution.
In Blender 2.81+ you need to click on the filter icon and chose sphere icon to make options holdout (it will make the pixels that make up the object transparent instead) and indirect only (object won't be rendered, but it will still render the effects this object has on the other in the form of reflections and indirect lighting) visible. It applies both of them to collection.
In steps:

Make option holdout visible in outliner (as descibed above).
Create new view layer (or layers).
On first layer activate holdout (sphere icon) next to all collections which you don't want to be visible.
Repeat step 3 for other layers (chosing of course different collections to be visible).
Use compositor (Alpha over node) to connect layers.


Model Will Not Render I am following a youtube tutorial to make a lightning animation. The youtuber repeatedly quick renders his model and is given a glowing lightning bolt against a black backdrop. However when i quick render the model all i get is a blank, grey screen. I am using the Blender render and have a camera as well as a Hemi light source in the model. I am relatively knew to Blender so apologies if it's a simple question but i desperately need help!

The model before rendering

The rendered model

Make sure the properties of light source is set properly and the light source is allowed to render in outliner


How do i make a 3d model of this logo I am trying to turn this logo into a 3d model, but no matter how I try i cant really figure it out. I am quite new to blender, so excuse my lack of knowledge, but i first tried adding shapes above the image (reference) and trying to re-create it. I came to an issue though with the curves. I was able to manage the circles in the middle, but the other curves, I cant figure out. How do I create "curved" objects such as the ones in the logo so that I can pretty much recreate the logo.

The logo I am trying to recreate:

If you try to recreate the shape, you should begin this way:

Load your image as a background in the 3D view N panel.

As your logo is made of concentric circles, create a circle and extrude it inwards.

Delete all the useless faces.

Create some new circles for the rest of the shape.

Again, delete the useless faces, then join the meshes with some merges (altM).

Move some edges to stick to the logo shape.

Now you need to extrude on the Z axis to give your shape some thickness, create bevel, give it a Subdivision Surface modifier, etc.


Is it possible to set the viewport render maximum resolution when using Cycles? When working on a retina MacBook Pro screen, the cycles viewport renders feel slow compared to a non-retina screen because it's rendering at full retina resolution. While this is sometimes useful, most of the time I'm looking for fast feedback when lighting, so a coarser but faster resolution would be better. Is there a setting or a way to limit the viewport renders to bigger pixels without running the entire application in low resolution?

There isn't really a way to do that yet. You can play with the Start Resolution under the render properties panel to force Cycles to start rendering at a lower resolution, however, it will still eventually progress to a full, retina-resolution render.

Although one could argue that because of the high resolution, it takes less sample iterations to get to a visually 'smooth' image (even though each sample iteration does take longer), so you can probably try lowering the Preview Samples count.


Where do the collections go in 2.8+ when you hit Ctrl-G to make a group? When I press Ctrl-G, the manual says it creates a collection with the selected items.

The screenshot shows my experience: select some meshes, press Ctrl-G, and I get a dialog box at the lower left.... and no other obvious effect. I dug around in the raw blend file using python and found I appear to have been creating collections with these commands, but they don't appear in the outliner? How does one use the hotkey to create a  usable collection?

Okay after a lot of digging it appears that Ctrl-G not creating a usable collection is actually known by the developers: Blender developer discussion thread.

Some of the devs on that thread say it needs to be fixed since the "Create Group" hotkey does nothing perceivable by the user. Others appear to want to leave it the way it is so that it can be used for a new "Common groups" feature when it is implemented. The discussion has been going on for about half a year and the current status appears to be that Ctrl-G does not do what one would expect from reading the documentation. At least I'm not missing something obvious.


How can I make a dark and scratched metal material? I am shaping this watch as a training. I did materials for needles and branchs but i'm stuck for the core watch's material.

I'd like to reflect the light like this :

I use Blender Render for now.
If you can help me, it would be nice ^^

Btw if you have any good tutorial for materials especially those with specular shaders and mirrors. Sry if my english is bad, i'm french :s

Actual rendered view (not full render) :

I have finaly done it with nodes and a hard night :P
Thx for all


How to use index passes in other compositing packages? In Blender there is a 'Mask ID Node' in the 'Compositor' to extract IndexOB or IndexMA of a Multilayer EXR. But how to work with these passes in other compositing packages? In e.g. Nuke or After Effects there is nothing like an ID Node.

To make it work in all other packages you need to manually create custom output channels and append the passes to your Multilayer EXR via Blenders Compositor:

In Nuke you can use J_Ops. With this tool you don't need the additional node setup above. There is a tool called J_GotSomeID which is able to detect such IDs from the EXR Multilayer automatically.

Select the pass (IndexOB or IndexMA)
Set the Selection Mode to Find
To detect the IDs click Autofill


Creating floorplans with blender? Are there any plans to add some basic floor plan features to create architectural plans? Some anotation tools, line styles and maybe a way to render straight on paper format would be amazing.

Blender is a 3d creation tool. It already has everything you need to make any kind of graphics or architectural visualisations including 3d floor plans like this.

If you wish to work with 2d drawings, Blender can produce lines that can be exported as vector formats including dxf, it is also possible to import vector drawings to Blender and there are many modelling functions in Blender that can be used to work with 2d lines(curves or mesh edges). However it is not designed for this kind of work specifically and for this task you may want to use specially designed software because that might be easier. Special 2d CAD drawing software like ArchiCAD or Revit usually has templates, pre-made libraries of standard symbols, ways to print the drawings or save them to PDF and other useful functionality. It is possible to achieve that in Blender, however it will take a lot longer and will most likely be a lot more work if you only need 2d drawings.

There are some add-ons that aim to provide some functionality related to this. You might want to check Blender-Archipack out and search for more add-ons realated to architecture.

As for plans to make Blender into something that could be used for 2d architectural drawings specifically and would have all the expected functionality of 2d CAD software packages there does not seem to be any at Blender Foundation which is the main organisation developing Blender and it is probably unlikely there will ever be such plans as Blender is designed as specifically 3d creation tool and that is very unlikely to change. It is open source however, so there is nothing stopping anyone to take on such a task and make whatever they want from Blender, however there does not seem to be any serious projects like that at the moment.


inverse kinematic animation alignement of mouvement issue I have rigged this elephant mesh with inverse kinematic but when I move the leg with the controler bone, the leg bend inward (my goal is to have a leg that bend along the Y axis).

Here are picture to demonstrate:
Here I have moved the leg...

as you can see the leg moved along the x axis and the knee goes outward

I think the problem comes from the orientation of the bone or maybe the automatic weightpaint and the pole bone, does anyone know how I can fix this ?

Here is the blender scene

First you can see that if you make an altG the armature is completely messed up in rest pose. So you need to correct all this (if you want pole targets in front of the knees in Pose mode by default, put there in front in Edit mode as well).

But first to make things cleaner I would align the bones on the axis with some ctrlN > Global +X axis.

Now select your lowerleg bones in Bone mode and in the IK constraint set their Pole Angle at 0°.

Now if you want the knee to bend more inwards, you need to move the IK Pole Target a bit inwards in Edit mode, pole targets are here for this purpose. You can also move the knees a bit inwards. When you'll switch to Pose mode it will already work better.


How can I make this weaved pattern more realistic? First I apologize for making a kind of similar question to the one asked 6 hours ago. I still feel the need to ask another question because I've successfully modeled the weaved pattern and now I would like to ask about the node setups in Blender to make it more bamboo like.

After apply some color to it, the pattern looks like this:

Needless to say, it looks completely fake, although I tweaked some settings in the Principled BSDF node. I have three questions:

1- Why does my texture look very fake? I can clearly see it looks fake, but can't explain why.

2- Can we use some node setups only in Blender to achieve the bamboo texture? Or must we use some bamboo texture image?

3- If we can use node setups only, what is it? I'm experimenting with noise texture to add roughness on the surface, but achieve no significant result.

I would like to achieve this texture:

My blend file: Chair.blend. The pattern is on layer 2.

First of all you should work on the texture. You can do it procedurally (for example mixing some Wave node textures) but the easiest way to do it is to use a repeatable wood image texture. Then you can duplicate this material and vary the color with a Color > Hue/Saturation node. Don't forget to put a bit of glossiness at the end.


Soft lighting through translucent material in cycles I'm making an interior scene in which all light comes from a window with a curtain. This is an image that shows the effect I'm trying to achieve:

The light source is a plane with an emissive material outside the room. Without the curtain, the scene looks nice. However, I can't find a way to make the scene illuminated and have the curtain look good at the same time.

Here's a scene before the curtain. The only light is an emission plane outside and over the window.

(clik on the images to enlarge)

If we add a translucent curtain we get a lot less light illuminating the room.

Adding transparency will allow more light into the room, but will make the curtain "see-trough".

Controlling the transparency so that is not visible to the camera will make the light come into the room while keeping the translucency of the curtain's material:

By changing the ray depth values you can control how much light comes into the room:

Alternatively

You can just turn the whole curtain into an emission object unseen by the camera:


How do i change the collision box position? As you can see in the picture i have set up a small resized cube and made it a ridgid body however the collision of it is not in the same position as the cube how can i move it to fit?

From the screenshot it looks like the origin is off center (the small yellow dot in the center of the collision bounds box). In object mode select your cube and in the tools panel, under the 'Tools" tab click the 'Set Origin' dropdown and choose 'Origin to Geometry'. That will snap the origin back into the cube where it belongs.


Hide source of particles I want to hide the particle source (tree), but so that the forest itself is displayed. In 3d viewport this works, but only particles of the pie are displayed on the render. The differences are that the tree is used as a collection, the cake is used as an object. But if I use the tree as an object, then it will be without leaves, despite the fact that the leaves are children. I want to just hide the tree, but render the forest.

I solved it this way: I turned off the tree collection on the current layer, but created a new layer and there the tree collection is turned on. Still it’s not comfortable, but that’s all I have


How to insert a keyframe for Mask Point coordinates I'm currently writing an Add-on for Blender 2.8 where I need to change the coordinates of the MaskSplinePoints in the Movie Clip Editor with python. During the script I'm moving along the time line and I want to save the coordinates and handle positions for each point in my mask at every time step. Since MaskSplinePoint inherits bpy_struct.keyframe_insert I thought that I could insert a keyframe for each point with the data_path co, handle_left and handle_right but I'm getting an error I don't know how to handle:
TypeError: bpy_struct.keyframe_insert() could not make path to "co"

My code is executed in def execute of an operator:

def execute(self, context):
    mask = context.space_data.mask
    maskSpline = mask.layers.active.splines[0]
    points = maskSpline.points
    bpy.ops.clip.change_frame(frame=framenum+1)
    ##################
    # in this space I calculate and change the positions for the points
    # Note: I'm also adding/removing points from `points`
    ##################
    # insert keyframe
    for p in points:
        p.keyframe_insert(data_path="co")
    return {'FINISHED'}

Am I doing something wrong? Is there another way to save the state of the mask in time?

It seems like keyframe insertion for masks is exclusively handled by bpy.ops.mask.shape_key_insert() and cannot be done from python in a different manner. This operator only works in the right context (mask open in clip editor or image editor, or mask strip selected in sequence editor) and if the points of your mask are currently selected.


Symmetry not working? so I'm brand new to blender(and 3d programs in general) so I could be missing something obvious, so please forgive me, but I'm trying to sculpt a face in edit mode and symmetry does not seem to be working? I tried to google it but the offered solutions don't seem to be working for me? I made sure to get my object 0,0,0, and I placed my cursor there too? I have X and y symmetry turned on.

Actually you've created a icosphere which, by default, is not created symmetrical on the X axis but on the Y axis, so just rotate it 90° in the Z axis in Edit mode and you're good.


How to add a distortion/roughness on a Vector axis/mask? I have seperated Z-axis from vectors to mask a texture to appear only on faces (normals) facing upwards. This is working this far.

But the masking is linear and "clean". Is there a method to distort this vector "mask"? so that there is some "rough edging" or changes along the Z axis along the mask.

I hope my question makes sense. Thank you for advance.

Building off of my answer here I add in a Noise Texture which creates the distortion.

The three selected nodes are the new ones for the distortion.

From left to right in the image below. The Z component of the normals, the Noise Texture, and the two multiplied together to make the final mask.


How to animate the wrapping and unwrapping motion of rope around a pole like in the game TetherBall I'm still somewhat of a blender noobie but have learned a bunch over the past six months of learning blender. I want to create an animation where a rope wraps around a pole like in the game Tetherball and then it unwraps and rewraps on the opposite side. I've explored using rigid body simulations and rigging bones but everything I've tried up to now hasn't worked. All I really need is just to be pointed in the right direction and I can research it and figure it out on my own. At this point, I just don't know what blender process will lead me to the results I'm looking for. Thanks in advance for your help.
Al

You can use Soft Body physics to achieve this - similar to How to get the physics engine to wraps a string around the moving part of a motor constraint?
Here's a quick example :

The key here was to setup the 'string' as a string of vertices with Soft Body, setup the 'pole' with collision, and use a Wind force at the start of the animation (keyframed to just give an initial 'push' and then stop - with 'flow' set to zero) to give it the initial motion. The Soft Body simulation does the rest.


How to increase light samples for world volumetric scattering only How do I increase volumetric light samples without increasing pathtracing samples for physical surfaces.

I want to improve only that part, that is the samples for the scattering through the medium, not the bounces over textured surfaces in my scenes. Else the render times will bump up too much without being useful.

You can use Branched Path Tracing for doing this:

Number after "Volume" multiply samples of volume on that value


Video Sequence Editor Alpha Over png transparency speed control effect I'm a newbie with Blender and maybe this is a duplicate, but I couldn't figure out how to solve my issue. I'm using v2.69 on Ubuntu 14.04.

I try to make a demo video, where I have a strip on ch1 above a *.png on ch4 which has a text with alpha background. I want to speed up the video while having the text over it. I could speed up by adding the Speed Control effect and separately I am able to add the Alpha Over.

My issue is that if I put both effects, then the speed control is not applied. I found a post about this here but it is still not working:

ch1 my_video
ch2 speed control (blend: over drop; multiply speed:1.5;
other setup default) - effect applied on ch1 strip
ch4 my.png
ch5 alpha over (all default setup) - effect applied on video and
image.

Can somebody tell me how should I set up so both effects are applied? Does it matter the order of applying effects? Do I have to change some setting elsewhere?

I found the solution. Actually, it was easy and very intuitive.
First, I added the video and image strips, in the image strip properties chanced to Blend: Alpha Over and next I add the speed control to the video file (only changed multiplayer property, the others are left default).

No need to add Alpha Over effect separately.


How to make a circular swipe? I'm trying to make a video similar to this one (Made in Adobe After Effects)
https://www.youtube.com/watch?v=YAV5DwR1pU8
But I don't know how to make the circle disappear than reappear with a circular swipe. Any help is GREATLY appreciated.

Here is another way using beveled curves:

Add a Bezier Circle in Object Mode and press Tab to enter Edit Mode.
With all handles selected press V and select Free.
Select only one handle and press AltC to open the circle.
Press ShiftS and choose Cursor to Selected.
Select the handle on the other side of the opening and press E to extrude and Enter to confirm.
Press ShiftS, and choose Selection to Cursor (Offset) to move the handle to the other side.
Rotate the handle by 90 or 270 degress to get a circular shape (R $Axis $Degress), then leave Edit Mode.
Add a Path in Object Mode. To get a closed slice, scale the Path by .5. Otherwise, < .5.
Select the Bezier Circle again. Under Curve Properties - Geometry - Bevel Object select the name of the newly added Path (e.g. NurbsPath).
To animate the slice use the Start and End values (Geometry - Bevel Factor).

This should be the result (animated scale of the Path, Start and End values of the Bevel Factor):

Another way could be using the Array Modifier together with the Curve Modifier to get some line effects (similar to the reference you provided).

Starting from a Bezier Circle and a Plane in the same spot, add both modifiers to the Plane. You can play with the scale of the Plane, count and offset of the Array Modifier to get different effects.

Here some examples:


How to set the default vertex count to added geometry? I wanted to know whether there is a way to set the default amount of vertices of added geometry (Such as default circles and cylinders) ?
Changing the amount from 32 can get quite annoying as I am working quite a lot with subdivision modeling...

AFAIK it's already hardcoded into Blender, set as default value for each operators creating primitive objects like a circle. One way to get around this is to add new menu to access these operators, but with different default value. I made a sample code below, also downloadable here.

When this code is put to a file, opened in Blender's text area and executed, or installed as an addon (after uncommenting bl_info block), it will insert a new submenu to Add, containing some primitive operators but with different default value upon execution:

There might be simpler ways, but this is the only workaround I know.

import bpy

# bl_info = {
#     "name": "Low Vertex Count Objects",
#     "author": "",
#     "version": (1, 0),
#     "blender": (2, 63, 0),
#     "location": "View3D > Add",
#     "description": "Add primitive object with low initial vertex count",
#     "warning": "",
#     "wiki_url": "",
#     "tracker_url": "",
#     "category": "Add Mesh"}

def custom_object_add(self, context):
    layout = self.layout
    layout.menu("INFO_MT_low_vertex_mesh_add", icon='PLUGIN')

class INFO_MT_low_vertex_mesh_add(bpy.types.Menu):
    bl_idname = "INFO_MT_low_vertex_mesh_add"
    bl_label = "Low Vertex Mesh"

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

        prop = layout.operator("mesh.primitive_circle_add", icon='MESH_CIRCLE', text="Circle (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_cone_add", icon='MESH_CONE', text="Cone (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_cylinder_add", icon='MESH_CYLINDER', text="Cylinder (12)")
        prop.vertices = 12

        prop = layout.operator("mesh.primitive_uv_sphere_add", icon='MESH_UVSPHERE', text="UV Sphere (8x4)")
        prop.segments = 8
        prop.ring_count = 4

def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_add.append(custom_object_add)

def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_add.remove(custom_object_add)

if __name__ == '__main__':
    register()


Copy / paste does not work in 3d viewport Suddenly, copy and paste stopped working in 3d viewport
But it works fine in the object manager (list of objects), shader edotor, text fields, even in transform field in 3d viewport. I tried to restart blender, windows. Try to opena nackup file, create a new file. Nothing helped
Has anyone encountered such a problem?

The problem solved. I completely delete Blender and all my settings (and clean up regisrty). After all i installed new Blender 2.91 - it works.
Previously, simple uninstalling Blender did not help


Lighting just selected objects I have multiple objects in my scene and I have multiple light sources in it. How can I make that a certain light source affects just one selected object so it doesn't affect other objects in the scene? My render engine is Cycles.

This feature is known as Light Linking, and it doesn't exist in Blender as of 2.81a

There is a todo item to include this in the future: https://developer.blender.org/T68915

What you can do is render in multiple view layers with only certain objects and lights together in a layer. Create multiple view layers, and enable/disable collections to include them in the view layer. The arrow icon sets a collection to 'indirect only', so the object itself is invisible, but it still contributes bounce lighting.

After rendering, the view layers need to be combined in the compositor.


pointing linked objects to a different file in 2.8+ I've got individual files for each asst in my scene, and one file for the master scene with everything in it. In the master scene I'm linking in objects from the individual files by doing "file > Link..." and selecting a file and which object to import from it.

Questions:

selecting on object in my master scene, how can I see which file path it is being linked from?
having an object linked from e.g. 'myAsset_v002.blend', how can I make it link to 'myAsset_v004.blend' once I've worked on and detailed that asset?

Note:

this is not a question about broken relative links
I've found the 'Edit Linked Library' Add-On, which is pretty much the workflow I'm after. It even show's the path of the linked file. Only thing is it's editing the linked file in place without the ability to version up / link to a different file.

Thanks for your help!

Linking to version numbered files is a bad practice and not very maintainable in the long run as you have already found out.

My advice is to never link to myAsset_v002.blend or myAsset_v004.blend, instead when you edit a library file always save "masters files" of all your libraries in addition to the revision ones named myAsset.blend (without version numbers) and link to that one instead. Otherwise you will spend more time managing libraries than getting actual work done.

Addressing the issue at hand you can switch the Outliner to Blend File mode from the dropdown, locate the desired file you which to remap, and from the Right-Click menu choose the Relocate option. Browse to the new substitution file.

You can't, as far as I can tell, quickly select all objects originating from the same blend file, but you can select all objects sharing the same datablock.

In the 3D view you can select all instances on a certain object-data by selecting one of them and from the Shift + L Select Linked menu then picking the relevant entry depending on the library type (if it was linked directly as an object, or a collection instance).

You can take advantage of that and after linking in a new library from a different file, re-link all selected ones using the Ctrl + L Make Links menu, choosing once again the appropriate option depending on the library type.


printable keyboard shortcuts Is there a good printable keyboard shortcut sheet (that looks like a keyboard) for Blender 2.75? I found a really nice one here: Blender 2.4 Hotkeys, but that was created for version 2.4 in 2005... and 10 years is a long time to not update key bindings/interface. Is it still good or is there a nice, printable (aka won't kill an entire ink cartridge) version somewhere else? A Google search doesn't really give me anything above 2.6 or that's economically printable.

is https://wiki.blender.org/uploads/1/14/Keyboardlayout_250.png no good printed in greyscale / low quality?

Alternatively tufts has a nicely compiled (but incomplete) list of shortcuts per area:   http://ocw.tufts.edu/data/71/1717950.pdf
The tufts shortcuts might be handier as it doesn't try to cram all info onto a few keys which change depending on mode anyway. Unfortunately it doesn't list some of the more useful key combos ( vertex-slide Shift + V)


Animating keyframes not working So I had my rig and everything all set up and I played around with the animation and it was working fine, then I went to start on an actual proper animation and now it doesn't want to transition. Yes it's set at framerate 0 and yes I'm pressing play and selecting all when adding the keyframes but it also doesn't come up with the drop down menu to select locrotscale when pressing i, it just says that the keyframes have been added and that's it. I've fiddled with it for a while and it still doesn't want to transition

Bottom right in the keyframes section you've selected location, remove that you will get the menu when used I key on the keyboard


how to change the location of all keyframes in blender timeline at once I have an animation that has 129 frames. My problem is that the rotation and location of the object are not right.

I want to change the location and rotation of all 129 frames at once.
I tried setting them one by one to each frame but it takes some time.

The location that I'm looking to apply is (G + X + 2) and the rotation is (R + Z + 3.5).

Gratefully Amirreza.

Use the Graph Editor:

Enable the Only Include Channels option (little arrow button) so that you'll only see the curve related to the selected object.
Select your object in the 3D view, unfold the tracks in the Graph Editor.
Lock all the locks. Only open the one you want. Or select the track you want and ShiftH to hide all the others. Or use the search field to only display the wanted tracks.
Select the curve and move it manually or with the value you want, then Enter. To move the curve vertically press GY, horizontally press GX


Rendering scene background in only some frames of an animation Is there any way to render a specific scene, say the background, during only the second half of an animation while the foreground renders the entire time? For example in a 100 frame clip could I get the foreground rendering for all 100 frames but have the background only render out for frames 60-100? I'm using cycles render.

You can animate the renderability of the objects that are "background", pressing "I" while hoovering on the camera icon of an object or an entire collection.


How to access the list of volume grids using python? I wanted to access the attributes imported with a vdb file but I have no idea how to do that.
Actually what I was trying to do is - In the attribute node in material for the vdb file I wanted to get it from the attributes loaded with the file, and for that suppose I would like to check if the temperature attribute is present or not if it is present fill that in attribute node and if not check for heat attribute and do the same for this also and if this is also not found a check for flames attribute.

Please can anyone tell me how to do this?

Recommend use the python console to figure out the path, especially for new and undocumented properties. ObjectData.grids collection holds all the data (fields) you're searching for:

>>> C.object.data.grids.items()
[(0, bpy.data.volumes['Object_Name']...VolumeGrid),
 (1, bpy.data.volumes['Object_Name']...VolumeGrid),
 (2, bpy.data.volumes['Object_Name']...VolumeGrid),
 ...

To get the name for each field, use a for-loop:

>>> for field in C.object.data.grids:
...    print (field.name)
...
density
fuel
heat
temperature
vel.x
vel.y
vel.z

Or a list comprehension to collect the names for your shader setup:

>>> [field.name for field in C.object.data.grids]
['density', 'fuel', 'heat', 'temperature', 'vel.x', 'vel.y', 'vel_z']

Example script on how to check whether there is a certain field (density, fuel, heat etc.):

import bpy

C = bpy.context

for field in C.object.data.grids:
    if field.name == "density":
        print ("Got density")
    else:
        print ("No density field")


How can I copy part of a texture to another part of the same texture? Specifically I have an object that is symmetrical in shape, so the UVs are the same and I would like to copy part of the texture to another place of the UV map so that I can put in different details on each of them but use the same starting textures. Here's a screenshot to help clarify what I'm wanting to copy.

Activate the Magic UV addon

After unwrapping the mesh

Select a single face and set the face with the uv texture.

Press U and you get the extra option with UV Magic Addon below

Select Copy/Paste UV -> Copy UV- Default

Then select the face you want to paste or face with similar texture on other
side

Press U

Select Copy/Paste UV -> Paste UV- Default


Is it possible to export a program created with the animation node as a python script? Is it possible to export a program created with the animation node as a python script?

I would like to convert an animation node into a python script.

I am not familiar with Python script, so I would like to do it automatically if possible, but you can do it manually.

Animation Nodes provide operators that provides the execution code of the current node tree. You can find that operator under the Developer panel, by pressing the Write button, the execution code of the selected node tree is written to a text block called Execution Code. For instance, the following node tree:

Have an execution code:

import numpy, sys, bpy
import itertools
from time import perf_counter as getCurrentTime
from mathutils import Vector, Matrix, Quaternion, Euler
AN = animation_nodes = sys.modules.get('animation_nodes')
from animation_nodes.data_structures import *
from animation_nodes import algorithms

nodes = bpy.data.node_groups['NodeTree'].nodes
_y52bwsmno0e080h = nodes['Random Vector']
_csk7p8pg5vv2v5d = nodes['Vector Math']
_8aspl5k05rbhwxn = nodes['Separate Vector']
_seed_y520 = _y52bwsmno0e080h.inputs[0].getValue()
_scale_y521 = _y52bwsmno0e080h.inputs[1].getValue()

# Node: 'NodeTree' - 'Random Vector'
_seed = _seed_y520 + 25642 * _y52bwsmno0e080h.nodeSeed
_randomVector_y522 = algorithms.random.getRandom3DVector(_seed, _scale_y521)

# Node: 'NodeTree' - 'Vector Math'
_result_csk1 = Vector((abs(_randomVector_y522[0]), abs(_randomVector_y522[1]), abs(_randomVector_y522[2])))

# Node: 'NodeTree' - 'Separate Vector'
_x_8as1 = _result_csk1[0]

# Node: 'NodeTree' - 'Viewer'
_38xn88352kup1e3.execute(_x_8as1)

Notice that variables like _seed_y520 and _scale_y521 needs to be substituted with the seed and scale of the Random Vector node respectively.

Another example, a subprograms like this group:

Have an execution code:

import math, numpy, sys, bpy
import itertools
from time import perf_counter as getCurrentTime
from mathutils import Vector, Matrix, Quaternion, Euler
AN = animation_nodes = sys.modules.get('animation_nodes')
from animation_nodes.data_structures import *
from animation_nodes import algorithms

nodes = bpy.data.node_groups['NodeTree'].nodes
_o7ggcrgv1v0zeqz = nodes['Group Input']
_71b912e7wlqq8tj = nodes['Float Math']
_uyl54rvlbgh0b0p = nodes['Group Output']
_b_71b1 = _71b912e7wlqq8tj.inputs[1].getValue()
__socket_False_1_uyl = None

def main(group_input_0):
    global _b_71b1

    # Node: 'NodeTree' - 'Float Math'
    _result_71b2 = group_input_0 + _b_71b1

    return _result_71b2

The output code will not work out of the box as you might expect it, it depends on the animation_nodes module, functions defined by subprograms as well as values defined in the node tree interface.