Saving multiple poses to Pose Library via Python I'm trying to create a Python program by which a user could look at randomly generated poses of 3D model and choose if it to be saved in Pose Library until certain number of poses will be added. This is mentioned part of my code at the moment:

scene = bpy.context.scene
fp = os.path.join(bpy.path.abspath("//"), 'Poses')
scene.render.image_settings.file_format = 'PNG'

num_poses = 0

while num_poses < 10:
    # Randomly generate pose
    # Missing as not important

    # Saving image of current pose to file so user can see it
    scene.render.filepath = os.path.join(fp, 'New Pose')
    bpy.ops.render.render(write_still=True)

    # User chooses if it wants to save pose to Pose Library
    answer = input('Do you want to save this pose(y,n)? ')

    if answer == 'y':
        bpy.ops.poselib.pose_add(name=str(num_poses))
        num_poses += 1

The problem is that only the last pose is saved. If I understand correctly it should have something to do with frame number but when I tried to use

bpy.ops.poselib.pose_add(frame = 1+num_poses, name=str(num_poses))

only part of armature was changing when saved pose was selected.

I would be very thankful if somebody could help me or at least point me in the right direction.

I find a solution. If somebody else would want to do that, here's the code:

bpy.ops.pose.select_all(action="TOGGLE")
bpy.ops.poselib.pose_add(frame=1+num_poses,name=str(num_poses))
bpy.ops.pose.select_all(action="DESELECT")

Before adding new poses, Blender requires that you select and deselect pose. Otherwise not whole armature is saved.


Getting limited random node values I'm looking for a way to get a random value between 2 given integers.

As an example:
In this particular case I need to get a random blackbody value that's between 3000(min) and 5500(max).

Any thoughts?
Thanks in advance!

This can be solved with some (for my level) clever use of the math node:

A quick rundown of what the nodes do in this case:

Subtract: calculates the difference between your desired minimum and maximum value. In other words, the maximum amount of variation that could happen, in this case 2500.

Multiply: Multiplies the previous calculated value with the output from the Random value of the Object Info node, which lies between 0 and 1. This creates a random value between, in this case, 0 and 2500.

Add: Adds the randomly generated value of the Multiply node to the mininum value you have specified, resulting in a random number which cannot go below your desired minimum or above your desired maximum.

In this case what happens is:
3000 + value between 0 and 2500 = value between 3000 and 5500

(No i do not know the proper math symbols, but I think you get the point.)

Result:


Path curve: spline to pass through control points I am trying to set a number of vertex to define a very established path. The problem is that the nurbs spline that results from these vertex do not pass the control points. I'd need this spline to actually pass through the control points and I wondered if you know how this can be achieved? The image below, the line in red, represents what I want to achieve. :)
Thank you so much.

To my best understanding NURBS curves do not precisely support what you wish to achieve and I could not find any options that would 100% bring the solution you wish for.
Option 1
if it's necessary that the spline must cross the vertices, you may want to try Bezier curves instead of NURBS curves. While you will lose the convenience of the NURBS curves (Bezier curves being a bit more tedious to edit), you can be sure that the curve crosses the vertex.
Option 2
If you don't want to use Beziers, but want to stay in NURBS curves instead, you can select the curve and navigate to "Active Spline" settings. From there you can reduce "Order U" to 2 and increase "Resolution U" to 12 or above, which will push the curve closer towards its control points. The trade-off is that you also lose the curvature from the curve itself, but you will have the curve following the control points.


Is it possible to get a wide camera shot without warping? This may just be impossible but I am wondering if it is possible to get a wide angle shot without strange perspective and warping of the image, or is there a way to adjust the way a wide shot warps?  I am just learning about the camera and perhaps there is a setting/technique that I do not know about?

Thank you!

In both the physical world and the computer modeled sense, yes.

While it is vastly more complex to achieve it with a physical camera, it is possible with precise optics. The term typically is referred to as rectilinear distortion when it is unintended. Unintended because some lens optics are designed to deliver a spherical image such as fisheyes, while others deliver cylindrically compressed imagery such as anamorphic.

In the case of your question, it is unclear whether you are referring to physical optics, which may suffer from rectilinear distortion, or computer generated work, which will only have perspectival distortion typically.

In the simplest of senses, the field of view is a byproduct of lens length with gate size.

So while it is tricky judging your desire from your question, you can achieve your goal from within Blender by adjusting your field of view and your gate / sensor dimensions.

Remember, optics are optics and a wider lens with a smaller gate size will exacerbate the perspectival vantage. Longer lenses will compress the perspectival components. To disable the perspectival aspect, you could also consider an orthographic camera.


How to animate morphing a rectangular plane into a sphere How to make a grid-to-sphere animation like this?

I think the one who made that reference GIF (in another software) used two Simple Deform modifiers:

Create a plane, switch to Edit mode, SY2. then use a loop cut to divide it into two squares, then subdivide;
Add a Simple Deform modifier, set deform method to Bend, use a new empty object as its origin, select the empty, then RX90. (to bend it along an expected Z axis)
Add another Simple Deform modifier, also set deform method to Bend, use a second empty object as the origin, select the empty, then RX90, RZ90.
At frame 1, set 0 as the Angle value for both Bend modifiers, insert keyframe for them. Then jump to, say, frame 60, set 180 for the first Angle, 360 for the second Angle (for 360, you may have to type on keyboard), again, intert keyframe for both.
If normal direction is incorrect, flip it in Edit Mode.

UPDATE: In the incoming v2.8, the Simple Deform modifer has a new option that allows choosing Local Axis, so you can use only one Empty in this case, like this:


Repairing bad areas in mesh In doing this tutorial I am "progressed" to modelling the front of the iphone. And again I have some bad areas in my mesh. I did succeed to solve some of those bad areas but have still some issues left. Who can help me with solving those issues ?

Still one issue left

All of your issues are the result of the same problem: the subsurf modifier will give you unpredictable, and mostly ugly, results when using ngons (polygons with more than 4 vertices).

1 Delete this Ngon and reconnect the vertices forming quads.

2 Other ngon... add loop cuts to keep the topology consistent using quads.

3 Yet another ngon!:

4 You have vertices that are going past the axis of symmetry used by the mirror modifier. That's bound to cause you more errors down the line.

Scale them to 0 in the Z axis (SZ0)


How to reduce graviation on single object? I want to know how to make object's gravitation low(something like 1.0) or turn it off at all when actuator gives positive pulse. It should keep dynamics, evrything should stay as it is except it shouldn't go down so fast(note so it has also a control that makes it to move on Z axis using linear velocity).

OK! Again, I recieved answer and I can tell it myself:
Using constraint actuator with Damping bigger than 1(about 0.25), distance 1000 and -Z axis I achieved this result!:)


Why did Blender move from 2.83 straight to 2.9? Why did they skip 2.85, 2.86 and so on? Just curious.

Blender foundation wanted to move to a more familiar version numbering system.
Can't find a reliable source to quote at the moment, but I believe I remember reading somewhere that Ton Roosendal established that major Blender versions like 3.0 or 4.0 would have to carry deep API or paradigm changes to warrant a major version bump.
This meant that Blender would be stuck in the 2.0 series for a very long time, unless it was rewritten from the ground up.
After the 2.8 series revamp, newfound success and funding, a switch to a faster and more familiar numbering scheme was adopted, as stated in the Code Blog Post Blender LTS and 3.0

Release numbering Along with this, I also propose to accelerate a bit
our release numbers this decade.
This summer we’ll do Blender 2.90 (new particle nodes), and in summer
2021 the Blender 3.0 series begins! By then we will implement a more
conventional release numbering.
I suggest to do minor releases (3.0, 3.1, 3.2, … 3.7) for two-year
periods, and then move to a new major release. Blender 4.0 could be
there in 2023 already!
Below is a summary. Let us know in the comments below what you think

This way introduction of major features like the waited Particle Nodes warrants a major bump.


Recalculating and flipping normals not working—but manually re-adding the faces does? (Simple mesh) See if you can help me figure out what’s going on with this basic chair geometry with normals issues.

I recalculate normals and—still have a normals problem.

I check the face orientation. Ok, a little mismatching.

I manually flip the normals but STILL the problem persists. (I tried both red and blue sides to be sure).

So I try an experiment: manually deleting the faces and re-adding them. I delete a face, select the adjacent edges and hit F to create a face.

Still a problem with normals.

I try this again but this time selecting all four edges before hitting F to creating a face. Fixed normals—and this works for all the faces. Can someone help me understand why this is?

Why are the Recalculate Normals and Flip Normals functions not working here?
Why must I select all four edges to create a working face? Selecting two edges is (technically) selecting all four vertices,is it not?
Obviously to go about deleting and re-adding every face is needlessly time-consuming to repeat across the entire mesh. How do I go about this correctly?

Thank you for your time,

John

The mesh has some inside faces, and Blender is confused by it :).

Select the inside faces through Select > All by trait > Inside Faces
Delete them with X > Faces
Done.

Credits to @John for finding the best solution for his own problem :).


Error: Freestyle Lines Ignoring Displacement I have been trying to get my animations to have a hand-drawn look and wanted to make my models  slightly wiggle with procedural displacement on each frame. I also want to outline each object, so I am using freestyle lines.

To try this, I made a little test and applied the displacement to a cube and unfortunately, the freestyle lines do not touch the cube.

I am using cycles and have the "displacement only" setting active. I have the freestyle line settings set to select creases. When I try to render an image with this, the freestyle lines appear where the creases of the model would be if I had not used displacement.

The Blender version I am using is version 2.82.

I am wondering if I may be doing something wrong. I haven't found many talking about this online, so I hope at least someone has the solution. I just really hope this isn't an unavoidable bug.

It turns out that the displacement node in the shader editor isn't very good with freestyle lines. I just found out about a displacement modifier in the modifiers tab that actually changes the geometry itself, so I'll use that instead.


Texture not on whole face I am trying to create my first basic model and render post tutorials. I have created a model of a Coke can (other soft drinks are available) and added a quick texture I aquired off google images.

The problem is that for some reason the texture does not appear to cover the entire face. I think the issue is related to the subdivision modifier I am using as if I turn it off then the texture appears correctly.

