It is easier and more intuitive to paint a height-map, then convert it into a normal map:

There is GIMP normalmap plugin, Photoshop plugins like xNormal, apps like CrazyBump and a lot of others. These all can do the conversion. Also, it can be done through Blender Baking.

If you already have a normal map, and you need to add to it, you can combine normal maps with overlay blending operation - generally it is ok enough but note that it is not the correct operation - more on combining normal maps is here: Blending in detail.

You can also paint directly into normal maps:

you can erase with RGB[128,128,255] brush
you can average with ordinary Soften (smooth) brush
you can smudge with Smear brush
you can paint with a special texture brush:

create a brush height texture that you want to paint with
convert to normal map texture

paint with this texture in overlay mode. It will be like sculpting, but on a texture. The brush color must be white, spacing of strokes very low and strength of brush also low


How to achieve this look/unwrap (Swirl texture on tree)

I think you are almost there, just unwrap with the Follow Active Quads option (select all in Edit mode then reselect one of the faces to make this face active) and rotate the UV map in the UV Editor:


How to export/import color palette from Brush in Texture Paint tab - Blender 2.8 Beta

If you save your palette in a blend file, you can append that palette into a new file to work with. name it something so you can differentiate it from generic names if you want to keep from losing track, but the steps are pretty straight forward.
File>Append, then navigate to the source blend file, and once appended, choose it from the palette drop down menu.


Change length of motion track marker trails?

Open the movie editor.

In 2.7x it is in the Marker Display panel.

In 2.8 you can find the Clip Display dropdown on the top right. Length is at the bottom left.


Mark out the seam on the mesh in the 3D View window.
Open a UV/Image Editor window.
Make sure the whole mesh is selected in the 3D view (press A key a couple of times if necessary).
Then select Unwrap (or press U while mouse is over 3D View).

You should then see the unwrapped model in the UV/Image editor window.


How to connect two cylinders with a third one connecting the two?

If I understand you correctly, you are looking for a curve with a bevel object.

When you are in objectmode, i would recommend to start with a bezier curve. go to the curve properties and there you can give it "thinckness" with a so called bevel object(has to be also a curve object).

I assume that you need a circle for the cilindrical shape of the ray.

you can also change the diameter by adjusting the size of the bevel object.

for getting sharp angles in your curve you also have to change the handle type of the curves vertices to  vector (Shortcut: V).
therefore you have to be in editmode:

If you want to connect multiple objects together, select every object you want to join and then press CTRL+J.

BUT

It is not possible to "weld" multiple curves together, because a curve vertex can only connect to two curve segments.

The only way is, to convert the curves to meshes (ALT + C)
and then you are able to connect the parts via mesh modeling.


Blender Internal: How do I add motion blur?

Sampled motion blur is not available in Blender internal when the Full Sample option is enabled in Anti-Aliasing.

The solution is to turn off Full Sample.


Is it possible to paint an object inside with one texture and outside with another?

So, as your question is equivocal, you have 2 possible situations: Either you're talking about an object that is open and you need to give 2 different materials to each side of the same face OR you're talking about the intersection of an object with its boolean object.

Option 1: For an open mesh, use the Geometry > Backfacing node as you explain. Mix it in a Mix shader to separate 2 different shaders.

Option 2, if you're talking about the face that is the intersection between your tooth and the object you'll use as boolean, you need to give your boolean object the material you want to see, and make sure that your tooth has both its natural material + the same material as its boolean object. Here, both the cube and the tooth have the orange material:


Blender Principled BSDF shader missing, please help

You need to switch to Cycles rendering engine to be able to see/add Principled BSDF shader:


How to mix two baked normal maps on one mesh

You will need to select which UV map is used for which normal map. Go to the mapping panel in the texture tab for each normal map and make sure mapping is set to UV and the appropriate UV map is selected.

Also, when you create a UV map, every face from your object is on every map, so you will need to make sure that the face UVs are on an area of the Body UV map where the texture is transparent and vice versa. If you select all of the faces of your mesh in edit mode and look at each map you will notice that the UVs for the face and body are on each map. Simply select all of the islands for the face and scale them down until they fit on one of the transparent sections on the Body Normals image, and do the same to the Face Normals map but scale down the body island instead.

Also in your case you'll want to turn down the strength of the normals to .1-.2 or something as otherwise they make your mesh quite grey. Your lighting setup is also causing a few of the funny lines and dark/light spots. A single hemi lamp will give even lighting with minimal shadows so you can more clearly see what's going in with your maps.


Go into the Dope Sheet and select all your keyframes (A), then move them 20 frames (G20).

The Dope Sheet:


creating four symmetric holes from one along two axis

icosphere cut by a cyclinder

cylinder is mirrored along icosphere


blender viewport is rotating around an unknown point

To make the viewport rotate around the selected object go to User Preferences and check Rotate Around Selection:


Converting parent animation to keyframes

I don't know what complications there might be in your scene, but in a simple scene I just made this works:

If the child is sharing the same location, rotation and scale as the parent:
go to the start of the animation, select the child and press I to make a keyframe on whatever channels you want to transfer.
Go to the Graph Editor and select the Parent. All its keyframes are probably selected already (if not, press Alt A). Press Control C to copy the keyframes.
Select the child and you should see it in the Graph Editor because it has a single keyframe.  Press Control V.
Now you can go to the viewport and press Alt P, and unparent the child.

If there was an offset - a different rotation or location for example - of the child compared to the parent, you could make a note of the offset at the beginning of the animation and before deleting the parent and correct all the keyframes accordingly after doing the above.  For example, the child is on X -1 and the parent is on X 0.  The difference is minus one. Go the graph editor, select just the X location channel at the left, select all the keys of that channel, then press G, X, -1 to Grab/move the keys one unit down.


New blender update doesn't let me render in MP4

Windows does not understand a file without an extension at the end of the name.

In this case (an MP4) you need the name of your file to be name.mp4 for example.

To have blender assign an extension to the name automatically enable File Extensions


Mr Zak has the right answer. The outer edge loop of my vertex group is weighted and allows some hairs to be emitted.

One workaround is to duplicate the faces in the mesh, assign them to a new vertex group and use that for the particle system:


Add an edge in the center of where the curve should be with Ctrl + R

Transform this new edge toward the inside of the object (using normal transform orientation is useful here)

Bevel with Ctrl+B with clamp overlap (press C while using bevel) enabled.

See below:


Sound like a bug you should report. Remember to mention that it worked correctly in 2.79.


UV mapping , when colouring the outer corners of the canvas , other faces are affected which are not unwrapped

If you unwrap any part of a mesh, a uv map is created. In a UV map all vertices in a mesh needs to have a UV coordinate. Blender gives not yet unwrapped vertices the coordinate U=0.0, V=0.0 (bottom left corner).

Since all your corner faces share the same uv coordinate they will get effected in the same way.

You could use the Face Selection Masking for Painting and give the corner UVs enough space on the UV map to not get effected by the unwrapped faces. Another way would to give the corner faces a different material.


Check the Color Option under the Influence section of the Texture panel.


simulate interaction of fluids with different viscosity

Disclaimer : I'm afraid I've not done much beyond scripting meshes at this point. I did once play with particle emitters and some constraint stuff hence this suggestion but this is a bit of a hack and may cost you more time then save you any.

Based off of the video you could try the following :

Setup a plane or may be even a cube with the top face removed. Using a particle emitter you could fill this cube at various locations to 'add ink' as it were. The tricky thing is then to make the particles emitted in a single addition cling to one another but repulsive to any prior and/or successive addition. That is for a single emission you want those particles to group in some way, perhaps there is some sort of elastic constraint you could apply. Then for separate emissions you basically want each addition to repel one another slightly.

You may have to make all emissions adhere to the bin/plate though, this is most easily by just doing things in the vertical direction.


Where is the Sculpt Brush radius lock in 2.8?

Looks like this feature changed the name to be more intuitive: It's now on Options menu, the name is "Radius Unit" and can be modified to "View" and "Scene". You can see this options on the right/down corner of your picture.


