Selecting a curve by its name with a Python script Is it possible with a Python script to select the curve of an object with its name ("location x", "location y", "rotation z", ....) instead of its number.

For example, I tweak the Z location of an object with

bpy.data.objects["Pixel X0006 Y0006"].animation_data.action.fcurves[2].keyframe_points[0].interpolation = 'LINEAR'

and I would like to select it by a name rather than with fcurves[2]. It would be more convenient for my scripts.

Is it possible to do that ?

Yes its possible.

This is an excerpt from an older, non latest version of Blender script.  The relevant part may still work. Note the find function.  You can see the name of the curve in the FCurves Editor Panel.  Note curves may have an index X in the set [0,1,2].

object_bq = bpy.data.objects[name]
test = object_bq.animation_data.action if (None != object_bq.animation_data and (None != object_bq.animation_data.action)) else None;
if (test):
    fc = object_bq.animation_data.action.fcurves.find("Some Curve Name Visible in the FCurves Editor Panel");

fcurves.find

https://docs.blender.org/api/current/bpy.types.ActionFCurves.html?highlight=fcurves%20find#bpy.types.ActionFCurves.find


How can I access pre-existing UV maps in an fbx? I am trying to clean up some mistakes in an fbx model that I have and it would help tremendously if I could access the pre-existing UV maps in the model.

My outliner shows one mesh with multiple materials that have multiple textures underneath it.

I want to access the UV map for one of these textures.

Unfortunately, the UV/Image Editor shows one ridiculously complicated UV map that combines the UV maps of all the textures.

How can I select just the one UV map that comes with only one of the textures?

All existing UV maps can be accessed by simply selecting them in the Properties Editor, Data tab in the UV map list. They will be previewed in the viewport when selected, and you need to select the active one for rendering by clicking the camera icon:

When you need to use a few UV maps in a shader, you can specify the vector input for any texture to be the correct UV map with the node not so surprisingly called 'UV Map':

So all I had to do was to open the properties's panel material pane where all the materials are listed. Then selecting them and clicking on deselect allowed me to isolate the one I needed.

Hope this helps someone. :)


Why are the control points/inner lines on the inside of cup leaking out when I zoom out? Zoomed out view: https://i.postimg.cc/9fzndvY0/image.png

When i zoom in: https://i.postimg.cc/3JHHFJqq/image.png

Wireframe view: https://i.postimg.cc/gj5JJ9sh/image.png

Blender file (the cup is on layer 2) : https://www95.zippyshare.com/v/2nyeVtve/file.html

Pretty sure I am doing something wrong here, I just don't know what it  is.

Could some help me identify it?

Set the clip end distance to a smaller value (it's in the view tab,
  press N if you can't find it)

Thanks @sacrish


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

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

https://youtu.be/SKh-La_fW1o

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

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

2) unfold unfold function like in maya

3) orient shell

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


Read csv file (converted from excel) and set variables x,y,z etc as the cell values How to set cell values as x,y,z,l,m,n,p,q,r variables in python without using pandas (ignore second set of coordinates)

So x=5000, y=300, z=2700, l=0.2, m=-1, n=0.1, p=0, q=0, r=0

import csv

def read_csv(file_name='your_file.csv'): # use \\ instead of \ in filepath
    with open(file_name) as csv_file:
        file = csv.reader(csv_file)
        return [i for i in file]

csvFileArray = read_csv()
row = csvFileArray[2]  # first row
x, y, z, l, m, n, p, q, r = row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9]

x = float(x)
y = float(y)
z = float(z)
l = float(l)
m = float(m)
n = float(n)
p = float(p)
q = float(q)
r = float(r)

