rotating an empty , different results After watching this simple tutorial , I am a bit puzzled .
There is a subdivided plane which takes an empty as rotation point for a simple deform (bend modifier )
IN the screenshot you see two identical set-ups , with the only difference that the second empty (right of screen ) is rotated 90 degrees across the x and y axis .
So the .
Then a simple deform bend modifier , for the first one it is rotated around the z -axis of the empty ( non rotated empty )
The second set-up is rotated around the x-axis of the empty ( the rotated one )
I am puzzled why the results are different , in the rotated empty the z-axis just becomes the x-axis ...and this is used as a rotation point instead .
Why does a rotated empty gives different results , when the direction of the axises are respected in the modifier ?
Here's a link to the video
https://www.youtube.com/watch?v=Lr49AyeM8p4&lc=z22afzo44v2bi554b04t1aokgz2rts5gnnurkbgriygybk0h00410.1554165781037170

Empirical answer

Simple deform modifier is far from simple in my opinion and there is always to learn about it. Here the subject is the bend mode.

In a basic mode with no empty, we can note that when an axis is chosen the modifier work if the object as an elongation against the two other axis.

For instance, with here 45°:

A subdivided grid elongated in X and Y (flat in Z), will produce a result if the modifier axis is Z, but nothing if it is X or Y (because for X or Y, there is no Z elongation):

Secondly, the way this elongation is considered for Z axis here, is to Y. What I mean is the elongation is projected around a center on Y:

And for a 1 by 1 unit grid, this center is along Y at 1 / angle

Left here, the grid, center 45° (pi/4), right, 360° (2pi):

OK, I think all the main rules are there:

Depending on the axis, the mesh need to have an elongation in the other axis
The bend is calculated around a center on Y which is at 1 / angle (if the elongation is 1)

Now still considering the axis from the object itself, we have below two grids, both set on X axis with a 360° angle.

On left, the mesh is rotated a bit, on right it is rotated to 90° (so that the elongation on Z is maximum and we obtain a circle).

The circle was expected as the angle is 360°.

But why this spiral with another angle?

What is happening is that each side of the grid (as its origin point is centered) is participating to the bending. But as the several vertices are not placed equally to the Y axis which leads the center point of the bending, each of these vertices as its own projected center point on Y.

The circle is finally obtained if we rotate the mesh so that (again) the elongation is maximum.

Now, what if we use an empty as origin?

We can see we have nearly the same thing:

In edit mode, previously, the Y axis was still the one of the mesh.

Here, the modifier considers to project the center on the Y axis of the empty.

Summary

Consider the Y axis (of the object itself or the one of the empty) to locate the center.

Consider the axis used/defined in the modifier panel (of the object itself or the one of the empty) to know around what the bending will operate.


How to define context for a script? I am currently writing a script that creates nodes in the Node Editor. One of the core issues I am having is understanding how to convert my script into an add-on. In my previous question I got some good, although vague responses on how to use context properly.

What is the context? Is it different from getting the active material via bpy.context.active_object.active_material.name? Should I be using a poll method?

I understand your problem.

When you load your script as an addon, it reads the scripts when loading blender. Thus the scripts register the the bpy.context.active_object = the active object when the addon is loader. Thus it does not point to the actual bpy.context.active_object when you run the operator.

For instance your makeLink(var1, var2, var3, var4): reference the link object which is the link of the node_three of the material of the active object when the addons was enable. Which may be not the one you want to modify. I hope your understand your mistake.

