(Following Blender Guru Beginner Tutorial) Duplicating Object causes Object to be covered in Particles

Deleting those Particle Settings on my sprinkle fixed the duplication issue. I am assuming I added those settings accidentially somehow without noticing and wasn't actually supposed to do so.

If anyone has a better answer with more insight, though, I appreciate any input.


You can do it in a similar way as described in the linked answer.

Just copy your material node setup from the cube to the icosphere, change the coordinate type from Generated to Object and choose the cube object from the list.


Ok, after some trial and error and reading the Blender Wiki on SSS, I found a solution. It all depends on the Scattering Weight Front and Back parameters. I set them both up to 1.7 and the effect is much more juicy and brighter. As the Blender Wiki explains, these parameters are responsible for how much light is absorbed or added on the front and back side of the object.


Cycles Cuda out of memory on final render but not on preview

The difference and reason why it renders in previw and not in render is this setting:

In render the surface gets divided a lot more, so the geometry takes a lot of VRAM. Your scene takes 4.2 GB of it in render.

Also many other modifiers have separate settings for viewport/render, there may be objects hidden from preview etc.

Try to lower the quality till it fits in memory, or render on CPU or borrow/buy better GPU.


Manipulator widget appearing where the 3d cursor is

You have set the Pivot Point to the 3D Cursor:

Simply go to the menu and select whichever you want to use (most likely Median Point).


Retopo Sculpt Selecting Unwanted Vertices

open user preferences (file menu or Ctrl+Alt+U) go in theme tab, select 3D View and change the colors


Using ipad pro and apple pencil as a graphics tablet

I have not found a solution after doing some research. But, there are possible ways to work around it.
If you have a Mac, then it might be possible to use Sidecar, allowing you to use your iPad with your machine. Unfortunately, I have yet to try it, my machine is too old so it does not support it.
There are also apps that can let your iPad control another computer. While touch is definitely supported, I do not think they will have the pressure detection features of the apple pencil.


How to add a panel to the properties region in the Image Editor?

The script works as written. The "problem" with the script is that it is putting the hello world in the text editor and not the image editor. bl_space_type takes:

EMPTY, VIEW_3D, GRAPH_EDITOR, OUTLINER, PROPERTIES, FILE_BROWSER, IMAGE_EDITOR, INFO, SEQUENCE_EDITOR, TEXT_EDITOR, DOPESHEET_EDITOR, NLA_EDITOR, TIMELINE, NODE_EDITOR, LOGIC_EDITOR, CONSOLE, USER_PREFERENCES

as accepted values, one for each window type in blender. The script in question has TEXT_EDITOR and not IMAGE_EDITOR.

import bpy

class HelloWorld(bpy.types.Panel):
    """Creates a Panel in the Image Editor properties region"""
    bl_label = "Hello World"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'IMAGE_EDITOR'
    bl_region_type = 'UI'

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

        row = layout.row()
        row.label(text="Hello world in the image editor!", icon='WORLD_DATA')

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

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

if __name__ == "__main__":
    register()


Retrieving Blender wiki pages that have been taken down

Join the bf-committers mailing list, as there things like the current big wiki upgrade are discussed. You can find more information in the list archive.

The contents of the old wiki can be downloaded from https://download.blender.org/oldwiki/ so that people can access old data.


What units does the rotation argument expect when creating objects?

It is using radians. 1 radian = 57.2957795 degrees. Without the need to import another module you can use a degree value with (3.14159 * degrees / 180) or just quickly import pi from math if you don't want to define it or you could alternatively use round(math.radians(degrees)).

import bpy
from math import pi

bpy.ops.object.lamp_add(type='AREA', ... ,  rotation=(0, (pi * degrees / 180), 0))


The vrml export addon is an official addon that is developed as part of blender. You could either discuss with the blender devs on irc about improving it or submit a patch yourself to be considered for addition. Or use it as a starting point for your own script.

For 1. A mesh object that has a number of vertices and zero faces could be considered a point cloud.

import bpy
import bmesh
bm = bmesh.new()
bm.from_mesh(bpy.context.active_object.data)
numberOfVerts = len(bm.verts)
numberOfFaces = len(bm.faces)

Incorporate that into the export script as it loops through objects and export as PointSet instead of IndexedFaceSet when you have verts without faces.

For 2. blender has vertex colours, without faces that would be the only place for colour info. You will find that data in bpy.context.active_object.data.vertex_colors


You can use Snap during transform tool set to Vertex.

Then you can snap directly one point to another or just choosen axis for example G > Z then hover desired vertices.

And if you want to trully connect them then you should have meshes joined and after Snap hit W and Remove Doubles.


How do I make text come out out of an impossible space?

Basically you need a text and two couple of cubes.

First couple of cubes: you can simply create a single cube, mirror it (with a modifier, on z axis. Don't apply the modifier) and move it up (Z axis) in edit mode to see it's twin. In edit mode hook the whole geometry to an empty object.

Second couple of cubes: duplicate the first (they will be hooked to the same hook) and in edit mode scale them bigger to cover all the writing.

Convert the text into a mesh (ALT+C) and add a boolean modifier to it (difference with the second couple of cubes).

Now if you move the hook you'll get this:


Exported UV image in Blender 2.82 has opaque background?

In Render Properties, under Film, check Transparent.


Check if a vertex is visible in camera view

Alright, so I found I was to do this but this is not really ideal,

Basically, this will select all the visible vertices on the currently selected objects.
As for how first go into camera view then into edit mode and draw a box using box selection and it will select every vertice that's visible

def selectVerts():
    bpy.ops.object.editmode_toggle()
    for area in bpy.context.screen.areas:
        if area.type == "VIEW_3D":
            for region in area.regions:
                if region.type == "WINDOW":
                    view3dArea = area
                    view3dRegion = region
                    break

    override = bpy.context.copy()
    override['area'] = view3dArea
    override['region'] = view3dRegion
    bpy.ops.view3d.view_camera(override)
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=10)
    bpy.ops.view3d.select_box(override,  xmin=0, xmax=10000, ymin=0, ymax=10000, mode='SET')
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=10)
    bpy.ops.view3d.select_box(override,  xmin=0, xmax=10000, ymin=0, ymax=10000, mode='SET')
    bpy.ops.object.editmode_toggle()
    bpy.ops.view3d.view_camera(override)

The biggest issue with this method is that if the object is too far away not all vertices are drawn by blender, so it gives really inaccurate results in such cases.


From the manual:

Download the .zip or .exe for your architecture (64bit is preferable if your machine supports it).

The .exe will run an installer to choose where to place Blender and to configure MS-Windows to have an entry on the menu and to open .blend files with Blender. Administrator rights are needed to install Blender on your system.

Note:
With .zip you have to manually extract Blender to the desired folder, where you can double-click the executable to run Blender.

There is no installer to place Blender on the menu, but there is also no need for administrator rights. With this option it is possible to have multiple versions of Blender without conflicting, as they are not actually installed on the system.

https://www.blender.org/manual/getting_started/installing_blender/windows.html


You could use a grayscale image connected to a displacement node to create distortion, and then offset the color channels as a form of chromatic aberration.

Click on the image to enlarge

Or a different variation of the same idea, but using the greyscale image to displace each one of the color channels of an image with different values:

Click on the image to enlarge

A different example of the same:


How would I vary the emitted color of a 'window' (face) on a mesh?

You can use the Random output with a ColorRamp.

Start with the Object Info > Random output
Add a ColorRamp with specified colors (mine is also set to Constant)
Use the result as a window tint color...


Try increasing the number of Steps under the cloth's Quality setting. Don't be afraid to increase it 3 or 4-fold: the simulation time will just increase proportionally (it will take 3 or 4 times longer to simulate), not exponentially (like with sub-surface steps).

When you increase the Steps count to - say - 15, each frame is split by the simulation engine in 15 sub-frames for calculation purposes. This is very useful when the collision/pinning objects have sudden accelerations, because it allows for the engine to deal with them in a finer way, in this case one fifteenth at a time.

Here's a comparison between a Quality = 2 steps and a Quality = 30 steps simulation. As you can see, the sudden accelerations create persistent and unrealistic wrinkles in the low-quality cape, while the high-quality one effectively and rapidly smooths them out (please note: my cape only has the 100% pinning on the top edge, and not the additional 10% one).

Additionally, you may want to increase the Quality value in the Cloth collision panel, but this isn't as relevant as the cloth quality.


How to select and move multiple vertices

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

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

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

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

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


Script mode

Python controllers in Script mode execute the code starting with the first line of the script.

Module Mode

Python controllers in Module mode behave differently. At the first call the module initializes by running the module level code starting with the first line of the module. Be aware this runs once only!.

The code the Python controller is supposed to run is placed inside a function definition (def). This code gets executed at each trigger of the controller. The execution starts with the first line of the called function and ends when leaving the function (on return or latest at the end of the function definition).

You can declare module variables within module level code (code outside of the functions). This variables will persist as long as the module exist. Be aware things like current scene, current controller, or controller's owner should not be stored in a module variable. This can easily lead to confusing and hard to investigate behavior. Better read these data from context (bge.logic) inside the called function.

Example: imaging you have two objects that both call the module. When you store the reference to the current controller at module level, the variable will refer to the controller which executed the code first (e.g. controllerA). This will be plain incorrect when running the code from the other controller (controllerB) as the variable refers to controllerA.


You need to type "color" in the Color Attribute box in the domain shader.


Does Blender has input Degrees, Minutes and Seconds?

Surprisingly simple -- type the string 30d23'45'' into any valid rotation field. Note that Blender will take this input and convert it to the decimal form (30.3958d) if you click on the field again.


I added some legs to a Blender model and now the bones do not move the mesh, what did I do?

Answered by @batFINGER.

  Try turning manipulate center points off. – batFINGER


When you add keyframes they are stored in an Action to let them repeat add the action as an Action Strip to the NLA Editor and set the repeat property (in the property panel N) to the number of repetitions. Note that the Action Editor is mode of the Dopesheet Editor.


Setting scaling to 1, but keeping object size in meters