Issue

Subdivision turned off

I have done some googling but cant find anything, can anyone help?

@moonboots answer helped me find the solution, although I couldnt see a Subdivide UVs option. IU tried simple instead of Catmull-Clark subdivision and it worked.. I googled the difference and it came back that the final vertex will be an average of the current ones, so adding an edge loop neat the bottom edge fixed it!


My texture is washed out in the render, bit not in the preview I'm making a mock-up of a poster for my portfolio, but for some reason the texture of the poster is really washed out in the render. The rest of the objects which are just materials (not externally created image textures) seem fine, but the textured image looks terrible.

It looks as intended in the render preview while editing, but not in the actual finished render.

This is in cycles render.

The viewport renderer and seems to evaluate overlapping faces differently. In your scene, three faces from different objects are at the same position. Simply moving your textured object in front of the others will solve the problem.

On a side note, did you intend to connect a Normap Map output with a color input?


How can I get vertex positions from a mesh? I want to read the vertex x and y coordinates with a script or a function.

How can I do that?

The MeshVertex

appears to have no position I could use.

I'd take any alternative approach that could give me x and y coordinates.

Use the vertex co attribute.

MeshVertex.co

You may want to take the objects transformation into account, in this case you have to multiply it with the objects matrix.

This test script adds an empty at the first vertex location

# Assume we are in object mode and have a mesh object

import bpy
from bpy import context

obj = context.active_object
v = obj.data.vertices[0]

co_final = obj.matrix_world @ v.co

# now we can view the location by applying it to an object
obj_empty = bpy.data.objects.new("Test", None)
context.collection.objects.link(obj_empty)
obj_empty.location = co_final

Another common operation is to get all vertex locations with the objects transform applied, in this case you can use list comprehension to get a list of transformed vertex locations...

coords = [(obj.matrix_world @ v.co) for v in obj.data.vertices]

Edit: updated for v2.80


How to connect two walls as as T or as a corner I put all these walls together, snapped their ends to the other faces and merged by distance but I have all these overlapping faces.  I tried to use a boolean tool to remove them or to merge edges but it either deletes the build or claims there are no intersections.  I've already started this over multiple times.  There are two colors now so I can see the intersections and overlap better.  There has got to be an easy way to get these parts to stick together and not have all that overlapping mess inside.  Help!

Dissolve those faces that are overlapping, select them and the ones you want them to connect to and press Ctrl + E --> Bridge Edge Loops to fill them.


Node setup for combining baked Diffuse Indirect, Direct, and Color passes I am trying to combine the Diffuse Indirect, Diffuse Direct, and Diffuse Color passes after baking.

Diffuse Indirect, and Diffuse Direct are fine When using the add shader, but I can't get the It to output the Color using the node setup below.

There is problem with you nodes. You have a color mix node after the BSDF Shader nodes. That does not work.
Using the same type of setup with three images for Indirect, Direct, and Color this is how the nodes should look. Notice the indirect and direct are added together. Then the color is mixed in with another color mix node set to value with the Fac set to .5.

All color operations happen before the Shader nodes. After the first shader node only other shader nodes can be used.


how can I model sculpture parts and exporting them for laser cut without distortion? I am a blender beginner. I am making metal sculptures by welding laser cutted pieces. normally I am drawing several random shapes and exporting them as dxf/dwg files. I use those random shapes , deforming them by hand and welding them.
I decided to create more accurate pieces. I modeled a face then I Uv unwrapped . I exported that unwrap and cut it. However, as you might imagine unwrapping was different then the real shape. While eyes and nose are very top of the head become huge. It did not satisfy me because of size distortion. (I am adding picture of my trial with face unwrapping)
I am looking for a solution to produce more accurate pieces. for instance, I want to project curved 3d forms (like nose)  to 2d surface with minimum distortion. then I can bend those pieces with hand and weld it together. to sump up, I am waiting for any advice that help me to design metal pieces closer to the original blender design.
Thanks for your help :D
an example with random pieces:

laser cut of Uv unwrapping :

Maybe you could try the paper model addon? It is part of the standard addon catalogue and it should help you unwrap your model distortion-free. You can find documentation here: https://blender-addons.org/export-paper-model-addon/


Parenting bones and armature: " cant find solution for one or more bones" I am doing the rigging part and to parent the bones and the armature when I do Ctrl+P I get a message bone heating waiting:

  cant find solution for one or more bones.

The automatic weights option works only if the mesh is single and manifold (no spare parts, no holes, no doubles, no intersecting areas, no loose geometry).
Search in this site with keywords "bone heating" for more informations, or do a manual weighting if you can't fix the problem.


What does highpoly mesh shrinkwrapped to lowpoly mesh aimed for? I've followed a tutorial about modeling, there is one step I do not know why, here is how they did it,
1.Create highpoly mesh subdivided by 2
2.Create lowpoly mesh subdivided by 4
3.Shrinkwrap modifier applied to highpoly then wrapped to the lowpoly(low poly as the target object)
I'm not sure why they did it this way, highpoly with low subdidivison while lowpoly with high subdivision, is this a trick and for what, thank you in advance!

A subdivided Low Poly creates a smooth curve, the more control points you have, the more they have to be manually trimmed.
Probably he wanted to adjust and smooth a curve overriding errors of maual adjustements.
In my example both meshes are the same, with 6 vertices only, one subdivided and one straight. The subdivided one creates a smooth curve.


how do I organize the materials? joining two seperated objects after editing I used P and from the pull down menu seperated a selection as indicated in the picture. I labeled the new object EAR and added a material I made the object EAR black and added backface culling by individually setting the direction of normals in my transform window while editing the ear object. I am also using a mirror modifier. As this is supposed to be a harbor seal. It only has ear holes no ears on the outside of its head. The back face culling is merely for editiing purposes so that I can set the placement of the ear correctly while I work on making vertices groups and shape keys ect.
    I can select both objects using shift click in the Outliner. However I am having trouble getting the vertices select mode to show up on both objects at the same time. only one of them at a time. I know that I can join the two objects into one by selecting them in the outliner in this way by pressing cntrl J. What I don't know is whether or not, this will allow me to keep my original diffuse color. If so how do I organize both colors? because both objects will then become one in my Outliner right? so can I join the vertices while keeping seperate objects?  I am almost sure this is going to pose a problem simply hitting cntrl J. So I am going to wait for a while to see if anyone is able to answer my question. I have some smoothing to do on my mesh in the meantime, and I can work on other things I suppose.
   Also it may be relevant that I have added vertices and moved them around just a bit after seperating the selection. I hope I am not too confusing, here is my harbor seal so far.

Blender only allows you to edit one object at a time, so yes you can only see and select the vertices of one object.

Every face in a model can use a different material, if you join multiple objects, the combined object will have multiple materials available and each face will continue to use the same material it used when it was in a separate object.

In edit mode you can assign a specific material to the selected faces.

If you join the multiple objects into one, you can use the by material option in the separate menu to split each into it's own object based on the material it uses.

So yes you can join multiple objects and they will keep the materials. You can easily re-separate them. You can also create one object, assign different materials to parts as you model and then separate them based on the material when you are finished.


Cannot Create Multiple Copies of Two Objects I have two large objects on my scene.
CAM = a large cone with four sides, more like a camera, made out of scaling a generic cone
Target = a large rectangular object, made out of scaling a simple 4 sided cube

I am trying to make 5 copies of them. I am running the following scripts -
import bpy

# getting the objects
context = bpy.context
scene = context.scene
tar = bpy.data.objects['Target']
cam =bpy.data.objects['CAM']

for i in range(5):
    # copying the Target object
    copied_object = bpy.data.objects.new(str("Target"+str(i)), tar.data)
    bpy.data.collections["Collection"].objects.link(copied_object)

    # copying the CAM object
    copied_object2 = bpy.data.objects.new(str("CAM"+str(i)), cam.data)
    bpy.data.collections["Collection"].objects.link(copied_object2)

I am expecting to get 5 copies of the Target and 5 copies of the CAM. However, I ended up getting 5 basic cubes and 5 basic cones (4 sides). It's giving me copies of the most basic object I created to recreate "Target" and "CAM". Why I am not getting the exact copies of the current objects?

If you want a copy use copy()
To get a copy with same object level properties use
copy = ob.copy()
copy.name = f"Target{i}"

and link that to the collection.  It will have the same data linked as the original.
Using question code you were losing all object level properties of the original by simply making a new plain jane default settings object with just the data part of original.
How to duplicate an object in 2.8 via the Python API, without using bpy.ops.object.add_named()


Texture not showing up in render preview why does my texture, that I painted in Blender, show up in "Viewport Shading" but not in "Rendered View"? Everything is just grey.

https://drive.google.com/open?id=1Fy_OFy_3RwtG8tq7dtzQ5A8-up_wJ_dp

As can be seen below, you have accidentally paused your rendering, preventing Blender from initializing your render.

Simply unpause it by clicking on the button again. Cheers!


How to apply mixamo mocap data to my character properly? I made a character for an academic project, which most of the pieces are floating. The next step was to upload this model to mixamo and test it with some pre-recorded animations, but I am having problems with the auto-riging feature avaliable in mixamo.

Any idea why this is happening?

It seems like Mixamo has a problem with distances. When I tried something similar to your model (just more primitive - Cones) it fails as well.

But adding spheres in place of connections worked. So the only one explanation for now I have - Mixamo doesn't know how to follow topology of your mesh. Tested with FBX Export / Limit to Selected.

You can delete or hide them later in Blender.


Boolean object visible in rendered image Having a problem that is really frustrating me. When I render an image, the two boxes that I used for making sinks with a Boolean modifiers are appearing in the picture. I have deleted those boxes long ago and double checked all the layers and they aren't there. Funny thing is render view works just fine.

It looks like your object isvisible in render, but not in viewport. In any case it should still exist in the object list.
Try to find objects hidden in viewport but not in render:

Then you can hide them in rendering by clicking the little camera, or just delete them.


Create Nullschool Earth flowlines over displacement map I am trying to create a static image of wind flowing over a topographical surface. I am new to blender but can get by with the basics. I tried particle animations but had little sucess. Can anyone kindly point me in right direction?