```


3 problems achieving a 10:00 minute countdown clock animation. (non-repeating seconds, changing 100 units to units of 60, minutes not following math) I'm working on creating a COUNTDOWN ANIMATION of ten minutes 10:00 to 0:00 using the Animation Nodes Add On.
I can't find as yet a way to repeat the seconds portion so every 60 seconds so it recycles again starting over and repeating 9 more times. Is there s a loop node within the animation nodes?
I'm also unable to find a UNITS NODE offering an ability to change it's native 100, to 60. My workaround was to create two separate countdowns, one for minutes, and one for seconds next to each other. Of course one major problem with this is when the countdown begins, the minutes doesn't change from 10 to 9 immediately, instead changing 1/10th the time between 10:00 and 0:00.
Here's the current left to right setup of the nodes:

Timer Info > Delay Time 10-0 > Animate Float > Float to Text > Text Object Output

Timer Info > Delay Time  60-0> Animate Float > Float to Text > Text Object Output

Use math operator integer modulus relative to a frame number.
pseudo programming language ... I think you can translate this to BAN
time = (10 * 60 )- ((frame - offset)) #bias can be used
hour = integer(time/60)
minute = time % 60 # modulus operation

please improve


How to create a Spraying Effect I am making  drone animation which includes the drone spraying pesticide on plants so how do i make the spray effect as in spraying a fluid on the plants. Thank You

My instinct is that you either want a particle simulation (for droplets) or a smoke simulation (for a fog).

Neither of these is trivial to pull off.  I can imagine that getting the "smoke" to flow down will require some tweaks.


How can I thicken this area? I'm trying to 3D print this chair, but the lumbar area is too thin. The rest prints fine. I've meticulously selected the boundary of the area in question (I suspect one of the loop functions would have helped me there). How can I thicken that area to match the upper section of the chair? As you might guess, I'm pretty new to Blender. Thanks.

Just to answer the question, disregarding how the geometry looks:
Try to do a soft selection and go on from there.

So first go into edit mode.

Then enable proportional editing. (press the round dot/circle icon at the bottom. Its the one left of the magnet symbol. End select "Connected")
Now you can select a bunch of faces or vertices and use your scrollwheel. The circle that appears marks the soft selection area.

If you drag your vertices outward (using scale or simple move) the neigbours are dragged along with it.

You can influence the shape you are dragging by selection a different shape from the proportional editing menu.

I'm not sure I understand the geometry you're dealing with there, but you could try Shrink/Fatten (Alt+S)


How to cut sphere with sphere? Topology problem Basically it is a letter N. Tried many ways with no luck or lack...of knowledge.. :)  trying to make my own logo to 3d. Using boolean and rotating spheres, but topology is big problem.

Any suggestions?

It's possible to avoid much work here with simple inset. It won't provide great topology straight away, it will add loopcut all over the corners where sharpening is needed in order to add Subsurf.

When you have a letter just after the Boolean chances are it looks something like tris, lack of continous loops etc. Select the part with indentations (the one you'd like to sharpen out):

Invert the selection (most likely face selection will be the most comfortable). It's also possible to use Outset option by pressing O while Inset is active; then insetting will happen outwards and this step should be skipped:

Then inset with I. There will be some areas where inset will create self-intersecting geometry, some cleaning work will be needed. However it might not be necessary to do it for all the letter (although it all depends on the final result as always):

I think your mesh is not fine enough to start with. Add a subdivision surface modifier and repeat the bool operation and you will get a smooth result.


Blending material seams? I've been working on this mushroom to render and the stalk and dome create a seam where there is different materials. Anyone know how to fix this?

Divide your stalk and dome into two separate objects, then assign one material to stalk and another one to the dome.


Boolean on Objects with smooth surfaces? Everytime I try to subdivide or use a boolean on an object with a smooth surface I get ugly artifacts as seen here. Is there a way to punch a hole through a smooth object while keeping sharp edges?

Without Edge Split modifier (left) and after applying Edge Split modifier (right).

Select the model Go to edit mode and press w and Remove doubles

Select the cylinder and add one subdivide

Now with the boolean modifier selecting the difference select the object.


How would i create a realistic coat material for a horse model of mine? I'm wondering how I could make a more realistic material for my horse:

So far it's just an image mapped on to a diffuse shader. I want a more realistic coat. Also, I was messing around with hair particles, but couldn't get a realistic mane and tail. I've tried so many things for both of these, but I cant get it right. Any ideas?

I have a similar problem; I need to render a horse in Blender Render for work, and the best thing I've found so far is to add noise to your texture, and then use the noise layer as a bump map. With horses, I've found, having good definition of the muscles on the body really helps a lot.  Alas that's something I'm still working on.


Why is my spot light not working? I'm trying to follow along with a blender beginner tutorial, and I'm having trouble with spot lights. All other lights seem to work fine but I can't get spot lights to work.

Light isn't really doing anything to the scene, I can delete it and it'll look the same.

You can find the blend file here - https://drive.google.com/open?id=0ByReRoh-9WDQNVRoLXAzRjVCOWM

There are two solution to this problem and they came from a scale of a scene.

After switching units to metrics (or imperial) you can see that your plate has radius over 3m, Lamp is 13m high above and size of 9cm.

You can crank up a light source Strength to something really high like 5000 and change Size accordingly.
You can scale down objects similarly to real world scales and make it a little bit physically correct. Then light won't need enormous values.

To add to that, you can click on "Show Cone" option. This way, when you move a spot around, you can see the cone projection on the object and the background falloff estimate.


Why has the boolean modifier created new vertices? As you can see in object mode there are 4 vertices that have separated the front of the cartridge into multiple faces when I use boolean modifiers on cartridge.001. How can I fix this?  I imagine it has to do with good topology.

Here's the cartridge in object mode showing faces:

Here is the cartridge with the unwanted vertices:

Attached is the .blend

The topology you see in wireframe mode is real topology of your mesh if the modifiers were applied. The edges (and not vertices) are added because it is impossible in Blender (as far as i know) to have a face with an hole in it, with a connected vertex. To create a hole you need to create a cut to join the two edge loop of the new face.
The wireframe view can avoid to display some edges if the faces have the same normal, but for that you need to apply the modifiers, then go to Edit Mode and back to Object Mode.

I think once you apply the boolean modifiers you can fix it using limited dissolve.


Multiple Linked Objects with unique Materials / Group Materials override I want to have a Cube in scene A, and linked in scene B, but with different material.

The solution for this problem was found on BlenderArtists.

  click the material tab and you will see a little drop down that says "dat" or "Data". Click that and change it to "Object". Now you can assign the material to the object instead of the mesh or "Data Block".

But what if I have 5000 Cubes in scene A, and I want 4999 of them to be in scene B with different material X, and 1, with material Y.

If I try to "link material" in scene B, with new material, it won't copy "Object" selection. I would have to go over 4999 cubes and change them to "object" in material tab.

I can't join them, and then separate - all objects are in a mess after that (and blender crashes anyway).

Material override for whole scene won't work for me.

Is there any option to override materials in groups? That would solve the problem in some way.

(step 1 from gandalf3's answer)

Set the material datablock to Object, then right click on the drop down and select Copy to selected This is important, if you skip this step 2 will not work.

Select all the objects you want to have the same material, with the active object having the material to be copied to all the others selected. Press CtrlL, and select Materials. It will now link the materials to the Object and not the Data.

There are a number of solutions.

Select the desired objects, CtrlL to link materials data, then go to the material tab of the one object you want to be different and click the number next to the material name to make a single-user copy. Then it can be whatever you want.
You probably can join and separate, you just have to replace your object origins after you separate: select all, objects->transform->origin to geometry.
In your user settings, you can specify what gets copied when you duplicate an object, including AltD which makes a linked copy.

There are many options, you just have to understand how they work.

Lemme know if I can clarify anything.


Cryptomatte from Blender to Fusion Studio 16 I am new to Blender and I am trying to export individual multi layer exr files into Fusion Studio 16 for the purpose of utilizing cryptomatte editing. I enabled the cryptomatte in the render pass properties for object, material, and asset. I then setup up a compositor node as seen in the image attached. I am using the Reactor plugin's cryptomatte. I know others have been able to do this. I just do not know what it is that they did that I am not doing. If anyone could help me out with this I would greatly appreciate it. I also attached a screen shot of my Fusion Studio node build. It is what you would imagine. There is no cryptomatte file embedded anywhere in the openexr. On top of all of that, I cannot find anything on Cryptomatte for animation in Blender. I only see people using through the compositor which renders single images. I prefer single images, but it would be nice to be able to compile them and cryptomatte in Fusion through the compiled finish.

Blender

enable Properties editor > Layers Properties > Passes > Cryptomatte Object
export animation as image sequence in Multilayed OpenEXR format (Float Full)

Fusion

go to File > Import > Footage and select your image sequence in your directory (so it is imported as one node)
search Cryptomatte (from screen i see you have it instaled, so i'm not going trhough installtation process)
now you have to specify what object to use as mask, for that select cryptomatte node and place source cursor on desired object in image (Torus in my case) and click Add in properties editor, or you can type name of your blender's object directly into field (see image).

I had some issue with edge, but was solved with additional node (macro/group?) here (you will have to Login first). I was also asking for the same kind of node tree fix on BA Thread, but without help for now.

I actually do not think that cryptomatte editing for animation is possible with a Blender and Fusion workflow, maybe Nuke. But, it was better designed for Maya that it was Blender where I believe that animation editing in a cryptomatte environment is possible.


Can we keyframe hair particle brownian motion? Is there a good reason to be unable to keyframe a hair particle system's brownian motion? Or is it a bug? I can't change this value, because its keyframe at another frame prevents it from being changed.

Yes that is a bug. When the type is set to hair most keyed settings are snapping back to the keyed value which prevents new keyframes being added or adjusted from the properties panels. This is not hair only settings, physics, field weights and force field weights are also affected, while render settings do work properly.

For a workaround you can add keyframes and adjust settings in the graph editor once a value has a keyframe.

Yes we can change the keyframe, Just active Regrow option in particle setting.


How can I accurately flatten a surface? I want to flatten some places of a sculpted plane back to the original level, but flatten and smooth don´t work the way I want them to. The grease pencil marks the areas where the sculpt should be flat. What can I do?

In order to flatten faces the surface, select all the faces that you want to flatten and scale 0 to the axis you want it to be flat to. I'm assuming you want to flatten it to the Z axis. In order to do this, press SZ 0 enter.

Wouldn't it be best to just set up a custom orientation then scale to zero on the axis you want? You could then reuse it whenever you want.


How Can I Preserve UV Maps for Multiple Objects? I searched for an answer to this question, but I can't find an answer. I have a texture that I'm mapping onto multiple objects. I have it placed exactly where I want it on one face of one object, and now I want to copy those UV mapping coordinates for that face to a similar sized face on another object. The objects are otherwise the same shape. Any ideas?

You can use data transfert.

Let's take an exemple with a sphere and a icosphere.

The sphere is unwrapped. And we want to unwrap the icosphere similarly.

Place the icosphere at the same position. Select the icosphere and select also the sphere (in this order).

Now click on "data" from the "data transfer" section of the "tools panel". The choose "UVs".

You will directly obtain this :

You can also play with the severall options of the data transfer operator (if needed). Particularly, you can choose the UV map you want (the face you are talking about in your question) as source layer.

Note that finding the good parameters may take time depending of your models.


Can I rotate multiple bones at once LOCALLY, without unparenting every single one? I'm currently having to rotate the bone rolls of my armature like this.

I have to rotate it the same way for all the arm bones, all the leg bones, etc.

In 3DSMax, you can select local rotation and rotate multiple bones at once, however, in Blender, this happens.

Does anyone know of a way to rotate these bones so I can switch their axis?

Thanks!

Pivot point: individual origins - it's the icon beside the shading selector and the 3d manipulator icon. Select individual Origins.

You can check the origin.I don't know you setup.You can also make the rotation to one, and paste it to all the others.


Difference Materials Link vs Copy Material to selected What is the difference between selecting several objects and using "Copy material to selected" in the Materials Properties pane, versus pressing CTRL+L -> Materials?

They behave differently if the Active object has less Material slots than the Selected object:

Copy deletes all slots and add those existing in of the active object
Link replace only the first slots, and keep the extra slots unchanged.

Install Material Utils Addon, select object or multiple objects, press Q and go ASSIGN MATERIAL. It's much easier than all these options..


Output file different from preview I use Cycles renderer and nodes to output the image, normals and UVs at the same time. Here is what it looks light.

The preview in the RenderLayers node is what I expect (world positions).

However, when I press F12, in the Image file (Image0000.exr for the frame 0, etc), I get this :

instead of the expected result :

(I think that in the first image the cubes are here, they're just the same colour as the plane).

The preview gives me the correct image but the output is wrong. And if I press the Animation button, the result is correct in the files 0000.exr, etc, but wrong in Image0000.exr, etc.

Am I missing something? Is there a problem in my nodes ?

Thank you for your help!

Thanks for the advice for using backdrop to debug, I figured out that it is the alpha node that was problematic :

Could someone explain to me how this alpha node works ? Apparently I got it completely wrong.

I'm not sure what you want the alpha over node to be doing there, but it's whats causing the white output.

Something as simple as this should work:

Example .blend

Change your image output to .PNG as inspection tool.  Render the image and preview it the compositing node viewer, with backdrop selected, as an inspection tool.

Press 0 a few times to see Camera View and User View.

Choose the RGBA or RGB channels icon to view the image the correctly.  Choosing Alpha would give a incorrect result.

Change the preview mode to be in Render.


Rendering animation as image sequence doesn't work I was just wondering if anyone can help with this problem. I have an animation as an image sequence but whenever I try to render it as a video file, it renders the default cube instead. Thanks for your help

just open a new blender file and make it by default a video editor, add the image sequence, put your setting and render


Grease Pencil to Video Sequencer I imported sound in video editor, cut it as needed and did animatics in sync to the sound using 2D animation tab. But when I render the same my output is a blank frame.
Possibly because I am not able to see the completed 2D animatics in the sequencer. So how do I import the same video sequencer and then I can render a FFmpeg video.

in the output properties tab (below camera) under output, you can set file format there. change encoding to h264 in mp4. make sure you enable sound.


How can I model a tap shape? I am facing an issue modeling this shape. Any clue?

This is as far as I could get:

My finished model looks like this. Of course topology may be different- it's your decision how you set the edge flows. Here's the .blend for you to study:

It's too broad modeling task to describe every step, that's why I used a screencast keys in my .gifs. Begin with extruding the cube horizontaly, then subdivide it using edge loops (Ctrl+R). Add a circle (with 8 vertices) and bridge the extruded cube's end with it (W-->LoopTools-->Bridge). Your base mesh is ready. Rest is a matter of using blender modeling tools to tweak some vertices as pictured below.

Try extruding the top, rotating, and extruding again to make the handle then alter it in sculpt mode.


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

I'd like to reflect the light like this :

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

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

Actual rendered view (not full render) :

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


How can a cube/ a group of cubes be painted? Setup : Blender 2.82

I want to achieve something similar to what was represented below but through a  python script.

If each cube here represents a pixel, what is the fastest way to change its color so it looks exactly like the 2d image?

I wonder if it is possible to put there an actual RGB photo and not just a number?
I am also curios if i can map on a face of an cube a full image like a feature map from a tensorflow model ?

Here is the code that i have atm for creating cubes at different location in different collections

def createCubes(x,y,z, name):
  collection = bpy.data.collections.new(name= name)
  bpy.context.scene.collection.children.link(collection)
  k = 0
  l = 0
  for i in range(0,int(z)):
      for j in range(0, int(x)):
        bpy.ops.mesh.primitive_cube_add(location=(k, y,  l ))
        bpy.context.active_object.name = 'cube'
        cube = bpy.context.object
        for ob in cube.users_collection[:]:
            ob.objects.unlink(cube)
        collection.objects.link(cube)
        k= k+3
      l = l + 3
      k = 0

you have to use opencv a python library for image processing so that you can map a full image.


Cycles not using transparency in decal texture? I'm trying to apply the logo onto the glossy part and cycles render ignores the transparency and just makes it black.

I've tried both png and tga using the multiple builds of blender. And it looks weird in texture mode even though the uv map shows transparency.

Blendfile

In fact, the transparency of that logo wasn't ignored. The reason why the logo's background shows black is that you just see though it, and there's little light and nothing behind (inside the keyboard, actually).
In this case, all you need to do is simply mix it with a node group containing the same node setup as the keyboard material (the one located in the first material slot):

Did some stuff with nodes thanks to this video https://www.youtube.com/watch?v=Lw-YHoxpAnk#


Interactive mirror (Ctrl + M) doesn't mirror object I'm trying to simply mirror an object (maybe for the first time)

So I want to use the mirror command CtrlM for it.

When  use it, blender asks to select the axis I want to use for the mirror operation, then I type X, Y or Z, the axis is selected, I press enter or click anywhere, and nothing happens, the object just sits there the same way.

What could it be the problem? I can't find info about this problem.
Thanks for your help!

When using Interactive mirror as with the mirror modifier, you need to mirror about a point else pertaining to the former, the object will just mirror/flip in place and if the object is symmetrical you won't see any changes. This point can be the object origin, another object or the 3d cursor depending on which mode you are using.
You can either change the object's origin or simply switch the pivot point to use the 3d cursor and then mirror.
It is also worth noting that mirroring basically just scales the object on the desired axis by -1 (so without applied rotation you might not get expected results). So as a cheap and quick alternative to CtrlM, you could just select the object and use SX -1.
Mirroring in place or right on the object origin or 3d cursor.

Mirroring about a point

What I did in the last example was to first translate the object over a bit on the X axis and then change the pivot mode to the 3d cursor as the mirror tool needs a point to work around. I then invoked interactive mirror and selected the axis I wanted to mirror on which in the example is the X axis. In the first one, I simply mirrored a single object and it flipped it to the opposite side, in the second, I duplicated the object and then mirrored so I had identical copies.

It only works in edit mode:
As per the Blender documentation


How to merge around 300+ duplicate materials? I just made a scene with a city made of mostly identical skyscrapers. I did that by copying and pasting. Then I joined all of them with Ctrl+J, but now I can't undo the join and I have got around 300+ glass and wall materials in one obj. My question is how do I merge them into 1 glass and 1 wall material so I can change all windows and all walls at once? Selecting them all is not an option. I have 1000+ windows in my scene and now in one obj.

Short version: I mucked up and now I need to clean up 300+ materials. How can I do that? Maybe an add-on?

edit: I tried deleting all but the first glass and wall. i had one skyscraper left that had colors.

edit2: my materials are in alternating order. like glass, wall, glass, wall, glass, wall.... i think you get the idea.

I have only tested this on Blender 2.82
This solution only works if you are trying to get rid of duplicates like mat.001, mat.002 … (etc.)
You should save your work before running the script in case it doesn't produce the results you want
Copy/Paste the code into the Text Editor and run the script
Once it has finished running, all of the duplicate materials (mat.001, mat.002 …) will be replaced with a single material which will be named mat.
import bpy

def replace_material(bad_mat, good_mat):
    bad_mat.user_remap(good_mat)
    bpy.data.materials.remove(bad_mat)

def get_duplicate_materials(og_material):

    common_name = og_material.name

    if common_name[-3:].isnumeric():
        common_name = common_name[:-4]

    duplicate_materials = []

    for material in bpy.data.materials:
        if material is not og_material:
            name = material.name
            if name[-3:].isnumeric() and name[-4] == ".":
                name = name[:-4]

            if name == common_name:
                duplicate_materials.append(material)

    text = "{} duplicate materials found"
    print(text.format(len(duplicate_materials)))

    return duplicate_materials

def remove_all_duplicate_materials():
    i = 0
    while i < len(bpy.data.materials):

        og_material = bpy.data.materials[i]

        print("og material: " + og_material.name)

        # get duplicate materials
        duplicate_materials = get_duplicate_materials(og_material)

        # replace all duplicates
        for duplicate_material in duplicate_materials:
            replace_material(duplicate_material, og_material)

        # adjust name to no trailing numbers
        if og_material.name[-3:].isnumeric() and og_material.name[-4] == ".":
            og_material.name = og_material.name[:-4]

        i = i+1

remove_all_duplicate_materials()

```