Ctrl + A then click Scale, this will reset your scale


Makehuman rigged model appear all purple in weight paint mode

I've seen this happen on a few models I've come across, but its an easy fix.

To see the weight paint, you need to unhide and select the deformation bones which are tucked away in Object Data under Skeleton - Layers. Ignore the Protected Layers bit.

I don't have a MakeHuman model handy, but this pic shows where the deformation bones are for both Rigify and Pitchipoy, labeled with a DEF- prefix. Keep in mind that you may no be able to move DEF bones directly, so keep the both this layer and the bone control layer active (holding Shift and click on the layer).

Both these rigs also have hide/unhide buttons for all the different parts at the Properties Panel, not sure if yours will also have it.It works the same as above only that the buttons have names for the part they are assigned to.


How do I get the children of a frame node?

Instead of looking at the frame node and trying to find its children you have to look at each node and see what its parent is:

import bpy

children = []
nodes = bpy.context.scene.node_tree.nodes
frameNode = nodes['Frame']

for node in nodes:
    if node.parent == frameNode:
        children.append(node)

print(children)

This creates a list of the frame node's children.

Or the more condensed version:

import bpy

nodes = bpy.context.scene.node_tree.nodes
frameNode = nodes['Frame']
children = [node for node in nodes if node.parent == frameNode]

This is based on compositor nodes so accessing the node tree will be slightly different for materials, but the same logic will apply.


Animation Nodes: Object Instancer | Update instances & Splines from object origin

Relationship Splines

Create edges using the Create Edges Node from a list filled with the location of the source object and the locations of the instanced objects, then use the Splines From Edges node to create splines from the edges, output the splines and you will have the relationship lines.

Instances Modifier Values

To understand why your values don't update, you have to understand how the Object Instancer Node works. By default (When only Copy From Source option is enabled) Animation Nodes create a number of empty objects equal to the number of instances and set their mesh to the mesh of the source object. Subsequently, non of the object properties (including modifiers and constraints) are retained, simply because object are created not copied. If Copy Full Object option is enabled, Animation Nodes will get the object's properties, modifiers and constraints from the source object and set them to the instances.

It is important to note, however, that Animation Nodes will first check the  objects that were created in a previous execution using the instancer node and if they matched the number of required objects, the node have no effect and just return the objects. If the number of objects were less than the required amount, it will create more and if they were more that the required amount, it will delete the extra. So even if you change any of the object properties or set different meshes, the node won't see the changes and won't take action. The only way to reset the properties is to set the number of instances to zero and set them back to the required amount.

So, to edit the values on realtime, you have to do that manually using the Attribute Nodes, that is, get the value of the property of the source and set it to the instances.

In the previous example, we set the thickness of the modifier modifiers["Wireframe"].thickness.


What methods can I use to reduce such a visible seam?

There are 2 methods worth looking into.

Blended box mapping (cycles / rendering only)Easy to enable and apply everywhere but adds noticeable blurring/blending.
Projection painting - use the clone tool in 3d to clone over the seamGives a lot of control but makes the texture specific to meshes UV's, and wont work for tiling textures. However it can be used anywhere UV textures are supported - exporting to game engines for eg.


Like Duarte posted in the comments it seems that your pivot point is off.In the video you posted it seems that your pivot point is set to 3D Cursor.

You can set your pivot point in the view port menu. In the tutorial you are doing the pivot point is set to Median Point.


You can turn the skin into a softbody and make a new armature made out of mesh bones and apply rigid body constraints/joints .

But physics simulations cant effect regular armature bones.

But I think its a good idea, you should pitch that idea on rightclickselect


How can you smooth out the transition between these two objects so that they appear seamless?

The main reason for the sharp transition between the two are the fact that the normals are discontinuous between the two objects at the intersection.  You can soften this transition considerably by creating custom normals for one of the objects using a data transfer modifier.  Target one object with the other, set it to affect custom normals, and transfer from nearest face interpolated (usually).  You need to enable autosmooth in properties/object data/normals in order to use custom normals.
You'll almost certainly want to use a vertex group to limit the effect of the data transfer.
Almost all of that is shown in the image below, which compares the effects of copied custom normals on the left with regular normals on the right.

Normals are vertex data, so the closer you can get the affected vertices to a face of the target object, the closer the match will be.  Sharp transitions can still affect actual shadowing and ambient occlusion.  If you have problems with the join because of these factors, you might consider using a shrinkwrap modifier as well, evaluated before (above) the data transfer modifier.


Why are my vertices being mirrored and how do I fix it?

You have X Mirror enabled. Open the toolself with T and untick it, it's under Mesh Options. What this does is that it will try to mimic whatever you are doing on one side of your mesh on the other.

From the wiki.

  The X-mirror option of the Mesh Options panel allows you edit both “sides” of your mesh in a single action. When you transform an element (vertex, edge or face), if there is its exact X-mirrored counterpart (in local space), it will be transformed accordingly, through a symmetry along the local X axis.

This didn't affect the mouth area of your model as only half of it was modeled while you had a complete eye ring.


In the World properties panel, you may either pick black color, or change the strength to 0.
This will cause the world not to emit any light, and render pitch black.


How to change the default value of Image compression?

Set the compression level to 100%, then press ⎈ CtrlU> Save startup file.

Note that this will save everything, including view position, objects, etc. as default.


Creating objects with a 'for loop' and setting each new one a keyframe within the 'for loop'

Here is your script (a) doing what I think you want it to do.  It makes a mesh object at each frame, and adds a location keyframe at the frame it was created in script.

If you are using an operator, need to be in, or set the context it requires. Make a new object obj context with context.scene.objects.active = obj.  If it works on selected objects, like say join, need to make sure other objects are (de)selected correctly by setting obj.select accordingly on each.

Going to use bpy_struct.keyframe_insert(...) rather than the operator.  This will be quicker, especially for high numbers.

import bpy
from math import sin, cos
scn = bpy.context.scene

numY = 10
freq = 1
amp = 1
scale = 1

for numX in range (2, 20):
    verts = []
    faces = []

    for i in range (0, numX):
        x = scale * i
        for j in range (0, numY):
            y = scale * j
            z = scale * amp * (cos(i * freq) + sin(j * freq))
            vert = (x, y, z)
            verts.append(vert)

    count = 0
    for i in range (0, numY * (numX - 1)):
        if count < numY - 1:
            A = i
            B = i + 1
            C = (i + numY) + 1
            D = (i + numY)

            face = (A, B, C, D)
            faces.append(face)
            count = count + 1
        else:
            count = 0

    mesh = bpy.data.meshes.new("Wave")

    mesh.from_pydata(verts, [], faces)
    mesh.update(calc_edges = True)

    obj = bpy.data.objects.new("Wave", mesh)

    obj.location = (0, 0, 0)
    scn.objects.link(obj)
    obj.keyframe_insert("location", frame=numX, group="Location")


About the version of blender written in bl_info

The Blender version in the bl_info should indicate the version of Blender it was written for. Future releases of Blender may change the API and the version information can be used to perform a simple check whether the add-on may work with the Blender release. Blender 2.8x already displays a warning when an add-on with blender lower than (2, 80, 0) is installed. Automatically updating the value of blender would therefore defeat its purpose.


How to change the alignment of a newly created primitive object

After adding a new cube, open the last action editor and set the Align option to World instead of View.


How to fill the selected UV island with colour when texture painting?

Go to edit mode
select the faces you want to paint on
Turn on texture painting, in the header of this window turn on the button named "face selection masking for painting", an icon with a cube with a face red/white
choose the "fill" brush
clic on a face
done!

Use "shift" key to select/deselect faces without entering edit mode


This is a (straight) pipe modelled as a curve, using its native Bevel, mapped in its own UV space, deformed along its X by another spiral curve, using a Curve modifier. Translating the pipe along X with respect to the spiral's origin moves it around the spiral.

That's a lot of curves :) the straight pipe could have been a mesh.


How to make a centered hexagon door consisting of 6 triangles?

For the modeling, here are 3 ways:

First the simplest way, if you don't need your triangles to be linked:

Create a circle (6 vertices, Fill Type > Triangle Fan).
Choose Edge Select mode, select all the concentric edges and press V to rip, then enter to validate right away. Now each triangle is independent.

If you want your triangles to be linked (so that you can continue to work its topology) you could use linked duplications:

Create a 3 vertices circle.
Put its origin on one of its vertices (or put the 3D cursor on one of its vertices and choose the 3D cursor as Pivot Center).
Duplicate your triangle with altD. Press enter to confirm right away.
Make your linked copy rotate 60° on the Z axis.
Make a second linked copy and make it rotate 120°, etc...

You could also use an Array modifier:

Create a 3 vertices circle.
Put its origin on one of its vertices.
Put an empty on the same point.
Give your triangle an Array modifier, and choose the empty as Object.
Rotate the empty 60° on the Z axis.

For the animation, you can do it this way:

Separate each triangle.
Set the origin on the geometry of each triangle with shiftctrlaltC.
Choose Pivot Point option > Median Point and enable the Manipulate Center Point option (don't forget to disable it when you'll have finished to keyframe).
In the Timeline, put your cursor at frame 0.
Select all your triangles and create a keyframe with i > LocRotScale.
In the Timeline, put your cursor at frame X.
With all your triangles selected, scale up with S. With the Manipulate Center Point option enabled the triangles will go away from each others instead of scaling.
Create a new keyframe with i > LocRotScale.


Here are 3 solutions: Curve modifier, bezier curve, and Bridge Edge Loop:

You can also create 2 or more circles, press CtrlE > Bridge Edge Loops:

Then tweak the settings (particularly Number of Cuts and Smoothness) in the Operator box:


Set grease pencil drawings on one level?

As of Blender 2.79 you can reproject strokes to existing surface or just to make them planar.

When drawn over some objects from some projection (top one in your case) they look as expected from that projection:

If moving viewport projection problems will become apparent:

To fix that first hide or delete any other objects except for the one you're going to use as a new level for projection. Also make sure that mesh for the projection (probably plane) is larger when seen from the top view than all the strokes.
Then enter Edit Strokes mode, A to select all. Open Toolshelf, choose Grease Pencil tab. Open Edit Strokes rollout and on its bottom find Reproject Strokes dropdown. Choose Surface there to use surface of the mesh you want instead of planar projection depending on the current viewport camera position. Your drawing will be brought to the surface of the mesh you used as a new level.


How to animate rotation of a movie clip in the compositor

What you are looking for is the Rotate node. Press Shift+A and go to Distort > Rotate.

You can now set the number of degrees to rotate by:

And what is more, it is fully animatable via keyframes!


Best Render Settings to Eliminate Image Grain?

The Intel Denoiser might be useful here.

Check Denoising Data in Properties Panel > View Layer
Check Use nodes in Compositor
Add the Denoise node and connect it like this

Now render your image and it will be automatically denoised.

Note:
If you're not going for photorealism, you'll be better off using Eevee Render Engine.
It can be changed in Render Tab > Render Engine > Eevee


How to display overall furniture dimensions?

Select the object, and in object mode, hit N to bring up a toolbox. Make sure the "Item" tab is selected, and the dimensions are shown at the bottom.

If you want to change the units, click on the Scene button on the right-hand side, and open the "Units" tab.


How to rename selected objects except active object?

just check if it is the selected object and ignore it
import bpy

C = bpy.context
ao = C.object
for obj in C.selected_objects:
    if obj != ao:
        obj.name = "SM_"+ao.name


My reference image not showing up in blender

Press shift+s and then press cursor to world origin, then try. I did it on your blend file and it worked.


You have no image selected, you need to select the image for it to be displayed.
To select an image, you must click the little image icon () in the bottom center of the uv image editor and find your image. Then select your image. If you have many images, you my need to you the search function to find the right one, just type the name of the title. of course, you only have one, so you don't need that. :D


Can Freestyle Visibility accuracy be improved?

As far as I can see, you do have a loss of precision .. due to the topology of your model.

Your model has many, many duplicate vertices.. they have to go first.(M Merge > By Distance)
But even then, the topology is very extreme, in places. The only fixed data-points the renderer has to work with are vertex locations. The rest is interpolation - of normals, shading-point locations, everything. If a rendered polygon is a very long thin triangle, then you're running into interpolation inaccuracies near its center.

Flat surfaces are OK, interpolating between a value and itself doesn't present a problem.
As a quick hack, subdividing the surface of the long shafts restored their opacity to Freestyle, but a repair of the topology would make a better job of it. You might get away with replacing the shafts  with dimensioned, quad-based cylinders, with a few subdivisions of their length.
Raising the nuts so their bottom edges are at/slightly above the plate they are  screwed down onto, makes them visible to Freestyle without changing the edge selection settings. (Some are buried at the moment)
Introducing per-face-vertex normals, by switching 'Autosmooth' on, with appropriate, (quite high for these elements,) threshold angles, will help keep smooth shading without overdoing the poly-count.


My solution was to increase the canvas size of the front view image such that its dimensions matched those of the side view.
i.e. 263x490 becomes 766x490, to match the right side view resolution.

It seems to be that blender attributes the largest side of the first background image 10 blender units and goes from there, throwing things out of whack if your images are cropped.


Create custom property for sequencer strip in python

You're going to have to provide a code sample that can be used to illustrate/trigger the problem you are having.  I wrote the following bit of code and it worked exactly as I expected:

import bpy
scn = bpy.context.scene
strip = scn.sequence_editor.active_strip
strip['anchovy'] = 3.3
x = [ s for s in scn.sequence_editor.sequences_all if s.get('anchovy') is not None ]
print(x)
print( [ s.get('anchovy') for s in scn.sequence_editor.sequences_all ] )

As you can see, I was able to select a clip based on the property (list comprehension x).


Difference in Appearance - Blender vs 3JS Transparent Materials

You could try adding a translucent shader mixed with a principled BSDF. To get less realism you could put specularity to 1 and roughness to 0. This could get you closer to your goal.


Transparent BSDF cause noise in depth layer

I think that it is normal behavior, same issue appears in mist pass.
During mist pass / z-pass mixa shaders with transparent shader cause that some of rays do not contribute to image output. I resolved it introducing contrast node before mix shader to keep mixing rate 0 or 1.


Problem is caused by lighting. I fixed mine by deleting the old lighting and creating new ones instead.


Can mesh analysis colours be applied to face material colour

It is currently not easy to get the data out of the mesh analysis tool via Python. The data is not available in Python. But there are possibilities.

Solution: implement overhang in python

Implement the mesh overhang functionality yourself. The C-code is located in source/blender/blenkernel/intern#statvis_calc_overhang and is quite easy to implement.

Calculate the face normals.
Determine angle between the face normal and the chosen axis (normalized dot product).
Use a color ramp between the angle to get a nice coloring.

Solution: change the API

Ask the developers or patch blender yourself to change the API so that the data can be read. The data is currently stored in the edit_bmesh so it might become part of the bmesh api. Personally I would suggest a more cleaner approach outside bmesh

Solution: Use as_pointer and interp the internal structures of Blender

Use as_pointer to get a reference to the internal DNA structure of the mesh and use ctypes to read the data from the internal structures. But note that changes in ctypes might make your code invalid.


How to connect these faces smoothly (if possible)

I think you shouldn't have connected them in edit mode. First off, select any one of the plane in object mode. Then add the boolean modifier to it. Select the second plane as boolean object and set the type to union.

Alternatively, you can try sculpting your mesh with smooth brush.


I can't paint the whole model in texture paint mode

If it stays 'full white' then quite possible you don't have an image texture assigned to the UVs yet - in the Tool Bar, check for a warning to 'add paint slot below' as in the attached picture.


Eeevee & Lookdev all materials bright white

Same issue on linux ubuntu 18.04.2. Always after suspending or hibernating. Restarting blender solves the issue to me.


Just try makings your background strength to a 0.1 I think it’s to high by default.


Can anyone tell me why the icing isn't producing an "ooze" effect?

I had this problem too.

You have enabled the snapping option. Change the offset in your Solidify Modifier (1 or -1) of the icing part.

Remember, when you grab that point, you will pull the part and at a certain point, the vertices that are at the top that point will intersect with the donut. You can prevent that by adding or subdivide your face. With that, you will have more points to control for the ooze effect


How can I create text with a black outline as seen in anime subtitles?

If you are using text objects in 3D view then you could bevel the text and use a texture to color the edges black. There is no additional render overhead from Freestyle renderer and this is using the Blender Internal render engine.

Notice that I have altered the direction of the texture blend by using the mapping values for X axis.


How to display edge lneghts on non-highlighted edges?

In the N panel Under Mesh Display
Click on the length
And active on Normal (i.e. vertex, edge, face) what length you want to view
If you click on the vertex it show the vertex, etc


In the material properties under game setting was backface culling. That fixed the issue. I apologise for posting the question and then finding the answer.


Blender cannot find your module because blender is searching for modules in the base path and your module is not there, so you need to append your modules path to
a path that blender can find it, so you need to execute some functions to do this.

import bpy
import sys
import os

# we get blend file path
filepath = bpy.data.filepath

# we get the directory relative to the blend file path
dir = os.path.dirname(filepath)

# we append our path to blender modules path
# we use if not statement to do this one time only
if not dir in sys.path:
   sys.path.append(dir )

# now blender is able to find our modules
import module_test_hello

# in case we edited our script file after blender had started
# we reload the module via imp module
import imp
imp.reload(module_test_hello)

# we call function from the module now
module_test_hello.hello()


How to access shapekey driver via Python?

All shape keys are stored in bpy.data.shape_keys and can be applied to multiple objects. Each object possesses an attribute pointing to the shape key if it is using any. Thus

shape_key = bpy.data.objects['yourObject'].data.shape_keys

will give you access to it directly.

bpy.data.shape_keys is a bpy_prop_collection which allows access to its elements by name or index.

So if you know the index or the name of a shape key you will probably want to access it from bpy.data.shape_keys.

If you don't know which shape key is used by an object you will retrieve it from obj.data.shape_keys.

Expression & Variables:

# Access by index only
driver = bpy.data.shape_keys['Key.002'].animation_data.drivers[index]
driver.driver.expression
driver.driver.variables


You can try one of the following

View > View selected or . on Numpad
If that doesn't work try Shift + C

It seem that with some blend files "zooming to much" locks the 3D view and you can only rotate the view, not pan or zoom in or out, with other .blend files it is OK... don't know the real source or how to fix the file, anyway if you still want "free zoom, pan and rotate", you can copy the objects that you need to a new .blend.


Material colors are showing only after render in Blender 2.8

By default blender viewport solid mode does not show material colors, you can see 4 viewport shading modes in the upper right corner

Those are in order, left to right: wireframe, solid, material preview and rendered. By default material

By default solid shading will not show materials, but material preview and rendered will.


Blender mesh gets strange normals in Unity 5

After some testing back and forth I discovered that my problem was solved by combining the problematic meshes together with a correct one and then separating them again. How or why this worked I can't say, but it did the trick for me :)


How to give duplicated model/rig different textures than the original?