Press A until everything is selected. If you have anything selected before pressing A you will have to press it twice, otherwise only once. (This will select the hidden objects as well so don't worry about them for now.)
Edit: As Mr. Zak pointed out in the comments section, it is unnecessary to select everything.

Press Alt-H to unhide everything.

You can also navigate to the Object menu at the bottom of the View3D window, select Show / Hide and select Show Hidden. This may be helpful if, like OP, you have issues with the Alt key combination. Practically everything in Blender has a button somewhere.


Rendering Colored Texture, but the result is a gray texture

You need to add some light to the scene: https://youtu.be/FdbnzfjoOJU ; your render is just a dark room right now.
If you specifically need the same image as in the viewport, you to go to View > Viewport Render Image


How do I remove these black pixels from my baked texture?

I think this is directly dependent of the texture size here.

There is no light under the cross, so there are blacks pixels to write on the texture. Here one pixel of the texture is a bit larger than the cross, so we can see these black pixels.

This can also appears when you're at the border of an uv island, if you don't activate the margin option in the baking panel, but it's not the case here.


It may be a bug or your selection is wrong. I would strongly suggest upgrading to the latest stable release, which is 2.82a at this time. To get a finer selection, try Z "Wireframe". You can also toggle "X-Ray" with Alt+Z, and you can hide / unhide faces / edges / vertices by selecting them and then hitting H and Alt+H.

My method:
Select the faces you want to extrude with "X-Ray" turned off. Turn "X-Ray" back on to see if any faces got selected by accident. You can also Ctrl+i to invert the face selection. H to hide them. This will leave you with only the face you want to extrude, and you will know for sure if any extras got selected.

One last thing:
You might have overlapping edges causing those extra faces to form on extrude. Before extruding, try F3 Merge by Distance and adjust the Merge Distance to something small that only overlapping vertices will be affected by.


Image not appearing in output folder when rendered

This is to be expected. Blender doesn't render the images to the output folder by default. This is only used when you press the render animation button.

One thing you can do to output your image, is to press F3 in the UV Image editor, and you'll get a promt to save the image. Sadly, it won't automatically save it to your output folder.

Another workaround, is to set the beginning and end frames to 1, and then press the render animation button. In that case, you'll get it rendered out to the folder you specified.


Yes, the Edge Split modifier does modify the geometry.

Edge Split works by actually splitting edges, i.e. making an edge two separate (overlapping) edges.  This is why your vertex count goes up after applying edge split, each vertex which is on an edge that got split is turned into two vertices.

Note how the vertex became three separate vertices after Edge Split.


EEVEE subsurface scattering (SSS) causes artifacts/banding

I discovered through more experimentation that subsurface value set to 1.0 is extremely high.  Values below 0.3 don't exhibit these artifacts.  Also:

moving the light further away from the object reduces artifacts even at sss=1
it's not necessary to turn on screen space reflection/refraction
SSS translucency does work.  I don't know why it wasn't working when I created those screenshots.  Maybe I just needed to reboot, or maybe I had some weird settings.


How to simulate static vs kinetic friction?

Numerically, static friction (and the transition between static and dynamic friction) is extremely difficult to model, because of the abrupt jump and the directional ambiguity at the threshold between moving and non-moving.
In general, most friction force models therefore actually set the force to zero around the point of zero velocity!
Keep in mind that the the Blender physics engine is not intended for scientific or engineering purposes. It is rather meant to be comparatively simple and fast.
Therefore, you may have to use creative fakery for the feeling of physical accuracy. Maybe simulate the objects (if necessary, separately), bake their trajectories to keyframe and tweak manually. Maybe you can also achieve more impressive results with softbody simulation instead of rigid body simulation.
Or use a dedicated multibody-simulation software (there are free packages out there, like https://projectchrono.org/), but those are way more complex than blender.


Can not import Blender animation into Unity

Unity uses Blender's FBX export functionality to throw your model over the wall to Unity.  The FBX file spec only allows for Meshes (and derivatives thereof, such as bones and bone weights), Animations of Meshes, Materials, and Textures, and Blender's FBX implementation is incomplete.  Right now, there is no way to export bezier animations directly.

You could, theoretically, export your animations by binding your animation to an armature, exporting the armature to Unity through FBX, and using a plugin like Bezier Mesh to render the curve and parenting it's controls to your imported mesh.  This is pure speculation on my part, though.


How can I move the objects in a single direction?

Press X Y or Z to constrain the transformation to a single axis.

You can also press ⇧ Shift X/Y/Z to constrain the transformation to two axes. For example, G+⇧ ShiftZ will constrain the transformation to the X/Y plane.


find the closest vertex to a point in space

I don't think that there is a single function for that, but you can use the mathutils.kdtree module to query closest points.

If you sort the vertices of your mesh into a kd-tree you can just call

co, index, dist = my_kd_tree.find(p)

co will contain the coordinates of the closest point, index its index and dist the distance between p and the closest point. See the module documentation for the complete example.

If you want to query many closest points, using the kd-tree will be much faster than iterating over all vertices.


How do I get transparency to work with the Principled BSDF shader?

The principled shader can be combined just like any other shader.
Adding a Transparent shader and using the alpha channel to control the mix will make the black sections of the Alpha become transparent.

Read also:
Add a transparent image on top of a material


What does "LOCKED_TRACK constraint reserved for Locked Track" mean?

I never used a Locked track constraint but using shape keys could be an alternative for animations without bones.

If you separate P the flaps and parent them to the plane Ctrl-P you could add two shape keys and animate them by keyframing the value:


Running code after a modal operator finished its job

One way to do this is to create a macro operator, with the transform operator being the first component, and a second custom operator for running your finalizing code, once the modal operator is finished.

Unfortunately the macro API is barely documented, so here is a minimum example script:

import bpy
from bpy.types import Operator, Macro

# Our finalizing operator, shall run after transform
class Finalize(Operator):
    bl_idname = "test.finalize"
    bl_label = "Finalize"

    def execute(self, context):
        print("DONE!")
        return {'FINISHED'}

# Macro operator to concatenate transform and our finalization
class Test(Macro):
    bl_idname = "TEST_OT_Test"
    bl_label = "Test"

# Note that we have to register classes first before populating
# the Macro operator
bpy.utils.register_class(Finalize)
bpy.utils.register_class(Test)

# The important bit: populate the macro operator with a sequence
# of existing other operators
Test.define("transform.translate")
Test.define("test.finalize")

You can run this script and then test it in the viewport via the spacebar menu.

One more note: if the transform operator is cancelled, so is the macro operator, i.e. in case of cancelling the second operator will never run. If that is necessary for some reason you could make a wrapper around the existing transform operator, which then implements own behavior in the cancel(self, context) function.


Go into the object properties and visibility (while Cycles is enabled as your renderer) and make sure the "Camera" checkbox is ticked. You can check all the other ones too, I guess.


Python Error: Cannot write a single file with animation format selected

Oops, I had Properties / Render / Output / File format set to h.264 instead of png


Most straightforward way I can think of to accomplish this:

Create a Shape Key on the car object and deform the front by hand in Edit Mode, using Proportional Editing and changing the falloff settings for a crumpled look for the front of the car. This Shape Key can be animated by hitting I while hovering over the 0.000-1.000 value to add a keyframe, and you can line it up on the Dope Sheet panel.

When the car reaches the man on the Dope Sheet timeline, the deformation Shape Key can go from 0.000 to 1.000 at the right moment. You can also "drive" this Shape Key with a bone or other object.


creating a video of gif of showing different viewpoints of an .obj file

There's no built-in way to export as a gif, but you can get most of the way there.  Simply animate or setup your camera angle, and save the render as a JPG (or some other lossy image format).  I'm guessing you want an OpenGL-esque simple render, so switch the render engine to Workbench (that'll remove the overlays automatically).  Once you have your images, you can use ezgif.com or some other application to convert your image sequence into an animated gif.


Texture works in one scene, doesnt work in another

I used that GIF that solved the problem:

https://gifyu.com/image/TPTA


Vertices of an object rotate on different axis


Load/import settings from one project to another?

When opening a file uncheck the Load UI option.


So you want to apply one material to bunch of objects?
1) Apply material to one object.
2) Select all the spheres.
3) Right click on the sphere that has material applied to it to make it active object (it will have yellow contour instead of orange).
4) Do ctrl + L and chose "Material" to link materials.
5) Voila, all spheres have that material.


Your texture you have here is a brush texture. You need to add a new material to the cube and the add the same texture to the material node tree, possibly recreating the settings you have here as a brush.


Inspect your model for duplicate vertices and zero area polygons and vertices which are near each other yet do not share a face.  Duplicate vertices are sometimes created by extrusion operations .  You may move  vertices to see if  duplicates are in the same location.  Alt-Clicks should select vertex sequences which can be moved and thus inspected.  Look at the model in wireframe mode and check the vertex count which is displayed at the top in blender.

If you have little time investment in the model consider starting from scratch.  Sometimes for simple models this is faster.

Has a UV Unwrap failed?


Is there an easy way to detect unused material slots in an object?

In the 3D Viewport, in Object Mode, with the object selected, pick Object > Clean Up > Remove Unused Material Slots.
This also works with multiple or all objects selected.


Codecs.

Prefaced with my usual “very difficult to diagnose from a distance.”

All codecs are not created equal, and are complex beasts when it comes to decoding. This is especially true for encoded files that could be subject to massive frame compression such as screen captures.

Best test is to render each source file long sequence into a  stills or AVI JPG format from within Blender prior to editing, and then edit the resultant output.

If this works, and if you are so inclined to learn about the dark alchemy of codecs, I could explain further if required.


Radial Symmetry in Editing a Single Object

I would do this using the Array modifier, which can replicate a radial mirror.

First, lets say I have some portion of my object that i want to revolve around the origin:

I then add an Array Modifier, and set the count to how many copies I want (in this case 6, in your case 8):

Then, add an empty to your scene. Remove the relative offset on your array modifier, and check the object offset button, and choose your empty at the origin:

Then, as you rotate your empty around the z axis, you will notice the array copies will rotate with it (make sure both the empty and the object are centered on the origin for this).

With 6 copies in total, I want each copy to be 360/6 = 60 degrees apart, so I will press R Z 60 to rotate my empty 60 degrees, giving me the following result:

Now, I can just edit one part of the hexagon, and the rest will be mirrored automatically:

I hope this helps!


how to add a driver to the z rotation local axis of an object?

Select your empty.
Open the properties panel in the 3D view N
Hover over the Z axis of the location field, RMB  > Add Single Driver.

Open the Graph Editor and switch it to Drivers.
Select the driver on the left panel, then press N to open the properties and start editing the driver.


Other than a very big change from 2.49 to 2.5, the interface and main functions of Blender have stayed the same for a long time.

The logic and workflow in which Blender operates seems to be very stable, and works perfectly across Operating Systems. It's worth noting tha it runs smoothly on a very wide variety of hardware. Modest or old computers will work just fine but it will make good use of the resources of a powerful computer.

As most programs, blender keeps improving with some eventual breakups and minor changes; but backwards compatibility in blender is superior to most software out there. It does not abandon its users to their own devices or makes the files incompatible to in order force users to use the newest version. Blender, being free/libre and open source, does not have to respond to a particular market share or stock holders... There is no planned obsolescence for monetary gain.

Big changes are made mostly to accommodate newer technologies or to make the program more versatile (and sometimes easier to use).

Blender does not force its users to monthly payments, nor does it have a "light" (crippled) version, an "intermediate", "pro" or creative suites for VIPs.  The same program can be used for a wide variety of purposes, from films and games, to 3D printing or Architectural rendering, or math or science visualizations.