You can try this add-on. It checks materials and removes duplications.
https://b3d.interplanety.org/en/blender-add-on-m-cleaner/
The main difference of this add-on from the scripts above is that it can really check the materials and find the really equal material.
If you merge two materials only by name and prefix (.001, .002) they could differ by their nodes - so, the name shows that they are equal, but not, they aren't. The "M-Cleaner" add-on really checks materials node by node, compares them, and only if the materials are really equal - it merges them into one. If materials even have equal names but differ by nodes - they wouldn't be merged. This mode is non-destructive.
Also, it has destructive methods of work, like described in the scripts below. It can merge materials by names and only by nodes on the first level of materials (with no checking groups).


How to programmatically add objects into cryptomatte node? How to automatically add object to Matte objects? Right now I have to use Pick output of Cryptomatte and then use eyedropper to add all the objects I need.

Ideally, I would like to have a mapping:
object -> color

I think the best way to do this is to open up a text editor window in blender by putting your mouse on the corner of the 3d view and dragging to open it.  This will open up another window and you can change the window type to text editor.  Click new and you will have opened up a file.  Next open up a python info window using the same procedure.  You can now see what all your commands are in python.  You can add objects like this by typing this into the text editor:

for i in range(10):
    *stuff*

replace stuff with the commands that you see printed in the info tab that you used to create your shape.  For example, once you make a cube you see a command in the info tab called bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, location=(0, 0, 0)).  You could then copy that command into your code to create your shapes.  If you want to learn about python scripting I would recommend reading blender's python documentation.


Cycles - Rendering with RTX 2060 CUDA Error I'm running the latest version of Blender 2.79 and I'm trying to render in cycles with a RTX 2060. I'm unable to render anything. At first I received the Error "CUDA binary kernel for this graphics card compute capability (7.5) not found."

I followed the steps in this youtube video https://www.youtube.com/watch?v=sZjIQGLieB4
Basically downloading a filter and kernel file and moving it into
C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\cycles\lib

After doing that I no longer received the first error, now I'm receiving this error "CUDA error: Not found in cuModuleGetGlobal(&cumem &cubytes, cuModule, bind_name.c_str()), line 729"

Any recommendations or fixes anyone can suggest?
Thanks in advance!

You can also use the 2.79 version from the latest builds. It works with the 20 series as well.

You'll need to use the Blender 2.8 beta for rendering with a 20-series card. They updated some technical CUDA stuff that allows newer generation GPUs to be compatible, but 2.79 naturally hasn't received those updates.

Hope this helps, and good luck!


Problem with exporting FBX file with multiple materials and UV Maps I'm trying to export FBX file to Substance Painter with multiple materials and multiple UVs merged together (merged under one name) I have vertex groups for them and materials.

When I'm trying to export selection only this Error pops up : https://imgur.com/a/8YAAB

Heres link to blend file: https://mab.to/aXVEW8bPC

Thanks in advance for any anwsers

I was trying to export FBX and said error was poping up. It was 3 objects with 3 different UV maps on one MAP ( i think its called UV Atlas). 3 materials all assigned even had vertex group for each one. After multiple trys i separated all of the objects and started exporting them one by one. It appears UV map on one of them wouldnt let the whole model to export. I tried with materials as i heard that un assigned materials can prevent you from exporting... i tried saving to obj and than back to fbx still nothing. I made new seams (cause i found in error info multiple UVIndex mentions) and unwrapped it once more and it exported. Simply as that.

The problem was one of UV maps was screwing it up.

Redid it and it worked.


How to introduce an edge where two faces intersect I'm looking for a way to introduce a cut to a plane where it is intersected by another plane.

The plane is a single face for simplicity.

Here's the setup:

Add a plane
Add another plane and rotate it by 90 degrees at X or Y so it is not coplanar

Join the two meshes together using Ctrl + J and enter edit mode
Notice that in edit mode face select allows selecting one or the other face
Notice that no edge has been introduced where the two planes intersect

The first solution I came up with was to just use two loop cuts, one on each plane. In this setup the plane dimensions were left unchanged as was their location so it just so happens that the intersection edge coincides with what you get if you loop cut both the planes.

The second solution I found was to use a boolean modifier on both planes, selecting the other plane as the object for the boolean operation in both cases. This correctly introduces an edge where the planes intersect. The can be joined after both boolean operations have been applied, giving a single mesh with four faces as desired.

I am wondering about the general case, though. What if one plane was twice the size of the other, or shifted by half the size?

My solutions do not work in those cases. Loop cut needs to share origin in order for the cut offset (half the face size) to coincide with the intersection edge. Boolean doesn't work if the faces are different sizes or shifted against one another so that their edges do not connect anymore.

Is there a general purpose tool in Blender for selecting two faces which may or may not intersect and saying "introduce edges where they do"? Obviously some sort of logic needs to be applied when the faces are shifted so that their edges do not connect with each other, my thinking is in that case both faces should be cut as if the other face was infinite in size and not finite? Or some other logical fallback behavior.

Is there such a tool? This question is primarily for Blender 2.8.

The simplest solution would be to select one of the planes and use Intersect(knife) that can be called from the search menu(F3/space) or Face menu(ctrl+f):

hmmm...
imo, the easiest way to do this is simply with a bolean modifier...
place your planes as shown on the pic.
select 1 plane (plane 1) and (in object mode) add a boolean modifier.
in operation box select union.
in object box select plane 2.
hit apply.
now half of plane 1 will disappear.
first select plane 2 and move or remove it.
now select plane 1 (wich is now 1 and a half plane) and go to edit mode.
select the edge that binds the 2 planes and hit E+dir+1 (dir= x,y or z depending the direction in wich you want to extrude).
now the 2 planes are 1, with an edge connecting the 2...
hope this helps


Trying to extrude bottom wall layout to build a house? I can't get the entire base of the walls to extrude upwards in order to finish modeling this house. Additionally, the areas that are already extruded are areas that I did not wish to be extruded and I can't figure out how to reverse it.

House Layout:

Blend file:

Alright, first things first. Let's identify your problems, which I did after a couple minutes.

Problems

You can Remove Doubles to remove 4,332 vertices.
Your bottom area has a tiny amount of thickness, which is preventing Extrude from working correctly.
Normals are all over the place.
Some faces are missing.

Solution

Beginning from your uploaded .blend file.