Thank you

Not the most elegant solution but if you're only interested in a static image, you could use the wind map images as textures and UV unwrap the surface onto it.

Worst case scenario...you could try texture painting all the lines. Don't recommend that though, especially if you need it to be accurate.


How to rotate an EditBone? is it possible I have a dict of 2d data and I want to generate bones (skeleton), assuming z = 0 for translation and rotation is across z axis in given dict.

data = {"bones":[{"name":"root"},
{"name":"COM","parent":"root","length":35.18,"x":-128.09,"y":160.22},
{"name":"torso","parent":"COM","length":102.78,"x":127.78,"y":-116.67,"rotation":90},
{"name":"armL","parent":"torso","length":76.14,"x":62.96,"y":-39.81,"rotation":-103.29},
{"name":"armR","parent":"torso","length":92.75,"x":68.52,"y":32.4,"rotation":104.14}]}

here is my blender script to iterate on the dict. I can create bones.
currently placing new bone on top of each other(almost).
what I can handle is,
initial head position directly , on x and y coords
placing tail position directly via length
but

HOW to apply rotation? any ideas

Sample code for current progress..

import json,os,sys
from mathutils import Matrix
from mathutils import Vector
import bpy

def createBaseArmature():
    bpy.ops.object.add(type='ARMATURE',enter_editmode=True,location=(0,0,0))
    ob = bpy.context.object
    return ob
def createBones(amt,bonesData):
    print (str(len(bonesData)) + " bones found")
    for each in bonesData:
        bone = amt.edit_bones.new(each['name'])
        if 'parent' in each:
            bone.parent = amt.edit_bones[each['parent']]
            bone.head = bone.parent.tail
            rot = Matrix.Translation((0,0,0))
            bone.tail = rot * Vector ((0,0,each['length'])) + bone.head
        else:
            bone.head = (0,0,0)
            bone.tail = (0,0,1)

obj = createBaseArmature()
amt = obj.data
createBones(amt,data['bones'])

While you can adjust the head/tail/roll directly, EditBone's have a helper function for this:  EditBone.transform, which I think is the most direct answer to your question, just pass a rotation matrix to it.

This is simply a python helper function, see the code.


How do I show vertex colors in Edit Mode in 2.9? I just moved from Blender 2.79 to 2.9 (so this may also apply to 2.8)…
How can I view vertex colors when I'm in Edit Mode?
I have the viewport set to Solid in viewport settings.
Everything is fine in Object Mode, but as soon as I switch to Edit Mode the object turns black.
Thanks.

This is a bug and also already on the list to be fixed in 2.90.1
https://developer.blender.org/T80396


Cycles not rendering Principled Volume emission smoothly I am trying to render emissive lights in my smoke using Principled Volume node in Cycles render, but emission light is not rendering correctly.

When I set emission to 0 Cycles renders volume material as expected

What am I doing wrong here? Can somebody help me please?

I think you probably have to use the density as an input for the emission strength to achieve that. If you need the volume to have a higher emssion value then just pop a math node in between the density and the emission strength and multiply it.
Here's my setup:
before:

and after:


Boolean union and solids compenetration What is the difference between a boolean union of two solids and to left them compenetrated ? Visually I see no difference, but if I don't execute the union, internal faces remain.

The Boolean joins the two objects into a single mesh, with no inside faces, and no intersecting edges. This is important if you're trying to create a manifold mesh, or don't wan't overlapping faces. Of course when using union there is no visual difference, since the meshes are being added and the total surface remains...


Transfer UV map and 3D data between objects Can someone help me transfer the uv map and the 3d model of the object from the right to the left?

https://www.youtube.com/watch?v=gORp5LC9xZk
this can probably help you with that


How to I fix a model I build crooked? I built a head using the mirror modifier and extruding planes, however I applied the modifier before extruding the body down. Now I have the body build, however it slopes to one side along the y axis, so I can't really cut it in half and then re-mirror it.

You can (and should) select half of the model even if it's not symmetrical. Unfortunately, once you activate the mirrors modifier the model will look like it's been torn up the middle.

To fix, enable clipping in the modifier panel, then select all of the vertices but the head. View your object from the front (numpad1), and hit R to rotate the crookedness away until all of the vertices are aligned straight up the middle.

You may need to do a little tweaking to get it to look right again, but the crookedness should be gone.

If your only blocking out a body, and it's a pretty low density mesh, it might be easier to delete it and start again.


I don't see graph in Graph Editor window Good day. I'm looking at the video where author makes manipuations in Graph Editor window. I'm followin them exactly, but graph doesn't display in that window for me, only Driver Editor is displayed. Why?
video

my window

Because you are looking a video made on an older version of Blender which had the driver edition as a sub-part of the graph editor, whereas the current version has separated them into two distinct editors.


Disconnected (exported) mesh because of vertex paint? I have a model that was imported from an erronous file where each triangle was disconnected from the others.
After "reconnecting" it via removing duplicate vertices and exporting (to .ply with vertex paint) I still have some disconnected pieces along the seam of a vertex paint stroke.

How do I connect these faces to the rest of the mesh?

To make it clear:
Blender has it fully connected but the exported file does not because vertices are split.

The actual problem boils down to: How do I merge the vertex color of a vertex that has differing colors in its incident faces?

Update

To avoid confusion: The mesh is fully connected inside Blender (if I select one vertex and then "select connected", all vertices/edges/faces are selected) after the "remove duplicates". However in the exported file the mesh is disconnected at the vertex paint stroke boundary.

There is a threshold value you can change when working with remove doubles.

There is two ways to change it. Both are (as blender standard) after you use the tool.

So first select all vertices (if you only want to join some, feel free to select a subset).

Now do Remove doubles. Probably nothing will happend because the threshold is way low by default. But in the toolbar (toggle it with T), at the bottom are the options for the last used tool. In this case it will look like this:

Simply change the Merge distance to snap together the desired vertices.

The second way to change this options is to press F6 directly after the tool. This brings up a dialog to do the same. It's a matter of personal taste what method you want to use. They are exactly the same in all other aspects.


Use all Ram on Blender when rendering? (Cycles and Blender Render) I have 32 GB Ram on my computer, how can i make Blender use all (or at least, the most) of the RAM when rendering?

No.
Memory is for storing information. If blender doesn't have 32GB of information to store, then it won't use up 32GB of memory.

To force blender to use more ram than it needs would mean reserving memory and not putting anything in it (a waste), or filling it with useless data which doesn't help blender render (also a waste).

TL;DR: This doesn't really seem like it would be useful.


Disable double sided normals I'm currently using the latest version of Blender and I've noticed something different. Models seem to render both sides of a model when in texture mode - I recall in previous versions that only 1 side would show while the other would be invisible (which is what I want). I'm exporting my models to a game engine and it shows only shows the surface normals on 1 side. Does anyone know how to have Blender only show 1 side of a face?

Here's an image:

The left window is what I expect, but the faces on the right window I expect to be invisible.

Literally just figured this out about 10 seconds after posting this. Here's the solution for anyone with the same problem:

Find the Shading section press N to open the Properties panel - should appear on the right side of your window. Find the Shading section in that panel and make sure 'Backface Culling' is checked. Voila.


Add-on has a warning that "this script is RC". What does this mean? I was in process of activating the POV-ray 3.7 addon and there was a warning with the message "this script is RC".  What does this warning mean?

RC means Release Candidate that is a final stage of beta version.

Software release life cycle

The warning is added by the Authors of the add-on in its bl_info dict, it does not come from Blender itself. Warnings like that are an attempt by the Authors to inform you (the user) about the add-on's state of completion


How to get the pressure force applied on an object? Here is my problem, I am trying to access the force applied by the wind on a cube in the node panel.

Does anyone know what the name of the node is ?

A force field object can not be edited using nodes.
Nodes are reserved for materials.

I am guessing you want to animate the force within to simulate increasing wind force. You can do this by selecting your wind force and opening up the physics tab.

In this tab hover the strenght attribute and press 'i' to insert a keyframe.
Than place another keyframe somewhere else on your timeline to animate the wind force. Same can be done for the other attributes.


Creating a new particle texture using python scripting How would I create a new texture for a particle system? I tried bpy.ops.texture.new() but that wouldn't create any type of texture.

after run:

import bpy
bpy.ops.texture.new()

you can see the "new" texture from:

/// update

*///////////////**

you can change the current texture to the "new one" with a simple code.. in this case my material name is 'Material', and after that you can change anything, for example I apply the new texture and change the type from CLOUDS :

import bpy

D = bpy.data
ob = bpy.context.active_object

bpy.ops.texture.new()
text =bpy.data.textures[len(bpy.data.textures)-1]
mat = bpy.data.materials['Material']
slots = mat.texture_slots
for slot in slots:
    try:
        slot.texture = text
        bpy.data.textures[text.name].type = 'CLOUDS'
    except:
        print("empty slot")

ACTUALLY , you have some better options to add textures, as texture slot add:

mat = bpy.data.materials['Material']
tex = bpy.data.textures.new("SomeName", 'IMAGE')
slot = mat.texture_slots.add()
slot.texture = tex


Video preview plays at old frame rate after changing it How I found this problem:

First, I opened Blender.
Then, I opened the "Video sequence editor."
Since I knew I would be working with videos at 60FPS, I changed the frame rate from 24 to 60 FPS in the sidebar.
Then, I dragged in my first video, and the audio and video lined up correctly (since I changed the frame rate).
I made a new view thingy to put the preview in by dragging from the bottom left corner of the screen, and I set it to "preview."
Then, I dragged the "end" slider at the bottom until it lined up with the end of the video, so I could see the whole thing.

Now, here's the problem. When I press play, the video preview plays back really slow (at 24FPS) while the audio is fine. Furthermore, when I pan the video to play back at a different point, the preview starts at the correct point, but plays back too slowly.

How can I fix this, so that the video plays at the correct speed?

It seems that you were using a HD video source. AFAIK, Sequencer still works with single thread and not so much effective, relatively speaking. In that case, Proxy is born to well solve such issue.