To solve your problem, you need to modify every function you made to be context sensitive. For instance, your main function should take as argument the context variable of the operator. (BTW the main class should'nt be a class but a functon, i.e. def main(...) instead of class main() ).

Then in the main function you should now declare the the mat_name, the node_tree, the links,... (everything that you declare at the beginning of your script)

def main(context):
    mat_name = context.active_object.active_material.name
    mat = (bpy.data.materials.get(mat_name) or bpy.data.materials.new(mat_name))
    mat.use_nodes = True

    nt = mat.node_tree
    nodes = nt.nodes
    links = nt.links

    while (nodes): nodes.remove(nodes[0])

    createNodes(nodes)
    ...

But then you also need to modify every function you have since the need to point to the correct variable. For instance the make link should be:

def makeLink(links, var1, var2, var3, var4):
    """
    Creates a link between a Material Node's output,
    and another Material Node's input.
    args follow the order: Output Node Name, Socket Name, Input Node Name, Socket Name
    """

    links.new(var1.inputs[var2], var3.outputs[var4])

def createNodes(nodes):
    link = nodes.link;
    output = nodes.new("ShaderNodeOutputMaterial")
    principled = nodes.new ("ShaderNodeBsdfPrincipled")
    mapping = nodes.new("ShaderNodeMapping")
    texCoord = nodes.new("ShaderNodeTexCoord")
    colorMap = nodes.new("ShaderNodeTexImage")
    normalMap = nodes.new("ShaderNodeTexImage")
    roughMap = nodes.new("ShaderNodeTexImage")#.color_space = 'NONE'

    mainTexCoord = [ node for node in mat.node_tree.nodes if node.bl_idname=="ShaderNodeTexCoord"]
    # python list comprehension filters the list of nodes down to the ones that match the right bl_idname
    texCoordinateNode = mainTexCoord[0]

    #Image Texture Node Image
    colorMap.image = bpy.data.images.load(image_path)
    normalMap.image = bpy.data.images.load(image_path2)
    roughMap.image = bpy.data.images.load(image_path2)

    makeLink(output, 'Surface', principled, 'BSDF')
    makeLink(mapping, 'Vector', texCoordinateNode, 'UV')

    makeLink(principled, 'Base Color', colorMap, 'Color')
    makeLink(colorMap, 'Vector', mapping, 'Vector')

    makeLink(principled, 'Normal', normalMap, 'Color')
    makeLink(normalMap, 'Vector', mapping, 'Vector')

    makeLink(principled, "Metallic", roughMap, 'Color')
    makeLink(roughMap, 'Vector', mapping, 'Vector')

Then the operator should be like this:

class QuickLayout(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "myops.quick_layout"
    bl_label = "Quick PBR Layout"
    def execute(self, context):
        main(context)
        self.report({'INFO'}, "Layout Complete!")
        return {'FINISHED'}

I hope you understood where the problem was.

Cheers


I installed blender on linux, and by default OpenImageDenoise is not enabled, how to enable it? Like the title states, i have installed blender on linux and everything works fine, except for the OpenImageDenoise, i am sure that my computer does support that feature as when i use blender on windows it works fine, why does it not work on the linux version?
The node is there but it just says "disabled, built without openimagedenoise"

In my case, I was getting this error on Ubuntu. I went to the Ubuntu Software app and realized there were two Blender packages, and the one I had installed was from the ubuntu-groovy-universe source, which was on an old version. Use the one from the snapcraft.io source. Switching made this work for me.


How to smooth shade an object while retaining hard edges? I frequently come to the problem of having a mesh with parts I would like to render smooth and "hard" edges connecting them.

How can I set the mesh to show the sharp edges but render everything else smooth?

In the example I would like the sides of the individual cylinders render smooth but the intersection between bottom and top to be sharp/flat

There are a few ways to do this but the quickest and most efficient (in your case here) is to just smooth it the same way, using Shade Smooth and then adding an Edge Split modifier to the mesh.

From the wiki

  The EdgeSplit modifier splits edges within a mesh. The edges to split
  can be determined from the edge angle (i.e. angle between faces
  forming this edge), and/or edges marked as sharp.

  Splitting an edge affects vertex normal generation at that edge,
  making the edge appear sharp. Hence, this modifier can be used to
  achieve the same effect as the Autosmooth button, making edges appear
  sharp when their angle is above a certain threshold. It can also be
  used for manual control of the smoothing process, where the user
  defines which edges should appear smooth or sharp

Here it is as you have it above..

With the modifier added

Additionally, you can see some more tips here for getting good quality on hard surface models. BlenderCookie has a tutorial (archived) on getting nice sharp edges.


Smoke shows on render, Fire doesn't Good day! I am having a problem wherein fire does not render. I followed a smoke and fire simulation on YouTube. Followed everything in his tutorial. However, the fire in my scene does not render at all. I wanted it to look like rocket thrusters. As of now, this is what I currently have for my Smoke Domain material.

I temporarily set the smoke to 0 because it may be blocking the flame. I've provided the screenshots where the smoke is enabled and disabled. (Forgive the quality of the rendered images, I lowered down the samples to quickly render the image.

And for my scene, this is what it looks like.

I am rendering it using GPU compute. If there's anything missing in the  current scene setup, just ask for it and i'll provide the necessary requirements. I tried searching for solutions but nothing worked out for me. Thank you and have a nice day!

Attribute nodes are case-sensitive, if you change "Flame" to "flame", that should correct the issue!


Why can't I convert object to Grease Pencil? I want to convert my mesh object to grease pencil, and this may be a glitch but when I go to convert to--> it says convert to grease pencil from curve, not from mesh. I've done some research and whenever there is a tutorial on how to convert mesh to grease pencil everyone has the option to convert to grease pencil from curve/mesh, not just from a curve. Also, I have tried first converting mesh to curve and then converting curve to grease pencil but it doesn't work. Am I missing an add-on or is it something else?

I have attatched the .blend file here  and I have added a default cube with no converting done with it yet. Maybe there is something wrong in my settings.
UPDATE: I upgraded to the newest Blender (2.92) and it works perfect since there is only one option for convert to Grease Pencil. Still not sure why it doesn't work in version 2.9 for me though...

Actually, even though it says mesh, it only converts it to curve no matter what. But, you could convert the mesh to curve. Then, you can convert the curve to a grease pencil. It's the same thing, the thing is there's just an extra step.


turn multiple scripts into addon I have multiple scripts that i would like to turn into an addon. I already have everything it needs, but i when i click the button to enable the addon in the user preferences it says:

  bpy.utils.register_class(SCAPANEL)
  ValueError: register_class(...): already registered as a subclass

I imported every other file I need via from .example import example and put these files in one folder. I even looked up other blender addons, but that didn't help either.

Edit:

def register():
   bpy.utils.register_class(SCAPANEL)
   bpy.utils.register_class(SCA)
   bpy.utils.register_class(Skin)
   bpy.utils.register_class(removeDoubles)
   bpy.utils.register_class(thin)
   bpy.types.Scene.Tree = bpy.props.StringProperty()
   bpy.utils.register_class(particlesystem)
   bpy.types.Scene.Growth_limitation = bpy.props.BoolProperty()
   bpy.types.Scene.limiter = bpy.props.StringProperty()

def unregister():
   bpy.utils.unregister_class(SCAPANEL)
   bpy.utils.unregister_class(SCA)
   bpy.utils.unregister_class(Skin)
   bpy.utils.unregister_class(removeDoubles)
   bpy.utils.unregister_class(thin)
   bpy.utils.unregister_class(particlesystem)
   del bpy.types.Object.Tree
   del bpy.types.Object.Growth_limitation
   del bpy.types.Object.limiter

register()

These are only the register and unregister functions. I noticed that my panels sitll shows up, even though the box is not ticked. When I try to execute my script it says, that it cannot perform a relative import.

Enabling an addon calls register
The issue in new code posted is the lack of
if __name__ == "__main__":
     register()

(pretty much ubiquitous in all blender addons and UI code etc etc, or for python command line scripts) Without this conditional register() will be run on import (Worth noting on import __name__ is the module name, ie not matching "__main__").
When an addon is enabled it is imported and calls its module.register() Henceforth your code is registering a second time and throws the error on the first class registered in register method.
The conditional code is there so scripts can be tested in the text editor.
Note: another thing to look for:  for registered classes the bl_idname property is how they are known to blender.


Store and keep the value of a number through loops in an animation node loop I would like to know if there is a way i could store a number through animation node loops, to incrementially add some value to it, without it beeing reinitialized every loop.

There is.

The Reassign Loop Parameter node allows you to pass a value to the next iteration of the loop. You can create it in the advanced settings of the Loop Input node.

In this example I also made it so that the Sum socket is an output of the loop instead of an input.


Background in the 3D view appears black instead of transparent When in the rendered shading view the background is normally transparent, but all of a sudden it turned black. I don't know if I accidentally pushed a button, and I don't know how to turn in back to transparent.

The Transparent Film option is checked in the render properties panel.
What did I miss?

You appear to have a background image which is being displayed under the viewport render. If you disable it in 3D view > Properties region (N) > Background Images, the transparent background is visible once more:


Nurbs path doesn't go fully closed When I create a NURBs path and try to add depth and resolution to it it creates half a cylinder rather than a full one... Any idea what's causing that??

You need to change the Fill Mode from the Properties Window > Object Data > Shape > Fill Mode.

This will vary depending on whether your curve is set to 2D or 3D. Either set it to Full for 3D, or None for 2D.


Object Light Emission - only on certain surfaces noob here.
I am successfully applied light emission on a object - that object however is somewhat a merger of several objects made with CAD software and imported as STL.

long story short, I can either split that object which will be (for me) rather complicated due to the geometry of the part, or cheat (if possible) and only apply the light emission material to certain surfaces of that object.

Is there a way to do that? right now the whole object is glowing and I would like to limit the glow to certain surface of that object.

thanks!

You can have a object with multiple material.
In the material panel, there is a small '+' icon on the right, to add a new material slot. And define the second material you want to use.

Now got to edit mode (Tab), and select the faces you want for this secondary material. Then in the material panel hit assign.

However, this does not the change that it will be cumbersome for you the select the correct part of your CAD.

Maybe it's will be easier for you to split your CAD data in various file (or group some pieces in one file) and then in you CAD software export various STL file. Then you'll just have to set a meterial per STL file.


How to select and move multiple vertices I'm wondering how to select and move multiple vertices. Since it is a 3d shape but I'm going off a picture that I'm tracing. I just don't want to manually select each vertex each time.

There are multiple ways of doing this told below:
Box select: press the B key and you can click and drag a square that will select everything inside.

Circle select: press the C key, and your mouse will change to a circle, anything clicked inside the circle will be selected.

Holding shift: You can manually select vertices while holding Shift down to keep the previous selections as well.

Select Linked: With one vertex selected of an object and pressing CtrlL you will select the whole object itself that is part of that one vertices you selected at the start.

It seems you are a beginner these option should be enough and to get you started, then you can use the transformation manipulators (using arrows on the screen) or press the G while selected to move it as well.


Color beveled nurbs path according to the x-y-direction in the final camera view My question is very similar to this one, but the answers there don't capture the essence of the problem imo. Assume you have beveled paths in Blender, then every location on the path has a tangent vector that points in the direction of the path.

In the coordinate system of the camera, assuming the z-axis is our viewing direction, we are only interested in the x-y-portion of the tangential vectors. What you want to achieve is that path-parts that go into the same x-y-direction have the same coloring. This also means that a vector that points into the opposite direction another vector, will get the same color.

For people working with visualizations of vector fields, this is nothing new and besides coloring the magnitude of the vectors, one major application. A good test-case is a ring viewed from above because it contains all directions and one can easily check the correct coloring. I came up with the following solution in Blender 2.81

This is a simple nurbs-circle. I used the Geometry node to get the tangent vector and after converting the coordinate system, one can calculate the direction using trigonometry. I have 3 questions, but the first one is the major problem I'm trying to understand:

In the small rendered view, one sees that on the blue and red spots, it almost looks as if the coloring changes too fast. It doesn't look so severe in the preview but I have the feeling that the color between blue and red on the left side takes a too large portion. Did I do something wrong or is there a reason for that?
Is there a simpler node-structure that achieves the same?
Is it a bug that the "Hue Saturation Value" doesn't work if the second color doesn't have the saturation set to max?

That's a beautiful node setting. I will try to explain some problem first:

You shouldn't use emission shader for your output, if the output is Color and you want that color directly show on your screen, please directly connect the Color socket to Output Surface socket. This post elaborated more detail of color output setting
What you mean too fast? Human color perception is complicated, we try a lot, a lot of method to describe and organize color: sRGB, Adobe RGB, NTSC, CMYK or even Pantone®. Blender using sRGB as default output color and if my memory is correct, purple will be strongly receive for our eye in normal sRGB situation, Blender is using this solution as standard.

Back to your question:

Change the color management in properties panel, View Transform: Raw
Not sure, emission is useless in your situation, and the final subtract node can be done by changing the HSV node color
Directly connect the color to the output surface socket should fix the problem. Emission is not final color output for Cycle and EEVEE.


How to translate plane coordinates x,y to equirectangular? I have a procedural texture with a circle made by formula X ** 2 + Y ** 2 < R ** 2. It looks like a circle on a plane.
But if I try to use this formula in the World environment - the circle is distorted.

How to convert XY coordinates in the formula to the equirectangular coordinates to have the clear circle in the environment?

It's not about especially for the circle, I need to have the formula to translate any procedurally generated plane texture to equirectangular.

It seems to me, that the number, that used in Power node is not exactly equals 2. It can be like 2.0001, but in widget it rounds 2. Why is important? Coordinates are in range -1 ... 1 so part of coordinates are negative. And raising a negative number to a fractional degree is impossible (because of math), so it brakes the resulted circle.

Equals 2:

Does not equal 2:


Mirror modifier. Mirrored half is not aligned, but rotated I was working on my character's hand when I realized half of the body was suddenly deleted. I am trying to recreate the other half, but it just won't mirror properly in the center. I tried moving the origin to the 3D cursor while it was completely centered, but the mirror modifier is still applied at an angle.

What you are seeing is caused by not applied transforms, specifically rotation. Since the mirror modifier mirrors along the local axis by default, it is not mirroring as desired. What you can do is apply the rotation using Ctrl+A > Rotation. This will set the local axis orientation the same as the global axis, and should solve your issue.


Cut mesh in half with filled faces? I would like to cut this mesh into two parts where the Plane is located and have the resulting openings filled. I've tried the knife tool and bisect but I can't figure out how to execute either of them. I did see a similar question here maybe a year ago but I can't find it. Thanks in advance!

EDIT:
Here is the result I am after (I did this by hand).

Previous answers will work, but two other options need to be given.
1. Booltool addon - add a Solidify modifier to the Plane object, and then shift-select your target object and choose Difference bool brush.
2. With all the faces selected, you can use Shift-K to draw the knife tool through the mesh in edit mode so that it creates a cut even through odd ngons. After, you can select this new loop and use V to rip and then select one side and separate like explained before.


Is there a way to reset the seed of random material in Blender 2.8 Viewport? In the 3d-view workspace, we can use a random color to give our separated object a distinct look.

What if I don't like the result and I want to randomize the color again?

Swapping the setting doesn't change the random seed in color.

(Blender 2.80.64.)

There is non as far as I know, at least currently though it would definitely be a very desirable feature, along with customizing the color ramp used to color them.
It does seem to use the same technique employed by the Random output socket of the Object Info shader node uses, which is uses object name as unique identifier.
So while you can't just randomize the global solution easily, or on several objects at once, it does seem to respond directly to object name changes, like the shader tree version.
That means if you rename your object it will change colors. It is trial and error process, since you don't have direct control over which color is assigned, but as a workaround you can iteratively change names until a color that pleases you is assigned.

If you like to keep your scene organized or dislike random names, you can still keep your names descriptive by appending some random string or number at the end to force change the assigned hash like my object 001 or my object #afhpo.


How to delete all objects/cameras/meshes/etc. using Python scripting? I have a Blender Python script that uses a loop to sequentially load and render viewpoints of multiple OBJ files that I generally try to run from the command line. However, if I have Blender open, eventually it starts using up more and more memory and things will crash for processing a large amount of OBJ files. I've gone through several Stack Overflow answers to figure out how to delete the OBJ files I'm importing as well as the camera settings and such that I set for each viewpoint render, but none of them seem to delete everything. I've tried the following answers:
https://blender.stackexchange.com/a/101319/103462
and https://blender.stackexchange.com/a/27235/103462
However, each time I hit run on my script, the stats under "Current File" keep going up, thus progressively increasing memory usage:

How do I clear out those camera, material, mesh, objects, etc. for each iteration of processing loop?
My code is located here: https://pastebin.com/HDxQKByY

Here is a function that can do for you.
Note, the passage on the group node is multi-pass, as the group nodes can contain other group nodes in turn, so a single pass is not sufficient in that case
import bpy

def mega_purge():
    orphan_ob = [o for o in bpy.data.objects if not o.users]
    while orphan_ob:
        bpy.data.objects.remove(orphan_ob.pop())

    orphan_mesh = [m for m in bpy.data.meshes if not m.users]
    while orphan_mesh:
        bpy.data.meshes.remove(orphan_mesh.pop())

    orphan_mat = [m for m in bpy.data.materials if not m.users]
    while orphan_mat:
        bpy.data.materials.remove(orphan_mat.pop())

    def purge_node_groups():
        orphan_node_group = [g for g in bpy.data.node_groups if not g.users]
        while orphan_node_group:
            bpy.data.node_groups.remove(orphan_node_group.pop())
        if [g for g in bpy.data.node_groups if not g.users]: purge_node_groups()
    purge_node_groups()

    orphan_texture = [t for t in bpy.data.textures if not t.users]
    while orphan_texture:
        bpy.data.textures.remove(orphan_texture.pop())

    orphan_images = [i for i in bpy.data.images if not i.users]
    while orphan_images:
        bpy.data.images.remove(orphan_images.pop())

    orphan_cameras = [c for c in bpy.data.cameras if not c.users]
    while orphan_cameras :
        bpy.data.cameras.remove(orphan_cameras.pop())

mega_purge() #call the function

Note:
You can put many other things into this function
for example bpy.data.scenes, bpy.data.lights etc. in the same way you see this function structured.
Another important thing is the hierarchy of this cleanup, if we started with deleting a Material, it wouldn't work. Even worse if starting from an image.
This is because the image can be linked to a material or texture, and as long as the material or texture is not deleted, it will turn out that that image is still linked to something so it will not be deleted.


Weird normal map behavior Any idea why is there weird lighting around the silhouette of the object? A normal map baked from high poly version is applied on this low poly model.

These artefacts only occur on the silhouette.

Either you forgot to set the color space of your image texture node to non-color data, either you obtained a normal map in DirectX format instead of OpenGL format, in which case you need to invert the Y channel of your normal map:


How to evenly unwrap / texture long extruded objects with folds and uneven segments? I've some difficulties to find a satisfactory unwrap solution for this kind of long angled object with uneven segments:

I'm only interested in the brown faces which are delimited by two seams.

The solution must preserve the relative length of each straight segment, so that the texture containing a repeated pattern can be mapped evenly on the whole length (the sample is a ceramic baseboard).

Here is the result with a cube projection and a checker texture, other methods provide different results, but the distortion is always present:

I can't find a solution, except purely manual, to create the UV map while ensuring all segments:

Are oriented in the same direction on the map,
Have their length proportional to their actual size, to prevent texture distortion.

These constraints seem quite common, is there a standard approach?

Intuitively, I'm expecting the most simple method to lead to overlapping variable length rectangles, in the same direction, anchored at a corner (or a very large single rectangle).

First step:

See the different values under "Scale" on the right side?
Your model is stretched in different directions.

for unwrapping to work correctly, apply the scale (the numbers for x,y and z should all be 1).
select your object -> ctrl+a -> Apply Scale

Next

As you don't care about the blue backside, create a seam on the outside of the blue Part.
alt+shift+rmb might help a lot in edge select mode (shift+tab).

If you unwrap now, the image will still be distorted. so we need to add one more little step:

We need to create seems in every corner. You don't need to go all the way to the bottom though – only as long as the tilted faces on the top go. This way your texture is continuous all the way through (you might or might not want that – if you don't, extend the seams to the bottom).

now select everything -> u -> unwrap

depending on the project i often get better results if I change the unwrapping method to "conformal" on the left panel.

The final UV in the Image Editor (The blue backsides on the bottom aren't 100% straight, but you don't care, right?):

And the Object in Material View:

Let me know, if you have any questions.


Physics Colliders Explode Array of Blocks Prematurely I'm starting to play with collision physics in Blender 2.82 and have created the test array of blocks that can be downloaded from
https://drive.google.com/file/d/1yMamDjInBclLC0ebdKVlnSzI_K7b8Wqq
Problem is that the array explodes immediately after Blender calculates the first frame. I've tried several different physics settings and have researched the net - both to no avail.
I suspect this has something to do with the Array modifier. Can someone tell me how fix this?

I did not allow enough space between blocs.


Halo/border in masked images This question is related to: http://blender.stackexchange.com/questions/67346/where-do-the-white-lines-come-from-in-my-composite

The solution in the above link solves for 2 render layers. I am trying to find a more generic solution that can be applied to any number of Render Layers. Below is the node structure of a shoe model that has 4 Render Layers. I have tried many variations and the closest that I could get is the one below:

To give a context, the above node structure renders masked images of shoe parts. These images are then used by a web application, which stitches and displays to the user.

The problem that I am facing is, when the images are stitched, a Halo / transparent line / border appears in between the stitched areas. For instance, I am getting a gray border inbetween 2 stitched images as shown below:

Is there a generic solution that can get rid of the border issue, which can be extended to any number of render layers.

You're in the right track, but the implementation is wrong.

Your screenshot shows that you're combining pairs of plates together, and mix the result with an alpha over node, and that's not correct.
What you have to do here is add ALL the plates together.

So, let's say you have your renderlayers A, B, C and D.

What you need to do is add A+B, then add the result to C. The result of A+B+C has to be added finally to D.

The same goes for the alphas.

Instead of that yo are doing A+B, then C+D, and alpha over the result of one on the top of the other, which is wrong.

Start over, remove ALL the alpha over nodes, only use adds.
The only node that is not an addition you should use is only one set-alpha node, to assign the added alphas to the added RGB.


Force fields affecting selected rigid body objects Let's say I have an Active wooden cube and an Active iron cube in the scene.
I also have another Passive cube with a Force force field at the same location.

The force field has a negative strength so it attracts rigid bodies.
But I would like the force field only to attract the iron cube and leave the wooden cube alone.

Is there a way to define those properties on object level?
For example, the wooden cube is only affected by gravity while the iron cube is affected by force fields and gravity.

This appears to be similar to the behavior described.

In this scene, the wood and metal cubes are affected by gravity, but only the metal cubes are attracted to the red cylinder.

In Blender 2.76, this can be accomplished using soft bodies instead of rigid bodies.

How to create this scene in Blender 2.76

Start with a new scene.
Add a plane, scale it.
In the physics tab, add collisions. Set the soft body damping to 0.

Move the cube up.
Go into edit mode. Select all vertices.

Subdivide the mesh. This will ensure there are vertices and edges for collision detection.
Create a new vertex group called 'Group'. Set the weight to 0. Assign all vertices to the vertex group. Settings later will use this to allow the soft bodies to move.

Go back to the object mode. Setup the soft body physics.

With the cube selected. Go to the physics tab. Select 'Soft Body'.
In the 'Soft Body Goal' panel, set the vertex group to 'Group'. This is the group assigned earlier.
In the 'Soft Body Edges' panel, select 'Stiff Quads', set the 'Push' value to 0.999, the 'Pull' value to 0.999, and bending to 0.100. This will make the soft body behave almost like a rigid body.
Select the 'Edge' and 'Face' collision options. This will help make the collisions more like a solid collision.

Test the simulation by pressing the play button on the timeline. You should see the cube fall to the plane, wobble a little, then stop. This indicates that the collisions are working and that the cube behaves like a solid.
Select 'Collision' physics. This will let the cubes collide with each other.

At this point, the cube is duplicated. One cube will be affected by force fields and the other will not. This will simulate the iron and wood.
Duplicate the cube. Rename the duplicate to 'Wood-Cube'.
Select the 'Wood-Cube', in the physics tab and the 'Soft Body Field Weights' panel, set the 'Force' to 0.000. This causes the 'Wood-Cube' to ignore force fields.

Add an empty to the scene. Move the empty to the edge of the plane. In the physics tab, select force field. So the force field attracts objects, set the strength to a negative value. This examples will use -10.

This has all of the elements for the simulation! The 'Cube' will be attracted to the empty's force field. The 'Wood-Cube' will not be attracted, but will interact with 'Cube'.
To troubleshoot, try different force strengths and clearing the soft body caches.

The file used to generate the animation above is located at


Make a painted model glow How would I make a painted model glow? All the tutorials I've found only let basic materials glow , like making a blank cube glow, etc. Currently, I make my model glow by changing its material to Emission shader and Transparent BSDF, but in that way, my model is either completely dark, or glowing, but I can't find a way to keep the paint (ie the character's face)...

Create a black and white mask for the areas you want to make glow. Then combine emission material with any material you want, using Mix Shader Node and apply your mask into Mix Shader factor (see on screen) Hope it is what you were looking for...


Relation between BGE framerate and Action framerate By BGE framerate I mean the rate at which True pulse is fired (and thus attached Python controller script is executed) and by Action framerate I mean the rate at which the value returned by KX_GameObject.getActionFrame() is changing. (I've heard the term Logic framerate in the context of BGE, but I'm not sure if it is the same thing as BGE framerate I'm talking about :-/ Sorry!)

Here is a small snippet which I used for testing (which should clarify what I mean by BGE frame and Action frame):

import bge

BGE_frame = 0

def main(cont):
    global BGE_frame

    arm = cont.owner
    if not arm.isPlayingAction():
        arm.playAction("run", 0, 45, play_mode=bge.logic.KX_ACTION_MODE_PLAY)

    print(BGE_frame)
    print(arm.getActionFrame())

    BGE_frame += 1

Using the above script for Python controller attached to an Always True sensor gives following result (the n-th BGE frame and corresponding Action frame):

http://pastebin.com/NK2RrVkR

As we can see, there is a significant difference in both frame-rates (e.g. the 11th BGE frame corresponds to the 4th Action frame and 16th BGE frame corresponds to the 6th Action frame -- so roughly 5 BGE frames corresponds to 2 Action frames).

Assuming that the action starts playing when BGE frame is 0, in what way can we compute the Action frame from the BGE frame and vice-versa? More precisely, I'm looking something like:

import bge

BGE_frame = 0

def main(cont):
    global BGE_frame

    print(BGE_frame)
    print(BGE_frame_to_Animation_frame(BGE_frame)) # TODO: Outputs same result as above

    BGE_frame += 1

If it is needed here's the .blend file: http://wikisend.com/download/114182/framerate.blend

Thanks!

I think I solved it as follows:

import bpy, bge

BGE_frame = 0

scene = bge.logic.getCurrentScene()
bpy_scene = bpy.data.scenes[scene.name]

BPY_FPS = bpy_scene.render.fps / bpy_scene.render.fps_base
BGE_FPS = bge.logic.getLogicTicRate()

BPY_BGE_RATIO = BPY_FPS / BGE_FPS

def BGE_frame_to_Animation_frame(BGE_frame):
    return BGE_frame * BPY_BGE_RATIO

def main(cont):
    global BGE_frame

    arm = cont.owner

    print(BGE_frame)
    print(arm.getActionFrame()) # Kept for comparison
    print(BGE_frame_to_Animation_frame(BGE_frame)) # Outputs approx. same result as above

    if not arm.isPlayingAction():
        arm.playAction("run", 0, 45, play_mode=bge.logic.KX_ACTION_MODE_PLAY)
        BGE_frame = 0
    else:
        BGE_frame += 1

    print("\n")

I'm not sure of it is a good practice to access blender data from BGE, but it works :-) Comments/suggestions are welcome! Thanks.


Follow path Constraint, relative locations for offset objects i made something like this using follow path constraint on 4 objects and 1 curve.
for my project, i need them to become like this. staying at the center but behaving as if they are still on my curve. something like this gif below:

this may be a noob question but my project depends on your answer :>

One approach, (I don't know whether it's the snappiest, or most controllable)

Copy the entire rig, track and trucks
On the copy, delete all trucks except the copy of the one you want to remain stationary in world space.. 'Target Truck'... ( red in the illustration )
Put a Copy Location constraint on the original track, targeted on 'Target Truck', World space, X,Y and Z, all inverted in the constraint.


Can a mask hide only one object and not the others? I want to make the word "SECRET" disappear behind the horizon. That is, I need a mask for the lower half of the image, but if I do this, it also hides the sea..! How can I accomplish this?

OKay, I figured it out:

Using the UV/Image Editor, create a mask, and give it a meaningful name;
Select the "SECRET" text strip ; Its "Blend" should be "Alpha Over" that's the default for text strips anyway, leave it at that;
Add a "Mask" modifier and select your newly created mask by its name.


What are the class naming conventions for blender? I've recently searching about drawing template lists and find this question:
 Populate a list with custom property dictionary data but a thing that caught my atention was the name for the class "OBJECT_ul_zones" it remenbed others name I have seen with the same pattern: "TYPE_Class_classname" like OBJECT_OT_someoperator

Then came the question: what are the naming conventions for class and variables in Blender?

The use of strict class naming is more prevalent within blenders source code than within third party addons. While CamelCase is common I don't think there is a strong convention for class names, however, the name used in bl_idname is visible and used within blender so does have some conventions, with a view to also help prevent naming clashes.

For a panel the convention is CATEGORY_PT_name and if not set will be the class name. Similarly, menus use CATEGORY_MT_name. Common categories are Object, Mesh and Material. Both of these can often be found duplicated into class names, often using class names instead of setting bl_idname. Within blender's builtin operators you will find most use this naming (with CAT_OT_name) for operator classes. There are also examples of CAT_UL_name used for UILists.

For an operator, the bl_idname must be two words separated by a ., the first word should be a category while the second is the operator name. Operator bl_idnames are added to bpy.ops so if you have bl_idname='mesh.beautify' then the operator can be called from python with bpy.ops.mesh.beautify() and is added to a panel with layout.operator('mesh.beautify').


drawing a belt around a gear Hello, I am having a hard time creating belts and chains around a pullies and gears. I usually use a Nurb curve or the the Array modifier, but they usually end up not coming straight.

*** is there an easier way to create a belt/ chain around these gears?

Thank you for your time :)

A constrained shape like a belt or chain on a complex path can be generated using softbodies.

This solution is similar to "attract part of a mesh around an arc"

Procedure (tested on Blender 2.79)

Create geometry for the upper gear, lower gear, right guide, left guide, and belt. Make sure the gear geometry is inside the belt geometry and the guides are outside. This is important because collision between the objects will be used to shape the belt.

Set the top gears a guides as collision objects.

Set the belt as a softbody. Follow the setting below. The changes to setting are to get the belt to smoothly follow the forces applies. This is done by applying a large aerodynamic force to slow down the movement of the belt as it collides.

Animate the movement of the gears and guides to their final position. To fit the belt to the path from these parts, they need to move relatively slowly from their initial position to the final position.
Run the animation and the belt will be stretched to follow the part shapes. (Note: A modifier was added to make the belt appear thicker) The final geometry can be applied following this method - "Saving the deformation"

A blend file for this is available at


Looping a walk animation If I were to animate a few steps of a walk going forward and using IK to keep the feet in place as the body moves overtop, is there any way you can loop this animation so the character keeps walking forward? Without him returning to his original spot every time?

Loops are generally programmed "in place", having the feets sliding on the floor, and then a forward motion is applied to the whole armature, to simulate a real walking. If you don't want to follow this scheme, you will have to to set keyframes to have your character "jump" forward every frame your animation "jumps" backward. If the loop works the amount of movemente will be always the same, so the programming will be easy, even with long walks.


Set xyz-position of a single vertex How do I do this? I want a little menu like when you move a whole object with an absolute x y and z value for the position of the vertex. I want to move a vertex to exactly be on (xyz) (1.5, 0, 1.5).

I Found this thread online but it's not clear what they mean and the shortcuts don't seem to work anymore on blender 2.8: https://www.blender.org/forum/viewtopic.php?t=19327 (what is the N-key panel and how do I open it?)

This is very easy to do.
You can adjust the vertex position in the Transform panel.
Just type the values into the x,y,z fields.

If you cannot see the Transform Panel, it's in the Sidebar.
Shortcut: N


Custom shortcuts replacing Ctrl+Tab Its pretty uncomfortable to use Ctrl+TAB to switch between vertex/edge/face selections in edit mode. Is there a way to make custom shortcuts for each of them?

Allso Is there shortcut for sculpt mode? And if not can I create one and how.

Thanks!

Go to File > User Preferences > Input, then expand the 3D View section and the "3D View (Global)" Section. It will look like this:

Scroll to the bottom and you'll see an "Add New" Button. Click that and expand the new shortcut. It will look like this:

Type in the command that Blender will need to complete when you enter your shortcut. In your case, that's: mesh.select_mode. Then Change the Action to "Enable" and set the keyboard shortcut that you want. In this case, I'll use Alt+Shift+V:

Repeat these steps for the other 3 selection modes. You can also make a shortcut to toggle sculptmode by using the command: sculpt.sculptmode_toggle You can see what these commands are by lowering the info window after you have set the mode to sculpt:


Making Proxy on a Linked Rig via the API Using the blender API, I am trying to "Make Proxy" on a linked rig.

My first approach was to identify the linked objects through bpy.data.groups.objects and then use the bpy.ops.object.proxy_make() operator to make proxies.

However, this would make proxies for all linked objects (rigs, meshes etc.), when my objective is to do it only to the rigs.

Is there a way to identify the right objects to proxy? Alternatively, is there a better method to do the whole exercise?

The make proxy operator works only on the active object (it has to be visible). You set the active object like this:

import bpy
objects = bpy.context.scene.objects
objects.active = objects["Name"]

If you don't know the name you can list all objects in the scene with dupli group:

ob_list = [ob for ob in objects if ob.dupli_group]

You can specify what object inside the group to make the proxy of like this:

bpy.ops.object.proxy_make(object="Name_Of_Object_Inside_Linked_Group")

If you don't know the name, you can list all the armatures inside the active object's dupli group:

armatures = [ob for ob in objects.active.dupli_group.objects if ob.type == 'ARMATURE']

The proxy object then becomes the active object. You can rename the proxy easily (otherwise it will carry the name of the linked group object):

objects.active.name = "Name_Of_Object_Inside_Linked_Group_PROXY"

To complete this you also get the linked group object from a proxy object like this (if you need to know what the proxy is influencing and if the object is a proxy at all):

group_ob = proxy_ob.proxy_group


Faster way to create Drivers? I've been using a lot of drivers. I'm pretty comfortable with them actually, but I wanted to know if there was a faster way to set them up than > right click > add driver > decide variable type > rotation > quaternion > type equation.
Like, if I know that I want to use the 'x' rotation from a hand bone as an input variable. Is there no way to just go to the x rotation variable in the properties menu, copy it > and when I add driver, it automatically be used as my input variable??
Thank you for your time!

When you right-click a property, one of the options is "Copy as New Driver" and another is "Paste Driver."

This will create a new driver in the target with "Type" set to "Average Value." Change the type to "Scripted Expression" to get standard expression dialog.


Fix creases on a curved surface Basically I am working on an aircraft and I had to cut out the windows (I use the Knife Project tool )

But I have these weird shadows/creases.
I know the topology is terrible but this is a quick project and I am not so advanced yet.

Thanks in advance.

These are nearly impossible to fix.  However, beveling the edges of the windows should help.


Not created again already exists material I have a such a code
    for image in bpy.data.images:
        if image.users:
            continue
        bpy.data.images.remove(image)
    mat = bpy.data.materials.get("Material")
    if mat is True:
        mat.use_nodes=False
        bpy.context.active_object.data.materials.delete(bpy.data.materials['Material'])
    if mat is None:
    # create material
        mat = bpy.data.materials.new(name="Material")
    mat.use_nodes=True
    nodes=mat.node_tree.nodes
    for node in nodes:
        nodes.remove(node)
    principledBDSF = nodes.new(type='ShaderNodeBsdfPrincipled')
    principledBDSF.inputs[0].default_value = 0.8, 0.11, 0.02, 1
    principledBDSF.inputs[4].default_value = 0.5
    principledBDSF.inputs[5].default_value = 0.45
    principledBDSF.inputs[7].default_value = 0.35
    LCAoutput = nodes.new(type='ShaderNodeOutputMaterial')
    LCAoutput.location = 300,0
    links = mat_LCA.node_tree.links
    link = links.new(principledBDSF.outputs[0], LCAoutput.inputs[0])
    bpy.context.active_object.data.materials.append(bpy.data.materials['Material'])

When I run this function, I create material, but when I run it again, this material is created again. I am curious how to make the material not created as it already exists.
Greets

A material never is True.
Use if mat: which is boolean true if not None  Using if mat is True:  for a material will never be true.
Since you are setting use nodes later can also do this
mat = materials.get("Foo") or materials.new("Foo")

To drill this in here is a simple example
import bpy

context = bpy.context

def main(context):
    mat = bpy.data.materials.get("Foo")
    if mat:
        print("Material Foo exists, skipping")
        return
    else:
        mat = bpy.data.materials.new("Foo")
        print("Created Material Foo")
        # do something with new material

    return

# test calls

main(context)
main(context)
main(context)

Output from default file no material "Foo"
Created Material Foo
Material Foo exists, skipping
Material Foo exists, skipping


How can I modeling these case more efficiently? I tried modeling as shown above.
I separated the edge and moved the 3d cursor and origin. I also used multiple snaps and joined the edges back into their original objects to create faces.
I got the results I wanted, but I felt my process was a bit complicated.
The GIF below is a summary of my process.

The extrude region vertex normals (Alt + E) function is close to the operation I want, but it does not produce a flat surface if it carves out the interior.
Probably there seems to be a modeling technique I'm missing. If you have ideas for a faster process, please let me know.

And i attach the blend file for the convenience of the respondent who will show the example.
Thanks for your attention.

Your way seems pretty sensible to me, but just in case this way introduces a couple of useful add-ons...

Delete the bottom front Ngon, and I inset the remaining front and top faces as a region, with 'Boundary' unchecked, to prevent a margin being formed at the mirror axis, or against the empty face.

Delete the inset faces

Having switched on 'Lengths' in the Property region > Mesh Display panel, take a note of the width the offset will have to be from the marked selected edges
Use the shipped Mesh:'Offset Edges' add-on > 'Extrude' to extrude the front edges back by that width, numerically entered.
There may be some overlapping vertices on the new inner edges of the cluster of loops on the short rear-facing slope. Select the problematic range of vertices and use the shipped add-on 'Loop Tools' > 'Space' to make them regular. ( I went back to make those loops regular all the way round )

E Y the offset edges to the mirror axis, letting the 'Clip' of the mirror modifier do its work
F Fill the Ngon we removed in the first place
Ctrl V >  R remove doubles.

This may well be one of those places where a Boolean is a snappier way of doing it, as Mr Zak has commented .. I'm unreasonably resistant to using Booleans.


Weight painting deforms an object When I weight paint my object deforms.How to fix that?

The reason this happens is because you have animation information on the armature that you are painting to, the mesh updates to that information once it is painted to a certain bone.

This can be desirable if you have a certain pose that you do not know how it will deform the mesh, and you can weight paint until the mesh looks fine in the tricky position. However, this isn't the case, and we'll need to solve it.

Switch into pose mode. (Ctrl+Tab) now, hit A once or twice (depending) to select all of the bones. Alt+R will clear all rotation data, and likewise, Alt+G will clear translation data.

You may now weight paint without any mesh deformation.


How to set object to world origin? blender 2.81
I accidentally moved an object and can not undo it. How may I move the object to the world origin, and/or set the location of the object at the center of x, y, or z axes.

You press Shift+s to set your Cursor "to origin", then you can press once again Shift+s and select "to Cursor" which will snap your selected object to the cursor, which you previously set back to origin.

To make new objects aligned to the center x, y and z axis, which is essentially at origin, just set the cursor back to origin. Thus new objects will be created there.

For completeness sake, setting the cursor to origin can also be done with the Shift+c shortcut, which avoids the pie-menu.


Where to suggest Blender additions and fixes Where can I suggest fixes and additions to someone who works on Blender? I have a lot of suggestions for problems I ran into:

Screw modifier needs fit curve and fit length settings just like
array
Array settings for objects going in a circle instead of adding
empties and rotating them (so annoying)
Better drawing and texturing tools
Equation objects like golden rectangle generator
Specific measurement tools with shortcut keys
A data path for a curve's length
Many more options for Blender game engine (optional integration of object constraints, turn more Python commands into nodes for people who can't code. we don't have enough node options)
Official freaking object motion tools (animation nodes?..)
Time dilation tools with nodes (entire animation nodes?) instead of scaling keyframes
Better autoretopologizing than remesh.
If any of these exist, then I apologize, but I know most of these don't.

For bugs that need fixing use the bug tracker. For feature requests, there is no official place, but you can try Right-Click Select, the bf-funboard mailing list or simply ask on Blender Artists where other users can give you feedback and build on your idea.

Please note that Stack Exchange is not a suitable place for bug reports or feature requests, hence this question should be closed.


Why am I getting a jagged brush when sculpting with dynotopo? I've created a simple mesh consisting of a cube that has been modelled out into a corner by extrusion:

I'm now trying to sculpt detail onto it in sculpt mode using dynotopo, however I'm getting different results on different sides of the mesh.

The bottom of the mesh (which was the original cube that I extruded from) sculpts nice and smoothly as expected, however the other side is jagged and distorted which I can't sculpt as nicely. Why is this? The original faces appear to be the same.

You probably didn't apply scale to your object.

In Object Mode with your object selected press Ctrl+A > Apply > Scale


Do Custom normals work in Animation Nodes? Generally I want to direct polygons along custom split normals, or at least get them work in AN. Can it be done?

You can get access to loops normals using the following expression:

[loop.normal for loop in [obj.data.calc_normals_split(), obj][1].data.loops]

Which calculates the split normals data and returns the normals. To set vertex normals to a mesh, you can use the setVertexNormals method, which take a single vector list representing the normals.


Which gives better performance in render/viewport: mask modifier or assinging a transparent material? I have a character model where a good portion of the skin is covered by clothes. To prevent the skin from clipping through the clothes, I assign a transparent material to the areas that aren't supposed to be visible (I can't delete these areas, since the character has multiple outfits with varying lengths of sleeves/pants). I recently came up with the idea of using a mask modifier instead of a transparent shader for this purpose in order to get better performance. My question is: would this actually improve performance? I think the answer would be different in the viewport than in rendering, if this is the case, I'd like to know how it effects both.

A transparent material still costs vertex transformation, BVH calculation, and fill rate, so a mask modified mesh will have better performance.  The difference between the two will probably not be large enough to notice.
Viewport vs. render doesn't matter-- a viewport is a render-- although you'll have slightly different costs depending on rendering engine (and a solid view is workbench, a mat view, Eevee, and a rendered preview, whatever you have set.)  For example, only Cycles does BVH calculation, and fill rate is really a rasterizer (workbench or eevee) characteristic (as far as I understand it, I'm not a raytracing guru.)


What is this? (within a 3d model) Exploring the inside of a model, I find these curious red lines. Could someone tell me what they are and what purpose they have please?


Bezier path moving during animation when it should not Stupid beginners question concerning animation.  I have four spheres which I would like to move along four bezier paths.  Three of them work correctly but in the case of the fourth the bezier curve ALSO moves: somehow the motion of that sphere in the Y axis has been replaced by the bezier curve moving in the Y axis instead.

I can't for the life of me determine what setting I've accidentally clicked on to make that happen.  Can anyone help me out?  This is in Blender 2.79b.

The Blender file can be downloaded from One Drive here:

https://1drv.ms/u/s!AqUHa_qo4gdB9W1TZWpmNt9v8yCe?e=46GmLD

It is "Suck Curve 2" carrying the animated sphere "Suck Sphere 2" which is the problem.

There are several ways to do it:

F3 and type Remove Animation.
You can delete the animation in the Outliner: Select the object, unfold its tree, right click on Animation and choose Clear Animation Data.
Open the Dopesheet, switch it to Action Editor mode, you have a dropdown menu with all your animations, close the selected animation with X.

As your curve was the only user of this animation, it won't be reloaded when you'll reopen the file. If you don't want to loose it, in the Dopesheet / Action Editor mode, on the right of the action name (it has now a 0 which means no user), press on the shield icon.


Difference between a mist pass and a normalized z-buffer? In Cycles there are two different render passes which seem to give some kind of depth information: the Mist pass and the Z-Buffer pass.  I know that the z-buffer gives the actual distance (thus producing values >1) while the mist pass's range is [0,1].  But even after normalizing the z-buffer pass the two are still not the same, the mist pass is darker.

Here is a comparison (starting with the standard render).

So what is the mathematical difference between a mist pass and a normalized z-buffer?

Some differences:

The Mist pass is antialiased. The Z pass is not.

The range for the mist pass is set independently of the camera's clip point.

(To visualize the mist pass select the camera and enable mist on the Viewport display settings)

Start sets the black (0) portions of the image. Depth sets the range in which the mist pass will convert the distance to a grayscale. Past that range everyting is white (1).

The falloff on the mist pass can be changed to quadratic, linear or Inverse Quadratic. The Z pass is always linear.

Comparison
If you set the clip distance and a mist pass to the same range and set the falloff to linear, the only difference is the antialiasing.


How to hide/show Collections levels with python? how do we hide show a collection in blender 2.8

let say that this is the path to my collection

bpy.data.collections['SCATTER: [Plane.001] Particles']

The operator that toggles the collection visibility in the outliner is bpy.ops.outliner.item_openclose(). Unfortunately it depends on the cursor position to determine the collection that should be toggled. While we could position the cursor with bpy.context.window.cursor_warp() the x and y coordinates of the collection in the UI remain unknown. It's therefore not realistically possible to perform this operation in a script or add-on.

I could get it to work with manually determined coordinates to position the cursor on the arrow icon in front of the collection.

import bpy

context = bpy.context.copy()

for area in bpy.context.screen.areas:
    if area.type == 'OUTLINER':
        for region in area.regions:
            if region.type == 'WINDOW':
                context['area'] = area
                context['region'] = region
                break
        break

# Places the cursor directly on the arrow icon for the first collection with
# my screen resolution and UI layout.
bpy.context.window.cursor_warp(2150,1250)
bpy.ops.outliner.item_openclose(context, 'INVOKE_DEFAULT')


Microdisplacement has no effect at all I have tried several different configurations, with displacement, vector displacement, different color nodes, non-color, etc.: nothing seem to work. The bump doesn't appear.
Here is the final node config I have set up.
The UV setup is working, I am using it on the other nodes, for the albedo too, so the UV feed is correct.

Set the surface displacement to Displacement and Bump or to Dislplacement only (the default is bump, which will not deform the object, and only affect the shading, creating  "fake" relief.]1

Displacement needs vertices to operate on.
Here is a simple plane with 4 vertices and dislplacement. Here's the same plane subdivided 50 times:


Where is “stretch” (UV) in the last version of Blender 2.8? Where is “stretch” (UV) in the last version of Blender 2.8? In earlier version Stretch was in Display, but now there is Stretch is absent

In Blender 2.9 it is on the overlays menu:


My background image won't show up in blender 2.79 as you can see there is nothing there even though I am in top view

As you can see in the top left corner, you are in the top and perspective view (Top Persp). Use the menu View>View Persp/Ortho, to switch to orthographic view. Or use the shortcut "Numpad 5".


Convert annotations to Grease Pencil object (old GP to new GP) I'm playing with the new version of Blender (Beta 2.8) and was wondering how I could open/import old Grease Pencil animations (done before the 2.8), which are now called annotations if I understood correctly - and load them into the new Blender as Grease Pencil objects ?

Thanks

I finally found out and it's quite easy:

In object mode, show the right sidebar of the window by clicking n.
In the Annotations section, check which is the name of your (old) Grease Pencil datablock. For ease of reading, rename it OLD_GP.

Create an empty Grease Pencil object (SHIFT+A > Grease Pencil > Blank)
In the properties panel of that object, go to the Grease Pencil tab.
Load the datablock that we have previously renamed OLD_GP.

Now we need to assign a material to the Grease Pencil because it it currently "invisible" :

Go to the materials tab and click New.

Et voilà !

You can now remove the datablock from the annotations.


Split primitive in two I am trying to split a cylinder in two parts with a plane being the cutting object but for some reason it doesn't work. Intersect works, and applying Difference on the plane works too but applying Difference on the cylinder to end up with half a cylinder doesn't do anything. I tried flipping normals and Moving the cutting plane in Z just in case it sat on cylinder vertices but it just doesnt work. Any idea why ?

One way is to use the split and vertex
connect operators.

First step would be to use vertex
connect
and create two faces of the ends of the cylinder by selecting two
adjacent vertices and pressing J
Then Simply select either the top or bottom half, and press the
Y key to split.
Translate as desired


Script to auto-detect features to track using Python I am attempting to make these GUI steps into a script. When I follow this process manually, I get a tracking error under 1 and I get some great matches. This is far better than autotrack.
import bpy

Step 1 - Set tracking settings extra correlation to .99:
bpy.data.movieclips["Name.png"].(null) = 0.99

Step 2 - Loop through 1000 times
When in loop, it loops but only tracks one frame forward:
for loopv in range (1000):

Step 3 - Detect Features
bpy.ops.clip.detect_features(ctx)

Step 4 - Track Features 1 Frame
bpy.ops.clip.track_markers(ctx,backwards=False, sequence=False)

Step 5 - Deselect all features
bpy.ops.clip.select_all(ctx,action='TOGGLE')

or
bpy.ops.object.select_all(ctx,action='DESELECT')

Step 6 - End Indentation of loop and Return to Step 2
This is my current code. I have to hit Run Script. over and over, for it to work and go through all the frames of the clip.
import bpy
import random

#for loopv in range (1000):
ctx = bpy.context.copy()
for area in bpy.context.screen.areas:
   if area.type == 'CLIP_EDITOR':
   ctx['area'] = area

bpy.ops.clip.select_all(ctx,action='DESELECT')
bpy.ops.clip.detect_features(ctx)
bpy.ops.clip.track_markers(ctx,backwards=False, sequence=False)

You have to update the frame with the right command:
⚠ Note that none of these will properly do it for the tracker operators:
bpy.context.scene.frame_current = frameNumber
bpy.context.scene.frame_set(frameNumber)
bpy.ops.clip.change_frame (ctx, frame = frameNumber)

The one you have to use is:
area.spaces[0].clip_user.frame_current = frameNumber

Then you can un-comment and set up your for loop.
The area here is just bpy.context.screen.areas[number] or bpy.context.area but area alone works in the OP's script.
Or use this add-on I just made:
Step Tracker allows you to batch-track multiple "steps" of n frames without degrading performance on very long shots. Please read the Readme for instructions.


Slicing an object in 4 parts I want to cut a model which otherwise would be too big to 3D print in 4 parts .
I use the fastcarve add-on and use a plane to slice the model in 2 in the y-axis (|). When I then select a half and use another plane to slice it in the x-axis (-) the object isn't cut in half. Instead it seems like it seperates the part of the object that overlaps with the plane and cuts out those thin portions. What I'd like is a cut that seperates the upper from the lower portion (from each half).

The same happens when I join 2 planes to make a cutter (see images below).

How can I do this?

Segment an object in X, Y and Z

Using a script written for blender 2.80

Split this thing 4 in x 3 in z
I've been playing around with a bmesh bisect script that is a lot quicker, but unfortunately doesn't fill in the slices like a boolean. Here is a boolean modifier version.
The method is similar in using the bounding box to align the planes.

Add a bisect plane, make it solid by adding a solidify modifier and
thickness.  Use the object dimensions to make sure it is both way bigger and thicker.

Slice along the bounding box, shave a piece off as a dupe, flip the
direction of thickness and shave that piece off original. By shave
I am using boolean difference modifier

Example of reversing the boolean by negating  the thickness of the solidify modifier

Add a boolean difference modifer to object, make the plane the
modifier object.

Move the Plane to each cut location and repeat the process on result meshes for each axis.

Clean up, remove the plane

.
The script. Edit segments_x, segments_y, segments_z to suit. (Splits in local coordinates)
import bpy
from mathutils import Matrix, Vector
context = bpy.context
ob = context.object
size = 4 * max(ob.dimensions)
mw = ob.matrix_world

def bbox(ob):
    return (Vector(b) for b in ob.bound_box)

def bbox_center(ob):
    return sum(bbox(ob), Vector()) / 8

def bbox_axes(ob):
    bb = list(bbox(ob))
    return tuple(bb[i] for i in (0, 4, 3, 1))

o, x, y, z = bbox_axes(ob)

bpy.ops.mesh.primitive_plane_add(
        location=mw @ bbox_center(ob),
        size=size)
chopper = context.object
m = chopper.modifiers.new("Sol", type='SOLIDIFY')
m.thickness = size

chopper.select_set(False)

def chop(ob, start, end, segments):
    slices = []
    planes = [(f, start.lerp(end, f / segments))
            for f in   range(1, segments)]

    for i, p in planes:
        m.thickness = -size
        bm = ob.modifiers.new("BOOL",type="BOOLEAN")
        bm.object = chopper
        bm.operation = 'DIFFERENCE'
        M = (mw @ end - mw @ start).to_track_quat('Z', 'X').to_matrix().to_4x4()
        M.translation = mw @ p

        chopper.matrix_world = M
        cp = ob.copy()
        cp.data = cp.data.copy()
        context.scene.collection.objects.link(cp)
        bpy.ops.object.modifier_apply({"object" : cp}, modifier="BOOL")
        slices.append(cp)
        m.thickness = size
        bpy.ops.object.modifier_apply(
                {"object" : ob}, modifier = 'BOOL')
    slices.append(ob)
    return slices

segments_x = 4
segments_y = 1
segments_z = 3

for ox in chop(ob, o, x, segments_x):
    for oy in chop(ox, o, y, segments_y):
        chop(oy, o, z, segments_z)

bpy.data.objects.remove(chopper)

Related
Create Cross Sections and 2D planes in Blender
Render 2D cross sections of 3D Objects
Python: Bisect mesh into n parts, without separate 'LOOSE'


Bake combined normal map in cycles? Exactly as the title says I got a texture which came with a normal map. When I try to bake out the combined end result for use with a real-time engine such as Unity I get as you see in the image below nothing as far as normal details are concerned.

I experimented, and when I plug my normal node into the displacement socket I get some results, but it looks horrible and is not the desired "normal map" effect. Any help on this would be great!

Normal Pass is generated from Face's Normal Vector

When you bake the normal map, you are converting the XYZ component of each surface's point normal vector into the correspective RGB color (according to the type of calculation: object, tangent..).

Is something that is not related with textures or shading, just geometry.

The result is correct, every point of your surface has a normal pointing out (local Z axis). That's where the blueish color is coming from (XYZ=>RGB).

What you probably are trying to bake is the Color of the Normal Map. Maybe you have combined several maps or some of them are a procedural textures converted with the bump node... what you need is to bake the Emission Pass (one of the fastes to bake you'll need just 1 sample, as with SSS Color, Glossy Color, Diffuse Color...) of an Emission shader with Strenght=1 that has the color you want in imput:

Here's an example of baking the Normal from procedural textures:


How to better position a texture on sides? Very often when I have to put a texture on something that is a cuboid, I always wonder how I should position the texture in the sides.
I wanted to create a wooden floor and what I did was to unwrap the mesh 1 using the option "project from view (bounds)", and as far I can see it doesn't look too fake 2. But is there a way to do better? How we should unwrap a mesh in order to look nice on the edges?
Thank you for the help

If it's a cubic shape like this, I personally don't bother using UVs (unless I have to export it somewhere else where nothing else works).

I instead use Generated texture coordinates, and I change the textures' projection from flat to box:

This way, the texture is projected from a box around the object, you can even use the "Blend" option to blend each face of the box so you don't see much seems:


How do I make a rough plastic surface? How do I make a rough plastic surface?
I created a bottle and need to make this bottle like in the picture.
How to make these rhombuses like in the picture?

Just to illustrate moonboots's comment.

Use Noise texture with a Bump node.
Set Bump node Distance to around 0,001 or less (1 milimeter)
Done.


Motion blur compositor Motion blur in compositor doesn't blur poles. It is not the fault of the material because base of the pole has the same material and it is blurring just fine.

I found the answer you need to change min speed to 5 and max speed to 200 in vertex blur node in compositor and it fixes everything


Remove Unnecessary Confirmation Popups -- resolved, but why not effective? So there's this ticket from about a year ago and it all seems to have been fixed/improved, meaning there shouldn't be blocking "Delete OK?" popups anymore.
However for me in 2.72b there still are.

Where's the missing link? Or did I miss that this needs to be enabled?

They were removed, but then some were added back later.
Some are still removed, such as copy and paste for objects.

However it seems the confirmation popups for delete and save have been re-added after a bug report, and for good reason IMO. I hit those keys accidentally rather often, and I try to avoid reflexively undoing as much as possible due to various limitations (not to mention speed).


How do you remove interior faces? Here we have two overlapping cylinders:

They could be one mesh or two separate meshes. I don't care.

What I would like to get blender to do is remove the interior faces.

I'm having several problems.

Select > interior faces doesn't do anything
Many "answers" to this question tell you to press select while in edit mode but in 2.8 that's how you tell blender to start animating.
Boolean (Intersect|Union|Difference) (assuming the cylinders are two separate meshes, of course) doesn't work and it often generates strange geometry. How you get this out of two circles is beyond me. In the image both cylinders have the same height but usually I have to make one cylinder taller so that it's above and below the other cylinder to get it to work.

Am I making a reasonable request here? For more context, this is the mesh that I would like to clean up the interior of.

The cylinders are just because I've given up doing this with more complicated meshes. How can I remove as many of the vertices/faces from the inside of this mesh as possible? Thank you.

You're making it very complicated, there are several ways to make your object, the simplest would be to bevel the angles of a rectangle. Then you may need to work the topology but it depends on your final goal.


Set scale of object by giving distance between two points Is this possible to do in Blender:

Select two points (or two vertices, perhaps).
Specify to Blender the "target" distance between those two points.
Program will scale the entire model proportionally (in all 3 axis equally), so that the distance between those two points is satisfied.

Reason for this is, I need to scale a 3D scanned model of mine to it's physical scale, but there is no direct way for me to measure the absolute height, width, and length of the object in real life.  Instead, it would be much easier measuring between two specific points on the real object.  Then I would select the same points in blender, then give Blender the real-life measured distance for those two points, and it would scale the model accordingly.

If you need to do this based on an off-axis dimension, or some other measurement like the area of a face, you can use the add-on "measureit" (included with the Blender 2.79 distribution), which can be found in the 3d view section of Add-Ons in the User Settings.

When this is activated, a number showing the measurement you want appears on the 3dView and is updated in real time. You can select all the points of the object in Edit Mode and resize the object while watching this measurement change, then stop resizing when the measurement reaches the desired value.


Move Bar To Bottom (2.8) I'm trying to figure out how to move the 3D view header to the bottom.  It used to be at the bottom by default in version 2.79, but now it's the other way around.  Could someone show me how to move it?

Right click on the left side of the header where the menu entries are and select Flip to bottom


Frame range for Render layers how to set frame range for layers. for example layer 1, start frame should be 1 and end frame should be 10. layer 2, start frame should be 20 and end frame should be 35.

You can animate layer's Disable or Enable using I.

Set keyfrimes like you set keyframes for object visibility:

For example, for start frame on the 20th and end on the 35th, you should set 3 keyframes: off - anywhere before 20 frame, on - on the 20th frame, off - on the 35th frame


Blender 2.8 - keyframes not showing? I've just started playing around with Blender 2.80 and I'm trying to animate some lightning I did. Whenever I hit 'I' on the Brightness, whether it's at 0 or 1, no keyframe appears on the Timeline.

Keyframes not showing is a result of a different texture, material, or any output/input things selected. It will only show if it is specifically selected


Save image in video clip editor? I have a video in the video clip editor,and I want to save the current frame as a photo om my computer,is there is any fast way to save an image directly from the video clip editor?

Crl+F3 is the shortcut to save images from any screen.

Alternatively, in the preview window you can press the camera button to render the active viewport. The rendered image will then be available in the UV/Image viewer, where you can then click View->Save As Image (or Crl+F3)


Deform a complex pattern along a 3d path, maintaining vertical I am trying to create a patterned railing for a curved staircase, like this:

Except that in my case, the staircase does not have a constant curve. This is a straight segment of the railing I am using:

What is the best way to do this? I have tried deforming the railing along a curve. I can get this to work for a horizontal path, but when I add a vertical element, the uprights of the banister do not remain vertical. By the first curve, the railing is no longer perpendicular to the floor and by the bottom of the staircase the railing is lying horizontally or even under the floor.

I have tried using an array modifier with an empty, but the size of one segment is too large to follow the curvature of the stairs accurately and organically. I don't want to make the pattern smaller in this situation.

I have tried using a lattice, but the results are lumpy and it is hard to maintain a constant thickness. Additionally, since not all the parts of the railing are attached to one another, parts of the metalwork begin to protrude through the handrail when steep angles are needed, along with other unwanted deformations.

This is what I've got so far:

Thanks for your help.

One way to do this is to use the mesh deform modifier. The modifier works similar to a lattice but will give you much better control and much smoother deformation in this case. Here's how you could go about doing this:

Use an array modifier or whatever you need to get the railing to the approximate length for the curve.
Use a cube and create a box that fits around the railing closely. Add a number of edge loops to the cube on the long edges.
Create a Base Shape key and then add a second.
Add a Mesh deform modifier to the railing and select the cube you just made. The default settings should be fine so click bind. Depending on the complexity of the meshes this may take a bit.
Select the cube and make sure you have the second Shape Key selected (not the basis one). Now go into edit mode on the cube, and make the mesh follow the curve of the stairs. The cube should now deform the railing like a lattice does. If there are any parts sticking through the cube or not moving you can unbind the modifier, make the cube a bit bigger and rebind it. All of the railing will need to be inside the box for this to work.
When you leave edit mode, because of the shape key, the mesh will snap back to the unedited state. Slide the slider to 1 and it will move back.

The reason I think a shape key will help you here is because you may need to add more edge loops to the cube or adjust the length of the railing at some point. Whenever you change the number of vertices on either object the mesh deform modifier will have to be unbound and rebound. If you didn't use a shape key you would pretty much have to remake the cube or try to reposition it back to the original shape.


How to move only the position of the parent object What is the best way to change my parental position after I've set up all of my parental relationships?

I am now disconnecting the relationship between the parent and the child, then fixing the position of the parent and setting up the relationship again.

But my method seems cumbersome.

There seems to be better manipulation.

Please let me know.

Thank you.

There is a different ways to do this.

In Armature there is an option to make bone don't inherit Rotation:

Animators like to use this option on head

In objects you can use Copy location instead of relationships. Copy location is a constraint, you can add it using Ctrl+Shift+C, or on constraint tab:


How Do You Re-render a previously rendered animation after using the Video Sequence Editor? Hi I have run into this problem before and desperately tried to find the answer again but couldn't.

I rendered a scene, then edited in the video sequence editor, then went back to re render the animation and when I hit the render animation button it just produces blank black renders.

I am attaching a file.

So I found the answer. It wasnt showing up because I was trying to use an imported video that wasnt connected in the compositor and I had left background transparent on under the film section of render. After trying to render a part of the video further down I saw objects in the render. To fix this you have to connect it to the render like shown at Video doesn't show up in render.

After it is connected the background video will show up in the render


VSE: Can I move an audio track in smaller increments than one frame? I am using Blender to mix the video from my camera with the audio from my external recording setup.  It works great mostly and I am very pleased with it.  But the problem is that I can't start the audio recorder an even number of thirtieths of a second from when I started the camera.  And Blender seems to only let me move the audio track in the VSE by whole frames (1/30 of a second).

Here are a couple screenshots:

The track on top is the external audio and the one on the bottom is the camera's audio.  Between the two screenshots I have only moved the audio track by one frame.  But as you can see, I need to move it by about 1/2 frame to line up the audio properly with the video.

So can I move a track in the VSE by fractions of a frame?

Blenders VSE aligns clips to the frame, I don't know of any plans to change this.

I would suggest adjusting the audio clip in Audacity or other audio editing program where you can move the audio the desired amount from the start of the audio file.


Color vs. Non-Color data I was always under the assumption that turning an image to "Non-Color data" that is was converting it to greyscale. Playing around with normal maps it doesn't seem to be doing that at all. So what is happening?

Also because normal maps have color data in them I have always left the setting on "color" is this correct?

Shouldn't the 2nd image be black and white?

(using Node Wrangler viewer as rendered)

What Non-Color Data means
Choosing Color Data vs Non-Color Data determines whether or not Blender will color manage your image.
Gamma Correction is a way of compressing color data and is commonly used in many image formats, such as PNG and JPEG. Without getting in to the mathematical nitty-gritty, Gamma Correction raises the intensity of a pixel to a certain power (or gamma value) to encode it, then raises it to the reciprocal power to decode it. Why would we want to do this? Here's a helpful table from Wikipedia:

Source
The bottom row, Linear intensity represents the non-gamma corrected values. You will observe that there is a large jump in intensity between 0.0 and 0.1 stops. In the top row, Linear encoding (meaning it is gamma-corrected), you will see that the difference in intensity between the stops is much more even.
What this means is that a basic linear scale does not equally distribute intensity as our eyes see it across the range [0, 1]. Referencing back to our image, between stops 0.0 and 0.1 on the bottom row, that whole range of color has to be squeezed into one tenth of the available range. On the other end of the spectrum, the range between 0.8 and 1.0 on the bottom only needs 0.9 to 1.0 on the top. This way, the colors that we can see are given more "space", and the colors we can't really distinguish from one another receive less.
Most common image formats (and video displays) use sRGB (standard Red Green Blue) as their chosen encoding. This actually has a non-linear gamma (don't worry about it) that can be approximated by 2.2.
When you select Color Data, Blender will gamma correct your image (based on the image encoding). When you select Non-Color Data, Blender will not alter the RGB values of the image, leaving them in a linear scale.
When you should use it
Color Data should be used for image textures being used to color a model, like Diffuse and Albedo textures. This way, they will be color managed to display their intended color values.
Non-Color Data should be used for image textures being used to store other data. For example, Normal Maps store the normal vector data of a given point on a mesh. Vectors (in this case) are linear and have no need to be gamma corrected. The same goes for other maps like Bump maps or Specular maps. These images had values stored to them on a linear scale, so they should be read on a linear scale.
Hope that all made sense. I'm happy to clarify anything.
Example:

Left - Color Data:
How the image is intended to look.
Center - Non-Color Data:
The image with no gamma correction. Note how there are lots of lighter values and very few dark values, making it look "washed-out."
Right - Non-Color Data with Gamma node:
This looks very similar to the Color Data image. It isn't exactly identical, though, since the image was encoded with sRGB, while I decoded it with a normal Gamma of 2.2.


Why I can't see hdri preview? I have added a HDR environment image. In the 3d View it's visible, but not in World Properties Preview.

With my small scene i added another hdri. I turn off the ray visibility -> camera off. The scene turn black.

I created a glass cabine. I cant see the glass edge. Here i have a top area light. And same no hdri preview seen. Just complete black.

Any suggestion how the hdri can be visible and why the glass edge not visible. Thanks

Why i cant see preview in the properties view?
Your view shows just grey part of texture. Preview doesn't display whole HDR texture, just view angle. If you go to World node three and change Rotation in Mapping node you can see difference.


white dots in grease pencil strokes I am working on animating with grease pencil, but have found it hard to display my work when there is a weird speckling of white throughout my stroke. The opacity of the palette stroke is set to 1.00, so I don't know what to do to fix it at this point.

The dots are transparent and the background shines through. Pretty sure the dots will change color if you turn the background red.

This happens when a very thick line style is used. GP seems to place lots of short stripes perpendicular to the stroke and the gaps happen when the strokes don't overlap. I tried 2.76 and the line was smooth and even. So some time after that, the way to draw GP has changed. Cranking up 'smooth' seems to help a bit, using a thinner stroke helps, too.

If you need really clean results, converting the strokes to a curve should work, giving it a bit of extrusion and a shadeless material. Sadly GP seems to connect all curves together, so a bit of cleanup is necessary.


How to colorize (tint) a texture on one side of an object I want to do this effect, where one face of a column is colorized:

I have added a shader with texture to my object:

What should I do next?

Download grey plaster texture, enable Node Wrangler add-on in Blender settings, select the object, go to Shading tab, select Principled BSDF node and press Ctrl + Shift + T - a Blender File View window should open, navigate to your texture files and select them all. Node Wrangler add-on will now automatically setup your nodes.

The reason why I suggested redoing what you've already did, is that by using not just a color information, but also normals and roughness, you're able to completely remove the texture color, by disconnecting "Base Color" Image Texture > Color from Principled BSDF > Base Color and then override it with a color of your choice:

you can still see the texture of the wall, just like you could see a fat stain on a flat wall with uniform color, because the stain will be more shiny, as well as the normal information fakes depth, which also changes color.
But let's say you want to operate only on the color, you can then use a Hue Saturation Value node to change color information:

This, however, will not work on grey textures and it seems you have a grey texture. You can simply use Mix node to mix two colors - the base color, and a color with which you want to tint. However, in the default, "Mix" mode, the more of your own color you add, the more you "cover" original color, up to a point where at 100% you can no longer see the texture, and you indeed are going for a strong color. Try different modes, e.g. Overlay or Darken, Lighten...

As for limiting the effect to just one side, you could take normal information and convert it to binary 0/1 by using something like Math: less than node:

I added a Math: Multiply node, to have a factor of 90% instead of 100% for the chosen wall.
Let's join all techniques together and we get this:

the blue on the other walls coming from the fact that after applying Displacement, some parts of the geometry now face (roughly) the same direction as our chosen wall. Increase the "threshold" of Math: Greater than to fix that (or just remove the displacement):

Using 100% Mix (an equivalent of disconnecting the node and just setting the color directly in Principled BSDF) instead of 90% Overlay, and very strong Normal Map is probably what you're after:

Keep in mind you could make the process simpler (though more time consuming with many columns) by assigning different material to chosen wall:
Add different materials to different parts of a mesh?
Or make it harder (but less time consuming!) by having one material for all columns, but randomizing the colors:
Cycles Random material with alpha texture
What is the easiest way to have a material randomize the Image textures it uses?


Scene rendering from pivot point of an object I'm pretty new to  render and got an issue when I tried to render this scene because the active camera switches to another wiew from an origin point of another object (Plane.001) there are no other cameras and the active camera is an fspy camera because i used a photo reference and it's an easy program to use but this issue might be becouse of the program.

I also triedd to add another camera and use that camera but it always render from the same origin point and there aren't other cameras in the scene

I have no idea of how to fix this please help

this is what i see when i try to render whit the right camera active

I had this issue too and I fixed it by duplicating the mesh the camera was attaching to and then deleting the original mesh while leaving the copy in place.


Assigning Material with texture I followed this tutorial to create a soccer ball.
Now I want to texture it in a way that every pentagon has an image inside itself and the exagons are white, but I also want everything to be a little glossy.
I managed to successfully UV Map the ball and paint the texture in photoshop but now I am having big problems in applying the texture material to the mesh.

I've created a new material in Blender Render mode with Diffuse and the texture applied to it. I also set the Texture mapping to UV. I've gone in edit mode, selected all the mesh and applied the material. Unfortunately in Texture View Mode I see just a white ball and while rendering I see everything's black.

If I try to do this in Cycles Render and use a Mix Shader with the FAC set to the texture image I get what I want in the Texture View Mode but while rendering I just see everything black and white of my colored images.

I hope I've been clear enough and that someone will help me in this easy/difficult task!
Thank you in advance

For cycles

Put your image texture in to a Diffuse node. Then use the factor in the mix node to determine how much gloss there is. The color on the glossy node should be nearly white, you don't need to plug the image texture in to it also.


Can you export separate layers as .obj? Can you export a layer as a obj?

I'm not sure why you want to do this, so I don't know if my answer is relevant, but here goes.

You could

save your file
make sure everything in every layer is deselected
Display only the layer you want to export
Select everything in it
With Shift held down click on all the other layers to display them too.
Invert the selection, with Control I, and press delete
Export the file normally. It only has the objects in that layer left.

Edit:

To answer your question in the comments - Select Only option is found in the left column of the page you're on after you click on Export as Wavefront Obj file.


Ugly Armature Mesh Deformation in Edit Mode I've been trying to use shape keys to correct ugly armature deformation, but whenever I try to move a vertex in edit mode to where I want it to go it gives this super ugly curve thing.

Why are the edges curving like that?  It's supposed to be straight!  How to stop it from doing this?  It's very frustrating, what's the correct way to make it bend like an arm?

Okay!  I found the answer!

The problem was that I had a subdivision surface modifier on the mesh but I didn't apply it yet.  The armature was using the subdivision modifier to make it curve smoothly, but I was unable to edit those vertices that were making those weird curves because I didn't apply it to the mesh yet, all I was able to edit were the small amount of vertices that were there.  So I applied the modifier to my mesh and now it doesn't curve anymore because I have control of those vertices in edit mode.

Unfortunately I had some shape keys to the mesh already and I had to delete them in order to apply the modifier.  Oh well!


Change Default Render Output to JPEG with 98% Quality Whenever I save a render to my disk, I typically save it in JPEG format because the vast majority of the time, JPEG saves faster and smaller than the default format, PNG with RGBA color mode.

Because JPEG is a lossy compression codec, I usually set the quality to 98% instead of the default of 90%, since at 98% there is usually little or no loss of quality, and (as a bonus) it can sometimes reduce noise in cycles renders by a tiny bit.

However, each time I save a render, I have to first change the output format to JPEG, and then change the image quality from 90% to 98%.

Is there any way I can set the default image save format to a JPEG with 98% quality?

Open a new project and change the output format to JPEG 98% quality in the render settings panel:

Then, from the File menu, choose "Save Startup File" (or press CtrlU).  That will make your compression setting the default for all new projects, and for images saved from the UV/Image editor window.


Animation by adding points to a curve, with Python? I’m trying to make an animation by growing a curve.  I have a python script like this, which is based on http://blenderscripting.blogspot.fr/2011/05/blender-25-python-bezier-from-list-of.html

import bpy
from mathutils import Vector

w = 1 # weight
Scale = 0.03

def readCoords(filename):
    with open(filename, 'r') as File:
        Coords = [[float(x) * Scale for x in line.split()] for line in File]
        return list(map(Vector, Coords))

ListOfVectors = readCoords("/Volumes/Stuff/3d/Lorenz/3d-data.txt")

def makePolyLine(objname, curvename, cList):
    curvedata = bpy.data.curves.new(name=curvename, type='CURVE')
    curvedata.dimensions = '3D'

    objectdata = bpy.data.objects.new(objname, curvedata)
    objectdata.location = (0,0,0) #object origin
    bpy.context.scene.objects.link(objectdata)

    polyline = curvedata.splines.new('NURBS')

    for i in range(len(cList)):
        # bpy.context.scene.frame_set(i+1)
        if i > 0:
            polyline.points.add(1)
        x, y, z = cList[i]
        polyline.points[i].co = (x, y, z, w)

makePolyLine("NameOfMyCurveObject", "NameOfMyCurve", ListOfVectors)

Basically I read the coordinates of points from a file, and add them to a curve in sequence.  My question is, how can I animate this process (eg. add 1 point per frame)?  I notice there’s a build modifier, but I want precise control on this, so that I know the exact coordinate of the end of the curve at each frame.

I had this exact same problem a couple of months ago.  The solution irc provided to me was to create a full curve and animate the End Bevel Factor.

The beginning of your curve is bevel_factor=0.  The end of your curve is 1.0.  I am pretty sure it maps from the bevel factor to the index of a control point. So if your curve has 11 points (0..10), then bevel 0.3 will include control points (0..3) .

Consider carefully if you want to animate it with a linear animation curve or the default bezier curve.


What's the best way to rotate objects identically in their own direction? How to rotate these sticks evenly so that they roughly stay in place. I tried to use the array modifier and make them separate objects, and also somehow rotate them in relation to the 3D cursor, but it didn't help.

It seems to work fine:

Select the stick called Cylinder.002. Rotate it as much as you want on the X axis, move it until it's correctly placed:

Delete the other sticks, select 002, press AltD to link-duplicate, in the Transform Pivot Point menu choose 3D Cursor, rotate 120° on the Z axis:

Do it again.

If you need to animate the sticks, first parent the initial stick to an empty, then duplicate both the empty and the stick, move and rotate, and you'll animate each stick:


Unable to draw motion paths of controllers I am learning how to animate in Blender 2.83 and have been trying to get motion paths to work with not success.
If I select the hand controller of the rig and click on "Motion paths > Calculate...", all I can see is a cluster of points at the origin of the scene and numbers matching my frames.

These are the settings of my motion path

Is there anything I am missing?
Thanks

I wasn't able to fix the issue for this particular animation, but I believe it was because the arm is in FK. I tried the same with the IK leg in a different animation and the motion path works correctly.