Begin by keying A twice to select everything and key W > Remove Doubles.
Enter Front Orthographic View by keying Numpad 1 and Numpad 5. This will allow us to remove the top and few walls that extruded correctly.
Key Ctrl + Tab, 3 to enter Face Mesh Select Mode and Z to enter Wireframe View. Key A to deselect everything. Face select mode allows us to select the correctly extruded middle faces. Wireframe allows us to select vertices that are obscured by other parts of the mesh, rather than just the faces we can see.
Use Box Select to select these faces:

Key X and select Faces to delete these faces. If you zoom in very close on the bottom, you can see its thickness:

Key Z to exit Wireframe View and return to Solid View. Key Numpad 7 to enter Top View.
Box Select the entire grid. Because you are in Orthographic Solid View, only the top faces will be selected.
Key X and select Vertices to delete all top vertices. This will remove the mesh interference.
However, if you try to extrude now, you may get weird glitches. You must select everything with A and use Ctrl + N to Recalculate Normals.
You may want to Fill in some faces now.

You can now use E to Extrude up on the Z-Axis.
Select everything with A one last time and use Ctrl + N once again to finish touching up Normals.

Finished Product:

From personal experience, I suggest you switch to edge select mode. That should do the trick.

Hope this helps!


How can I use physics connect functions in Blender 2.8? I've been taking tutorials of Blender at the age of 2.79(we still live in this age basically), and I am pretty used to the physics tool bar functions in 2.79, you can create physical constraints between a bunch of object for example. I used to made caterpillar track with that function at that time.
However in 2.80 when I find connect inside the object menu, it just doesn't work.

you need to create an empty and go to physic tab and add constraint ! the empty is the link between 2 rigid body object :)


How can I seperate parts of a human body to add materials for texturing? I have a few human models that I am trying to work with to add textures.
When I select all in Edit mode and ty to separate by loose parts nothing gets separated. I believe it is one solid mesh. There aren't any seams or anything to separate like in the tutorials I have watched.

Does anyone know a way I can take a solid model and separate it so I can add material slots in order to texture them?

Why do you need to separate your mesh? You can have multiple materials on a single mesh. In the material window you can add as many as you want. Then just go into edit mode and select the faces you want to give a different material, and then assign the matching material from the material window.

Another way to do this is to select the vertices/edges/faces you want separated and press Y then P.


Operator (Add Round Cube) doesn't work I can't change parameters e.g. size, location, rotation.

If G. Garone's answer doesn't work and none of your operators work, then i have another possible solution. I've had this happen a few times to me already, using 2.8.

Just press F3 in the 3D view, then search for "Load Factory Settings". Click on it, and the problem should be fixed. Be sure to go through your settings again, enabling add-ons and changing whatever you need. Don't forget to save the settings afterwards!

I think you enabled "Manipulate Center Points" option.

Just disable it and you should be able to move/rotate/scale your object.

More info about this option here: Manipulate Center Points


How are texture maps imported into Blender? How are various maps such as diffuse, AO, cavity, or displacement imported into Blender?

I saw the Texture tab has import image, would you do this for all maps and connect them somehow?

Cycles is node based, meaning the material is comprised of nodes. Unlike the blender internal where you go to a different tab and add textures, in cycles everything can be done from with in the node editor.

First make sure you are using cycles. To use Cycles, it must be set as the active render engine in the top header.
Open the node editor, change the node type to Shader Nodes You should now see something like this.

You can drag your textures from any file browser in to the node editor. That will create a new Image Texture node for each image.
Here is the whole node tree.

The color or diffuse map would go straight in to the Color socket of the Diffuse BSDF node, but because we are adding a AO map, cavity, or any black and white map to effect the color, that gets multiplied with the diffuse map then plugged in to the Diffuse BSDF.
The normal map gets plugged in to a Normal Map node, witch goes it to the Normal socket on the Diffuse BSDF.
The bump map is plugged in to a Bump node, which is connected between the normal map and the Diffuse BSDF.

Displacement mapping that truly alters the geometry of the model (as distinct from bump mapping) is something a bit different, but since 2.79 the easiest way would have to be the Principled BSDF shader.

See https://docs.blender.org/manual/fi/dev/render/cycles/nodes/types/shaders/principled.html

That gets you everything in one place without having to build a large node graph around mixing distinct diffuse/glossy shaders.


Is it possible to unwrap and map selected faces, then unwrap and map other selected faces? Is it possible to select some faces then unwrap them and map them with image, then select some other faces then unwrap and map them, and so on? I have one quite complex model, which if I unwrap them at once, it seems some faces are missing from the unwrapped model, which I don't know why.

This should be done with face assignment too beside uv mapping. So select some faces, assign the material to the faces. then put seams and unwrap, then map with image. After this is done, select some other faces, assign new material to the faces, put seams and unwrap, and map with other image, and so on. Can't be done with just one material.


Coupling particles textures and position I am generating a set of particles that follow a streamline and I would like the particles to change color according to their position along the line. The tricky part is that the streamline has a image texture shader and I would like the particles to be matching the texture.

Is there a simple way to do so?

Many thanks in advance!

Particles change color based on age / lifetime. I have left in transparency.  You can determine if position corresponds to that number.


How to scale in Edit Mode after scaling to Zero I was working on Shape Keys when I discovered that an Object cannot be Scale back after scaling to Zero in Edit Mode.

I pressed S 0 to scale to 0 in Edit Mode

Then when I tried to press S again to scale it back in Edit Mode it doesn't have any effect.

Am using 2.79b, and I've tried it on 2.80, same result.

Can anyone help me out?

After pressing S in Edit Mode, I immediately press Esc and set the Scale parameters in the Resize Panel


Texture disappears when "Render Image" is clicked The main screen before clicking "render image":

Page 1 of the options (pages made by scrolling):

Page 2 of the options (pages made by scrolling):

I am very, very new to Blender, so bare with me.

I had a friend make a model for me.  He assigned two textures to two objects called "Cube" and "white."  Each works properly when the render view is closed, but when I generate a render, no matter what pose, all textures disappear, and the model is solid black without shading.  How do I fix this?

Thanks to Scott Milner, the issue has been solved.

A light source needed added.


Hooking selected object to control point of Bezier curve via scripting I'm trying to hook an object - namely a cube, which is a Mesh - to a specified control point of a Bezier curve - which is a Curve - by scripting.
So I do the following and it doesn't work:

bpy.data.objects['Cube'].select = True # it has to be selected
bpy.data.objects['BezierCircle'].select = True # it has to be selected too
# and it has to be the active one as well
bpy.context.scene.objects.active = bpy.data.objects['BezierCircle'].splines[0].bezier_points[0]

It says that it doesn't find the 'splines' attribute. OK, so if I change it to a curve, like this:

bpy.data.objects['Cube'].select = True
bpy.data.objects['BezierCircle'].select = True
bpy.context.scene.objects.active = bpy.data.curves['BezierCircle'].splines[0].bezier_points[0]

then it says that it is expecting an Object, and not a BezierSplinePoint.

If it would be accepted, the following command should do the hooking:

bpy.ops.object.hook_add_selob(use_bone = False)

So that the Cube would be hooked to the control point I'm indexing.

Now what do you suggest I should do?

OK guys, I think I found the solution! Here: https://www.youtube.com/watch?v=ImWd1-FxhE4

In case the video becomes deleted in the future for some reason, here is the key to selecting the desired control point: (just an example)

bpy.data.curves['BezierCurve'].splines[0].bezier_points[0].select_control_point = True

So basically there is this boolean data member of the control points called select_control_point and you just have to set it to true.

I believe you can delete the troublesome statement.

The vertices selected are associated the object being edited.  Then the other mesh, or empty is the controller.  The operator will find the selected vertices.  You do not need to set the active object again. Delete the statement.

Footnote.

The original question has changed in comments by the OP but the original question text remains.


How Can I Subdivide Only Part of a Grease Pencil Stroke (Ver. 2.92.0)? When in Edit Mode for a Grease Pencil object, I can go to the Stroke menu at the top of the screen and select Subdivide. But this will always subdivide the entire Grease Pencil object. How can I subdivide only part of one stroke within the Grease Pencil object, specifically between two particular vertices? In the included picture, there are not enough vertices between the circled ones, but I can't figure out how to add vertices only to this area. What's worse, even if I give up and simply opt to use the blanket Subdivide option (hoping to get more vertices where I need them even as I'm forced to add more of them where I don't), it seems that vertices are still not being added in this specific region. Why is this? What am I failing to understand about how Grease Pencil geometry behaves?

Select only two points where you want to subdivide, and select Stroke > Subdivide.

Or just right click on the context menu and select subdivide.

Note that you can modify the settings for the tools and the post processing for the draw tools to get better detail and optimize how control points are distributed on the drawn lines.

For more information read the manual https://docs.blender.org/manual/en/latest/grease_pencil/modes/draw/tools/draw.html#tool-grease-pencil-draw-draw

After some experimentation, it turns out that enclosed grease pencil objects, such as those which can be created with either the ellipse or the box tools while in Draw mode, have some curious quirk which prevents the Subdivide option from working properly on every edge of the stroke. Subdivide works for all but ONE edge. I'm assuming that this one edge, which cannot be subdivided by any conceivable means, is the edge that defines both the beginning and the end point of the stroke. Still, the behavior is curious and unexpected. To repeat the steps needed to see this problem, create a Grease Pencil Object and add to it an ellipse or a box. Go into Edit Mode and then select all vertices. Then, from the Stroke menu at the top of the screen, select Subdivide multiple times in a row. You will see that subdivisions happen to all edges except for one.

This explains why it is that sometimes I was able to subdivide an edge within a stroke, and other times I was not. What was happening was, in the course of continuing to edit my stroke and move it around in Sculpt mode, this single stubborn impossible-to-subdivide edge would eventually end up in any random location within the stroke, but without me knowing it even had this strange behavior. Occasionally settling on this one stroke as being the one that I would like to subdivide is what revealed the curious behavior, and also what made that behavior appear seemingly random. I still don't know why there is always one edge which can't be subdivided. But at least I now know why I couldn't subdivide Grease Pencil edges when I thought for sure I already knew how to do it.


Why are there gaps in my object? I would like to know what went wrong here. I'm learning with tutorials and it seems I did something different.