So many people are using blender for all kinds of uses now, that commercial rendering engines are making ports to render blender projects. I can only see that kind of support growing, as blender is indeed getting wider recognition as a serious 3D tool. There are also some companies creating modified versions of blender for web content  creation, biology scientific modelling and easy game asset creation. There is a growing a number of render farm services and cloud computing companies that support Blender as well.

Something worth mentioning is that the Blender Foundation has kept every version of the software (dating to v1.0) available for download. So even if your file were to be outdated, you can always go to blender.org, download the version used to create the file and retrieve your information.

The path for Blender's future seems quite bright and the developers are very open about their intentions and their road map.

But foreseeing the future is beyond the scope of this site.

Will blender's technology outlast that of the blender in your kitchen? Probably not.

In the meantime if someone out there finds an add-on or a modifier to render the future in real-time please post it here.


This is a very easy thing to make in Blender.
Step one- Take a sphere and select the bottom half faces, then delete that part.
You can now scale the top half of the sphere on the Z axis to look slightly less spherical.
Step two- In Edit Mode select the bottom-most edges of the half-sphere and press E then Z to extrude it down on the Z axis, then type "-.1" to move the extruded part down just a bit, then press Enter/return
Step three- Before doing anything else, press Shift+R to repeat the action. This will extrude another part 0.1 down the Z axis off of the already extruded part. For reference, Shift+R is the hotkey you use in Blender to repeat the previous action.
Image of result for reference:

This should get the result you want.
EDIT If you want to unwrap a UV texture to your model, then you have to give the object a material, and add an image texture with the image you want to the color input of the material node.


Take a closer look at the syntax the command needs.

bpy.types.Object is just the general class.  In basic programming terms, bpy.types.Object is only a blueprint for what an object should be. You want the instance, or copy, of the class that refers specifically to 'Plane' .
In your case, this would be: bpy.types.Object(bpy.data.objects['Plane'])

Secondly, look again at the API for is_modified(). When it says (scene, settings) it doesn't mean those literal words.

scene refers to the actual class of your scene. You want bpy.data.scenes['Scene'] (or whatever name is shown in the outliner)
settings has two options already determined for you. In the API, it says "(enum in ['PREVIEW', 'RENDER'])," meaning either of those words is what goes in the settings place. PREVIEW checks the object's modifier settings for preview mode, and RENDER checks settings for render mode (what appears when you press SHIFT + Z)

So, to do it right:

import bpy
scene = bpy.data.scenes['Scene']
plane = bpy.data.objects['Plane']

Then:

bpy.types.Object(plane).is_modified(scene, 'PREVIEW')  OR
bpy.types.Object(plane).is_modified(scene, 'RENDER')


I avoid this problem by filling one value in the list which I call e.g. ('NONE','','Use this when theres nothing for the list') This way I can detect if the list should actually be drawn in the UI or used.


How can I make one surface follow the form of another?

I would recommend using a UV Texture, there is a tutorial here and the blender manual here.  If you want to bend an object around another, you will need to use the shrinkwrap modifier, although you will need a good about of vertices.  You can use a subdivision surface modifier set to simple to add more vertexes and then apply the shrinkwrap modifier to the object that you want to bend and set the Target to what you want it to bend around.

If you want them to only slightly bend and not be directly on the surface, you can use the cast modifier.  The process is the same, just with the other modifier.


Exporting Textures for .obj file for Element 3D

You need to bake your textures in order to use it inside Element 3D as diffuse, Normal and so.
Here is one tutorial

https://www.youtube.com/watch?v=ut-KYKbnj8A&t=434s

Good Luck
pixldgblog.com


How can I hide the colored plus signs on my texture?

I edited your scene so it is ready to paint over the UV grid texture to the new texture (called "stairs").
I basically added this extra texture for both materials and set the texture int the paint slot (left toolbar).


Mesh with shape key animation - ok in Blender, wrong in Unity

To fix the scaling issue, be sure you select your mesh in Object mode and check the scale transform. If it's not set to 1.0, apply your scale by pressing CtrlA and selecting Scale from the drop down menu that appears. If you're using an armature, make sure your mesh and armature have their scales applied before binding them together.

To fix the rotation issue, check that any rotation changes have also been applied, similarly to how you apply scaling changes. If you're exporting with FBX, change your Up and Forward directions in the FBX export screen to the correct directions for your mesh.


First of all select your triangular mesh faces then press ALT+J for shortcut of 'Tris to Quads'. it can help you to solve some of triangles, for rest of tricky areas you have to do it manually.


How to get absolute file path for linked texture image?

Not very nice, but it's working.

import os
import bpy

tex = bpy.data.images['WALL_1773.png']
# linked image from /project/assets/shaders/walls.blend

tex_path = tex.filepath
# '//../textures/walls/WALL_1773.png'

blend_dir_path = os.path.dirname(tex.library.filepath)
# '/project/assets/shaders'

full_path = blend_dir_path + tex_path[1:]
# '/project/assets/shaders/../textures/walls/WALL_1773.png'

norm_path = os.path.normpath(full_path)
# '/project/assets/textures/walls/WALL_1773.png'

Better code based on batFINGER's comment

import os
import bpy

tex = bpy.data.images['WALL_1773.png']
# linked image from /project/assets/shaders/walls.blend

full_path = bpy.path.abspath(tex.filepath, library=tex.library)
# '/project/assets/shaders/../textures/walls/WALL_1773.png'

norm_path = os.path.normpath(full_path)
# '/project/assets/textures/walls/WALL_1773.png'


You can subdivide the extrusion in a subsequent step using a loop cut.

Select the edges to extrude
Extrude with E
Press Space and type Loop Cut (or press Ctrl+R)
Select the extruded region and set your number of cuts. This setting can be found in the Tool Shelf or by pressing F6