In the material slots there is a number displaying the users of that material (in your scene probably it's 2).
If you click on that number the material is duplicated, and it can be independently edited.


How do I get rid of this seam on the bottom of the lip?

There are hidden vertices that overlapped during the sculpting phase, resulting in a crevice that was overlooked. Merging the vertices fixed this issue.


It's a combination of seconds and frames.

Format = [second] + [frame number]

It starts the count of frames again for every second.
A.K.A. the frame number is relative to the seconds.

You can see it changing when you change the frame-rate of the clip in the render tab.


How do I extrude inwards instead of outwards?

First of all, you select the faces you want to extrude, then press E to extrude and simply drag inward, if you want to inset instead (second picture) press I and then scale by dragging with your mouse. Remember that instead of dragging, in both cases you can type a number so that you tell blender the "amount" of that action that you want.
See the pictures below for the differences.

Extruding inwards:

Insetting:


Right click on the property and select copy data path and use it :

in this case it's constraints["Follow Path"].offset

and the adding a keyframe would be like :

cube.keyframe_insert(data_path='constraints["Follow Path"].offset', frame=10)


Why are the figer tips not moving with my hand in pose mode?

I belive I have recreated the problem with the image above
Check to see if the finger tips are weight painted. Weight painting controls how a model's mesh is manipulated whenever bones are moved. This means if a mesh is not painted correctly, you will get issues like part of the fingers not moving with the rest of the hand.
When in "Object" mode, select your armature, then also select your mesh which contains the fingertips

Weight painting mode 101:

    Single bone's weight paints can be viewed with ctrl and selecting that bone
    Multiple bone's weight paints can be viewed with shift and selcting multiple bones
    this mode will show a heatmap showing the weight of parts of the mesh

        dark blue = weight 0.0 -> this part of mesh is not affected when the selected bone is moved/ will               stay in place no matter how the bone(s) are moved
        dark red = weight 1.0 -> this part of mesh will completely move with the selected bone

    click on the mesh to paint on weights for certain bones

For more reading, here is the Blender Weight Painting Manual
So to fix the fingertips, you would select each of the bones at the tips of the fingers indivisually and paint the tops red with a brush with weight 1.0. This should make the fingertips snap into place as shown below.

Once you've done this with each finger and its respective bone, you should be able to go into pose mode and pose it however you want without the issue

Hope this helps


Particular nodes are missing from node editor

Wrong node tree type

Blender has three built-in different node tree types: Material, Composite and Textures. They have some nodes in common, and some not. The ones you are looking for belong to the second group.

All the nodes you mentioned belong to the Material node editor, you can see that from the path of the page in the manual you linked:

Just switch from the Composite type editor to Material type editor and you should be able to find them.


How to get a Sharp Render when mixing foreground and background ViewLayers in EEVEE?

The Mix 'Add' mode is combining your renders without taking account of which of the two images is 'in-front' of the other. Blender needs to know how to combine the two images correctly.
Looking at your screenshot the Render Layers thumbnail shows you aren't using transparency in your renders (it's a solid background instead of checkered). The simplest solution is to enable Transparency :

Then once you have re-rendered your scene you should have an Alpha channel in your render results (the background should be transparent). You can then simply use the Alpha Over node instead of 'Mix' to produce the 'overlay' effect you want :

An alternative (if the depth information is consistent between your render layers) is to use the Z-Combine node to combine two images based on depth (this allows you to have different elements from multiple render layers overlapping each other) :


Rigify is an add on. Install it.
Change the window type to User Preferences as above.
Search or find the Rigify add on.
Check the box next to the little man.
Change the window back to the previous .. perhaps 3D View.
Begin Using.


In your node setup the viewer is connected to a mix node and the composite is not.

Plug the composite to the output of the mix node to it as well!


TypeError: Converting py args to operator properties: enum "LocRotScale" not found in ()

The context object needs to be in 'OBJECT' or 'POSE' mode to run bpy.ops.anim.keyframe_insert(type='LocRotScale', confirm_success=True)

Test in python console, in 'OBJECT' mode

>>> bpy.ops.anim.keyframe_insert(type='LocRotScale', confirm_success=True)
Info: Successfully added 9 keyframes for keying set 'LocRotScale'
{'FINISHED'}

In 'EDIT' mode:

>>> bpy.ops.anim.keyframe_insert(type='LocRotScale', confirm_success=True)
Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
  File "/home/batfinger/src/BlenderGIT/qtcreator_build/bin_current/2.78/scripts/modules/bpy/ops.py", line 189, in __call__
    ret = op_call(self.idname_py(), None, kw)
TypeError: Converting py args to operator properties:  enum "LocRotScale" not found in ('Available')


How to add template objects (groups) from other file?

Here are two example files achieving this:

template.blend

This contains two template groups named template_A and template_B, each consisting of two meshes (Suzanne and Cylinder) and a text object, but different hierarchy. See images

 - In the group "template_A", Text and Suzanne are parented to the cylinder ("root" parent).
 - In the group "template_B", there are no parent-child relations.

addTemplate.blend

in this file, both templates are linked and placed on layer 2.
A cone object acts as spawner,moves around and reacts on Keys A ("template_A") and B ("template_B"). The script add handles the reactions and sets the string (Question 2).

Note that when template_B is added, the three objects fall apart (they have different translational damping), while in template_A they stay connected (question 1).

Edit: As Monster pointed out in the comment, you can not move the whole group at once by changing e.g. world.objects["template_A"].worldPosition. Instead - you need to move the "Root" parent (see image above), which can be accessd by e.g. world.objects["template_A"].groupmembers["Cylinder"]. This is related to the additionally added question 3.


There doesn't exist a way to do this in the options of the obj importer so what you could do is run a script that loops over the items in your scene,
check if it is a mesh and export the current selection to its own file relative to the path your blend file is saved.

import bpy
import os

# get the path where the blend file is located
basedir = bpy.path.abspath('//')

# deselect all objects
bpy.ops.object.select_all(action='DESELECT')

# loop through all the objects in the scene
scene = bpy.context.scene
for ob in scene.objects:
    # make the current object active and select it
    scene.objects.active = ob
    ob.select = True

    # make sure that we only export meshes
    if ob.type == 'MESH':
        # export the currently selected object to its own file based on its name
        bpy.ops.export_scene.obj(
                filepath=os.path.join(basedir, ob.name + '.obj'),
                use_selection=True,
                )
    # deselect the object and move on to another if any more are left
    ob.select = False

To further tweak your export options, see the parameters that
bpy.ops.export_scene_obj() accepts.
For example, you can include normals with use_normals=True, change forward axis with axis_forward etc.

There are more stringent checks that could be made but for simple use cases and if used properly, this should suffice.

Also see How to batch import Wavefront OBJ files?.

To have it export only selected objects, comment line 7 and change line 11.

# remove
bpy.ops.object.select_all(action='DESELECT')
# change to this where instead of the entire scene, we only look through selected objects
for ob in bpy.context.selected_objects:

or keep line 11 and add another line

for ob in scene.objects:
    # add the check to see if in selected objects here
    if ob in bpy.context.selected_objects:
        # adjust indentation
        ...
        ...

NB: Make sure the layers you have objects on are selected otherwise you will just get an empty file.


It seems like your UV mapping is off; using a similar setup and a default cube, I'm getting this result:

You can also achieve what you're trying to do using vertex colors:

Also see: How can vertex paint be rendered?


How can a mechanical linkage with a closed loop be rigged?

There are generally two ways here: bone constraints and rigidbody simulation.

Solution 1 - Bone Constraints:

Create the linkages (meshes).
Create armature with bones set as shown on the image below.
Animate the key bone (the red one here).
Rigging.

Result:

Example file:

Solution 2 - Rigidbody Simulation:

Build the initial state of the linkage, make sure they don't intersect or too close to each other;
Select them all, click Add Active button in Physics tab in Toolshelf;
Select either two linkages, click Connect in that tab to create constraints, set type to Hinge, move them to expected hinge points. Note that Hinge rotates along the Z axis of constraints (empty objects), so you may need to correct the rotation.
Create rotation action for BoneEB (the blue bone in the image below), toggle Animated in its Rigid Body setting panel.

For better result, you need to set the Steps per Second and Solver Iterations relatively high in Scene tab.

Result:

Example file:


How can I triangulate a mesh without changing the object?

You can access the UV and Texture / Image information with bmesh using the custom data layers:

import bpy
import bmesh

ob = bpy.context.object
ob.update_from_editmode()
me = ob.data
vgroups = dict(enumerate(ob.vertex_groups.keys()))
vgroups_weights = [["%s: %.3f" % (vgroups[vg.group], vg.weight) for vg in v.groups] for v in me.vertices]

bm = bmesh.new()
bm.from_mesh(me)
bmesh.ops.triangulate(bm, faces=bm.faces)

uv_layer = bm.loops.layers.uv.active
if uv_layer is None:
    raise Exception("No active UV map (uv)")

uv_tex = bm.faces.layers.tex.active
if uv_tex is None:
    raise Exception("No active UV map (tex)")

for face in bm.faces:
    print("Face %i, Image = %s" % (face.index, getattr(face[uv_tex].image, "name", "")))

    for loop, vert in zip(face.loops, face.verts):
        print(" - Loop for Vertex %i, UV = %r" % (vert.index, loop[uv_layer].uv))
    for vert in face.verts:
        print(" - %s" % ", ".join(vgroups_weights[vert.index]))

bm.free()
del bm

Verts and loops of a face should match (first vertex - first loop etc.)


Wrapping a mesh around point cloud with cavities

There is a cool addon called Point Cloud Skinner that can build mesh from point cloud data. (By Hans.P.G)

Download and install it;
Find the Point Cloud Skinner panel in Scene tab;
Tweak the parameters as instructed until you get a good-enough result;
For complicated data, additional manual fix may be required, such as filling holes or clearing elements.


I figured out that it was a grease pencil dot, I just selected "erase" option in the grease pencil menu and used it on dot, it got erased.


Modifier is disabled skipping apply messsage

You are probably in "edit mode." You can't apply modifiers in edit mode, and the orange selection outline goes away in edit mode.