When I started sculpting it appeared that there is a gap without texture around the top. I do not have the gap problem on the second picture because there are the 2 holes missing on the upper side. For the holes I did it with separate loop cuts and then extruded and again some loop cuts for smoothing the edges.

But why do I have the gap? Can anyone tell me what I did wrong?

I think it has to do with the sculpting engine. What is happening is the faces are being smoothed or deflated, etc. (basically shrunk) and one will go into another. you can see this if you deflate a default sphere or something. To fix it, smooth, inflate, flatten until it appears to be fixed again.


How do I clean up unintended mesh inside a mesh? I'm a novice Blender user and I could use some advice on cleaning up some unintended mesh.

I'm working on a 3D model that I extracted from microscopy data. For this purpose the volumes are extracted from the raw data using a program called AVIZO. Then I exported the volumes to blender for smoothing and animation etc.
I've been working on the model for a couple of months and I was adding the finishing touches when I found out that there was a lot of unintended mesh inside of the model. I think that I must have been sloppy with the "fill holes" or "fill" functions in an earlier version of the model.

I've deleted part of the unintended mesh by hand but it takes a lot of time.  I'm wondering if you know a faster way of cleaning it up? Due to the pending deadline I don't have enough time to go back to an earlier version. I can provide some screenshots of the mesh if that helps.

I hope it's okay for me to ask such a question on this forum.

Thanks!

Edit:

This is the screenshot of my mesh. As you can see there is a lot of stuff going on in the centerpart.

Edit:

I've uploaded the most troublesome part of the mesh

Your mesh is really a mess.

I think the method I show here can help you with it.

In Edit mode, wireframe view, use the border select to select the up and bottom parts.

Hide them or invert the selection.

In case you use HIDE: Select all the rest and separate it (do not delete it because you can need it later ).

Now the interior is a separated mesh.

See the image below.


What is the backwards compatibility of blender? At what point does the backwards compatibility of blender break, and for what features? I know if I open a 2.49 blend file in 2.7x it will not have the animation data. I heard that 2.7x would break some features of old blender files, so is there a list anywhere of feature compatibility?

The mesh format has changed. 2.6+ uses BMesh and allows for N-gons (i.e. polygons with more than 4 vertices). 2.49 has only quads.
If you don't save with Save Legacy option, you will get only edges, no polygons!
N-gons will be deleted in 2.49.

The whole API, interface and the major version of Python have changed. No scripts are compatible between 2.5+ and 2.49. (Still, I'm suprised how many 2.x concepts in the API were considered good and made its way further to 2.5+ )

Linked libraries between 2.6+ files actually work in 2.49! You can append and link things from 2.6+ files :)

Many new modifiers were introduced in 2.6+.
If used, you won't get any 'Unknown' warning in 2.49. No, they will be anihillated instead. The same is (sadly) true about new types of nodes...

Names (of objects, materials) in 2.49 have length limits: 16 characters plus the .001 suffix. Also, no international characters are allowed. If you leave a long name in a 2.6+ file, it will end with [] symbol in 2.49. Editing such name in UI and pressing Enter will 'normalize' it.

2.6+ has no options per polygon (mostly game-related, but not only: like Collision, Invisible, alpha blending mode). In 2.6+ you need to set them per material and use "Blender Game" as the rendering engine.
2.49 will not recognize these settings. Also, 2.6+ will break the per-face mode (a bit field). You have to reset the bit field first:

polygon.mode = 5

to be able to use bitwise operations again, like:

polygon.mode &= ~(Mesh.FaceModes.INVISIBLE)

You will need these operations to recover per-polygon flags with Python.

2.6+ names new UV channels "UVMap" by default, while 2.49 uses "UVTex".
It's not an actual compatibility issue, but remember to name the two objects' channels identically before you join them (Ctrl+J). Otherwise, you will lose UV mapping on one of the objects!

The compatibility is quite good IMO :) taking into consideration how much has changed since 2.49.

What you're talking about is forward compatibility. Backward compatibility is the ability to open files in older versions of the product.
The release notes should give you a hint as to both, but it's always safest to assume neither exists.
AFAIK the Blender team doesn't guarantee either between even minor releases, let along the large step from the 2.4 branch to the 2.7 branch.


Get Hex triplet for color and real 256 RGB from diffuse Color using python as you know the RGB structure each parameter (red, green, and blue) defines the intensity of the color as an integer between 0 and 255., Actually, in Blender, you have that  in sRGB, then any  traditional convertion to HEX work BECAUSE the Hex in blender is GAMMA CORRECTED.
also in Documentation I can NOT get any reference about how get the HEX TRIPLE FOR COLOR CODE ...

how to get both with python?
UPDATE:
I want the hex value or how convert the hex to RGB
AS @dr.Sybren  I thougth That was just a straight conversion of the bytes in RGB order converted to hexadecimal notation, and then tried some simple code as @tet_ii
context = bpy.context
obj = context.object

color_inferior= obj.material_slots['inferior'].material.diffuse_color

a = '#%02x%02x%02x' % (int(255.999 * pow(color_inferior.r, 1/2.2)),int(255.999 * pow(color_inferior.g, 1/2.2)),int(255.999 * pow(color_inferior.b, 1/2.2)))

print(a)

testing the code I got:

also, I test other codes with the same or worst result:
https://stackoverflow.com/questions/3380726/converting-a-rgb-color-tuple-to-a-six-digit-code-in-python
then. Can I capture the value directly from blender without any convertion? or do a 100% accurate conversion?

This code adapted from devtalk.blender.org, convert color from blender standard active material to hex.

import bpy

#code by : brecht - devtalk.blender.org
def to_hex(c):
    if c < 0.0031308:
        srgb = 0.0 if c < 0.0 else c * 12.92
    else:
        srgb = 1.055 * math.pow(c, 1.0 / 2.4) - 0.055

    return hex(max(min(int(srgb * 255 + 0.5), 255), 0))

def toHex(r,g,b):
    rgb = [r,g,b]
    result = ""
    i=0
    while i < 3:
        val = str(to_hex(rgb[i]))
        val = val[2:]
        if len(val) == 1:
            val += val
        result+=val
        i+=1
    return result

ob = bpy.context.object
color_inferior = ob.active_material.diffuse_color

a = toHex(color_inferior[0],color_inferior[1],color_inferior[2])

print (a)

Try turn off color manager for display device:

bpy.context.scene.display_settings.display_device = 'None'

After, color circle give value 0xCA0001 for 0.791; 0.000; 0.003


Particles are not being killed by collision object when interacting with sides of object See this video for example: VIDEO EXAMPLE

When particles fall directly down, the collision object will kill all particles as intended. But, when I direct the emitter to give the particles an x or y velocity, the particles pass through the sides of the collision object as if it isn't there. None of the particles get killed by the collision object when they should be. I've tried this with multiple objects as the collision/killer object: cubes, spheres, tubes (made from cylinder and solidify modifier), darn near everything.

What's worse, is that it only seems to be with one particular .blend file (which so happens to be my work project file). Creating a new .blend file and setting this up doesn't seem to produce this error.

Can any offer a fix or solution to this? Is there a configuration setting that would make the particles pass through the emitter sides?

In my case, to solve I just put the emitter and the collider in the same layer, and close and open the Blender to make the bake of the particles again.

I just tried this using a cube collider around a uv sphere generator, and it works fine. I guess this might refer to an older bug?

Also make sure that the collider and the particle system share at least one common layer, otherwise the collider won't affect the particle system.


Blender Cycles normal map difficulty I am having an immense issue with using my normal map in blender cycles engine. It works perfectly fine in Blender Render (but I can't get my transparency to work there, so I figured it's time to move to cycles anyway), but not even close in Cycles. It is the exact same model and the exact same texture.

I am VERY new to Blender/3d-modeling, so I don't have any idea where the issue is coming from. The nodes were very straightforward as I essentially copied a tutorial on Normal Maps. I made sure the Image Texture was using non-color data, but that didn't help at all. The texture appears to just create creases on the object now, and isn't really smooth at all.

Here is an image with a set of screen captures that depicts the issue fairly clearly.

Any help would be greatly appreciated, thanks!

Terminator artifacts
As gandalf3 pointed out, you are suffering from terminator artifacts. I have seen this before in my own models, but didn't know that there is a name for it :-). This is one issue with normal mapping. Blender uses the normal map to calculate the final shading at a particular point on the model, but it can't use the normal map to determine whether or not the light is hitting part of the model. Blender only uses the physical model to calculate where the light hits. Normal maps are only a form of trickery used to make the model appear to be higher resolution than what they actually are; they don't really add new geometry.
The reason it didn't appear when you were using Blender internal is probably because the lighting was different (judging from the picture). You will have to either use subdivision to make the lighting calculations more accurate, or adjust your lighting so that the dark area is lit.

I believe the problem is with your faces. They are not attached together at the artefacts you see.

What you need to do is use the "remove duplicates" function. Enter edit mode, select all vertices, and press spacebar and search "remove duplicates" and run the operator. Keep the threshold low so you don't accidentally collapse some vertices.

Next all the normals have to be uniform. Select all verts and use the "Recalculate normals (outside)" function in a similar way to above.

This should fix some of your shading problems.


How to keep dense particles at the center of emitter in blender 2.8? I'm trying to make my emitter space look dense with the particles while emitting the particles. I'd done a setting which gave me the desired result but it was a hidden trial, now i'm trying to search it out for 4 days but not getting the setting exactly. I have added two pictures showing differences at center
Please try to help me if anyone could.   Thanks.

High density particles at center.

Low density particles at center or no my emiter

So as stated in a comment, you can have two particle systems.

One (in green here) is the "outer" system. The other one (in red) the "inner" system.

By giving different lifetimes and initial velocities to your systems, you can probably approach your desired result.

Green is long lived with high velocity

Red/inner is short lived and with low velocity