Select the video strip you want to make proxy for, toggle Proxy/Timecode on the property sidebar;
Menu > Strip > Rebuild Proxy and Timecode Intices;
on Preview window sidebar, Switch the Proxy render size to the expected proxy percentage, which is just generated. As shown below:

Since the video quality would be significantly reduced, the playback speed is quite faster than the original source. However, VSE still uses original source for final rendering.

Another way to keep the video/audio sync while playing preview is to use the suitable playback sync mode, which locates on Timeline header. (AV Sync or Frame Dropping)

Of course, you can use the above tricks all together to keep the sync best. However, if the playback is still slow or not sync enough, then you'd better turn to a higher performance PC for that. :)


CollectionProperty to store Node or NodeGroup Can CollectionProperty be used to store a NodeGroup or Node?. If so, how?
I would like to be able to access it as fast and performance-friendly as possible.

https://blender.stackexchange.com/a/101794/55508

That would be an answer to this, but still Idk how to call it later on a class or function.

Thanks

Define, populate, draw

Here I've extended answer from link posted in question with example on how to define, register and populate a collection xxxx on the scene object, containing all nodes from all materials in blend file.

Prepends the draw method to the text editor footer.

Note code is also updated for version 2.8x.

import bpy

class MyPropertyGroup(bpy.types.PropertyGroup):
    material : bpy.props.PointerProperty(
        name="Material",
        type=bpy.types.Material,
    )

    @property
    def node(self):
        mat = self.material
        if mat:
            return mat.node_tree.nodes.get(self.name)

# draw function
def draw(self, context):
    scene = context.scene
    layout = self.layout

    # NOTE: item is an instance of MyPropertyGroup
    for item in scene.xxxx:
        layout.prop(item, "material")
        node_selection_active = item.material is not None and item.material.use_nodes
        row = layout.row()
        row.enabled = node_selection_active
        if node_selection_active:
            row.prop_search(item, "name", item.material.node_tree, "nodes")
        else:
            row.prop(item, "name")

#register the class
bpy.utils.register_class(MyPropertyGroup)

# make it a collection on the scene for example
bpy.types.Scene.xxxx = bpy.props.CollectionProperty(type=MyPropertyGroup)

# test it, get the scene
scene = bpy.context.scene
# clear it
scene.xxxx.clear()
# populate it with all nodes of all materials.
for m in bpy.data.materials:
    if m.use_nodes:
        for n in m.node_tree.nodes:
            item = scene.xxxx.add()
            item.name = n.name
            item.material = m
# draw in footer
bpy.types.TEXT_HT_footer.prepend(draw)


(Blender Internal) How to time Cell Fracture? I have a really simple question that I've needed the answer to for a while now but couldn't find it. Is there a way to make the Cell Fracture times longer? What I mean is that is there a way I can maker it last longer then stopping at the 250 mark on the timeline? Thank you!

Go to Properties Editor Type, in Scene context, check Rigid Body World on. Once done, go to the Cache options, and set the amount of the cache stored for your simulation, usually the same amount of the Time line, i.e. if you increase the number of frames on the Time Line, do the same in Cache options.


snap object by using its vertex as reference i attach the screenshot. There's a box and a yellow dot (next to the box , near top left corner/vertex) . The yellow dot is the origin point of the box itself.

I want to move the whole box by using the top left corner (vertex) as reference so that corner will jump/snap to that yellow dot .

what is the shortest step to do it?

In object mode, add an empty at the same location as the origin of the object:

Select the object, Snap Cursor to Selected
Add Empty (will be at cursor location)

Snap the mesh to the Empty

Edit the Object and select all
Set Snapping to Vertex (with Closest option selected)
Grab the mesh and drag it to the Empty so that it snaps to it

[Edit]
If you need another vertex to be snapped to the empty you could instead set the Active option in the Snapping menu and have that vertex selected last. Or simply drag the mesh to a point where that vertex is the closest, release it and then snap it.


Make vertex paint affect mesh texture greyscale I vertex painted my mesh. I then unwrapped and assigned a texture.

This is the node setup i used.

It is almost exactly what i want. But. The vertex paint is affecting the transparency of the uvmapped texture not the grey scale of it. I need this opposite.