Blender organizes "meshes" into "objects". An "object" is a container that contains a "mesh". You can edit the mesh or the object, but not both at the same time. When you're dragging individual points around, you're editing the mesh (in edit mode). When you have the orange selection outline and you're dragging whole objects around, you're in object mode (and you can't drag individual points).

To toggle back and forth between edit (mesh) mode and object mode, press tab.

To apply your Boolean modifier tab until you're in object mode, then select the object that has the modifier you want to apply, and the "apply" button should now be available.

Like Nate said, you only need a Boolean modifier on one of the objects, but experimenting with it is the best way to figure out how that works.


Unwrap tapered cylinder without UV distortion at tip

In mesh edit mode, mark edges as seams (in the edge menu -> mark seam).  Wherever you have a seam the unwrap operator will unstitch the seam in the UV map and unfold accordingly.

How you pick edges to mark as seams is dependent on what you're unwrapping. In this case you'll want to select the vertical edges towards the tip then mark seam.

When you unwrap these  should end up like your version 3.


One side of my mesh is completely dark and isn't being affected by lighting

(Assuming Blender 2.80)
To get sharp edges and rounded edges right:
Subdivision (modifier) the whole anvil and set it to "shade smooth". Then go edit mode and for each edge, which should be displayed as edge, select it end and hit Shift-E. Move away the cursor from the object to get a more sharper edge, else otherwise. You need to add more edges sometimes if this process does not sharpen enough.

"Black anvil phenomenon" :)
It looks like a normal shadow. To check for that: Disable HDRI lighting for a moment, add normal spot lamps and a camera and shine light to all parts of the anvil. If it is a problem with the mesh, the shadowed parts remain black. Then the geometry of the anvil get messed up (see below). If everything lits up nicely than you have a real shadow there. In this case add an spot lamp, set the enery to 0 and the angle of the spot to 180°. Position the spot in front of the shadowed parts and carefully increase the energy in way that it looks like the HDRI is spending the light.

Defective geometry:
Enter edit mode and switch all normals to point outside (just to get shure). Then "Merge vertice->From distance" (CTRL-V). Check for manifold edges (SHIFT CTRL ALT M). There will some (which is quite normal) but pay attention to those, which seem to be odd or adding geometry, where none should be. Go into face select mode and check for faces, which span directly before or behind other faces and are the result of connecting vertices accidentically. See screenshot for an example.


Continuously Move Around Spline with Animation Nodes


How to use the equation of the circle in the driver expression?

x^2 + y^2 = 1 we can write in driver expression as sqrt(1-scale^2)


Use the symmetry:

In edit mode, duplicate all the vertices, and rotate 180° (be sure to have the 3D cursor set at your object's origin), then remove doubled vertices (tune the merge distance if needed).


Render, viewport "Rendered" preview, and material preview white

Your scene is simply too bright. If you lower the exposure to -10 in the Scene panel, you can start to see the color of the surfaces.

A more permanant fix is to lower the energy intensity of your 2 lamps in the scene, as well as the world HDR map.


Good Tracking Markers with BAD Object Tracking Solution

The error was using tripod solve, and not defining the correct span of frames to be used for the solution.

Using tripod solving does not result in accurate 3D information.

If the span of frames used for the solution is not set, blender might try to solve the object in the wrong segment of the video. Enabling the "Keyframe" option means that blender will choose what frames to use to find a solution automatically.

After turning off the tripod solve and allowing blender to define the keyframes to be used, the solve error was very low.


Create a file that contains object *and* movement data that can be imported to Blender

My first option would be to use python to implement your algorithm and run it directly in blender to position the balls directly.

Another option would be to read the first file to create and position the balls then keyframe the positions. Then read the next file using the data to move each corresponding ball to the new location and keyframe. Repeat. You would only need a text file with 3 values per line, these would be absolute coordinates in the first file but could be absolute or distances moved for following files.

Blender has an importer/exporter for MDD files (Lightwaves MotionDesigner format). It is only about 100 lines for the exporter so shouldn't be hard to follow. There is also a mesh cache modifier that can use the MDD file to alter a mesh object. While this format is designed for mesh deformation data per frame, you could define a mesh with a vertex at the location of each sphere, then use dupliverts to place a sphere at the location of each vertex in blender.


How can I flatten a torus only on certain axes so that it looks more like a flattened band?

I assume you want a band with some thickness, like this:

There are obviously many ways to make such a shape. Here are a couple:
Scaling a torus:

Add torus

Scale on the Z (SZ)

Optionally enter edit mode (Tab) and scale along the normals with AltS

Circle with subsurf modifier:

Add a circle (ShiftA> Mesh > Circle)

Extrude (E) into a band shape

Add subsurf modifier (Ctrl1-5, where the number refers to the number of viewport subdivisions)

Optionally add loopcuts to flatten some sides of the band


Any way to make the mirrored mesh more idiomatic?

No, there is currently no way to do this. You only select the vertices that you see on the geometry generated with the Mirror modifier, but what you transform are the original vertices.

You could temporarily mirror the whole object by multiplying its scale by -1 on the mirroring axis so the original geometry is on your preferred side. You can just enter -1 after pressing s followed by the axis, in this case x in object mode, or you could also use the dedicated Mirror operator(Ctrl+m) to do this, or just enter *-1 in the numeric input field in the n panel, Transform tab, under Scale or in the Properties Editor's Object tab.


Since this is an IK setup, all of the IK controller bones and pole targets need to be parented to the 'master bone' at the base of the rig. e.g.


How to paint through a whole mesh while weight painting

Disable the Limit selection to visible option as people suggested you in their comments. Make sure, that the icon is not highlighted.

Also make sure, that you haven't masked some part of your object. Select the whole mesh before painting (A).


How to make texturure scrolling animation in Game Engine?

Well I've done something simple similar to what I've seen in your animation, using a mesh for each texture and using logic bricks with motion actuator to rotate the mesh, but you can animate the mesh if you prefer. I hope it is what you are looking for.

Note:
It seems that the minimum value for the motion actuator is > 0.004 to appreciate the movement.

Press P to see it.


In 'Blender Render' adding the texture in the Texture tab (The checkers next to the material tab) will automatically add it to the material.

The uploaders of the tutorials are probably using the cycles renderer for the tutorial which is why they had to add the texture in the material tab.


Is it possible to create image data and save to a file from a script

Yes its possible, heres an example

size = 640, 480

import bpy
# blank image
image = bpy.data.images.new("MyImage", width=size[0], height=size[1])

## For white image
# pixels = [1.0] * (4 * size[0] * size[1])

pixels = [None] * size[0] * size[1]
for x in range(size[0]):
    for y in range(size[1]):
        # assign RGBA to something useful
        r = x / size[0]
        g = y / size[1]
        b = (1 - r) * g
        a = 1.0

        pixels[(y * size[0]) + x] = [r, g, b, a]

# flatten list
pixels = [chan for px in pixels for chan in px]

# assign pixels
image.pixels = pixels

# write image
image.filepath_raw = "/tmp/temp.png"
image.file_format = 'PNG'
image.save()


How to select a tool and it's Mode/properties, by hotkey?

Similar to Enable/disable 3D cursor tool properties from python
You can set the active tool using bpy.ops.wm.tool_set_by_id(name="builtin.select_circle") and use ToolSelectPanelHelper class to get a reference to it. Code based on Operator Simple template:
import bpy
from bl_ui.space_toolsystem_common import ToolSelectPanelHelper

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    def execute(self, context):
        # Set the cursor tool
        bpy.ops.wm.tool_set_by_id(name = "builtin.select_circle")
        # Get the tool
        tool = ToolSelectPanelHelper.tool_active_from_context(context)
        props = tool.operator_properties('view3d.select_circle')

        # Print all properties
        print (dir(props))
        # [...'mode', 'radius', 'rna_type', 'wait_for_input', 'x', 'y']

        # Set the properties
        props.mode = 'SUB'
        props.radius = 50

        return {'FINISHED'}

addon_keymaps = []

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

    # Add a shortcut
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
        kmi = km.keymap_items.new(
            SimpleOperator.bl_idname, type='C', value='PRESS', ctrl=True, shift=True)
        addon_keymaps.append((km, kmi))

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

    # Remove the shortcut
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

if __name__ == "__main__":
    register()

Press CtrlShiftC to enable the Cirle Select along with your custom tool settings (mode and radius in this case).


Child object doesn't stay relative to parent in BGE

This was a simple case of unapplied scale and rotation. The odd thing is blender handles parents with different transforms just fine, but the game engine does not.
As a general rule everything in the BGE should have a scale of one, and no rotation.

All I did is apply the scale and rotation on both the plane and the propeller, then the normal object parent worked as expected in the BGE.

Here is your fixed blend with parent working, plus you had the normals on your plane reversed.

If you haven't seen my explanation on the parenting settings, go read it here.


Practicing modeling and noticing unintended black lines in render

Yes, those are just the shadows from the edge of the chest.

The light is prevented from entering the chest because of the protruding edges.

The shadows seem so dark because they are created from the harsh spotlight you aim at the chest.


Object Disappears in Wireframe and Solid view (not Dev look or rendered)

I had the same problem and solved it with Alt+Btoo.


Detect walls and prevent player from jumping on them

First your problem was that you set the ray sensor range to a kilometers (100000.00), set it to 1 or 2 (1.00), also there is no objects with "walls" propety in your file and the ray should look for ground, i set the higer floating ground to wall and you not able to jump over it, the other i change from ground to floatingGround property so this way the ray's and collisions sensors will not add 2 times the force of jumping when the player is over 2 grounds and add another set of ray and collitions sensors and motion actuator  to jump over the floating grounds.

Before edit

Use a ray sensor property ground combined with the kerboard sensor and collision sensor property wall.

PD. Its late here and this gif take to much lol.


“Cannot execute boolean operation” when subtracting several spheres and cylinders from cube

Cases where boolean operations can fail:

Overlapping geometry between objects:
Multiple vertices in the same location will often cause the boolean modifier to act up.
From this bug report:

  this is a known bug in Carve upstream (a library we're using for boolean operations)

Self intersecting objects:
Boolean operations with non-manifold objects or objects that are not water-tight will fail when non-manifold parts interact in the boolean operation.

Some things you can try:

Add supporting geometry. The boolean operation creates a lot of tris, so this might make subsequent operations difficult.

For example:

The spheres boolean causes this mess of tris where the cylinders will go:

However, if you add some loop cuts around the spheres:

The tris are contained in the center, keeping the topology clean where the cylinders intersect:

With modeling tools

You can get the result with conventional modeling too:

Add a sphere and two cylinders (the cylinders are just guides)
Rotate and move then into position using increment snapping (Ctrl) to keep everything precisely aligned:

Snap the 3D cursor to the sphere object by selecting (in object mode) it and pressing ShiftS> Cursor to Selected
Press . (period) to set the pivot to the 3D cursor
Enter edit mode with the sphere active and delete these elements with X or Delete> Vertices:

Scale the 45 degree edgeloop along the X and Y by pressing S and then ShiftZ, then holding Ctrl to snap until the edgeloop at 45 degrees touches the intersection at the two cylinders:

The cylinders are no longer useful after this step, so you can delete them.
Select the vertices as shown:

Extrude along the X axis (EX):

Set the pivot to Bounding box center (,) and scale the selection to 0 along the X by pressing SXO (zero):

Do the same for the other side:

Add a mirror modifier and enable X and Y:

With the sphere active, enter edit mode and select all (A), then move it so the object origin is not in the middle of the sphere:

Before:

After:

Enable Clipping in the mirror modifier and move each edge so it merges with the mirrored geometry:

You can then use this for the boolean operations:

Here is the blendfile.


Based on the link you provided, I think you want a setup that looks something like this:


The mirror modifier is disabled for rendering (camera icon).

Enable it and it will render normally.


no compatible gpus found for path tracing

The Radeon HD 5000 Series uses the old Terascale 2 architecture. Blender 2.8 requires GCN second generation or newer for GPU rendering. Your graphics card is therefore not supported for GPU rendering.


Is there a way to script for Lux to work on original nodes?

LuxCore's shader code is written in C++ and OpenCL.
To write new textures or materials, you have to clone the codebase, write your code in C++ (and optionally OpenCL) and compile the binaries with your changes.

Some information on this process:

LuxCoreRender Github Repository
Compiling LuxCore
Implementing a Texture

Unfortunately we don't have detailed in-depth documentation on the development process yet. But you are welcome to ask any question in our forums or discord.


Can you paint parts of an image onto another image?

You need to use the texture painting tools:

Hit Tab to enter edit mode
Hit A to select everything and then UV unwrap you object Usmart UV project
Change your view to the UV image editor
Open your image that you wan't to paint on (You can create a new blank one as well)
Change your view back to 3D
Change into texture painting mode:
In the slots tab, set the painting mode to image, and select your image from the drop down.

Set up your brush
Configuration:

Set the Texture to you're image:

Set the brush mapping to tiled adjust the settings to make it look right.


My Blender quits after I switch to "cycles render"

You should report it, just in case there's a bug. Versions with number + letter (like 2.35a) have critical fixes, but almost certainly still have bugs that should be reported and documented.


Moving in steps or smoothly, changing the default settings

Sounds like you have turned snapping on.

Holding the Ctrl key toggles on snapping temporarily. I presume you have accidentally turned snapping on, meaning the Ctrl key will now toggle snapping off.

You can turn it off my clicking the magnet icon in the 3D header toolbar:

(The image shows snapping is turned on)


The problem is due to custom normals. "clnors" means "Custom Loops Normals".

The meshes have custom normals which means that their normals have been set (instead of auto calculated). When you join several meshes and/or remove doubles this custom setup cannot be maintained.

On each mesh you should do the following (before of after joining them):

Use the "clear custom normals" button (in the geometry data panel)
Remove doubles
Set smooth
Uncheck 'auto smooth'


It seems in the file that you unwrapped only parts of the mesh, those which have ssignede 2 materials (1 baking to XOXO, the other to XOSS), but other materials have no texture assigned, so they don't bake, anywhere:


Do not need to have a camera, you can set any object as camera by selecting the object and pressing ctrl + 0, just add a camera, and with the camera selected press ctrl + 0


Your Start Clipping is probably set too low.  Press N to bring up the Properties in 3D View and change the Start Clipping to something reasonable... usually .01 or greater.  It depends on your field of view.

Then in your Camera Properties, menu, set your Start Clipping there as well:


What can i do to have aninmation Node version 2.0 or 2.1 python 3.7 build work on my linux? I am using Fedora 32

The installation of the add-on worked, after upgrading to Blender version 2.9, downloaded the daily build from the GraphicAll Community.
I recommend downloading  the version compactible to your OS from the GraphicAll community installation of the add-on downloaded from the official Animation Nodes website or the GitHub page fails.
This should work, especially if you're on linux...this could work for Windows as well.
GraphicAll Community
"https://blender.community/c/graphicall"


Can you only export objects to Second Life with 2.79?

You can use the Collada exporter.

You'll find it in the File/Export menu.

Which opens to this:

If the options panel is not open, use the N key to make it appear on the right:

And that gives you access to the OpenSim presets:

Source from Machinimatrix (Gaia Clary Avastar website).


This Sounds like you have a gap and hence filling the screen. This depends allot on your line and Fill thickness/leakage thickness. The reason it's filling from a distance is the fill resolution/ thickness/ leakage is relative so a tiny gap when zoomed in disappears when you zoom out.
The gap might be tiny but heres some options for you;

turn up the fill resolution (in advanced drop down). I keep mine at 3 or the fill shape sucks.
increase your fill tool leakage size
Join your strokes to remove gaps. Select the strokes and use ctrl J.
If you only have 1 stroke use F to auto close it.

One of those should sort your issue.
Good luck with it.


Show all Collections with one button in 2.8

In Blender 2.8 you can isolate and iterate on each one by pressing the numbers on your keyboard, this will show only the collection that you want and hide the others, if you press Ctrl + H it will give you the same result. To show all the collection again press Alt + H.


It is a switch that allows you to show different layers in separate windows. If toggled all views show the same layers.

Read: [How to display different layers in each 3D View?]

(How to display different layers in each 3D View?)


How would I go about about making wraparound glasses?

I think I'm not that an expert. But if you can look up if this helps:
1. Take a cube.
2. Subdivide it or put a subsurf modifier.
3. Put a cast modifier.
4. Apply those.
5. Cut the sphere using  the frame of the sun-glass frame with boolean modifier.
                 .................hope this helps...............
P.S. remember to adjust the radius so that the glass doesn't look too bulky..


Blender release life cycle and versioning

AFAIK, the letter doesn't stand for anything. It is appended to the version number when there is a bug fix release with minor changes after the initial release, and incremented with subsequent bug fix releases. So 2.49b is the latest version of 2.49.

The date refers to the last time the directory or file on the server was modified:


Active Keyframe Panel is not showing in the graph editor

Found the issue.  I was selecting the channel group folder instead of the actual channel itself.


Final:

Scene setup:

Plane (table).

This is just simple Plane with added Collision (default setup). It should be a little bit below sticky note.

Sticky note.

Another Plane, Subdivided with Weight Paint and Cloth physics.

Weight Paint - Red color is 'sticky' part, green is still little stiff and blue for full influence. You can paint it differently if you want.
Cloth physics - main goal here was to make it light and stiff.

Quality - 20, for better overall animation and smoothness,
Mass - 0.1, Wind and Gravity influence,
Structural, Bending, Spring - 400, 500, 50, all for getting rid of small wrinkles,
Air - 4, it will slightly increase air resistance and smooth wind influence,
Pinning - Group, most important thing here, this one will take Weight Paint as stiffness map,
Cloth Collision > Quality - 4, for better collision with table.

Force Field > Turbulence - this one could be Wind or probably something else. Adjust Strength, Noise as you like, but keep Size at 10. You can animate position of it and also Strength and Noise. Additionally you can add more of them with different settings.


I deleted the user installed addons in this direcrtory
%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\

which is not touched by the installer and yeah it worked
problem solved thanks to @batFINGER


they made the centre point "root" (for skin modifier) in edit mode, then turned on skin again (but in edit mode still), then they selected all and scaled in "median point" I assume, then left edit etc..  I tried it but am not used to mirror in this way :) So could scale but it was a mess.


Convert hair particles to mesh, while keeping them deformed by armature

The new mesh needs to parented to the Armature. After you have pushed the 'convert' button - select your new mesh in Object Mode and shift select your armature. Ctrl P and choose Armature...

...select your bones in Pose Mode. Select your new 'hair' mesh and enter Weight Paint mode. You should see your bones are selected here too. Under weights click Assign automatic from bones. If need be, weight paint to adjust the effect.


Can Blender Make 2D Flash Animations? (Like Adobe Animate)

Since blender is a 3D modeling and animation program, with a three-dimensional scene you can't get that kind of layer workflow with Z ordering, "background" and "foreground" objects, or layer locking. That is simply not how a 3D scene works.

That being said Blender is fully capable of doing 2D animations, you simply physically stack your objects one above the other, in Z direction (or any other axis that is convenient to you) and you can use the outliner to lock whichever objects you don't want to select or want fixed in the scene. You can also lock their individual transforms if you want them selectable but unmovable.

You can use regular objects and constrains or rigging or whatever 3D method of animation is most comfortable to you, but "constrained" to a 2D plane, which should even simplify things. You can then easily render everything from an orthographic camera placed directly above all objects.

I have never used Adobe Animate but layers in blender work a bit differently, you can either use groups and the outliner to control object visibility and selectability en-mass, or you can get some cad-like layer management with third party addons like VTools Object Layer Manager

As of Blender 2.8#, the already existing Grease Pencil feature has been substantially improved, and includes a lot of new features and functionality. Grease Pencil objects are capable of being animated, rigged and work very close to bi dimensional objects, with brushes, fills and a digital painting workflow.

You can also add modifiers and effects to them, and use the new 2.8 collection system to organize and manage them.


Is there a shortcut to undo a viewport move?

I encountered many bugs so this is more of a proof of concept than ready solution
I adapted the code from here.
Run the below code, make some changes to viewport and press CTRL + SHIFT + F12 to undo viewport changes (keeping track of a few more properties has to be added e.g. orthogonal/perspective)
bl_info = {
    "name": "Work Macro",
    "category": "Object",
}

import bpy, time
from collections import defaultdict

timeout = 1  # number of seconds between changes justifying a separate state
undo_buffer_size = 100  # in this crude implementation, each buffer will grow
                        # to double its limit before being truncated to the limit

states = defaultdict(list) # key: space object, value: list of tuples(last_change, view_matrix)
view_handler = None

def callback():
    # perhaps you can only use context.area.spaces.active instead of iterating here
    areas = bpy.data.window_managers[0].windows[0].screen.areas
    for area in (a for a in areas if a.type == 'VIEW_3D'):
        for space in (s for s in area.spaces if s.type == 'VIEW_3D'):
            space_states = states[space]
            if not space_states:  # empty list
                space_states.append((time.time(), space.region_3d.view_matrix.copy()))
            else:
                last_time, view_matrix = states[space][-1]
                matrix_change = view_matrix != space.region_3d.view_matrix
                if matrix_change and time.time() - last_time > timeout:
                    states[space].append((time.time(), space.region_3d.view_matrix.copy()))
                    if len(states[space]) > undo_buffer_size * 2:
                        states[space] = states[space][-undo_buffer_size:]

class WorkMacro(bpy.types.Operator):
    """Work Macro"""
    bl_idname = "object.work_macro"
    bl_label = "Work Macro"
    bl_options = set()

    def execute(self, context):
        space = context.area.spaces.active
        if len(states[space]) > 1:
            states[space].pop()  # remove current state
        revert_to = states[space][-1][1].copy()
        space.region_3d.view_matrix = revert_to
        #sometimes the above will slightly modify the matrix so let's update the undo state with it:
        states[space][-1] = (time.time(), space.region_3d.view_matrix.copy())
        return {'FINISHED'}

# store keymaps here to access after registration
addon_keymaps = []

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

    # handle the keymap
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name='3D View Generic', space_type='VIEW_3D')
    kmi = km.keymap_items.new(WorkMacro.bl_idname, 'F12', 'PRESS', ctrl=True, shift=True)
    addon_keymaps.append(km)
    global view_handler
    view_handler = bpy.types.SpaceView3D.draw_handler_add(callback, (), 'WINDOW', 'POST_VIEW')