Yes i got the final way to it by turn one one setting in particle mode, all i want to make it more glowing at the center by using single particle system.[![Dead tab[![Dead tab disable result.

Should be enabled


How to use multiple dots in idnames In add-on operators, you are required to give an idname to each operator. Commonly, it is category.operator. This results in calling the operator with bpy.ops.category.operator. When I tried to put two categories: category1.category2.operator, there was an error. Is there a way to put two categories in an operator idname?
I have the same question for registering Property classes: Normally, in register, I would put bpy.types.Scene.name = PointerProperty(PropClass). When adding multiple categories like bpy.types.Scene.category.name, an error occurs that says NameError: category is not defined. Is there a way to put multiple categories on properties?

I tried
 bpy.types.Material['custom_float'] = bpy.props.FloatProperty(name="Test Property")
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
TypeError: 'bpy_struct_meta_idprop' object does not support item assignment

>>> bpy.types.Material[custom_float] = bpy.props.FloatProperty(name="Test Property")
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
NameError: name 'custom_float' is not defined

>>> bpy.types.Material.custom_float = bpy.props.FloatProperty(name="Test Property")

The last one was the only one that worked
It looks like underscores are the way to go


How do I join these vertices? While testing the armature of my character, I've noticed that I've messed up the model and now when I move some of her bones around some parts of her body disconnect from each other...

I've already tried using ctrl-J to fix it, but it has done what it could and it's still messed up, help?

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

P.S.: I've heard of it but now I forgot what command fixes faces that are occupying the same place like in this situation...

Any help on that too?

select d 2 vertices u want to join den hit d V botton on d keyboard dat sud do it but u cant do multuple vertices at d same time it has to be one b4 another


Create plane by dragging in viewport Is there a way to create a plane by click dragging in the view port? I'm trying to defining the plane using 2 corners interactively.

So, are you wanting to draw a diagonal line and it generate a rectangle? You'll have to write a script for that by using the Pythagorean theorem. But you can't determine a rectangle knowing it's diagonal length only. You must also know the width to length ratio because one diagonal length can have infinite variations of a rectangle. So, unless you want a hard coded width to length ratio, every time you draw your line you'll have to employ the extra step of determining the ratio by determining the slope of the line on an XY coordinate.

Example:

(X,Y)+(X౽,Y౽)= diagonal line

(X౽,Y౽-Y) = Other X vertex

(X౽-X,Y౽)= Other Y vertex

(X,Y)+(X౽,Y౽)+(X౽,Y౽-Y)+(X౽-X,Y౽)= rectangle


Blender Python: Custom Enum Flags I've been trying to set up some custom enum flags. In my situation, there are two variables that I want to share the same enum type setup. So I would like the flags to be interchangeable between them. This is how I currently have it set up. For some reason, the controls do not show up when I draw them after moving the items into their own definition. They seemed to be fine when they defined their own items. Can anyone see where I'm doing this wrong? Or does a UI element just fail to draw when it uses "external" enum items?

def FBXG_Mode(self,context):
    items=[ ('GA', "Asset", "Game Asset"),
            ('LP', "Low", "Low Poly"),
            ('HP', "High", "High Poly"),
            ]
    return items

bpy.types.collection.FBXGSpawner : EnumProperty(
    name="File Spawners",
    options={'ENUM_FLAG'},
    items=FBXG_Mode,
    description="Info",
    )

bpy.types.object.FBXGBlocker : EnumProperty(
    name="Object Blockers",
    options={'ENUM_FLAG'},
    items=FBXG_Mode,
    description="Info",
    )

The reason my enums were not showing up was due to me changing my property definitions to use the ':' operator instead of '=', such as..

bpy.types.collection.FBXGSpawner : EnumProperty(

instead of..

bpy.types.collection.FBXGSpawner = EnumProperty(

I read that we are supposed to use the ':' operator in Blender 2.8+. If this is the case, maybe someone can help point out what else I may have done wrong to prevent properties from drawing. One of my simple drawing functions..

# draw object settings
def draw(self, contex):
    aobject = bpy.context.object
    layout = self.layout
    box = layout.box()
    con = box.row()
    con.prop(aobject, "MergeWith")

If anyone knows the reason they were not rendering, post and I will accept it as the answer. Thanks!

Edit: After playing around with the code, I believe this is (at least close) to the correct way to set up a custom enum:

class FBXG_MappingPanel(bpy.types.Panel):

    # define enum flags
    EnumTypes=[ ('GA', "Asset", "tooltip"),
                ('LP', "Low", "tooltip"),
                ('HP', "High", "tooltip"),
                ]

    # define enum variable
    EnumVariable= bpy.props.EnumProperty(
        name="Title",
        options={'ENUM_FLAG'},
        items=EnumTypes,
        description="tooltip",
        )

    # define drawing section
    def draw(self, context):

        # draw
        layout = self.layout
        row = layout.row()
        row.prop_enum(self, "EnumVariable", 'GA', text='Asset')
        row.prop_enum(self, "EnumVariable", 'LP', text='Low')
        row.prop_enum(self, "EnumVariable", 'HP', text='High')

The biggest mistake I made was not realizing that you need an individual prop_enum() call for each individual flag allowed to be selected. I was trying to use it as a single call. If anyone notices any issues here, that would be appreciated. Also, if anyone can help newcomers understand what the number property is intended for and what purpose it serves, that would also be great. Thanks!


can not set the camera viewpoint? I want to use python to set the camera viewpoint but failed to do so, here is my code to render the model through python

import sys
import os
import bpy
import math
import datetime

if __name__=="__main__":

    configureBlender()
    setCameraPosition([0.49123,-2.22974,6.74501],[123.942,0.578,0.1])
    run(os.path.dirname(os.path.realpath(__file__))+'/test')

def configureBlender():
    # rendering constants
    RENDER_RES_X = 640
    RENDER_RES_Y = 480
    FRAME_NO = 1
    bpy.context.scene.frame_current = FRAME_NO
    bpy.context.scene.render.resolution_x = RENDER_RES_X
    bpy.context.scene.render.resolution_y = RENDER_RES_Y
    bpy.context.scene.render.use_border = False

def run(output_dir):
    bpy.context.scene.render.filepath = output_dir
    nodes = bpy.context.scene.node_tree.nodes
    links = bpy.context.scene.node_tree.links
    nodes['File Output'].base_path = output_dir
    bpy.ops.render.render(write_still=True)

def setCameraPosition(location, rotation):
    bpy.data.objects['Camera'].location = location
    bpy.data.objects['Camera'].rotation_euler = [math.radians(rotation[0]), math.radians(rotation[1]), math.radians(rotation[2]) ]

I don't know what is wrong with code or maybe model(anywhere to upload the model, it is 5mb)

update

for obj in bpy.data.objects:
    print(obj.name)

it prints out only one Camera object, i guess if there is only one camera, this camera must be the active camera.

Another wield thing is i changed the camera position and saved the model but it is still rendering with the previous viewpoint. so I guess maybe the code is fine but something wrong with the model.

here is my model link

Is this the entire script?  It looks like you forgot to import required modules.

import os
import math

Edit:

Er, well, I think Blender automatically does import math as *
so you'd remove the preceding math. from radians.

I believe you'd still need to import os, unless I'm mistaken about that point.

Edit  You have to define functions before you can run them in Python.  Don't know exactly what you're trying to accomplish with node tree in your run function, so I chopped that out for now, but this script at least runs.

import bpy, os
from math import *

# rendering constants
RENDER_RES_X = 640
RENDER_RES_Y = 480
FRAME_NO = 1

def configureBlender():
    bpy.context.scene.frame_current = FRAME_NO
    bpy.context.scene.render.resolution_x = RENDER_RES_X
    bpy.context.scene.render.resolution_y = RENDER_RES_Y
    bpy.context.scene.render.use_border = False

def run(output_dir):
    bpy.context.scene.render.filepath = output_dir
    bpy.ops.render.render(write_still=True)

def setCameraPosition(location, rotation):
    bpy.data.objects['Camera'].location = location
    bpy.data.objects['Camera'].rotation_euler = [radians(rotation[0]), radians(rotation[1]), radians(rotation[2]) ]

if __name__ == "__main__":
    configureBlender()
    setCameraPosition([0.49123,-2.22974,6.74501],[123.942,0.578,0.1])
    run(os.path.dirname(os.path.realpath(__file__))+'/test')


Distorted blender UV face unwraping here i try to unwrap this face and i get faces unwraped randomly.
tried to search for solution but all i found was for versions earlier than 2.77 and as you can see im using 2.77, where some options are in different places and some are not there!

a little tip to use already found solutions. you can easily use as many versions of blender as you need. it doesn't need any installation. just download earlier version in another folder and run it from there. this way you can use solutions for previous versions, save your file and then continue in your favorite one later.
it's not so weird as it sounds, at least for blender. it can do some things better in the very version only.


Tracking markers are clustered together and too close to camera I tracked a shot (most of the markers in the screenshot are red because no marker stays in frame throughout the shot, so lots of markers pop in and lots of markers stop tracking but it still gives enough to solve) and the way I tracked it, the markers should be spaced out in 3D space. However, they are clustered together and too close to the camera. This might be caused by the strange width and height of the camera, but I'm not sure (the video I'm tracking is vertical)
Here's what it looks like when it's being tracked:

And here's what it looks like in the 3D view:

How do I fix this/why is it happening?

In the orientation panel place a larger distance value and press the apply scale button


How to determine right vertex count for mesh? So i'm back with another stupid question about low-level 3d :D
I'm writing addon that will count the number of vertices that is needed to render the mesh say in Unity.

For now i've decided to first count how much normals re there on every visible vertex, so this unique normals would be the number i need.

But UVs add verts too, so i decided to count all the UV verts, subtract number of visible verts and add this number to total count (normals).

That worked fine for simple and complex meshes and i was happy. But now i've created another model and addon failed to count right number.

After investigation a narrowed the issue down to that thingy (see below). It is mesh with smooth shading. Blue - hard edge, orange - uv seam.

My addon shows 13 verts for it and it is right according to its algorythm. But there are 14 verts, because 4 separate polygons would be drawn.

So i'm stuck because i totaly do not know how to get such information from blender api (and actually i don't know what information i need). Anyone familiar with this can advice me something useful?

link to full addon code: https://github.com/curly-brace/Blender-Vertex-Counter

The strange hexagon:

List of objects in scene with counts (verts, faces, tris)?

I think a suitable solution can be found here. They use a len method which I'm sure might be useful in your case.


Inverse Kinematics to rig a Truck with a Trailer I'm trying to animate a truck with a trailer on it can follow a path realistically. I know I should be rigging the model using inverse kinematics but I can't get it to work.

I found a previous post on this topic but I can't replicate the answer that u/DrJamgo gave. Would someone be able to walk me through this or just share a .blend file where they got it to work? I don't mean to seem lazy I've just had no luck on this after working on it for hours.

Does anyone know how to rig a truck/trailer so that the trailer follows the truck in a realistic way?

Have a look at the following blend file:
https://nofile.io/f/xHeoevF0kwr/car10xxx.blend


Copy transforms from one object to another I want an object to have the same Transforms (location, rotation, and scale) as another object. How can I copy the Transforms from one object to another?

Select the object you wish to move
While the First object is selected, SHIFT Select the other object
Go to the transforms panel

Right click in the Location properties

Copy to selected
Note: You only need to do this for one of the axis, blender will automatically do the other axis as well

Repeat step 4 for Rotation and Scale

One more option you can try is with an addon. It was published just yesterday so I haven't had a chance to try myself, but it looks like it might fit the bill here.

http://www.blendswap.com/blends/view/76682


Reflectivity in Principled Shader? Before 2.79 I used a dialectric node setup outlined by Andrew Price for PBR materials.  This involved "reflectivity" maps among other maps, which I used, and many PBR texture maps include the reflectivity map.  But I see no "reflectivity" value in the new Principled Shader.  Where do I plug in this map?  I know it's not roughness, because that's its own thing, and I know that the "specular" value probably isn't it, because I've heard multiple people say that that value isn't for when you're trying to do physically accurate shading; that it's not a PBR-related setting.  I know there is some other PBR-related value I'm not using that affects reflections, because I plug in roughness and normal maps for very rough, dull materials, and they still look shiny.

Thanks for any help y'all can give!

Actually, it is the specular value input, specular is reflectivity. It's just that in some non PBR setups specular is a way of faking a reflected highlight without calulating actual reflections, and they called it specular. But in the principled shader specular means reflection and that's where you would put the reflection map, also sometimes called a specular map.

Play with the specular value and you'll see you can go from zero reflection to 100% mirror reflection. Roughness is basically your way of dulling down or polishing up the reflectivity, it's like a gloss value

Ok.

This is from Blender guru.

He shows where is the reflections.

A short explanation of principled:

link: https://goo.gl/fgsyxN


Bake sound to F Curve giving square curves? Just working my way through this tutorial . . . Got to about 5.55 in the video and hit a snag.

My soundfile loads into the graph editor, but instead of appearing as a series of curves, it shows up as collection of squared-off straight lines.

Here are the import settings:

. . . and .blend file.

Anybody know what gives?

The issue was that in setting up the custom property 'Sound'. In the video, the tutor enters '0.0' into the Property Value. I didn't notice the decimal and entered '0', thus switching the property to 'integer' instead of the desired 'float'.

I removed the keyframes from the Sound property, edited the Property Value to '0.0', added a keyframe and reimported the sound (bake sound to fcurve).

You should use first a AudioEditor like Audacity to see if your sound's wave is squared, or maybe it coul be that you are using "Constant" intropolation mode.


Is there a way to manually control vertex/face normals to get a more consistent toon shader? I watched this video about the art style of popular fighting game Guilty Gear Xrd, and something which really interested me was the method that the artists used to get rid of ugly automatic-normal artifacts. They would manually mess with the normals so as to make parts of the model that are round shaded as if they were flat.

The example shown in the video is of a character whose face's normals are grouped on each side, on the chin, and under the eyes so as to make the toon shader look more like a traditional 2D anime.

With modified normals:

Without modified normals:

Notice that this sort of ugly artifacting happens when a toon shader is applied to Suzanne; look at her right eye and nose.

This would be very easily fixable if there were a way to group the normals on the left and right sides of the face.

Based on the other answer I created a Blender add-on for this exact purpose called TiNA which allows you to more easily transfer normals between objects. TiNA basically turns the somewhat overwhelming Data Transfer Modifier into a set of more comprehensible operations.
There's a special branch for those using Blender 2.80 beta.

 Hotkey           | Operation
------------------|-------------------------------------------------------------------
 Alt+N            | Transfer Normals from selection to active object
 Shift+Alt+N      | Transfer Normals from active object to all other selected objects
 Ctrl+Shift+Alt+N | Clear Custom Normals data for entire selection
 Alt+W            | Wrap Normals

In your case you could transfer the normals from a normals source mesh (based on the actual face mesh) by selecting it, then selecting the target object and hitting Alt+N.

you can watch my last tuto I show this with the modifier normal edit. you can rotate normals too by face or by edge or vertex selecting them and doing R+N but the modifier should be what you need normal edit modifier
and I saw this tuto yesterday it's more on how to work on each normal Normal Editing & Bevel Tool Modifier

[and about Data Transfer Modifier it's more to correct the effect of the smooth shadding after a boolean for instance. but wow I've just explored it yesterday and the way to use it is really not easy, as to have to separate some parts of your mesh. and doing ctrl+J after it turned bad...I was thinking about an addon. so wow it should be very usefull "TiNA basically turns the somewhat overwhelming Data Transfer Modifier into a set of more comprehensible operations."]


Why do I get weird shadows on my baked normal map? I baked a normal map,
however, there's weird shadow.. what is the problem?

The first picture is when I bake the normal map options:

I think you're seeing z fighting which is when you have two nearly identical meshes on top of each other.  You have both dragons visible in the outliner, you should hide one of them.


Cannot find the 'Manipulate Object Centers Only' button. Is this an addon? Cannot find the 'Manipulate Object Centers Only' button refered to in the book 'Blender Foundations'. Is this an add-on?

I would post a comment to the above answer, but apparently I need 50 reputation for that so I have to add an answer instead.

The book the OP is referring to is "Blender Foundations: The Essential Guide To Learning Blender 2.6", by Roland Hess. I have this book myself and the text where the author refers to the Manipulate Object Centers Only is in a tutorial where we are trying to box model a simple chair. The effect he wants to achieve is to splay the 4 chair legs out from each other by selecting their bottom faces and using the scale tool:

  However, if you just select the bottom faces of the legs and hit the S
  key, they will move apart as you scale them up, but they will also
  grow in size. We'll try a new pivot style to solve the problem. Beside
  the pivot style menu on the 3D view header is a button called
  Manipulate Object Centers Only. This magical button causes
  transformations to only affect object centers, not their component
  structures. The effect works both in Object mode and Edit mode. In
  this case, selecting the four faces on the bottoms of the legs and
  enabling Manipulate Object Centers Only will move the faces away from
  one another when scaling without actually changing their size.

Note how he mentions the setting works in both Object mode and Edit mode, this seems to imply that we were meant to switch out of Edit mode to Object mode, switch the setting, the come back to Edit mode but he doesn't implicitly tell us this in the book. Having said this,  and after trying it myself this setting doesn't appear to do anything in Edit mode as the above users mention.

In Blender 2.8 it's at the bottom of the pivot point drop down menu.


Faces are missing in the textured view I've downloaded a free 3d car model, and everything seems to be fine except one thing: the windows act very weirdly. When in texture view, some of the faces seem like they are missing, while in the non texture view the surface looks solid. The texture is a solid grey square. I'd be very appreciative if someone could help me to fix this. I provided a few screenshots, so it would be easier to understand the issue.

Non textured and textured views

This is how it's rendering in Blender AND on a game engine (very badly)

It was the issue with the normal vectors. I fixed that by flipping normals on the problem faces. Shame on me, I should have figured that out myself. Thank you, I appreciate your assistance.


How to generate a cylinder with several holes except by knife tool and Boolean methods With the help in Stcak Exchange, I have known how to generate a cylinder with a hole except by knife tool and boolean methods. But all these method can not be used to generate a cylinder with several holes just like below. so please give me some examples. Thanks.

Create two inner circles
Extrude and scale a border around the inner circles
Bridge the inner circles together with two segments.  Note the number of edges in the perimeter of the resulting mesh.
Create an outer circle with a larger radius.  Use the same number vertices as the perimeter in step 3.  Extrude and scale a border.
Bridge the outer and inner circles together.
Extrude the whole mesh in Z-axis to create a cylinder.
Add supporting edge loops around hard edges.
Apply subdivision surface modifier and you're done.

Does this help at all? You would start with a circle instead of a cylinder, but you can then just extrude it to your desired size and it will be a cylinder.


Blender Game Engine logics sensors and python script I'm trying to build a simple user interface in Blender Game Engine. 2 buttons (launch and quit).

Each button got a "Mousse Over" and "Left Button" sensors connect to a one Python controller.

Here my script menu.py:

import bge

cont = bge.logic.getCurrentController()
own = cont.owner

OverLancer = cont.sensors['Over.Lancer']
ClickLancer = cont.sensors['Click.Lancer']
OverQuitter = cont.sensors['Over.Quitter']
ClickQuitter = cont.sensors['Click.Quitter']

if OverLancer.positive and ClickLancer.positive :
    print("lancer")

if OverQuitter.positive and ClickQuitter.positive :
    print("Quitter")

Nothing works as expected. I got the error "sensor not found" for all of them and I don't understand where I'm wrong. I saw as well something strange. My sensor names change like that .Blender add .001 sometime ...why?

And there is old deleted code line in the error message, again strange.

Python script error - object 'Bouton lancer', controller 'And.002':
Traceback (most recent call last):
  File "menu.py", line 6, in <module>
    print (cont.sensors)
KeyError: 'requested item "Over.Lancer" does not exist'

For example "print (cont.sensors)" is not present in menu.py !?!?

If anybody got an idea, it's will be great.

Thanks!

Each object has a self "scope" or "namespace", so the (object 1) controller can no access sensors from (object 2) controller even if they are using the same script, which is your case.

BUT you CAN CONNECT SENSORS from multiples to one (or more) CONTROLERS

Simple select all objects which sensors would be used and at the last select the object with the controller. to select multiple objects keep press Shit and Mouse Rigth Button on objects.

objects: Sphere has "Mouse_Sphere" sensor while Cube has "Mouse_Cube" and i want to use each sensor in one script and the controller is in Torus.

[

Thanks, it's works !!! I used the Strapicarus method to solve my problem. I connected my sensors to a unique "select multiple objects keep press Shit and Mouse Rigth Button on objects."

here my script:

import bge

cont = bge.logic.getCurrentController()
own = cont.owner

OverLancer = cont.sensors['Over.Lancer']
ClickLancer = cont.sensors['Mouse_lancer']
OverQuitter = cont.sensors['Over.Quitter']
ClickQuitter = cont.sensors['Mouse_quitter']

if ( ClickLancer.positive and OverLancer.positive):
    print("ClickLancer")

if ( ClickQuitter.positive and OverQuitter.positive):
    print("ClickQuitter")

my logics:


Blender 2.8 - I want to ALWAYS see the axis gizmo when moving an object When I am moving an object in Object Mode, the axis gizmo disappears.  This is very unhelpful.  Is there a way to make it always visible?

I want to always see this gizmo:

Of course there is a way.

Just click the gizmo, instead of dragging it.
Then use the pop-up menu to adjust the values, and the gizmo stays visible.

You can toggle on/off gizmos for move, rotation and scale here…
To activate this first you need to select "Active object" - above those three…

When you're satisfied with interface changes (settting up gizmos, deleting standard cube etc) go to FILE => DEFAULT => SAVE START UP FILE. Next time you create a new file it will be the way you like it.


Is it possible to print to the Report window in the Info view? I wonder if it is currently possible to print or send messages to the Report window in the Info view? this would be quite useful sometimes.

We can always use an operator's report method. Running the following operator:

class RENDER_OT_test(bpy.types.Operator):
    bl_idname = 'render.oha_test'
    bl_label = 'Test'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        self.report({'INFO'}, 'Printing report to Info window.')
        return {'FINISHED'}

prints this in the Info window:

The color depends on the type enum: INFO gets green, WARNING light red, and ERROR dark red. I don't see reference to any direct output to Info window, other than this method.

This should be the code: to get popup in mouse event use ERROR instead INFO.
see report
-'INFO' is lower and 'ERROR_OUT_OF_MEMORY' is highest level of error type.

def yourfunction(context):
    whatever the function

class RENDER_OT_test(bpy.types.Operator):
    bl_idname = 'render.oha_test'
    bl_label = 'Test'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        try:
            yourfunction(context)
            return {'FINISHED'}
        except:
            self.report({'INFO'}, 'Printing report to Info window.')
            return {'CANCELLED'}


After merging objects: how to get rid of double faces? I have 2 objects. They have some edges and faces in common (but also some differences of course). I can merge these with ctrl+J. I can then do 'remove doubles' to remove the double vertices.

However, this way I end up with double faces and edges.

For example, I have a face of model A and an edge of model B. The edge of model B is in the same plane as the face of A and the edge of B also goes through the edges of the face of A.

I would like that the edge of B cuts the face of A and its edges, so that the edge of B becomes a part of the edges of the faces of A.
That way I can do further editing on the model.

A 'manual' fix is possible but then I'll have to it over 150 times which is a bit much.

So, is there a simpler automated way to do this in Blender? I've searched a bit around but I don't even know how it's supposed to be named, so all tips are welcome.

The end result will be a 3D-printed lens adapter for a vintage lens so the accuracy of the model is rather important.

Thanks in advance!

Update:
My goal is to merge the light and the dark blue parts.

The boolean operator seems to work fine with basic cubes, but it fails when using it with my more complex model. Depending on whether I set the normal of the dark blue ring on inside/outside it either doesn't work (throws error) or it gives a weird results with only around half of the faces shown. Looks a bit like This recent problem. I've applied scale and normals with ctrl+A and ctrl+N.

As I cannot obtain any good result with the boolean (starting from Blue Fox's file), I propose this editing approach.

The steps below are in the layer #15 of the blend file :

The objects are still separated. Open the faces to be merged.
Relocate the upper mesh and merge the two
Select the upper opposite edges and CtrlE and "bridge edge loops"
The same for the lower opposite edges
And the same for the last opened part, but without the extremities, because of the needed ngones at these extremities
Make faces for the extremities (select manually the vertices and face F)
Remove doubles

This is not a real answer of the question (more or less "how to make the boolean work"), but the job is done. No vertices were moved.

I have noticed these here :

Face centers with no face (maybe construction points ?), surrounded by O
A plane, is that printable (1) ?
And in (2), the inner faces overlap

To remove doubles:

go to edit mode on youre mesh
press space on youre keyboard
type: remove doubles
click on it
you're done


Texture got dark gradient at one edge I just started blender this month. When I put texture to my objects, they got some weird dark gradient. Btw I tried to recalculate normal, apply transformation. Nothing's worked. Here's the screenshot in render mode.

This is caused by using smooth shading on an object with sharp corners. Blender is trying to make a 90 degree corner look like it's smooth. This leads to various shading issues as seen in the image. Setting the shading to flat is the best solution, but using split normals, an Edge Split modifier, or using the Auto Smooth normals option all work too.

You don't need to split the normals, if you are not forced to. See Brenticus answer above. The best is to use "Normals>Auto Smooth" and set an angle or set your mesh to flat shaded.


Limited set of output codecs in Fedora Linux. How can I enable others? I'm trying to render a video using blender, it have some images and sound, if I render it using just the default options I get no sound.

Searching on internet I found that I need to use other format than AVI JPEG to set some codecs options, I just have "AVI JPEG", "AVI RAW" and "FRAME SERVER". I'm keep looking but I can't found any information to solve my problem.

Im using fedora and actually I have
xvidcore-1.3.2-5.fc20.x86_64
ffmpeg-2.1.7-1.fc20.x86_64
packages installed.

EDIT:
When I had the problem I had the last version of blender installed from blender download site, I also tried installing blender from dnf, also tried with buildbot, so this answer didn't solved my problem.

Fedora ships blender with ffmpeg disabled for stupid legal reasons.

You can rebuild blender from the fedora source rpm with -DWITH_CODEC_FFMPEG:BOOL=ON as root as follows:

# cd /var/tmp
# dnf download blender --source
# rpmbuild --rebuild blender-*.src.rpm

The latter will most likely fail which is fine because that would be the one you already have. Install the BuildRequires:

# awk '/BuildRequires:/{print$2}' ~/rpmbuild/SPECS/blender.spec \
    | xargs -r dnf -y install

Enable ffmpeg, rebuild and install:

# perl -pi~ -e 's/WITH_CODEC_FFMPEG:BOOL=OFF/WITH_CODEC_FFMPEG:BOOL=ON/' \
    ~/rpmbuild/SPECS/blender.spec
# rpmbuild -bb ~/rpmbuild/SPECS/blender.spec
# dnf reinstall ~/rpmbuild/RPMS/x86_64/blender-[0-9]*.x86_64.rpm

Now you have blender with matroska, h264 etc :)

Optionally versionlock your version:

# dnf install python-dnf-plugins-extras-versionlock
# dnf versionlock blender

Pål

With the pictures and sound in the VIDEO SEQUENCE EDITOR, In the Render Tab choose the following settings :

RENDER -> ANIMATION
OUTPUT -> H.264
PRESET -> H.264
FORMAT -> MATROSKA (MP4, AVI, XVID, etc..)
CODEC -> H.264
AUDIO CODEC -> AAC


Broken quads, weird rendering? I have a bit of a problem, at the moment I'm creating a few rocks for game purposes. Im starting of sculpting them and then baking them from multires, and applying that to the lowest "subdivision", just plain hi-res to low-res.
Now the problem I have ran into is that when i use the lowest subdivision all my quads are "broken" and when rendered it looks all weird(I'm attaching a picture of it). And this is not a one time thing, this happens on every rock i create!

Now my question is, how do I solve this? without having to manually change every vert, which i tried but it took like 1 hour, and when i was done i noticed that changing them made a bunch of other quads get broken instead.

And is there a way to get around this completely?
And i have also noticed that this only happens with Cycles and not with blenders internal render!

Select your mesh.
In the object mode in the left panel of your 3D view there is bunch of options such as trnaslate and rotate and...
In Shading section you can see smooth and flat button side-by-side.
Click on flat then you'll see your mesh as it is.

If you want to use smoth shading option, your mesh should be hi-res (at least a little bit) or it will be like what you can see in your attached image.

Take a look at this (the same object all the time):

Have you tried this?

Go into Edit Mode.
Select all polygons / faces.
Hit W Select "Remove Double"
Hit Ctrl + N
Hit W Select "Shade Smooth"

Note If those triangles disappear as you move your light sources in the viewport.
Don't worry about them they are just viewport's limitations.


Background image is blurry I'm using a low resolution texture (128x64) from an old game as a background image to help me model but it gets blurry (or aliased I guess) which ruins everything.

I heard that one might need to increase the size of texture but if I do that then texture will get messed up and I want to keep all pixels of it in the same place without "JPGing" it.

Is it absolutely impossible to get sharp background image? Zooming doesn't help either. My version is 2.79

As workaround, you could get away with Import Image as Plane Addon which creates a simple plane that you can use as reference. It actually also creates a texture shader for which you can use interpolation as closest in the shader texture node.

If you still want to be able to position it in front and change the alpha not as convenient as the background image but, you can add transparent and a mix shader. And disable selection mode to let you select object located behind it.

It might be too late but in Blender - Viewport settings, if you ever limited the Textures size, then you might want to increase it back. This should fix the blurry images.


Why won't Blender let me import .svg files? I know this seems to be a repetitive question, but nothing seems to work for me. I am trying to make two ping pong paddles to put in Blender using Inkscape. I've watched the YouTube tutorials, and I know I'm doing everything right, or so I think. But when I press import, they don't even show up. I really need to know how to do this so I can make my ping pong animation. Thanks!

My pictures:

It works fine for me, however they come out very small initially:

Once imported and selected, you can scale them up with S. Once properly sized, it's also probably a good idea to apply the scale with ⎈ CtrlA.

Also remember to delete the default cube, otherwise they will appear inside it.

Ensure the SVG import/export plugin is enabled. In the even there is no data returned check that your SVG will open in other compliant applications (e.g. GIMP, Inkscape). Compatibility can ruin your day with this one.