A transparent shader converts the brightness of the input image to transparency. There is no such thing as "grey scale of a transparent shader", because the transparent shader only absorbs light (based on the color and value of it's input). To get a white feedback of the shader (independently of the background), you need to use a shader, which reflects the light based on the brightness of your attribute. To archive your objective, you have to input the factor of your attribute (your vertex paint layer) into the diffuse shader:


Is there a way to unwrap multiple objects into separate UV space? In 2.8+ the multi editing is a thing - and it's awesome! But sometimes I do not want to create atlases - I just have many many objects and just want to batch-unwrap all of them in one click without having to enter edit mode on all of them one by one.
Is there a way to do that without making a custom script?
Basically I wanted to select a bunch of objects and do Smart UV Project on them and be on my way, but that does not seem to be possible (the only one that can work that way is Lightmap Pack with "Share UV Space" option unchecked).

You could join them - In Object Mode Hold down SHIFT then Click on each object. THen SHIFT + J will join the objects, the UV unwrap


When changing bevel on curves, the curves disappear I'm currently trying to model a fox icon using Bezier Curves.
Here's what is looks like:

Or what I'm doing it by:

Unfortunately, I had some kinda weird goings on when I was filling it, or using
the "bevel" option. (Beveling, if you can say it that way)
As you can see in the first of the pix, most all of what I've done has been filled and thickened. But, when I try to bevel the curve that is highlighted (first picture), it simply disappears. I'm beveling it from 0 to 0.025, like all the others (which went fine).

The pic of the bevel value changed and the bezier curve gone:

For each point in a curve you can specify a radius, this value alters the radius of the bevel at that point of the curve. When a point has a radius of 0.0 there is no bevel at that point (or between two points of zero radius). While selected in object mode the curve is highlighted along the zero size area but deselecting it will hide that section.

Here we have a deselected curve with bevel.

Selecting the curve highlights an extra part that wasn't visible.

In edit mode you can see the radius value in the properties sidebar. You can also use AltS to adjust the radius in edit mode.


When importing stl models for 3d printing the pieces are all scattered, Is there a way to re assemble everything? This is the result of the imported model. Is the software? Or it comes this way and there is no other solution than manually fixing? Thanks a lot!

I'm afraid there is no other solution than manually fixing it.

It looks like a 3d printing model, and the parts are designed to be printed separately then assembled (it even look like an articulated model). Maybe try to contact the author, they probably have an "assembled" version of the file.


Controlling or syncing any F-Curve animation speed based on a path's Evaluation Time curve? I have a camera following a path, and I have the camera rotation animated by F-Curves the traditional way. What I want to do is: Whenever I make whatever changes on the path speed on the Evaluation Time curve, I want to somehow sync the rest of the camera animation with it. This way I could have the camera rotation animation taking place always at the same points along a path.

I already looked into Drivers a bit, but I hit a wall when I realised I can't use keyframes AND drivers at the same time on a property.

Ok, so I made some progress with this, but not exactly the way I wanted to.

I discovered that I can make an animation evaluation curve, similar to the path speed one, if I convert my animation to an Action (simply by switching to the NLA editor view), then selecting my animation strip, then activating the "Animated Strip Time" selection from the properties panel. Now, if you enter edit mode with 'tab' in the NLA and switch to the Graph editor view, an extra curve will be available for controlling Strip time. HOWEVER, there doesn't seem to be a way to control the values with a Driver (since the values are by default, like, keyframed and you can't remove the green and you can't have both keyframes and drivers at the same time on a property). A workaround is simply copying-pasting the Path Evaluation curve into the object animation Strip Time curve.

I will report back if I ever find a better way to do this.


Shading won't show up in the Properties shelf? I'm trying to change shading from MultiTexture to GLSL, but I can't quite seem to find the option nor the panel where it should be. It's weird. No one else is having this problem.

You have an old version of blender, either 2.66, 2.67 or 2.68. The current version is 2.78 with 2.79 to be released shortly.

In 2.69 the shading panel was added, before that the GLSL/Multitextured option was available in the Display panel and it is only available when Blender Render is the active render engine.


Link collection from external .blend in 2.8 via python I tried to recreate the File->Link...->somefile.blend->Collection->Collection linking mechanism in Blender 2.8 (Release canditate) in a script.

Unfortunatley my linking code does not behave like when I link via the GUI.

GUI:
-> I get an EMPTY that I can move/rotate/scale /duplicate etc. (orange collection Icon without a "link symbol"). A linked collection inside of it. Perfect! This is what I want.

SCRIPT:
-> I get a collection that is linked that I cant move etc. This behaviour seems not really usefull to me. I want to at least do the basic opperations on a "referenced"/linked object like move/rotate/scale.

I tried to place the linked collection in an EMPTY but the GUI does not allow that.

My script so far:

    context = bpy.context
    scenes = []
    mainCollection = bpy.data.collections['Collection']
    with bpy.data.libraries.load(blendFile) as (data_from, data_to):
        for name in data_from.scenes:
            scenes.append({'name': name})
        action = bpy.ops.wm.link
        action(directory=blendFile + "/Scene/", files=scenes)
        scenes = bpy.data.scenes[-len(scenes):]
    for scene in scenes:
        print(scene.name)
        for coll in scene.collection.children:
            print(coll.name)
            context.scene.collection.children.link(coll)

Any ideas how to place the linked collection inside an EMPTY via script to move it?

collection.parent = empty

A collection does not have a "parent" attribute.

Thanks in advance!

Thanks for your initial self-answer! It got me on the right track.

I think this way is even easier:

import bpy

master_collection = bpy.context.scene.collection

blendFile = 'path/to/file.blend'

with bpy.data.libraries.load(blendFile) as (data_from, data_to):
    data_to.collections = data_from.collections

for new_coll in data_to.collections:
    instance = bpy.data.objects.new(new_coll.name, None)
    instance.instance_type = 'COLLECTION'
    instance.instance_collection = new_coll
    master_collection.objects.link(instance)


Project vertices on edges After intersecting (knife) two surfaces that didn't exactly match, I'm left with a vertical wall where the cut was made (circled in red). What can I do to "remove" the wall? Concretely, I would like the vertices of one "lip", say the upper one, to be projected on the lower lip, so that the vertical faces can be safely removed.
What I tried (and why I'd rather not go that way)
Bridge edge loops: it wouldn't work because the vertices don't match. As you can see, the upper lip has more vertices.
Resizing along edge orientation: I could select a pair of vertices that defines an edge in the lower lip, define a transform orientation, select vertices in the upper lip that are above the edge and resize their transform Z (or another fitting axis) to zero. While it would surely work (I don't need adjacent faces to share every vertex, I think), it would be long and tedious, and error prone too. In this case I have four edges, but what if I had a similar case along 50 edges?

EDIT
Here is a Blender file with a scenario similar to mine.

EDIT 2
To avoid the XY problem, I'd better describe in more detail how I came to the problem. Maybe I can work in a different way.
I have two lines - say they're the border of two converging roads. I wish to join them with a smooth surface (but I want to be able to model it, i.e., it should not be "the mathematically smooth" surface).
My approach was to extrude from those edges, along the edge normal, so to "continue" the road surface, then I would intersect knife them. However, one of the roads is the main one, and its extrusion must have a minimum width. In the screenshot above, the green quads are the road side extrusions, and the one in the lower part of the image is the main one.
Look at the following picture: the highlighted line is the main road border. The z axis is exaggerated.

I extrude the road sides:

Now I need to join the two inner edge loops. What I did above is extruding the secondary one towards the first, then knife it using the main border's extrusion along Z. However, this gave me bad topology. Nxdhin2005's process gives me a good mesh, but it would be hard to match the other border just by adjusting the extruded one.
Maybe I'm overthinking this, and I should just bridge the two edge loops, then add detail on the new faces, maybe by sculpting?

Here we go :
Before anything, I used your .blend file as the reference.
Start off by adding in a plane and add in about 10 loopcuts.
Select the bottom edges and extrude it along the X-axis and select the end edges and use the shear tool to make that slanting edge.Tweak it a little bit(I didnt select the last vertex before extruding, to match your mesh.)

Select any vertex in the subdivide portion of the mesh and Use the proportional editing tool to match the mesh to imperfect one.Do a some tweaking and you'll get this:

Select the edges as shown in this image...

Extrude it downwards and scale in it on the z-axis by S
+Z and 0

Now extrude it on the x-axis again to make the base. Now you have the mesh with perfect topology. However you might have to flip the normals of certain faces with Alt+N >and flip Normals.

Don't delete your previous mesh. Use it as the reference to make this mesh (just like retopologizing)


How to assign different faces of the same object different materials? I have subdivided a plane into 50 x 50 faces,
then I random selected some of those faces and saved them as a group,
I hid them with h and random selected among the other faces and made them another group.

I repeated this a couple of time, so that I had one objected which contained several groups of faces.

From this point on, I tried to select one group and assign to them one material and to another group another material and so on...basically to achieve a floor of tiles with different kind of tiles.

But, it did not work.

Click "+" to add a new material slot
Set the material
Select the desired face(s) and make sure the added slot is selected
Click "Assign" button

You should see it in the viewport (solid) now


Track simulation jittering & Instability I will start by posting a video illustrating the issue:
Track issue
To put the issue in words; the tracks will randomly jitter along their respective axis. This is not limited to the one area shown in the video but also occurs when the track runs along the top of the roadwheels.
I may be wrong but I think that this may be due to some sort of instant change in acceleration which happens to one track; resulting in a chain reaction. The rotation and scale of every object is applied. If anyone has insight on what I could do to mitigate this issue I would greatly appreciate it.
Rig details vvv
My rig consists of 2 main parts, one being the actual tracks and the other being the roadwheels. The tracks are all rigid bodies with each being connected to the next via a hinge constraint.

The second part(the wheels) are also rigid bodies. Each of the wheels has a generic spring constraint. The 5 roadwheels also have a constraint to limit their distance from the suspension.

The drive wheel has a motor constraint along with a the generic spring constraint (which does not have springs enabled) and the tensioning wheel towards the front is the same as the drive wheel minus the motor constraint.
Here is a file which contains the rig. One side of tracks is a different size from the other as I was messing around trying to find solutions (It doesnt effect anything).

Thank you.

Decreased the solver iterations from 100 to 50. Eliminated the issue.


Apply Shape Key to Armature I have a model with an armature rig to pose in different poses. I then have various items/clothing which can be equipped and they follow the mesh using an armature modifier/weight paints.

I am working a shape key to adjust the height of the model (shorter/taller). Since the actual armature is not changed, the items do not go to the correct location and the poses are deformed due to the change in vertex location to the bone.

I am including a screencap that has the working armature/pose and then the deformed one where I am attempting to use a shape key to change the size of the model.

In my mind there would ideally be a slider similar to shape keys which would allow me to shrink/stretch my armature to match what I am doing with my model. Or does anyone have a suggestion on how I can better implement this? Thank you for your time!

You can use scaling of a bone (say one of the spine bones) to make your character taller. If the child bones also scale and that is not what you want, just uncheck the 'inherit scale' in the bone properties. The parented meshes will follow the enlarged character as well.


Where is Grease Pencil stroke snap mode in UI? I found this: gpencil_stroke_snap_mode

gpencil_stroke_snap_mode
NONE All points, No snap.
ENDS End points, Snap to first and last points and interpolate.
FIRST First point, Snap
to first point.

But i can't find this settings in user interface. Where is it?

Thank you for posting your question very clearly.
This is the reason why SNAP FIRST and SNAP LAST and LOOSE SNAP exist.
This was recently implemented.
When you START a drawing using the circle snap your drawing will conform to the first and last stroke point when you let go of the draw. If you draw and CLOSE the shape the snap will conform to first point to snap. And obviously if you don´t do any of these, you´ll have LOOSE snap.

I´m glad that you´re reading into this inside the API.
Thank you for your vote for this answer if you find what you were looking for

BFCT_Schiller


How do I make dark oak material in BLENDER I want to make a 3D model of a speaker (Fyne Audio F501) but not able to make the dark oak wood material for Cycles can anyone help?

You can easily recolor any image texture using nodes.

Start with a suitable wood texture. Choose by pattern, you'll adjust the color.
There are many free ones on the Interwebs (god, i love that word).
I used this free one from Poliigon
Connect it into the Base color input
Adjust colors using RGB curves/Hue saturation node... whatever you like.
Blender offers many Color nodes just for this.
Just connect the node in front of your image texture like in my image.

Source image texture

Note:
If you're a beginner I reccomend BlenderGuru's Donut tutorial.
You'll learn everything you need there :).


Make a 3d line on Object i wantd to make a "line" around the model. The only solution i found is to select the edges for the line and press "s" to put them more into the model. But then i need to select every single edge left and right on that "line" to put them more together to get that "deep" effect. Is there an easier solution to do that? It does not only take alot of time to select and move every edge the bigger problem is that the edges arent all at the same spot to have a smove line.

If what you want to do is what Nicola Sap shows, here is another way to do it, pretty close, but with the Bevel tool:


Loading an image to a texture from a python script file I made a plugin to use on blender, installing the plugin will display a panel, and I wanted to display an image on that panel, so I create a texture in the script file with type 'IMAGE':

 ui_tex = bpy.data.textures.new('MP', 'IMAGE')

and then when I assign it an image it doesn't seem to load the image:

ui_tex.image = bpy.data.images.load("D:/pic.png")

So how can I load an image from the script file to a newly created texture.
Note: the previous two python statements are written in a draw function of the panel

Edit: Here is the class for the panel with the draw function:

class UIPanel(bpy.types.Panel):

  bl_label = "Label"
  bl_space_type = "VIEW_3D"
  bl_region_type = "TOOLS"
  br_name = "Printing"

  def draw(self, context):

   layout = self.layout
   scn = context.scene

   ui_tex = bpy.data.textures.new("MP", "IMAGE")
   ui_tex.image = bpy.data.images.load("D:/pic.png")

   row = layout.row(align=True)
   row.alignment = 'EXPAND'
   row.template_preview(bpy.data.textures["MP"])

Might I add that I get this error in the blender system console:

line 39, in draw
ui_tex.image = bpy.data.images.load(filepath = filepath)
AttributeError: Writing to ID classes in this context is not allowed: MP, Texture datablock, error setting ImageTexture.image

Blender v2.79
Load image to texture:
bpy.ops.image.open(filepath='full_path_to/your_image.png')
bpy.data.images['your_image.png'].pack(as_png=True) # Pack an image as embedded data into the .blend file
ui_tex.image = bpy.data.images['your_image.png']

Don't forget to replace 'full_path_to/your_image.png' to your own values.
EDIT:
I think this method is easier, you simply load the node, given its name and then set the path:
im_node = scene.node_tree.nodes["Image"]
im_node.image.filepath = 'full_path_to/your_image.png'


Linux cmdline rendering on multiple GPUs I'm running a number of benchmarks on Linux (Ubuntu 18.04) cloud VMs that have multiple GPUs attached, however I can only ever render on a single GPU. I'm not using the standard Blender benchmark executable as I kept running into checksum errors, rather I'm installing Blender locally and following the instructions to run offline benchmarks here.

I've tried adding this script to my command line to force-enable all my GPUs, but I'm still only getting a single GPU rendering. My command line is:

  /usr/bin/blender \
    --background \
    --factory-startup \
    -noaudio \
    --enable-autoexec \
    --engine \
    CYCLES \
    /path/to/scenes/main.blend \
    --python \
    /path/to/scripts/use_gpus.py \
    --python \
    /path/to/scripts/main.py \
    -- \
    --device-type=CUDA

Am I missing something? Is the GPU device ID baked into the benchmark scenefiles, not to be overridden?

The benchmark script sets the enabled devices itself, hence the script to enable all GPUs has no effect. Since the purpose of the benchmark is to evaluate the performance of a specific CPU or GPU, it only enables one (compute) device at a time. This can be seen by taking a look at the benchmark scripts.

In main.py it first parses the supplied arguments and starts the benchmark. You can specify which device shall be used through the optional -d, --device argument. The _benchmark() function gets the requested device as an argument and calls the render() function from the render.py script. It enables the requested device either through _enable_device() which in turn calls _enable_compute_device() or _enable_cpu_device(), depending whether the benchmark should be performed for a GPU or CPU. In your case it would be using the former function. _enable_compute_device() first disables all enabled graphics cards. If you supplied a specific GPU, it will try to enabled it. If no GPU was given as an argument (requested_device.name is None), it first tries to find one that isn't used as display device and if no such GPU exists, it picks the first one available. In both cases it only enables one GPU and it's the first one that matches the criteria.

Therefore you need to call the benchmark script multiple times and supply the GPU name through the --device argument for each run. The available device names can be printed to the terminal by using the -l or --list-devices argument.

Alternatively you would have to modify the script. However, this would also break the JSON reporting function since it expects exactly one device to be enabled. The report format could be modified as well, but it would not be possible to upload the modified reports to the Open Data platform.


How to remove part of cube How to remove the selected part of this mesh?

Edit mode, press x or menu Mesh then Delete-Faces


Is there a way to save my current studio lighting in blender 2.8? I currently have a lighting setup on my viewport. And I want to save it as my regular lighting setup. Is there a way to save it?

I hate the default HDRI and i want to have my basic default light.

Thank you

Just create a scene that has the elements you want.

Save the scene as the default scene.

File>Defaults>Save Startup File.

Next time you open blender, your lights will be there.


Black faces when rendered Hey guys! I just started using Blender 2.76b and I'm encountering an issue when I render. I have a mesh and a light source set up but when I render, some faces appear black. I've done some research and found out about normals but when I checked, they all seemed to be facing the right way. Any help would be appreciated, here's a link to the .blend file. https://www.dropbox.com/s/5ebmmcrlc1gfce2/castle.blend?dl=0

Looking at your scene, you need to select the sun lamp and press R to rotate it. Rotate the sun lamp to point the light in your desired direction, and try rendering again.


2.76 - How to use ATI/AMD GPU without Linux proprietary driver? I'm running Kubuntu 15.10 with Blender 2.76 64-bit. PC is a laptop with the ATI Mobility Radeon HD5850 graphics card. (specs: kernel 4.2.0-16-generic, 12GB RAM, 2GB GPU RAM, KDE Plasma 5.4.2)

I can't install the fglrx proprietary driver, otherwise Kubuntu won't boot; I have to use the open-source driver.

My question is: is there a way I can utilize the GPU processing for Blender (using Cycles engine) in Ubuntu (Kubuntu, or any of Ubuntu's flavors) without install the ATI/AMD proprietary driver?

Thanks in advance!

I'm affraid that is not possible. Apparently (checked on luxrender) the GPU is only detected by blender using privative drivers, but even knowing that cycles is not fully capable with ATI/AMD cards. The kernel must compiled on the fly before start rendering and you can't use (even with the propietary drivers) volume absorption or scattering with the GPU and you still have to use CPU for it.
Blender works better with Nvidia CUDA i got the experience using blender on linux for several years and comparing with windows. and the results with AMD cards are disapointing.


How to flip without using mirror modifier I have a model with a yellow red and green color mention just to understand. A Green color base on that a yellow and a red color object are placed. Red color object is to under where i have to place the object. I want the yellow color object to be flip to other side where the red cylinder is located. The problem is the yellow object is made of 4-5 mesh and i do not want to join and make the mirror. I just want to flip that complete yellow model to red cylinder position without joining the parts and without mirror modifier. The reason why i do not want to join is later i have to animate the seperate parts. So is there any quick way to flip or addon so that my complete model can flip.blender file here ......

Select green object, press Shift+S and choose cursor to selected. Change pivot center for rotation/scaling to 3D cursor.Select yellow object (all meshes) and either press S,X -1 (to scale it by value of -1 on the X axis, which will cause to mirror the object to the other side) or CTRL+M,X (which will cause to mirror object to the other side)


What is the difference between Active Strip and Selected Strip? I understand that the active strip can only be 0 or 1 and that the selected strips can be >= 0, but other than that, what is the meaning of these 2 concepts?
A Python scripting perspective would be appreciated.

Most Blender operators, Interface action "work" on active object (eg. the RHS information tab, apply modifier); Selected objects... are just been selected.
Selecting — Blender Manual
If a method, operator can handle multiple objects at once, it might uses selected objects. Otherwise, active object will be chosen. Back to the 2.79 time, selecting multiple object and go in edit mode will only go in edit mode for the active object. Now it uses selected objects and active object in Blender 2.80.
So if a job/operator need to work on something, and there should be only one instance that being handled at a time. Active object will provide only 1 object or None, make it easy to deal with. And the User Interface will always make active object different, letting the user know which object are going to be deal with. So the word active.
And, surprisingly "active object can be not selected" after you deselected it. Which mean active object is the "last object you interact with".


Denoising in viewport? Is it possible to enable the new (2.79b) denoising feature in the viewport? It works great for me in renders, but I can't find a way to apply it in the viewport.

Denoiser works with algorithms done via feature passes and final image data. It's currently not implemented for the viewport nor for progressively refined renders.

Official Documentation


How do I make a glowing image texture I'm trying to make an image texture that glows in Blender. An example might be a television or a smart phone. How can I accomplish this? Any help is greatly appreciated.

I haven't rendered the image, but this seems to do the effect that I wanted:

Add a plane, unwrap it and give it an image texture. Set the nodes as pictured below (connect the Image Texture node to Emission node). Set up the emitter's strenght.

If you want to increase the glowing effect you may do this in Compositor. Just add a Glare node and experiment with its settings.


Blender Cycles: baked texture is completely black When I try to bake a texture in Cycles, the baked texture is completely black, however it looks fine on the Render Preview. I have tried recalculating normals, but it didn´t fix the issue. I have no idea what else to do. Here I have the .blend file: http://pasteall.org/blend/index.php?id=48466

It turned out that I tried to render Diffuse, but the Principled shader does not render diffuse. Rendering Glossy worked.


How can i change the color of a material created with the PBR addon I have installed the PBR addon. With a Light sphere material applied, I want to change the color from white to red or something else. I can't find the color option to change. Any suggestions? Thanks.

Here are the nodes

The thing with PBR is: it tries to be physically accurate. That's why you don't have a RGB input in this setup but a blackbody converter node.

Blackbody converts color temperature (measured in kelvin) to RGB values.
You can look at the Wikipedia page to see which color corresponds to which kelvin value.

if you don't need to be physically accurate, you can just unconnected the blackbody node and set the color directly in the emission shader.


Alternate between user input and automation in one-step script I would like my script to do the following :

Save selected object's name and add an object (automation)
Let user move the added object where he wants (user input, stopped with leftclick)
Move the 3D cursor to where the object was moved, delete that object and reselect the original object (automation)
Let user move the original object where he wants (user input, stopped with leftclick) and terminate the script.

I tried to modify the template "simple modal operator", but without success. I looked the doc, googled, watched other scripts which are modal... nothing. The best I did get was to reach step 3, but then the script seems to ignore the line where I change the active object. The same line works in the python console...

I don't specifically want the solution for my case, but at least if someone could explain how to properly alternate many times between user input and automated steps, it would be nice.

Macro Operators are a way to achieve this (see script below, this does pretty much what you describe). They allow you to concatenate modal and non-modal operators.

Note that adding an object and deleting it right away repeatedly can lead to a lot of 0-user objects accumulating in bpy.data.

import bpy
from bpy.types import Operator, Macro
from bpy.props import *

class TranslateCursorMacro(Macro):
    """Overall macro for combining move and cursor operators"""
    bl_idname = "object.translate_cursor_macro"
    bl_label = "Translate Cursor"
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        if not context.active_object:
            return False
        return True

def _find_prev_object(ptr):
    for ob in bpy.data.objects:
        if str(ob.as_pointer()) == ptr:
            return ob

class RememberObject(Operator):
    """Store active object"""
    bl_idname = "object.remember_object"
    bl_label = "Remember Object"

    def execute(self, context):
        # XXX This is not super nice, but we don't have real
        # properties shared between macro component operators.
        # In an addon this might be stored as a module-level
        # python variable. Store as string because integer is
        # only 32 bit and may truncate 64 bit pointer.
        context.scene["_prev_object"] = str(context.active_object.as_pointer())
        return {'FINISHED'}

class DeleteNoQuestionsObject(Operator):
    """Delete object without asking"""
    bl_idname = "object.delete_no_questions"
    bl_label = "Delete Object"

    def execute(self, context):
        # XXX The usual bpy.ops operator opens a popup
        # when invoke. Use this wrapper to avoid that.
        bpy.ops.object.delete('EXEC_DEFAULT')
        return {'FINISHED'}

class SelectPreviousObject(Operator):
    """Select previous object"""
    bl_idname = "object.select_previous_object"
    bl_label = "Select Previous Object"

    def execute(self, context):
        ptr = context.scene.get("_prev_object", None)
        if ptr is None:
            return {'CANCELLED'}
        del context.scene["_prev_object"] # cleanup
        ob = _find_prev_object(ptr)
        if not ob:
            self.report({"WARNING"}, "Previous object not found")
            return {'CANCELLED'}

        for tob in bpy.data.objects:
            tob.select = (tob == ob)
        context.scene.objects.active = ob
        return {'FINISHED'}

bpy.utils.register_class(TranslateCursorMacro)
bpy.utils.register_class(RememberObject)
bpy.utils.register_class(DeleteNoQuestionsObject)
bpy.utils.register_class(SelectPreviousObject)

TranslateCursorMacro.define("OBJECT_OT_remember_object")
TranslateCursorMacro.define("MESH_OT_primitive_uv_sphere_add")
TranslateCursorMacro.define("TRANSFORM_OT_translate")
TranslateCursorMacro.define("VIEW3D_OT_snap_cursor_to_active")
TranslateCursorMacro.define("OBJECT_OT_delete_no_questions")
TranslateCursorMacro.define("OBJECT_OT_select_previous_object")


No CPU option in cycles compute device With the 2.79b version i want to enable both CPU and GPU for render. But i can only find the GPU settings.

Under the CUDA i can seen my GPU card and not my system setting

May i know where is the setting for Both GPU and CPU to enable it.

The feature you're referring to hasn't made it into Blender 2.79b. If I recall correctly, it was finished after the release of 2.79b. If you still want to give it a shot, you can go to the Buildbot page at https://builder.blender.org/download/ and download the Official build from there.

Once you start that one up, the User Preferences will show you these checkboxes when you enable CUDA:

As you can see, my CPU is listed as Intel Xeon CPU E5-2640, and can be used in addition to the TitanX.

On the same computer, Blender 2.79b doesn't show the additional CPU option:


Sharp edges during sculpting How can i preserve sharp edges during sculpting without getting this? ( I used creases and edge split modifier)

Well one way to do this is by using only creases and disabling the edge split modifier (This will work if you use the multiresolution modifier).


How can I join meshes that are separated by dotted lines? I'm trying to create a book shelf, but after doing a series of loop cuts, some of my shelves are now doubled-up and I'd like to delete them.

As you can see in the image below, I tried deleting all of the faces and edges for one of the doubled up shelves in the hopes that the two parts would "snap together", but they are now separated by orange dotted lines. Is it possible to merge these two sections together now? I tried using the Merge tools, but none of them accomplished my goal.

How can I merge the separated edges with the mesh that I want to keep, and have the original shelf stay in place? If I am trying to do this in the entirely wrong way, Then i would appreciate being pointed in the right direction.

You can easily do this by first enabling Vertex Snapping

select the edges/vertices that you want to join.

Hold Control and move it along the Z.

Then, select all the vertices, you want to join, or simply press A to select them all. Press W and select remove doubles. This will join them so it is a connected mesh.


How to select and assign vertices to a vertex group via python? How to select and assign vertices to a vertex group via python?
I have a script that generates random hair on sphere, and I want to make it work for a custom head mannequin, so I have to assign vertices to a vertex group for scalp hair, and then apply my script on it, so it adds hair only to the scalp part?

Considering you have access to an object, for instance:

obj = bpy.context.object

Then you can add a vertex group "Group", using:

group = obj.vertex_groups.new( name = 'Group' )

Or get an existing group by:

group = obj.vertex_groups['Group']

Then you can add vertices using:

group.add( vertex_indices, wanted_weight, 'REPLACE' )

where vertex_indices is an array of indices, wanted_weight the weight you want to assign.
The last parameter ('type') corresponds to the operation you want ('REPLACE' to set the value, 'ADD' to add the value or 'SUBSTRACT').

The way you get the vertices is dependent of what you want to do.

If you have a vertex (from obj.data.vertices) you can get its index by:

vertex.index

From a vertex, you can get its assigned groups via:

vertex.groups

This is an array of groups that you can use to check if the vertex is concerned by a group.

To obtain the assigned weight, from a given group and knowing a vertex index:

group.weight( vertex_index )


Can the sequence of objects created by the Array modifier be scaled down linearly? If I add an array modifier to an object, it adds similar objects to the scene as per the input relative distance. Can we scale down each object linearly in that sequence, is there any method to do this?

The solution for this is the "Object Offset" of the Array Modifier.

Select the object with the Array Modifier and press Shift+S selecting to place the "Cursor to Selected"
Add an "Empty", which should result it being placed at the cursor aka same location as the object.
Go in the Array Modifier options and activate "Object Offset", followed by picking/selecting the "Empty" as target right below.

Now you can select the "Empty" and by scaling it each clone will recieve the scaling like this:

Be aware though that everything you do to the "Empty" now affects all the clones, moving, rotating, scaling as well as the combination of those can fast result in sometimes wanted, other times unexpected results.

Happy Blending


Objects stop emitting smoke/fire after a short time? How can I maintain the flames on the pieces of an object after an explosion?

Here's a video of the issue.

Try increasing the smoke cache length in Properties >
Physics > Smoke cache with the domain object selected:

Note that you will have to free any existing bakes before you can edit that value.


Legally switching from 3DsMax to Blender I'm trying to migrate my asset meshes from 3dsMax Student Edition to Blender so that I can ditch 3DsMax for Blender. I would like to do so legally for my non-commercial release of a project which will use these assets. Will exporting to an fbx file and importing into Blender remove any licensing data associated with my models from 3DsMax as I want it to be clean enough for public release from Blender. I once read that converting by exporting it to .obj format will clear it of any 3dsMax trace, but I am unsure.
If there is any simple solution it will be greatly appreciated.

I have unfamiliar with the any license or Terms of Service agreement of any edition of 3DS Max, and I am not a lawyer, and don't play one on the internet.

Having made those disclaimers, it is my understanding that the producers or Vendors of a software program do not have any legal interest in any output file (in this case a mesh) that you produce with your software. Just as Micro$oft does not have any intellectual property rights in a novel you create with their word processing software, the purveyors of 3DS Mas probably do not have any intellectual property rights in your meshes. The only exception of which I am aware to this general principle is if the file format to which you are exporting is proprietary, in which case the file format might be copyright. But even then, while the file format might be subject to copyright, that copyright applies to the file format, not the file content.

However, the format to which you expect to export, ~.obj, is an open format, and is not controlled by the purveyors of 3DS Max, so there is unlikely to be any associated licensing data.

ns


How to move multiple objects to central point I'm trying to move multiples objects next to the central point but without success is there anyway to do it without doing one by one but all objects at once ? (Not using scaling up and down)

You can enable the Transform > Affect Only > Locations option:

Make sure that you have the right Pivot Point enabled, in your case maybe 3D Cursor once you've put it at the center with ShiftC:


Is there a way to match audio and video length in blender precisely? This question has kind of been answered here, but when I try to set the frame rate to the rate listed on the video (30fps in this case) it is still off by a large margin (400 extra video frames out of 18000 sound 'frames').  I have also tried using the speed control to adjust, but it will only correct to one decimal place, which will make the video either noticeably longer or shorter than the sound.  I would like to know if there is any way to improve the precision of the speed control feature, or (ideally) set a start and end frame rate, and have blender average the frames in between.

What @batFINGER says is true. If you have your blender anim set at 30fps, but your video is really playing at 29.97 fps, the sound track and video tracks will get imported at different lengths.

presumably because sound is imported as a single item with a timespan, and the video is imported as a range of frames, each being dropped in a frame slot. Someone else may know for sure.

You just need to play with the FPS until the two strips align.

In the first image I have imported a 6mb video at 24fps. The two strips show as different lengths.

In the second image, the strips line up. But I had to use a custom '15fps' because I have a cheap android phone.

Shouldn't be too much of a pain to sort through the dropdown options.

If you need a unique frame rate, you can select 'custom' from the Frame Rate dropdown. (it's the first item, and looks like a title.) Enter something close to actual frame rate. Then you can use the divider '/' field to adjust.

You can see in the images the resulting frame rates are: 31.01, 31.37, and 31.71 respectively.


How can I mix two materials based on incoming light I was watching the Create a Realistic Earth tutorial by Andrew Price and I was able to follow along in Cycles until I hit the part where he mixes the day and night materials together so that the lights show up on the "dark side" of the earth.

How can I recreate this effect in cycles? I thought I could use the ray information to tell me if there was incoming light but I've found no such node to give me this information.

I have made a little shader that does this. See below for the node setup and a test render.

First there are two shaders, one for the ground (green-brown-noise) and one for the glowing city lights.

Second, there is a mask for the city lights that makes them appear as spots.

Third, and this is answering your question, a value calculated as the dot product between the normal of the planet surface and the vector from the light source to the planet. Very simplified, dot product does this: If they point in the same direction, the dot product will be 1. If they point in opposite direction, dot product is 0. It was a loong time since I studied linear algebra so don't sue me over this.

Fourth, the second mask is multiplied with the third and this is fed as a factor into the mix node that mixes the two materials (land vs city lights).

Node setup. Note how I had to manually calculate the vector for the dot product. In this case (my planet is at 0, 0, 0) it is only the negative value of the light source position.

Test render:


Using Tesla P100 as Compute Device We are using a cloud service which provides a NVIDIA Tesla P100.

Apparently Blender does not show the GPU as a compute device:

I am using Blender 2.82. Maybe there is some experimental version that supports such a graphics card? Am i on the wrong track about that? What do you say?

Here is some system information:

lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:04.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:05.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:06.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:07.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:08.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:09.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:0a.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:0b.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:0c.0 Communication controller: Red Hat, Inc. Virtio console
00:0d.0 3D controller: NVIDIA Corporation GP100GL [Tesla P100 PCIe 16GB] (rev a1)
00:0e.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
02:01.0 SCSI storage controller: Red Hat, Inc. Virtio block device
05:01.0 Non-Volatile memory controller: Huawei Technologies Co., Ltd. ES3000 V3 NVMe PCIe SSD (rev 45)

I'm using Blender 2.79b rendering on the same GPU but in Google Colab, I force using GPU with a Python script.
I had some difficulties but I found that Google put some restriction on the GPU. I just had to remove libtcmalloc-minimal4 package and reinstall it from Ubuntu repositories and now every thing is okay. Something like
    sudo apt-get remove libtcmalloc-minimal4
    sudo apt-get update
    sudo apt-get install libtcmalloc-minimal4


modal function of a modal operator is never called I want to receive real time data into blender based on which I would control some animation. To receive the real time data I am using a datagram socket with a modal operator. But for some reason the modal function of the operator is never getting called

Here is the code for my operator

import bpy
import socket
import os
import sys

absolutePath = "/Users/pulkitjuneja/Documents/projects/EVA/scripts"
sys.path.append(absolutePath)

from animationController import main

class socketModal(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Lip synch Operator"

    def __init__(self):
        print("Listen Start")
        os.chdir(absolutePath)
        self.port = 1301

    def __del__(self):
        print("Listen End")

    def execute(self, context):
        print("execute")
        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.setblocking(0)
        self.socket.bind(("127.0.0.1", self.port))
        self.execute(context)
        print('socket listening on port', self.port)
        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def modal(self, context, event):
        data = None
        try:
            data = self.socket.recv(1024 * 1024)
         except socket.error:
            print('no data')
        print(data)
        print("here")
        if event.type == 'BACK_SLASH':
            self.socket.close()
            return {'FINISHED'}
        return {'RUNNING_MODAL'}

bpy.utils.register_class(socketModal)
bpy.ops.object.modal_operator('INVOKE_DEFAULT')

I am running this script inside blender to register and run the operator but only the invoke function seems to be called. Is there anything I am doing wrong ?

This is a bit late, but, at present, the modal operator will be invoked at every(!) blender event. This is perhaps not what you want, and could be the source of your problems. A better idea for such operators is to be restricted to particular events. For example, you could start a timer that triggers every 1 second:

bpy.context.window_manager.event_timer_add(1, bpy.context.window)

And, in your modal function, have:

def modal(self, context, event):
    if event.type == 'TIMER':
        # do something
    return {'RUNNING_MODAL'}


Can't see material nodes for Cycles Using Cycles, "Add Nodes" checked, "Object Data" selected, already pressed numpad "0" and also "Home". See screencap below.

How do I get the material visible on the material tab to show its nodes in the node window? Also, the material dropdown under nodes is greyed.

I'm using "Gold Material for Cycles" from Blendswap, so I'm trying to figure out someone else's file.

This is probably because the material is locked in the node editor. Click the two overlapping circles to unlock the material!


Blender boolean modifier difference make distorsion I'm trying to create a difference between two objects.
Let's see my object below :

As you can see, I get a really bad result. I would like to show you my shape before applying the boolean modifier.

Any idea how to avoid this distortion ?

The problem is that you apply the Subdivision-surface Modifier AFTER the boolean modifier. This means the hole you try to model using the boolean gets subdivided and "distorted".

The order of modifiers matters!


Why are there scenes that will not render on GPU but will render fine on CPU? I've already tried GPU Rendering and it seem to be twice as fast as the CPU. However I have some situation where tried to render on the GPU, but it doesn't do anything. When I switch to CPU it renders.

I have some fur texture/materials using particle systems. I wonder if that causes the GPU not to render, I'm not really sure.

It all depends on the complexity of the scene, the size and number of textures used, and also on the kind of of GPU at your disposal.

GPU rendering can be faster than CPU on most modern graphics cards with lots of CUDA cores, but it is also limited by the amount of VRAM built on the card (usually not a lot). Once you've reached that limit, the rendering process will fail.

If there is only one GPU on your system, and the GPU is also being used to feed the monitor(s), even less VRAM will be available for rendering, as some of it will be already in use by open applications.

On systems with multiple GPUs the VRAM is not shared, and Blender will only use as much memory as in the smallest one of the card's.

When you render in CPU you can use all the RAM available in your system, and once you've reached the physical limit, the OS will start virtualizing memory by caching on disk. So for very complex scenes with big textures you might only be able to render on CPU.

A possible way to render complex scenes in GPU is to spit them in layers and combine them at the end (Read this link on blenderguru.com)

Other considerations:

GPUs for laptops are in general not as powerful as the ones in desktops in terms of speed, number of CUDA cores or VRAM.

When it comes to older GPUs or with less CUDA cores, it is possible that CPU rendering might be faster. Specially if the CPU is multi-core (or multi-threaded).

In Cycles, blender will render as many tiles as there are CPU cores simultaneously. A single GPU will only render one tile at the time, multiple GPUs will render as may tiles as there are GPUs

To make rendering more efficient is important to find the size that works best for your machine. Sometimes larger sizes will render faster, but there are times when you need to keep them smaller for the machine to work efficiently.

GPUs work better with tile sizes ranging from 128x128 to 256x256, but CPUs seem to like smaller size tiles like 16x16 or 64x64.

Some operations in Cycles still only work on CPU (like smoke rendering).


Blender not saving rendered stills Trying to render the default scene.  Have set my user preferences to have Render Output go to F:\Blender\BStills\ - and this is what's listed in Properties panel as well.

If I try to render an animation, things work fine.
If I try to render a single, still image, I'm not getting any output (even though the render looks like it runs fine within blender).

Also, is there a simple way to attach .blend files so people can look at those directly to help with troubleshooting?

Thanks for any help.

If you render using F12 or the Render button, the image doesn't get saved automatically (I don't know why the deveolopers made that choice).

You can manually save the rendered image in the UV/Image editor Pressing F3 (or "save as image" on the menu).

To auto-save a rendered image in the format specified in the ouptut settings, you would need to press the Animation button (or Ctrl+F12).

Just remember to set the frame range so that it renders only one frame and not the default 250.


Why is Pie empty when no object in layer Everything works perfect as long as the layer has an object, otherwise the Pie menu will be empty. Is that because I have a camera command in the pie and no object is present that could be used for the camera?

I get the following error:

  mesh = context.active_object.data AttributeError: 'NoneType' object
  has no attribute 'data'

So if yes then I am curious if this is a doable Pie menu when an object has to be present for the Pie menu to work. At least the normal view commands like fullscreen or so should work and be displayed:

Pie Menu Code:

class View(Menu):
    bl_idname = "pie.view"
    bl_label = "View"

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

        mesh = context.active_object.data

        pie = layout.menu_pie()
        #4 - LEFT
        pie.operator("view3d.view_all", text="View All", icon="VIEWZOOM")
        #6 - RIGHT
        pie.operator("view3d.view_selected", text="View Selected", icon="BORDERMOVE")
        #2 - BOTTOM
        pie.operator("screen.screen_full_area", text="Full Screen",icon='FULLSCREEN_ENTER')
        #8 - TOP
        pie.operator("view3d.viewnumpad", text="View Top", icon="TRIA_UP").type='TOP'
        #7 - TOP - LEFT
        pie.operator("view3D.object_as_camera", text="Set As Active Camera", icon="OUTLINER_DATA_CAMERA")
        #9 - TOP - RIGHT
        pie.operator("view3d.viewnumpad", text="View Camera", icon="OUTLINER_DATA_CAMERA").type='CAMERA'
        #1 - BOTTOM - LEFT
        pie.operator("view3d.viewnumpad", text="View Front", icon="TRIA_LEFT").type='LEFT'
        #3 - BOTTOM - RIGHT
        pie.operator("view3d.viewnumpad", text="View Right", icon="TRIA_RIGHT").type='RIGHT'

Pie View KeyConfig

km = wm.keyconfigs.addon.keymaps.new(name = '3D View Generic', space_type = 'VIEW_3D')
kmi = km.keymap_items.new('wm.call_menu_pie', 'SPACE', 'PRESS', shift=True)
kmi.properties.name = "pie.view"

Replace:

mesh = context.active_object.data

With:

if context.active_object :
    mesh = context.active_object.data

By Chebhou


How to install lsystem add-on? Apologies if this seems very basic, but I am really struggling with how to do this and am not sure where I am going wrong.
I have a found an L-System addon on Github (https://github.com/krljg/lsystem) that I am trying to use in Blender.
I have tried downloading the .zip file and saving within my Blender Installation: C:\Desktop\Blender Foundation\Blender 2.82\2.82\scripts\addons but I cannot find it when I install the file in User Preferences -> addons.
I have tried installing both the .zip folder and extracting it then installing the .init file but nothing shows up in the addons.
Is there something I am missing or doing wrong? Any suggestions would be greatly appreciated.

As stated in the readme.md, you would have to copy the lsystem folder to your add-on directory:

Copy lsystem directory over to F:\SteamLibrary\steamapps\common\Blender\2.80\scripts\addons or wherever your blender installation is.

Linux: $HOME/.config/blender/<version>/
OSX: /Library/Application Support/Blender/<version>/
Windows: %USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\<version>\

Link to the manual for reference: https://docs.blender.org/manual/en/latest/advanced/blender_directory_layout.html#blender-s-directory-layout


Using Cycles renderer the reflections look good in viewport but not in in the render, why is this happening? Im using Cycles renderer and there is no reflection when I render the image
I ve been searching for solutions but I couldnt find any,
Im using Blender 2.83
This is how it looks in the viewport

This is how it looks when I render it

This is the material

And these are the render settings

The issue is not the reflections, but the fact that they are blocked by something else. It looks like you have another object on top that is not visible in the 3d viewport but is renderable.
Those three big squares that are overlaid on the ground most likely belong to such object.
In the outliner search for objects that have been disabled for view (eye icon) but have the camera icon enabled. The camera icon determines if the object renders or not.


How to make a large mesh smaller and workable? I created a piece of wire in Cycles which uses an array modifier and curve modifier.
(the piece is e.g. 5cm and is used in my scene at several locations (e.g. a wire of 25meter distance, etc...).
I need the detail from the wire because I want to zoom in with the camera and fly over the scene.

When I work in Blender, the editing is slow but ok. Rendering however is very very slow It takes more than 10minutes to build BVH (or something like that..).
The modifiers to my model are already applied, so I can't undo this.

At the top of the Blender dialog I see:

v2.72 | Verts: 13.926.207 | Faces: 13.960.114 | Tris: 27.912.399 | Objects: 1/29

As a blender beginner, how can I make this blender file more 'workable' (lighter/faster/...)?
Now I need to wait 20 or 25 minutes to render 1 frame, which I think is not thàt complex.

Some ways to reduce interaction time. Consider Please

Work in wireframe mode when that is possible.  You need not work in render mode all the time.
Change maximum draw type for some objects to wireframe
Turn off Eye display of less important items for preview in outliner.  Camera Render Stays On.  Sometimes Groups can help this.
Bill board texture technique game style. A complex fence might be rendered once and then the texture put on blender planes. Crude and quick display substitute. Eye Display Only. Camera Render off.  Same location as the complex fence.
Working in local mode sometimes to isolate editing ... key / to enter and the same key to exit

Once a array modifier with repeat N on a meshA is applied and become meshFinal ...

the number of vertices of MeshFinal = N * (number of vertices of MeshA)

Once can reduce such vertices sometimes by using a Particle System with can produces meshes with a shared vertex datablock.   Configuration Settings .. Editing ... Duplicate Data ... Mesh may affect this.  The object size overhead is present in this case.