def unregister():
    print('unregister')
    bpy.utils.unregister_class(WorkMacro)

    # handle the keymap
    wm = bpy.context.window_manager
    for km in addon_keymaps:
        wm.keyconfigs.addon.keymaps.remove(km)
    # clear the list
    del addon_keymaps[:]
    bpy.types.SpaceView3D.draw_handler_remove(view_handler, 'WINDOW')  # remove handler added on end of register() function

if __name__ == "__main__":
    register()


Can we change the color of Ambient Occulsion?

If I right understand you need a node AO.

Cycles:

Eevee:

You may see tutorial - https://www.youtube.com/watch?v=lB7l_IUcQn4


How can I give an array of objects a variety of colors?

I think you need to apply your array modifier, and then separate by loose parts in edit mode.  Press P>loose parts to do this.
Add an object info node to your material, and use the random output. This will assign each object assigned the material a color from the gradient.
A basic setup would look something like this:

This is an example of the effect with an arrayed Suzanne with setup shown:


How to add same animation nodes to multiple meshes?

Using a Loop lets you reuse a node tree for all items of a list of any type.

Add > Subprograms > Loop will place the Loop Input node. After you add a new iterator, probably an Object List in your case, you should be able to connect the Loop Input to your existing tree.

Add > Subprograms > Invoke Subprogram > loop_name then provides a node with the Object List input that you can feed with the output of a Create Object List, a From Group or a custom script.

The Loop Input's Index connected to the Seed input of the Vector Wiggle (or any other node which generates random numbers) makes sure that different numbers for each iteration of the loop will be generated. This prevents your objects from moving in formation.

If you want each object to individually wiggle around a different specified location, then you have the option to either add that location as a second iterator of type Vector List…

…or use the Object ID Key node to store and access the initial transformation values.
(Thanks to Jacques Lucke for this answer which describes how to use this node.)


Boolean Issue: hole in mesh is.... strange

Thee problem is most likey due to your meshes not being manifold (ie, completely enclosing a single solid volume). The plane is obviously non-manifold (being just a plane) and the blocks are technically non-manifold since they enclose multiple volumes rather than a single connected volume.

The Boolean modifier includes a 'Solver' setting. This allows you to choose between BMesh and Carve and these use different methods to apply the boolean which can produce different results - especially with non-manifold meshes.

I can replicate your results using Carve and switching to BMesh produces the expected cut-out.

NOTE : The Solver option was introduced after Blender version 2.76b. If you do not have that option then you'll need to address this in a different way - by making the meshes manifold as this results in the modifier producing more consistent results. To make the plane manifold you can simply add a Solidify modifier before the Boolean modifier. With the plane manifold both solvers should produce the desired result.


I can't render animation in Blender with the rendered model and a picture background

I suggest you familiarize yourself a bit more with the software. The background images you see in the 3d viewport will NEVER be rendered. In order to get a background image you can use the compositor:

How to composite in a background picture?

As for the rendering to black screen, check the compositor as well (is everything set up correctly) and check if the light sources work. (This you can check in the viewport by changing to the cycles preview)

What does the Render and Preview of the Samples section do?

a relevant tutorial is
here


How to increment an object property, later i check it and disable itself if date/year mismatches

I suggest you check the current date:

from datetime import datetime

if datetime.now().year>2017:
     ...


Has Anyone Ever Tried Modelling a Battery Cover?

It seems like your asking for some help adding the 3d parts of this model.

  I know for the top 2 extruding parts that I'll need to be like the part of other battery covers that have that dip in the middle. As for the bottom 4 smaller extruding parts, I think they'll need some sort of hook on the ends.

This can be done many ways. You may already be familiar with some of them. The most effective would probably be edit mode in blender. You should look into "proportional editing" and "boolean modifiers".

I would model the tabs as a 2d face side profile and extrude them. You could then use an array and boolean modifier to make the final mesh.


In the latest builds of Blender 2.8, the node editor has been enhanced to highlight some links in red to indicate that they are invalid connections. In this particular case, you're using a Mix Shader node to mix colors - you should instead be using a MixRGB node for this; the Mix Shader should only be used to connect to Green sockets.

In general, you should only connect 'like for like' - ie, green to green, grey to grey, yellow to yellow, etc. There are exceptions to this and Blender can automatically convert between some types - eg, connecting a Scalar (Grey) socket to a Color (Yellow) will automatically generate a greyscale color. Similary, connecting a Color (Yellow) to a Scalar (Grey) will average all the color channels together as (r+g+b)/3 to use the result.

However, Green represents a shader output - which is more than just a surface color and cannot be automatically converted - so connecting one of those to another color is not valid. Previously Blender would allow this without warning and simply produce an invalid result, but the Node Editor has now been enhanced to warn of such invalid connections by highlighting the link in Red.


Is there a "latch" node in animation nodes?

You can use a custom property on an object to do it :
Create a new empty and set your node tree like so :

Now when you toggle the boolean input, the custom property is updated and persists between frames.

Now there may be more efficient ways to rig it but your latch logic boils down to :

In action :


I would try and place the armature correctly within the mesh before pairing. Then when pairing select 'automatic weights' to initialize the 'painted weights' for each bone. Then it is useful to go into 'Weight Painting Mode' select the problematic bone areas and try to paint the weights so that each bone only effects its nearby mesh.

This is a great series about rigging. The episode I've linked to is about Weight Painting. Highly recommended.
https://www.youtube.com/watch?v=G3gIN4dJYw4

*It looks like your middle finger bone is deforming the mesh of the other fingers.

Good Luck!


In the top header menu > Edit > You need to disable the Lock Object Modes option and you'll be able to work on the 2 armatures, both in Pose mode.


Why Does The Background Image Not Show in Orthographic View?

It's because you are in ortho view, so you will only see one pixel of the background image at a time (if you move the 3D view around, the background color should change).

Switch to perspective (Numpad 5), and it should appear normally.


Is there a way to select Non-Planar Faces?

Here is a script to run in edit mode,  It looks at all faces with > 3 vertices, defines a plane from the first 3 verts [v.co for v in ngon.verts[:3]] as input coords to determine its normal and ngon.verts[0].co is a point on the plane

If absolute distance from rest of vertices in ngon to defined plane is less than some tolerance the face is planar.

import bpy
import bmesh
from mathutils.geometry import (
            distance_point_to_plane,
            normal)

context = bpy.context
obj = context.edit_object
mesh = obj.data

TOL = 0.001

# select None
bpy.ops.mesh.select_all(action='DESELECT')
bm = bmesh.from_edit_mesh(mesh)
ngons = [f for f in bm.faces if len(f.verts) > 3]

for ngon in ngons:
    # define a plane from first 3 points
    co = ngon.verts[0].co
    norm = normal([v.co for v in ngon.verts[:3]])

    ngon.select =  not all(
        [abs(distance_point_to_plane(v.co, co, norm)) < TOL
        for v in ngon.verts[3:]])

bmesh.update_edit_mesh(mesh)

Result of running script with TOL = 0.1 on mesh made of cylinder, uv sphere, torus and monkey primitives.


Grease pencil + multiply layer blend mode = small gap where layers overlap

Ok so I found a solution to my problem, I'm posting it here in case it may help someone some day.

The white line or gap goes away if you add a third layer underneath them with a fill to act as a background. Here is a screenshot where I drew a white fill shape under the right part of my two other multiply layers :


I have two ideas.

first one summarized in this image, using local transformations and face snap. moving using 3d cursor transformation or moving first the center point to edge.

the second is use some script like this:

import bpy

from mathutils import Vector, geometry
from math import sqrt

print("#"*20)

#"object names"
n1 ="Plane"
n2 = "a" #this is the object to move

#data object 1
object = bpy.data.objects[n1]
object.select = True

bpy.context.scene.objects.active = object

v11,v12,v13, v14 = [(object.matrix_world*v.co) for v in object.data.vertices]

ob1_normal = geometry.normal(v11,v12,v13)

print(v11,v12,v13,ob1_normal)

bpy.ops.object.select_all(action='DESELECT')

#data object 2

object = bpy.data.objects[n2]
object.select = True

bpy.context.scene.objects.active = object

v21,v22,v23, v24 = [(object.matrix_world*v.co) for v in object.data.vertices]