Although I am not exactly sure, I see a square tile pattern behind the ground mesh object. I have never used this feature myself but it seems you have the transparent background feature on. To turn it off go into the properties panel and go to the output section where you choose what format you want to export in, you might have it set as a png, and as far as i know if you have it set as a png and (you'll have to double check if you try and fail as i might be missing a detail) underneath in the FILM section a transpartent option is activated you will make your background transparent or "truly invisible" to the camera. Hope that helps.


My imported blender building in unity has loads with missing walls!

The problem is probably that your normals are flipped the wrong way, Unity doesn't render normals that aren't facing a camera. In your blender file. In edit mode go to mesh Normals and it can flip and recalculate your object normals there. The face or faces have to be selected for the tool to work.
I hope that helps, others have had this problem too.


Update edges in UV map after editing mesh

The problem, I just found, was with the faces created by dissolving edges. Rather than create two new faces, it merged the entire strip into a single face.

Suggestion for others with the same problem: Enter face select mode to make sure that new faces exist where you would expect them to.


Why did you choose boolean instead of a simple join (select your different objects and ctrl J)?
I guess you have several solutions:

The easiest would be to remove the body mesh under the cloth, or, if you want to keep it, make it invisible with the Mask modifier: Select the part of your mesh that you want to hide and assign it a vertex group, give your object the Mask modifier, in the Vertex Group dropdown menu of the modifier, choose the vertex group you've just created, and, on the right of this dropdown menu click on the inverse arrow.

If you want to keep the body you can try the Mesh Deform modifier as explained in this video by Daniel Kreuter:

Parent your body with its clothes to your armature (if the clothes are another object, choose CtrlP > Armature Deform).

Delete all vertex groups from the clothes (select the vertices and on the right of the vertex groups list, down arrow menu and Remove From All Groups). Assign these vertices to a new vertex group.

Create a mesh that is fully closed and that will encompass your whole clothes, i.e. that will be your « cage ».

Select your cage, then shift select the armature and CtrlP > With Automatic Weight. Give the necessary corrections in Weight Paint mode.

Give your body a Mesh Deform modifier (put this modifier above any Subsurf modifier) and in the modifier choose the clothes vertex group. Choose the cage as the Object and click on Bind.


Blender Video & Audio out of horribly sync and missing my cuts

There were small errors, 4 in total, in the video. Places where the video and audio would freeze for ~10-15 seconds which threw off Blender's A/V syncing.

While editing the errors out in Blender I discovered that allowing it to slowly advance while rewinding and listening helped in isolating the bad spots. The audio/video would always resume playing from the same place, despite the advancing rewind point, until I reached the end of the corruption then play would advance normally.

I hope my explanation was clear. Be sure to check your videos for corrupt sections before editing. Good luck!


Unwrapping on a mesh created with an array giving unpredictable results

Should be straightforward.

Go into the UV workspace and choose the top orthographic view. Select the object a and then u and choose Project from view: Bounds

That's it. In case it is upside down then just rotate as required.


How do I rotate an object in an anti gravity simulation?

This was done in Version 2.77a and should work in 2.8+ .  (Blend file below)
There's very little to do to get this working in Blender...
.
First up, make sure the physics cache has enough frames set up to accommodate the action.
What makes this work is the 'natural' dislike' physics objects have for each other.  They don't like being together and even with the collision margin set to 0.002, they'll still want to move apart in a no-gravity situation.
So all you need to do is place two objects together and switch on the physics.
Details -
The (invisible) cube is a rigid body with physics set to 'Active'  and it's ' Animated' box ticked permanently.
It's not keyframed and left stationary.
The black (floating) object is also a rigid body and left stationary but still set to 'Active' and with it's physics keyframed to 'Animated' at frame 1. That's switched to 'Dynamic' at the frame the hand in the video is to touch it, or it is to be hit by another floating object.
When the collision isn't matched to a video'd object, normal physics should apply when they hit.  Both objects could be animated and switched to Dynamic at the collision point
The forces at play as shown above are from the physics engine only.  With the cube barely touching the floater, and 'Collision Margin' set to 0.002 (on them both) the repelling force between them isn't great and it gently drifts away.
How it drifts and the force behind it would depend on the angle and penetration of the cube.
The floater will want to slow down over time so the damping settings (physics) have to be set to zero.
Similarly the shape selection on both, 'Convex Hull' as against 'Mesh' will also make a difference.
'Passive' and 'Active' choices can also have a marked effect.
-==============-
If you have 3D objects in the workspace drifting and colliding, normal physics would take care the impact mechanations.
If on the other hand you want to control the angle and at what speed the 'victim' object takes off, the described example above would do that.  The visible colliding object wouldn't need physics.  It would be animated scenery only and would have no effect on those with physics properties.


blender volume material has opaque surface

I noticed that all of the cubes had faces that were in exactly the same place, so I moved every cube around until none of them were touching. This could also be done by selecting each cube, setting the pivot point to individual origins and then scaling down slightly.

After that, it rendered as expected.

Just avoid having the faces of a mesh that has a volumetric shader applied in the same place. Intersections of the objects are fine though.

One more thing that I found is that you had many cubes that had an identical cube in the same place, so just avoid doing that. My render had some darker clouds because of that.


Yes. You need to select all the objects you want to link in Object mode, selecting the 'target' object last. Where the target object is the object for which you want to link the material from. Then press Ctrl + L and this will bring up the linking menu. You then can select Materials and all object will link to the targets Material.


Vertices disappeared on some but not all Objects

I think you must try going to the object mode and select your 4 objects and press Ctrl +J to join them and try , If you can't use the at center option try snaping cursor on the 2 vertices and then merge them


How do I pack textures for sending off to a render farm

Go to File-Exernal Data-Pack All into blend.


It should not be relative with denoise, without your screenshot, it's hard to tell what's going on your setting.
But a common blur in preview is because the simple viewport option is set to auto:

Set it to 1-px and see if the problem resolved.

And you might want to start denoise your view port after certain sample (20?) instead of denoising from beginning (which result in a laggy viewport been denoise every sample):


Cycles: prevent part of texture from being illuminated (AO, no shine, etc)

Ok, so I actually did this before but forgot, and since I don't see this solution anywhere else (until mods come and point it out to me), here is the solution:
Specular.
Create an AO map where the baseline color is "50% gray" (HSV: 0,0,0.5) and the completely occluded areas are 100% black (HSV: 0,0,0). (I make all my grayscale maps "grayscale" color mode but am always disappointed by how little effect that has on file size.) Plug that into the Specular property of your Principled BSDF shader.
Before:

After:

In case that is too subtle...
Before:

After:


How to set up 2 different worlds nodes for render

I don't think you can have 2 world backgrounds that can be accessed separately by objects, however, you can "fake" it by mixing a Glossy Shader with your main Texture, and having an Environment Texture connected to the Glossy Shader (make sure to use environment texture and not image texture). Use the Reflection Texture Coordinate as an input vector for your image. Use a different Environment texture (mixed with the main texture) for each object you want different. In the image below, I have a different "background" for each of the cubes, and both are different than the HDRI world environment:


Manipulating UVs does not show in viewport with texture applied

Go in the Properties editor > Object Data > UV maps. You've created a second UV map and that's the one that is selected for rendering, so select the other one.


Path set to cyclic becomes twisted at the join?

I solved the problem. For some reason having the two end points that quite far away from each other created the artefact (although I'm not entirely sure why).


Rig deformation issue, possibly stuck on something?

do you use bone envelopes? if yes, then they might be overlapping, they seem sticking to the other ankle. you can set the envelope radius in the bones "deform" tab. if you are using vertexgroups additionally, see if thats causing the issue, by unchecking it. the left foot vertices might belong to a group called like the right ankles bone.


I can't get my texture to apply to my object. Blender 2.8

Your problem is your texture. When i used another texture it worked. Also when rendering an object be sure that you are in object mode.


How to move 2 edges in different ways (symmetry)? Blender 2.79

Found a solution:

Reset Mesh Scale, Rotation (Ctrl + A  in object mode)
Select Edges in Edit Mode, press on keyboard S, X  .
Scale edges by X-Axis.


Welcome to blender! :)
Its called "shader editor" since > Version 2.8
For a better start you can check out the Blender Manual (https://docs.blender.org/manual/en/latest/editors/shader_editor.html) and also the official Youtube Series Blender Fundamentals (https://www.youtube.com/watch?v=0zrd37k2tJM)


Examining the subject at hand, it appears a better way would be to use particle drops instead of a fluid system.

The resulting cone can be easily controled.

The movement can be setup convincingly.

Create an emitter object. Since we'll use the normal as emission, the concavity of this object will determine the outcoming angle.Add a subdivision surface modifier so that the normal direction won't appear stepped.
Create a density weight group, in case you want more water to be emitted from the center.
Add a particle system. Since particle don't have substeps in Blender, we need to increase the frame rate. I used 240 fps.
Enter the vertex group as density for the emitter.
Decrease the gravity value, since we have a faster frame rate. To make the emitter use the subdivision modifier, check Use Modifiers. I use about 15000 particles in a short burst from frame 1-80.
During that burst, I want the particles to have more speed around frame 40 and less at the end. Hence, I animate the Emission value for the normal. I also added some random offset to fight the missing substeps.
Create a cube and smooth subdive it (or use *to sphere). Use it as the particle object. Add some children to each particle. There should be lots of drops.
In the compositing add vector blur. As a material I mixed Glossy and Refractions BSDF.

Sorry, the file is not in the finished state. Have fun.


Flask crashes blender when ran in command line


Edit mode has a light grey overlay that affects colors.
You can disable it in the Overlay menu > Faces (uncheck)


Can I use an HDRI for reflections only, and not have its light affect the scene?

Sure, you need to go into the Properties panel > World > Ray Visibility, and deactivate Diffuse.


How to model this seat with curved edges/corners

Yes, itś really simple, all you have to do is shade it smooth, in other words, find ¨shade smooth¨ and click that. DO NOT just add more faces until it looks smooth, blender will likely crash as it did with me.


Is it for a still or animate character? Here is a way to do it for a still character, I hope someone will give you a solution if you need to animate your character:

Model your character.
Create a bezier curve that loosely wraps around the shape of the leg. Put the bezier origin point on its bottom vertex, check its direction so that it goes up.
Give your bezier a Shrinkwrap modifier with the leg as Target, enable the fourth displaying option of the modifier (Apply this and all preceding deformation modifiers...).
Create a cylinder, subdivide it horizontally and put it on the origin point of the bezier.
Give it an Array and a Curve modifier, enable the Merge option of the Array, and choose the bezier as the Object of the Curve modifier. Play with the parameters so that it follows the bezier correctly. Give also your cylinder a Subdivision Surface modifier.
Play with the Offset of the bezier Shrinkwrap modifier to tighten the pipe along the leg.


Unless you have changed your mouse settings, you use the middle mouse button to move in the 3D view, not LMB. Middle mouse to orbit, shift -> middle mouse to pan, and ctrl -> middle mouse to zoom.


In this other thread there is a possible explanation. I have the same problem and I'm trying to fix it. Apparently it's because blender does not support older GPU cards arquitecture.
no compatible gpus found for path tracing


Any way to recreate this procedurally and random?

It may be possible to extract the right information from Blender's own Voronoi texture, but you'd have to call it twice, and I'm not sure it would save any nodes. (Someone will correct me now...)
So this is a roll-your-own 1D Voronoi. That is to say, it is per-cell random, not full-space random. The method:

Divide X into unit cells
Seed a random 0-1 number for each cell using the cell's index (its minimum coordinate).
Consider the random number to be the offset of a feature-point F for that cell, from its minimum X.

Now, for any shading-point P, we know the location of F in its own cell, and the location of the feature-point F' in the previous cell. That's enough.
If we're to the right of F, then f(x) =  P.x - F.x . If we're to the left of F, f(x) = P.x - F'.x.
That all takes more plumbing than you might expect, and unhelpfully, in the illustration, I've called F P_this, and F' P_prev:

You may be able to trim it down..


There are duplicate vertices where these lines appear. For Multiresolution this is a problem. Afaik you will have to correct these spots by hand after removing the doubles.
You can see them more clearly in Editmode after pressing Apply Base.


What are the formulas to define the camera's view cone?

After a couple of quick experiments I determined that for a square camera the following coordinates (expressed in the camera's local coordinate system) would appear in the corners of the image:

x = y = sensor_width/lens /2
[±x, ±y, -1]

For a rectangular image, whichever dimension is larger becomes sensor_width/lens/2, and the smaller dimension is proportionally adjusted.

To define the half-planes in the camera's coordinate system, it's enough to calculate the cross products of the vectors pointing at the vertices of each edge, so

lr = [ x,-y,-1]
ur = [ x, y,-1]
ll = [-x,-y,-1]
ul = [-x, y,-1]
n1 = | lr × ll |
n2 = | ll × ul |
n3 = | ul × ur |
n4 = | ur × lr |

We normalize the vectors to length 1 so that we can use them in distance calculations later on.

When you want to determine if a particular coordinate c is in the camera's view cone convert it to camera local coordinates using

M = cam.matrix_world.inverted()
c2 = M c

Now that we have c2 (in the camera's coordinate system) we can compute the dot product between it and the various half-plane normals.

zi = ni ∙ c2

If all those zis are >=0 then the point is in the camera's view cone.  If the original coordinate is for an object, it's useful to incorporate a fudge factor like the radius of the object's bounding sphere (centered on the coordinate) and make sure that zi >= -fudge .

And this is the python class based on all that math:

class CameraCone:

    def __init__(self, matrix, sensor_width, lens, resolution_x, resolution_y):
        self.matrix = matrix.inverted()
        self.sensor_width = sensor_width
        self.lens = lens

        w = 0.5* sensor_width / lens
        if resolution_x> resolution_y:
            x = w
            y = w*resolution_y/resolution_x
        else:
            x = w*resolution_x/resolution_y
            y = w

        lr = Vector([x,-y,-1])
        ur = Vector([x,y,-1])
        ll = Vector([-x,-y,-1])
        ul = Vector([-x,y,-1])
        self.half_plane_normals = [
            lr.cross(ll).normalized(),
            ll.cross(ul).normalized(),
            ul.cross(ur).normalized(),
            ur.cross(lr).normalized()
        ]

    def from_camera(cam, scn):
        return CameraCone(cam.matrix_world, cam.data.sensor_width, cam.data.lens, scn.render.resolution_x, scn.render.resolution_y)

    def isVisible(self, loc, fudge=0):

        loc2 = self.matrix * loc

        for norm in self.half_plane_normals:
            z2 = loc2.dot(norm)
            if z2 < -fudge:
                return False

        return True


Can't stop effect of C shortcut in Grease Pencil's draw mode

This is not a bug. In draw mode C activates the circular guide. You can click on the guides icon to deactivate.


If I understand your question, it seems the Export Paper Model would do it fully automatically. Related Blender Artists thread.

This addon will export an SVG of the flattened model.

It works well for most shapes, you even get extra flaps for sticking. Note the outward surfaces will generally not overlap, if there is overlapping it is only the stick-lips.

This:

becomes this:


Blender Python select an object with the sequence of letters in a name

You could also use regular expressions which allow you flexible pattern matching:

import re
import bpy

pattern = re.compile("PREFIX.*POSTFIX") # edit this string

for ob in bpy.context.visible_objects:
    if ob.type != 'MESH':
        continue

    match = pattern.match(ob.name)
    if match == None:
        print("no match for %s"  % ob.name)
    else:
        print("matched %s" % match.group())
        ob.select = True


Python performance with Blender operators

Most operators cause implicit scene updates. It means that every object in the scene is checked and updated if necessary. If you add e.g. mesh primitives using bpy.ops.mesh.primitive_cube_add() in a loop, every iteration creates a new cube, starts a scene update and Blender iterates over all objects in the scene and updates objects if it has to.
If you start with 0 objects, there will be 1 in the first iteration and 1 object needs to be checked in the scene update. In the second iteration, there will be 2 objects and 2 be checked. The first object was checked in the first iteration already (thus, 3 object updates in total). In the third iteration, there will be 3 objects and 3 + 2 + 1 = 6 objects checked in total. In iteration 1000, there will be 1000 objects and 500,500 checks have been carried out. Here's the formula where n is the number of objects:
$\displaystyle \sum_{n=1}^n i = 1 + 2 + ... +  n = \frac {n (n + 1)} {2} $
As you see, the runtime isn't linear and could only be if there was only one update for every object after all have been added. You need to use the "low-level" API - RNA methods and attributes - instead of operators to achieve better runtimes. A scene update needs to be called manually like bpy.context.scene.update() with this approach.
Many, but not all operator calls can be somehow replaced by "low-level" code. You can duplicate objects very efficiently like:
import bpy
from mathutils import Vector

ob = bpy.context.object
obs = []
sce = bpy.context.scene

for i in range(-48, 48, 3):
    for j in range(-48, 48, 3):
        copy = ob.copy()
        copy.location += Vector((i, j, 0))
        copy.data = copy.data.copy() # also duplicate mesh, remove for linked duplicate
        obs.append(copy)

for ob in obs:
    sce.objects.link(ob)

sce.update() # don't place this in either of the above loops!

A good comparison between 4 different ways to do the same thing:

bpy.ops.anim.keyframe_insert_menu() - don't ever use this in a script, it is solely to show a menu for the user

bpy.ops.anim.keyframe_insert() - this is supposed to be used via the UI, not in script. Use operator calls only if there is no lower-level API!

Object.keyframe_insert() - RNA method that can be called on an object, better

The low-level way - add F-Curves and keyframe_points manually, fastest but you need to do alot yourself and consider several conditions (like object not having animation_data or an animation_data.action)

Related (also examples included):

Python slowing down over time


That menu shows up in Edit mode, and only when the mesh is already UV unwrapped.

(Click on the images to get a larger view)
Object mode:

Edit mode, not yet unwrapped:

Edit mode, unwrapped:

To unwrap, make sure you're in Edit mode, then hit U or click Mesh > UV Unwrap and select a suitable option from the menu that shows up.


How do you select the pivot of the edit camera?

The 'viewport' pivot point can be positioned easily be simply hitting . on the numberic keypad. To set the pivot to the vertex of a mesh simply enter Edit mode (Tab), select the vertex (right-click it) and hit . on the numeric keypad.

Another useful shortcut is Alt+Home to set the view pivot point to the current location of the 3D Cursor.


Making an object disappear after a few seconds with Python (BGE)

Think event driven!
WHEN happens WHAT?
WHEN

after a few seconds

'After' is relative ... checking your details ...

appear when triggered, linger for a couple of seconds, and then disappear

So I guess you mean:
A few seconds after triggered
Solution
when you know the "triggered" event, you can start a timer, counter, whatever that triggers an event after the desired seconds.
Example: Timer Property
Property: "time", type "Timer" (A timer property constantly increases it's value with each frame with the [configured] duration of the frame.)

When your trigger event happens you set the property to the number of seconds to wait and multiply it with -1 e.g. -3 for 3 seconds.

A property sensor can evaluate when the property "time" is greater than zero. That is the event you are looking for.

WHAT
whatever you want
Remarks

Timer properties are always float (avoid "equal" compare)
Lags will not be measured by timer properties
Timer properties always count upwards
Timer properties count always (it will not stop)
You can explicitly assign new values to timer properties (e.g. for reset)


What is the plugin that allows you to have a circular GUI for selection?

The plugin I was thinking of is Pie Menus, thanks to @batFinger for the answer.


Error when I try to check off POV-Ray 3.7 in Add-ons

Download the Blender program again when some library is missing (here df3)


Manipulating .blend file text blocks with blendfile.py (CRUD)

I did it in 2.79.

The bad is it seems there is no documentation for this module and we don't know where to go. And of course I don't know if it is the better way to do it.

But, once you have the TextLine block:

Get the length property.

Get the pointer to the block which corresponds to the line content, it is a block too.

Seek the file to the file offset of this last block.

Get the value using DNA_IO.

from io_blend_utils.blend import blendfile

def get_id_name(block):
    name = block[b'id', b'name'].decode()
    return name[2:]

filepath = "/home/batfinger/Desktop/test.blend"

bf = blendfile.open_blend(filepath)
texts = bf.find_blocks_from_code(b'TX')
for t in texts:
    i = s = bf.blocks.index(t) + 1
    print(get_id_name(t))
    while bf.blocks[i].dna_type_name == 'TextLine':

        # Get the block
        block = bf.blocks[i]
        # Get the length
        length = block[b'len']
        # Get the line data pointer (a block)
        line = block.get_pointer( b'line')

        # Search for the line block position
        bf.handle.seek( line.file_offset, 0 )

        # Get the value
        line_content = blendfile.DNA_IO.read_string( bf.handle, length )

        print( i - s )
        print( bf.blocks[i][b'len'] )
        print( line_content )

        #print( bf.blocks[i].user_data )
        #print(f"line {i - s} chars {bf.blocks[i][b'len']}")
        i += 1

bf.close()


Problem with bridge connecting to edges of face instead of round extruded part

You have 3 problems:

Overlapping vertices on the bottom and top of the cup handle, so select all and press AltM to merge:

Inner face on the top of the cup handle, it makes the bridge bad, so first delete this face loop:

Then delete this face:

Now bridge the top and bottom of the handle with the cup, use CtrlE > Bridge Edge Loops instead of LoopTools to have a good result right away.

The result is not good, it's because the normals of the handle are flipped as you see if you enable the Face Orientation option, so select the handle and press AltN to recalculate:


Can I permanently add add a method to the driver namespace?

Put this code into a Python file and place it into ~/.config/blender/2.78/scrips/startup/my_driver_stuff.py (replace ~/config/blender with %APPDATA%/Blender Foundation/Blender on Windows, and something along those lines on MacOS).

import bpy

@bpy.app.handlers.persistent
def setup_driver(*args):
    bpy.app.driver_namespace["x"] = x
bpy.app.handlers.load_post.append(setup_driver)
setup_driver()


Initial velocity
An object's location and rotation can either be animated by hand or by rigid body simulation. Both things are not possible at the same time for logical reasons. Rigid bodies have the Animated option to switch which animation mechanism is used at any point in the timeline. We can use this to control the initial velocity.

Rigid Body Settings
Set the planet to passive type, the asteroid to active and give it an initial velocity using keyframes and the Animated option, as explained in the link.

Gravity
Depending on how big your scene is compared to the planet, the direction and strength of the gravity force can be regarded constant or not. If the asteroid is only seen from the ground's perspective, it is usually sufficient to use a constant field.

Constant field
Using the default settings for gravity in Scene panel is sufficient for this approach.

Variable field
Deactivate the gravity in Scene panel and add a force field of Point shape on the planet, or in a seperate force field object. Check the Gravitation setting for more realistic force magnitudes.


Why is rigged car's XYZ location different from its physical XYZ?

It's because your model and/or your Armature hasn't "applied" their scale. It's always a good practice, at the end of the modelling stage, to apply rotation and scale to every object, so that rotation results in 0,0,0 and scale 1,1,1.

To do it, select an object and press Ctrl+A, then choose rotation and scale.

After you correctly applied rot and scale to both mesh and armature, you can establish their armature parentship, and you will have correct measurements.


Shortcut for Cursor to Selection not working in Object Mode

An existing shortcut called Select Hierarchy at the Object Mode (Global) level was taking precedence over any key bindings I was setting at the 3D View (Global) level (and other levels/sections I had tried).
I resolved this by reassigning the Select Hierarchy shortcuts to other modifier keys:


1) If you first apply the rotation to mesh-plane and converts into a curve then generally this problem happens.
So, if you only need a rectangular curve object, then the best way to ADD a curve-circle > EDIT mode > Press V > set handle type to 'Vector', you have rectangular curve object.

Now the twist problem:-

2) For circular curve or curve having smooth bends: Go to Curve properties panel, then change the 'twisting' option from 'minimum' (which is default) to 'tangent' and for a curve having smooth bends, also adjust the 'smooth' option accordingly. (Note- Spline Type should be 'bezier')

When the 'twisting' is set to 'minimum' :

When the 'twisting' is set to 'tangent' :

3) For rectangular curve :

(a) Rectangular curve from curve-circle: ADD a curve-circle > EDIT mode > Press V, set handle type to 'Vector' > then again Press V set handle type to 'Free', then go to Curve properties panel, then set 'twisting' option to 'minimum' and 'smooth' to 50 (adjust accordingly). In this way you have a twist free curve even if you move curve-points in the edit-mode and movement of curve-points only shift the overall tilt of the curve. (Note- Spline Type should be 'bezier')

(b) Rectangular curve from mesh-plane: If you convert mesh-plane to curve object and it has Spline-Type 'poly', therefore twisting option does not work properly. So, go to Edit Mode > Tools > Curve Tools > Set Spline Type to 'Bezier' > Press V, set handle type to 'Vector' > then again Press V set handle type to 'Free'. Then go to Curve properties panel, then set 'twisting' option to 'minimum' and 'smooth' to 50 (adjust accordingly). (Note- Spline Type should be 'bezier')


As to the first question: I think toggling the "restrict rendering" button using keyframes should allow you to make the object appear seemingly from nowhere.  The object is there in all frames, but it is not rendered until the frame where you turn rendering on.

I am assuming you know how to insert keyframes (hover over the control on the frame you want, set to the value you want, and type "I")


Why vertices are changing their position during Weight Paint Mode?

Via weight painting, you increase or decrease influence of the bones on vertices. That's why they change position. If f.ex. some bone influences a vertice with strength of 0 nothing happens, but when you give this vertice weight of 1 it starts to be influenced by this bone with strength of 1 and it's moving closer to it. This is normal and expected behaviour. Although your example looks weird.Could you provide the .blend?


Why my splines are moving all together when only one is selected?

I found a solution by myself. The problem was the "Origin to 3D Cursor".

All my splines origin were on the 3D cursor so it seems Blender tought all of them were the same object...is that possible?

Anyway I solved switching to "Origin to Center of Mass" with CtrlShiftAltC. That solved my problem.


There are different ways to accomplish your goal, depending on your specific needs.

Viewport Render

The viewport can be rendered through View > Viewport Render Image.

Screenshot of the active area

A screenshot of the active area can be created using the following steps:

Hide the gizmos

Open the operator search F3 and search for Save Screenshot.
Run the Save Screenshot operator (bpy.ops.screen.screenshot()).
Uncheck the Full Screen property (this will only include the active area) and save the image.

Fullscreen mode & third-party software

The following steps enabled the fullscreen mode and allow you to take a screenshot with a third-party tool:

Hide the gizmos

Switch to fullscreen mode through View > Area > Toggles Fullscreen Area (Ctrl+Alt+Space).
Use a third-party tool to create the screenshot
In order to leave the fullscreen mode move the mouse cursor to the upper right corner and click on the icon . Alternatively you can also press the shortcut again Ctrl+Alt+Space


Knurled pattern on different types of surfaces

You could make an inverted pattern that's gonna boolean cut the surface you are going to use.
Then after using it as boolean cut over the surface you want to get that pattern on.

Keep in mind that the pattern you are going to use to cut out the pattern on the object needs to be the inverted version of the pattern. Holes in the object are standing cylinders on your pattern cut-object.

On curved surfaces you could use array and curve modifiers to use the boolean over the surface like so:
The boolean modifier should be applied to the object that's going to have the end result of the pattern. And the operation should be "difference".
This method works for all surfaces you would like to use.


Color beveled nurbs path according to the x-y-direction in the final camera view

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

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

Back to your question:

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


In an ideal situation you would use both actually.
The Fresnel node will simulate the real physical property of many surfaces that causes more light reflection grazing angles. Think looking through a glass pane perpendicularly (transparent, see through) or sideways (you will see more reflection).

The specular map will deal with differences of reflectivity along the surface of the material due to uneven or varying surface properties (more polished areas versus more rough surfaces)

To achieve to most realistic results your could mix both with a Color Mix node and tweat blending values to the desired result

Edit: Here are two examples, either add the texture to the roughness input of a glossy shader

Or add the image texture to the mix value of a shader mix node.

Or both, and if desired you can additionally use it for bump mapping if necessary


Prevent movement of hands on push up animation

Here's the simplest version of an arm rig:

upper arm, lower arm and hand are one connected chain
upper arm is parented to body with offset
hand has a Copy Rotation Constraint to hand target. Both bones have the same rotation. Using hand instead of hand target prevents the hand from getting torn apart when you accidentally move hand target too far away.
lower arm has an IK constraint to hand target, chain length 2. That means blender will rotate lower arm and upper arm to somehow reach hand target.
upper arm, lower arm and hand are deforming the character mesh while hand target is exclusively for animation.

If you want to animate the arm, move hand target. If you want to do pushups, move body. The arm takes care of itself.

Such rigs can become much more complex, and be it just to have control over the elbow. But the principle is usually similar.


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

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

Procedure (tested on Blender 2.79)

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

Set the top gears a guides as collision objects.

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

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

A blend file for this is available at


smooth brush is destroying my model,what is happening?

I found out how to fix it, the sculpting that is, gods knows what happened to the legs, as it happens the model is unable to sculpt because it has a to low number of polygons, which as it happens when you smooth it, it will try to smooth all the polygons together like normal, but the problem is, that the polygons are so big that when blender tries to smooth them, it just ends up smoothing very aggressively, and so the model is eaten, in other words, the bigger the polygon, the more aggressive the smoothing will be.

so to fix this I pressed TAB, while in sculpting mode, and added in the add section "subdivide", which made the model have a lot more polygons, which made most of the mesh more intricate, and the polygons much smaller, which made them possible to work with.

then all you need to do is to use the clay brush, and sculpt normally, putting clay on the model, and smoothing it later, which since the polygons are much smaller, the smoothing will be much more gentle.

it should also be noted that I am using a sculpting addon for blender, so I don't know if the subdivide option is there in the vanilla one, so I am linking the addon just in case.

https://github.com/MadMinstrel/blender-sculpt-tools

new dinosaur :3 https://imgur.com/a/QRWRr


PBR, Viewport more quality than openGL render

Nevermind yall, i discovered it on my own

turns out that if you check the option for color management it produces the same effect to the viewport as it does to the openGL render. so the editing gets easier now


What's the difference between alpha over and add?

The alpha over node chooses between two colour values, the mixRGB node mixes two colours together.

The Fac value is a scale between the two output options, 0.0 being 100% input one and 1.0 being 100% of the calculated output value.

The output of the alpha over node will be between the two input values, while the output of the mixRGB node will be between the first input and the combination of the two inputs. The different blend types in the mixRGB node choose how the two inputs are combined.

So if you had one input with 0.2 red and a second with 0.4 red, then the alpha over node will output a red between 0.2 and 0.4 - the two different input values - while a mixRGB set to add will output a value between 0.2 and 0.6 - 0.6 being the two red values added together.

The math node is meant to be used with single numeric values, like the Fac input. If you do use a math node with colour inputs, the input value will be calculated as the average of the three colour channels. So if the input colour was R:0.1 G:0.0 B:0.0 the input value used in its calculation would be 0.333. If you connect a math output node to a colour input, you will get the same result value for each channel. Similar to the mixRGB node, the operation chosen will decide how the output value is calculated.

Notice the colour of each socket on a node, while most will attempt to work with each other, you should connect matching socket types.


Texture Painting - object is pink like it has no texture

For the texture in question make sure that
RGB to Intensity is [not] checked.

Good Setting.

Potentially Painful.

You might just delete your current textures and create fresh ones if you suspect errors have been introduced unintentionally.


Infinite Animation Loop for one thing while I animate other things?

In the graph view, add a cyclic modifier. That will repeat the animation indefinitely regardless of how many frames are in your final animation.


Enable „collision“ for the soft bodies.
Your second picture in your question shows it. You will find it under the physics tab.


How to setting nodes for making a shop sign (lighting)

Cycles works with shaders that describe the interaction with light.

BSDF shaders
Describe light reflection, refraction and absorption at an object surface.

For more info read: What is a BSDF? and https://docs.blender.org/manual/en/dev/render/cycles/materials/surface.html#bsdf-parameters

A Diffuse BSDF shader does not emit light.

You need a shader that does! So use an

Emission shader

Used to describe light emission at an object surface or in a volume.

More info: https://docs.blender.org/manual/en/dev/render/cycles/nodes/introduction.html?highlight=shader


How can I use hair dynamics with instanced geometry and have it deform like hair?

To instance geometry onto hair particles and have them use hair dynamics I created the geometry.

Then I added a plane with a hair particle system using dynamics.

On the geometry to be instanced using the hair I added a Particle Instance modifier and selected the plane containing the particle system as a target as the target.

The orientation of the mesh was not what I expected so I activated the create along paths option in the particle instance modifier. Orientation was still off.

I edited instanced geometry and changed its orientation by rotating it on the X axis 90 degrees, and presto!

Adding a turbulence force field with a high strength (23) that deformed the hair and the instanced geometry along with it.

Here is the blend file to dissect. Blend File


How do I make the ends of a pole less square?

To make subdivided edges look as expected make the corner loops follow the curvature of the desired shape (i.e. circle).

In this case, dissolve quad face in the middle (select edges, press X > Dissolve Edges), inset resulting Ngon twice (press I with face selected), select inner edge loop and merge it at center (Alt+M > At Center).

Note that you might want to dissolve also 4 edges in the resulting cap to get rid of tris.


I had this error on and off for a while.
I think it has to do with leaving objects in edit mode. Especially if you have more than one object still in edit mode. If you make all the objects in the scene visible and make sure none of them are in edit mode, it seems to fix it.
You may have to save out to a different file name as well.


here is one way to do it manually
first make sure the two unconnected meshes are close to each other

Select an edge loop from the first and second mesh where they should be connected

use the remove doubles operator and try different values of merge distance, make sure unselected option is unchecked


If I make one object with 2 hair particle systems, can I make each particle system on a different layer? If so, how? (blender 2.83)

never mind, figured it out.
I didn't see the field weights section in the particle settings, that fixed it.


To begin with, are you sure that the rig itself is a problem? I mean what if you delete everything except the armature(s)? Will it remain being hard for FPS of your scene. I've made & seen different rigs, including very complex, but I've never seen FPS going down because of Armature constraints/drivers/whatever. But OK, if the rig is the problem, I'd start with these suggestions:

cyclic dependencies: bone/object/property A somehow depends on bone/object/property B while bone/object/property B somehow depends
on bone/object/property A (constraints, drivers, parent-child
relationships - and take hierarchy into account, because it's often
quite not obvious, that 10th child of bone A depends on 12th child of
bone B & vice cersa); you can check if there any cyclic dependencies
in your file by toggling the command line, it will be shown there
along with some other helpful info: errors, missing paths, lost
drivers and so on;

action constraints: I've noticed that among all the constraints Action constraints are the hardest ones - especially when there are
100+ of them (I had even much more when made the rig with large
amount of facial emotions);

drivers with complex logic: large expressions with many variables and
modifiers can potentially slow down FPS;

driven shape keys: if you use shape keys with drivers on them, it can
really slow down the scene, I had mesh with 50+ driven shape keys and
it had been freezing my FPS like hell, and when I tried to delete
them all, FPS increased from 5 to 30;

other complex modifiers: OK, let's say there's no more Armature
modifiers and our mesh is no longer connected to its rig (well, at
least - it's no longer obviously connected); but what about other
modifiers? Lattice, Mesh Deform, Laplacian Deform and other deformers
like that can catastrophically reduce your FPS.

So, there's no scripted way to find the bottleneck of Mesh-Rig relationships, and I just tried to mention some of the approaches I use in my work.


How to use a texture in real world scale?

There are multiple choices of texture spaces you can use in Blender.

If you decided to use Object space instead of the UV space, you would have some control over it in the Object Data Properties panel in the Properties Editor:

However with UVs typical thing to do to control the scale of the texture would be to use a Vector Mapping node in the material as you see in the example or to scale the UVs themselves. UV space can and often must be warped and shaped in many ways that are impossible to match to the actual scale of the object so if you want a UV mapped texture or parts of it to match the real size you have to make sure that happens yourself.

You could make yourself a plane of the same size you have the texture, place the texture on it and then match the scale of it on the object visually or you could project the UVs in a specific way so you know that what you project is some specific length compared to your texture and maintain the ratio by scaling the UVs by that ratio... there are probably hundreds different situations and hundreds of ways of doing this so you just have to come up with one that suits your situation best.


I'd suggest to use an expression or script node for that. Although an expression should be all you need. Only in case you need to do this in multiple places you should use a script node maybe.

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

# long version (for script node maybe)
result = []
for sublist in a:
    result.extend(sublist)

# shorter version (single expression, can be used in the Expression node)
import itertools
result = list(itertools.chain.from_iterable(a))

# you can also use a nested list comprehension
result = [vector for vector in sublist for sublist in a]

To use itertools in the expression node you need to write that into the advanced node settings:


Cycles Node Editor: Double Diffuse problem

I think you are going about what you are trying to accomplish the wrong way.  The way multiple different materials are usually combined is by using a mask.  A mask is basically a black and white map where black areas correspond to one material and white areas correspond to another material.

To set this up in the node editor just use a mix shader and plug the mask into the fac input.  This will make lighter areas of the mask give the output shader more of the second input and darker areas give more of the first input.

Note: make sure you set the image texture node for the mask to non-color data.

Here is a rendered visualization of just the mask plugged into a diffuse shader across a piece of randomly generated terrain:

And here is a render with the same mask only in the above node setup:

So for your case you will have to now go and create a mask which defines where each material should be.  To combine more than 2 materials just create multiple masks and use multiple mix shaders in succession.


I just did an experiment:

Created a 2 meter cube in Sketchup Make 2017.

Exported as a.dae file.

Imported to Blender.

After Applying the scale in Object mode the dimensions were correct.

I have no idea why the imported cube was scaled to 0.025 but maybe something similar is happening with your imports.

If the scale is not 1.0 in the X, Y and or Z then try applying Scale.

In Object mode: with object selected, Ctrl + A  to open Apply menu.

If you do some maths on the edge lengths of 78.74 shown in edit mode of the "2x2x2m cube" (before applying Scale) (see second image in previous post) you will notice:

78.74 / 2 = 39.37   (Divide by 2 to find length for 1 meter)

39.37 x 0.025 = 0.98125    ( multiplied by 0.025 because that is the scale showing in Object mode.  See the first image in my previous post. This is very close to 1 meter.

The Scale of 0.025 reminded me of the number you get when converting inches to metric. 1 inch = 0.0254 meters.

I know almost nothing about collada files but do know you can open them in a text editor and have a look inside.

This is what the first few lines of the 2 meter cube exported from Sketchup look like.

And this is the first few lines of the collada.dae file of a 2 meter cube created and exported from Blender as a Collada.dae file:

Perhaps you need to find some setting in the Sketchup exporter setup to correct this?

Or maybe you could try editing the unit line in the Collada file so that it reads the same as the the Collada file exported from Blender.

No I am not a sketchup user, I just had it on my computer because a a while ago i wanted to see how it works.

I noticed that in the Blender Collada Import menu there is an Inport Units option.


Change the number of bones in Limit Weights, in 2.7+

It is in the UI (you need UI glasses ) in the operator properties panel:


There are multiple options of doing what you are asking for.

First option (I'd recommend this one):

You can do this by adding a mapping node and the tweak the Scale values.
The UV texture coordinate is just an example. You can use any input you want, the scaling value will apply for all.

Second option:

When you unwrap an object you can go to the UV/image editor.
Select all faces you want to have a bigger/smaller tiling size and press 'S' to scale the UV's to your liking.


Camera animated using Follow Path contraint wanders then Jumps back to path near end of animation

I was able to fix the problem. At first I thought that it was to do with the rotation applied to the camera. So I rigged the camera and used a null(empty) to rotate it. This did not fix it.

It was actually rather simple.

I had to increase the resolution of the active spline, 192 worked well for me.

I hope this helps anyone who ever has the same problem I did.

If you know of a different/better way of fixing said issue, by all means let me know.


You can use "Is reflection ray" output from "Light path" node and plug it into the alpha input of the "Principled shader".
This will work for both Eevee and Cycles. For Eevee you need to set "Blend mode" to alpha hashed in the material setting.

For the one that reflects in the mirror but is not visible outside of it:

For the one that is visible only outside of the mirror:

For Eevee, set both objects to alpha hashed in the material settings:


how to bring up the menu at the bottom left

The Adjust Last Operation panel can be re-opened by pressing F9 or by using the menu Edit > Adjust Last Operation.


How to make Feathers for a Gladiator Helmet with Particle Hair?

I would use a separate mesh for the emission of the hair particles. This allows for more flexibility and ease of customizing the hair later.

Add something like this on top of the helmet to act as the hair emitter:

You might want to separate part of the helmet mesh to ensure that there are no gaps between the emitter mesh and the actual helmet object. You might even want to put the emitter a little bit inside the helmet, just to be extra safe.
Add a particle system and change the type to hair (1). Also disable emitter so that the emitter object doesn't appear in the render (2), and enable child particles (3).  I used interpolated child particles, but this depends a bit on what you want to do.
Note that Simple child particles can result in floating hairs if you are not careful, especially on curved surfaces.

Note that I also tweaked the child particle settings to add a bit of randomness, so that the hairs are not all perfectly straight.
Add a material to the emitter. I used a simple translucent material:

Back in the particle settings of the emitter object, tweak the thickness and scale of the hairs as desired. You'll have to play with these settings a bit to get a feel for how they affect the render, but it should be pretty intuitive for the most part (e.g. thicker hairs will make it so less light can get through, making the hair appear more dense/dark in the render)

I went with a more uniform hair thickness, only tapering the thickness a little bit towards the ends of the hairs:

Example .blend


Does an array modifier need to be applied after modelling the character?

Yes, Mahesh, you have to apply the array modifier. An array modifier creates illusions of the object that are visible in the Blender viewport, but do not really exist. Since they don't exist, when you go to export them from Blender to the game engine, they will not be exported. In order for them to be exported, they must be applied, which creates the "illusions" into "real" geometry.


I've been told that some Mac users have been having this problem... maybe because of graphics card...
Try downloading the latest version of Blender and also disabling the Continuous Grab option @ User Preferences > Input tab.


To select each component:

Floor - select a face on the floor and hit Shift+G --> coplanar
Top - same as floor (just select a top face)
Walls - select any face from the top and any from the floor, select coplanar again, then invert the selection with Ctrl+I. Alternatively, select any two wall faces with different normals and select similar normals with Shift+G

To unwrap the floor and top, I'd suggest going into a top-down view and using project from view. Then scale up the UV's to be a reasonable size for a tiled texture.

For the walls, select and hide the top and floor components, then use L to select a section and unwrap with follow active quads (must make one face active in the selected group first). You'd need to do this for every island. This will give the benefit that the texture wraps cleanly around corners.

If you are fine without this benefit, select a wall face going in one direction, then do Shift+G --> normals, then unwrap with Project from View after setting your view appropriately. Finally, deselect everything and do the same to the wall faces going in the other direction.

Here is an example maze with concrete and dirt textures split with walls and floor by this method:

Another option is to use UltiMaze (disclaimer - I am the developer) and use tiled objects that are already textured. You can download the add-on for free here, purchase or read the documentation here, or discuss the add-on here. If you don't want to bother yourself with going to GitHub, use this direct link to download the master zip that you can install.

These "mazes", e.g., were generated using this technique:


Deforming a modified Mesh to Match a sculpted Mesh with an extra Subdivision applied

Shrink Wrap Modifier

Hi Blazer, sounds like you have a good workflow going for your project, and it sounds like you're currently looking for the shrink wrap modifier. You can add the shrink wrap modifier to the lower res object, and then in the target field, add the name of the multires object. Before you add the shrinkwrap modifier, you may also want to put both objects in the same xyz space on different layers, and enable the xray option on the lower res object. In a sculpting/retopology/baking workflow, the shrinkwrap modifier is great tool.


You need to make sure that you have enough geometry, i.e. 4 squares, then you make a 8 vertices circle (ShiftAltS to transform to sphere) that you can extrude.


Part of my object disappears In camera view

You need to increase your camera's clipping end value:


How do I add an appended object as part of a shapekey?

Select the shield and afterwards the skull, and press ctrl + j. This joins the meshes together and creates a new object and should fix your issue, unless I understood it wrongly.


If your basically going to have the cart as the player's body, then parent the camera to the cart.

In this example, I'm using a pretty blue cube, and not a cart.

This is actually rather simple - you want the camera to be able to look around, and then drive the cube/player/cart in the direction the camera is facing, and have the camera follow? easy. I'm assuming your using the mouse look actuator on the camera.

If you are, delete or disable it for now, because there is a better way. While this works for the camera, it only works in terms of a spectator, free floating camera. This will make more sense if you think of it in terms of a battleship gun. On a battleship turret, the base rotates from left to right, and the barrel, mounted in the base, rotates up and down. Although the barrel can point in all directions, the base remains even. We want a setup similar to this. On the player/physics cube/ cart, put a mouselook actuator which only allows motion right to left.

Why is the Y disabled? In 2D terms, the X axis is left to right, and the Y axis is top to bottom. By disabling the Y, we are only allowing the mosuelook actuator to respond to mouse movement from left to right.

Now, if we push play, we should be able to move the mouse and rotate the camera from side to side.

Now, we can put the same logic setup on the camera, but this time, the mouse look actuator will only respond to mouse motion on the Y axis.

Now, we can put the WASD logic on the physic cube/player/cart/whatever, and it will move forward along the ground in the direction the camera is facing - not into the ground when looking down, or up into the sky when looking up.

Now, for new BGE users, I think it is sometimes helpful to play around with an already working file - see how or why things work. Staring at a blank file can only help someone so much, so feel free to play around with this blend.


Tell Blender to ignore tracker for camera solve

No need to delete the tracker.

Each tracker can be assigned a weight, which determines the tracker's contribution for the final camera or object solve.

Just bring the value to zero.

More info: https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.70/Motion_Tracker


No, this is not possible, that font-preview text is defined statically in code (only 'customization' allowed is its translation, such that e.g. Chinese or Arabic languages can show some relevant glyphs…).


How to avoid faces overlapping when bridging edge loops

Duplicate that loop and Scale it down.

Make it a circle.

Select both loops and apply the bridge.

See the images below.


Those are type declarations, and were introduced in Python 3.6. Blender 2.80 uses those to create the RNA properties. It was implemented by Campbell in 11 July 2018.


I found something helpful to deal with the modifier stack issue when dealing with UVs (issue #1). Inside of the UV editor, under the [N] key panel, within the "View" tab, under "Overlays", there is a checkbox called "Modified" which shows the end result of modifiers.

So if you use the "offset" features of the array and mirror modifiers, the duplicated geometry will show up in the UV editor as faded gray lines. Extremely helpful!

Seems like this box should be checked by default.

So the thing I'm most concerned with is dealing with multiple sub-objects of simple larger objects. When those sub-objects have modifiers applied to them. It would be great to have some way to combine these together automatically or quickly for exporting.


Blender character rigging with cloth wrapped over the body

There is a function to copy vertex groups to non-matching meshes. It is great for automatically skinning clothing on characters.

First select the character mesh, then shift + select the clothing. Press spacebar and type "transfer weights". An operator should show up. This seems to be broken in the latest blender 2.74+ but try 2.73. (I just tried on a copy of 2.71 I have laying around and it works well).

The new versions have "Transfer mesh data" but it does not seem to work for me.

Cheers!


How to have consistent soft body physics in a specific area of an object using vertex groups?

I know this is an old post, but I thought I would contribute anyway. First you have to go into weight paint mode and paint the parts you would like to be rigid and assign this to a vertex group. This means that the parts you want to remain firm should be completely red. The parts that you want to be jiggly should be green or yellow, not completely blue (if it is blue, then it'll act like a cloth). Then go to the physics menu item on your object and add a new active rigid body and soft body. Under the soft body goal, turn the default goal strength up to 1 (this will make certain parts of the object completely rigid). Then, in the same area, set the vertex group to the weight painted group you made earlier. Bake the physics and play. PS. I'm working in blender 2.78


ray_cast function not able to select all the vertices in camera view

The modified code!:
import bpy
from mathutils import Vector
from bpy_extras.object_utils import world_to_camera_view

# Deselect mesh polygons and vertices
def DeselectEdgesAndPolygons( obj ):
    for p in obj.data.polygons:
        p.select = False
    for e in obj.data.edges:
        e.select = False

# Get context elements: scene, camera and mesh
scene = bpy.context.scene
cam = bpy.data.objects['Camera']
obj = bpy.data.objects['Cube']

# Threshold to test if ray cast corresponds to the original vertex
limit = 0.1

# Deselect mesh elements
DeselectEdgesAndPolygons( obj )

# In world coordinates, get a bvh tree and vertices
mWorld = obj.matrix_world
vertices = [mWorld @ v.co for v in obj.data.vertices]

print( '-------------------' )

for i, v in enumerate( vertices ):
    # Get the 2D projection of the vertex
    co2D = world_to_camera_view( scene, cam, v )

    bpy.ops.mesh.primitive_cube_add(location=(v))
    bpy.ops.transform.resize(value=(0.01, 0.01, 0.01))

    # By default, deselect it
    obj.data.vertices[i].select = False

    # If inside the camera view
    if 0.0 <= co2D.x <= 1.0 and 0.0 <= co2D.y <= 1.0 and co2D.z >0:
        # Try a ray cast, in order to test the vertex visibility from the camera
        location= scene.ray_cast(bpy.context.window.view_layer, cam.location, (v - cam.location).normalized() )
        # If the ray hits something and if this hit is close to the vertex, we assume this is the vertex
        if location[0] and (v - location[1]).length < limit:
            obj.data.vertices[i].select = True


Hiding and unhiding a Collection in the Viewport

Have you tried accessing collection from view layer?

bpy.context.view_layer.layer_collection.children["Collection Name"].hide_viewport = False


What is the meaning of the color of the node sockets in the node editor?

Grey is a single value

Yellow is a tuple containing 3 values; the red, green, and blue channels of a color.

Purple is a tuple containing 3 values. Used for vector/coordinate information.

Green is a shader closure, representing a description of how light will interact with a surface or volume. This one can only be connected into other green sockets.

Note that these will be converted to/from each other automatically as much as possible:

Yellow and purple can be connected to each other without any loss of information (under the hood they are pretty much the same).

Grey can be connected to yellow or purple without any loss of information (all three values in the tuple will the same value)

Yellow and purple can be connected to gray, but will be converted to a single grayscale value:

More info on this link:
Cycles - (Shader) Nodes - inputs outputs - What are the exact data types?


It would help if you showed your current topology, but if I had to do it from the beginning I would do it this way: extrude the mesh from the torus, as it will preserve a coherent mesh, it will simplify the creation of the bevel.


How to achieve uniform thickness with no breaks when extruding faces?

If you extrude individual faces these faces will not be connected anymore. This is why you get discontinuities.

Extrude your faces by pressing E instead (this is equal to Extrude and Move on Normal). Then immediatly press Rmb or Esc to cancel the translation. now the extruded faces should be at the same location as the previous faces.

To get walls with an even thickness use Shrink/Fatten by pressing AltS. By moving your mouse you can change the thickness of your walls. To get even thickness independent of corner angles hold down the Alt key while moving the mouse. If you are satisfied press Lmb to apply the tranformation.


An easy way to remove all children in a parent-child relation?

Select the parent object, then use ShiftG > Children to select all the children automatically.

You can then remove the parent-child relationships acting upon all selected objects by pressing AltP.

See the official docs on parenting


You may have unintentionally modified the mask layers of the Renderlayers tab, in properties panel :


Selection of object using command not working

You can add modifiers without using operators or relying on what is selected.

import bpy

# this creates Object1
bpy.ops.import_scene.obj(filepath='Object1.obj')
# this creates Object1.001
bpy.ops.import_scene.obj(filepath='Object1.obj')

obj = bpy.data.objects['Object1.001']
m = obj.modifiers.new(name='cutting modified obj',type='BOOLEAN')
m.object = bpy.data.objects['Object1']
m.operation = 'INTERSECT'


How to position the origin of an object next to edges of another object with python

If both objects origins are at their centers ; set their names in the script and run it :

import bpy

cone = bpy.data.objects['Cone']
box = bpy.data.objects['Cube']

edge = box.dimensions[2]/2 + box.location[2]
cone.location[2] = edge-0.1  #assuming 1BU->1cm


Keeping group instances visible while hiding originals

there's actually a pretty simple workaround for this. All you need to do is put your collection into a collection, and make the highest collection non-rendered while keeping the baseline set to renderable


where can I find this in the python script?

To find the source that displays a property,  RMB on it and choose edit source. If blender has a visible text editor it will show the script with the cursor on the relevant line, if no text editor is visible you will get a notice at the top of the window to see the script in the text editor.

Note that the UI scripts you will get only display existing values, if you alter the UI script to always turn the value on you will never be able to turn it off.

I would suggest making an addon that creates new objects and new materials with settings the way you want. This answer shows an example of injecting a button into an existing panel.