ob2_normal = geometry.normal(v21,v22,v23)

#print(v21,v22,v23,ob2_normal)

##############################intersection point

int = geometry.intersect_plane_plane(v11, ob1_normal, v22, ob2_normal)
#bpy.context.scene.cursor_location = int[0]

#print("new",int)
distance = (v22 - int[0]).length  #distance vertice and intersection point
#print("distance ", distance)

### translate the object

bpy.ops.transform.translate(value=(distance, 0, 0), constraint_axis=(True, False, False), constraint_orientation='LOCAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1, release_confirm=True, use_accurate=False)


Vector texture not rendering in EEVEE but showing in viewport

i just could "work" now with your blend file, which is just a cube with emission color.
I got this as result:

you can get this effect by adding a particle system to your object.

set your particle settings like this:

create a small icosphere with material -> emission color: pink, emission strength: 7 or more

use this icosphere in you particle settings as render object


Possible to stop Subdivision Surface modifier from deforming my mesh?

More detail is needed as of why you have to apply the SubSurf modifier to provide a more complete solution. To illustrate the problem you're ramming into, just move the SubSurf modifier up one level in the Stack:

Before:

After:

why does this happen?

Remember, applying modifiers has to be in order of their influence on the mesh! In your case that means you'd have to apply the Skin modifier first, then the Armature modifier, then the SubSurf. If you just click on Apply for any modifier in Blender which is not at the top of the stack, internally it is reordered to the top of the stack before it is applied.

All modifiers in Blender work sequentially, one after the other. In your case, your Mesh is Skinned first, then you deform that rough tube mesh using the Armature, then the Subsurf smooths the polygons of the result. Changing the order changes the solution. When you were parenting the Mesh to the Armature, the SubSurf wasn't there yet, so no weights could have been stored for it. That's why the weird deformation happens.

possible solution

set the Armature to Rest Position
Unparent your mesh from the Armature using Alt + P
Remove all existing Vertex Groups from the Mesh. This is done in the Mesh data tab, by clicking on the down arrow to spawn the menu, and choosing Delete All Groups

Apply the Skin Modifier
Apply the SubSurf Modifier
Re-Parent the Mesh to the Armature using Automatic Weights

The parenting and weighting will be more difficult than before, because there is more vertices to be considered in the equation. You'll see some glitches at the shoulder area when following this procedure too. That's because you were not modelling the mesh in T-Pose, so the weighting has too many possible candidates for the bone in that area.


How do I orientate an object exactly flat to a plane?

This is where it would be handy to have Maya's Bake Pivot Orientation command.  Sadly, I haven't been able to find a straightforward way to do this.  The best method I have come up with so far is as follows:

Set the mesh object's Origin to Geometry.
Create a custom Transform Orientation for the face you want to be considered 'up'

Create an Empty at the object's origin
With the Empty selected, use Object, Transform, Align to Transform Orientation
Parent the mesh object to the Empty

With the Empty selected, use Object, Clear, Rotation.  The mesh object's orientation will now be reset to 'normal'
Optionally, you can apply the rotation transform on the mesh object.


How do you remove the line in the noise texture?

You need to include a Displacement node.
Use the color mask you've generated as the Height input.

When you connect the color without conversion, it generates this line.
If we switch from Bump Only to Displacement and Bump we can see why.

(Note that I have only connected the Noise Texture to the Material Output in this image.  With the MixRGB node the effect is even more pronounced.)
Both the noise texture output and the color being Added are grayscale values, and when you attach a color directly to the Displacement input it treats it as Vector Displacement.  This means it translates the entire mesh some amount on all axes.  With the way I had my camera rotated it's going up left.
When Blender represents this type of mesh deformation in Bump Only, it is this sphere with a smooth line across the center where all the motion is "up left" and it's difficult to see the bumpiness.
Perhaps better put: if you consider that new diagonal the axis you're operating upon, those pixels at the "equator", as it were, aren't operated upon in a way that can be represented without actually moving them.


Key map for an addon activate the class more than one time?

When you have an addon listed in the preferences you click the tick box to enable it, by enabling it the addons register() function is run. When you disable the addon the unregister() function is run.

Most addon scripts will end with a section of code similar to -

if __name__ == "__main__":
    register()

When you run that addon script in blenders text editor the register() function will be run, and as you run the script again the register() function will again be run. At this stage your keyboard additions have been added twice as the unregister() function has not been run to remove the first entry.

There are two ways to solve this, first is to add an unregister() function call to the end of the script, as it will throw an exception the first time it is run you will want to add in within a try block.

if __name__ == "__main__":
    try:
        unregister()
    except:
        pass
    register()

Now no matter how many times you click "Run script" you should only have one keyboard entry.

This is useful as you develop using blender's text editor but I would recommend you remove it before sharing your script.

The second way to solve this issue is to save the file to disk and use an external text editor. When you save changes to the addon, disable and enable it in the preferences, this will run the unregister() function for you before the new register() function is called as you enable it.


I had the same problem. Downloading VisualStudioC++ 2013 fixed the problem. Posting this here to help people who may come across the same problem.


Requesting help for answer to 'Model a simple plane into steps'

Blender can do this in one, using the AltV Rip Fill operator, with (in this case,) Z to constrain the direction of the extruded fill. (3DS can do this too, so some of the steps in the reference video to the other Q. are not strictly necessary)
There are a couple of gotchas.

Rip Fill works only on edges between faces.
The side of the edge-selection the mouse is on, before execution, matters. The new fill-face is extruded on the far side of the edge, with respect to the mouse.

With Snap set to 'Vertex' and 'Active', and working in an orthogonal view to ensure the mouse is on the right side of the loop selection:


How do you make an object local using the API

Just call make_local() on the object.

ob = bpy.data.objects['my object']
ob.make_local()


Shift select the other layers, you need them selected to render.


How can I see the python actions in Blender

You can do this by dragging the top menu bar downwards and you’ll see the python code there as shown in the top of the snapshot below.


Relative image files not found. Background render. No error, just magenta textures

Got it.  The clue was that another asset, a movie, was found and rendered, but it was in a subdir instead of being the the same dir as the blend file.  So, I moved the images from the same dir as the blend file to their own images subdir.  Then, open the blend file and select File > External Data > Make all files relative.  Save.


Blender Viewport Texture Limit Size affects render resolution

Yes, it seems to be a fork :)

On one hand you would probably expect to see final render in a full res.
On other hand it make a sense keep lowers across whole app for its consistency.

You can say OK - lets use "limit size" only for external images, but that rule doesn't make things work better since you can "pack" images into a blend file.
Also your render is not always the last operation in blender. Image editor, Compositor, VSE, with viewers and previewing options ... all of these editors can continue in editing of this render too. So also here user still could benefit from "limited size". By other words - render starts to play a roll of a "texture". So I guess it is not an easy task to decide where to use limited and where to keep full size texture.
But it's just my theory, probably there is a simple solution behind a lot of my words :)

Suggestion
Try "Auto Save" add-on that saves render automatically, so you can just switch to folder and preview (view) your saved render ... similar step to switch to blender's image editor to check result.


how can i calculate mass of broken glass

Select all the pieces, then go to the left side panel(t)>Physics>Calculate Mass>Glass (Broken), then select Copy from Active.


Can only move object origin in object mode, cant move the mesh

You have likely enabled the Transform Affect Only option for Origins by accident. This can be disabled in the Options dropdown located in the header of the 3D View. Alternatively you can find the same option in the sidebar (N) under the Tool tab in the Options panel as Jachym Michal noted.


Does higher samples and viewport mean a better quality of render?

The render samples are what impacts your final render, when you render with F12 or Render > Render Image / Render > Render Animation.  As a rule of thumb, more samples mean less noise in the render. The difference may not be as obvious as in Cycles, because Eeeve is doing rasterization and not  path tracing.

Eevee render with 16 samples

Eevee render with 64 samples

Close-up 16 samples

Close-up 64 samples

The viewport samples are for the preview in the viewport, when you choose Display Render Preview.


Add marker to 2D tracking list via clip.stabilize_2d_add() or other means

You can add and adjust tracking markers without using operators.

Each movie clip has a tracking property which has a list of the tracks that have markers.

Every tracking.track is a point in that you are tracking. The markers for each track are keyframes of the tracks location.

import bpy

track_data = bpy.data.movieclips['movie_track'].tracking

for i in range(10):
    # this adds a new point to be tracked
    trck = track_data.tracks.new()
    for f in range(1,100,10):
        # this sets the location of the point at frame f
        x = (f+i) * 0.1
        y = (f+i) * 0.1
        trck.markers.insert_frame(f, co=(x,y))

# get track data
for t in track_data.tracks:
    for m in t.markers:
        print('marker on frame {} at {}'.format(m.frame, m.co))


Material renders as black, but looks fine in textured view?

According to your screenshot, you don't have an output node in your material:

Add one by going to the node editor.

To get the nod editor, either press F3 while hovering over an area which you want to make a node editor, or by selecting the area type from the dropdown in the header:

Then press ⇧ ShiftA> Output > Material output to add an output node:

Connect the output of your shader to the  surface input of the output node:


Any good way to fix this particulat tri problem?

Do you mean you don't want any more triangle?

Select your edge
Subdivide it with W > Subdivide
Join the 2 vertices with J
Dissolve the edge with X > Dissolve Edges
Move the new vertice along its edge with G G


programmatically generate road with moving car

This is definitely possible with Blender, and not at all outside the scope of Blender (which is a scriptable animation tool) But you do have to learn the Python API since I don't think any existing addons do this.

Example of Blender generating scenes: http://cgchan.com/suicidator/


Volumetric Clipping! The whole time I was fidelling with nodes when the solution was under properties panel under volumetric clipping start/end... Jesus I hope someone who has this issue finds this post!


How do I make the shape of a Kinder bueno chocolate bar?

You're on the right track :-)

Start with a modified cube
Add an Array Modifier and a Subdivision Modifier (3-4 levels)
Use beveled Curve with Shrinkwrap modifier for the topping

(I took a small bite, sorry about that...)