version 6100 unsupported must be 7100 or later error!

As already answered (and promptly marked as off-topic) on StackOverflow...

  Try the Autodesk FBX Converter. Unfortunately it is no longer
  maintained, but it can converts many file formats, up to FBX 2013
  format.

  Alternatively, if you know a bit of C++ you can write a simple
  command-line file converter using the FBX SDK.

You can convert older formats to a compatible format using this utility and then import it into Blender.


You can press Alt + D to create an instance (live duplicate as I called it in the question)


Bevel modifier not working on one object

Modifiers don't work properly when an object is scaled.

Your object has scale 0.005.

After you Apply scale CtrlA, the bevel will start to work.


In the curve editor grab and slide the end points of the Y scale to zoom in and out :


I sent my friend a blender model but textures aren't showing up?

By default, Blender does not save images as part of the .blend file (this applies to background images or textures used as part of the scene).

To make those images part of the file they have to be packed.

You can pack all external files into the .blend file by going to File -> External Data -> Pack all into .blend.

After doing this you have to re-save the file.

According to the Blender Manual:

  Blender has the ability to encapsulate (incorporate) various kinds of data within the blend-file that is normally saved outside of the blend-file. For example, an image texture that is an external image file can be put “inside” the blend-file via File ‣ External Data ‣ Pack into blend-file. When the blend-file is saved, a copy of that image file is put inside the blend-file. The blend-file can then be copied or emailed anywhere, and the image texture moves with it.


2.8 Curve bevel and taper scaling issues

Partial answer, in order to scale a beveled curve without scaling the beveled section/object,

Scale your curve,
Apply Scale then uncheck the Apply Properties of the Apply Object Transform

As far as Taper goes, it only influences the bevel profile in the X/Y space. I.e. if the taper curve has some Z dimension, it will be ignored.

The full X extent of the taper object applies proportionally (i.e. normalized to) to the full length of the tapered curve. In other words, if the taper object extends between x=-1.0 to x=+1.0 (relative to its origin):

the Y coordinate at x=-1.0 will define the bevel profile width at the start of the parent/tapered curve and
the Y coordinate at x=+1.0 will define the bevel profile width at the end of the parent/tapered curve

The Y scaling is relative to 1m in the Y axis from the origin. Also a side effect is that scaling the taper object in the X axis will not change anything since the normalization to the parent curve length occurs.

If you want to control the exact dimension of the taper effect on the bevel profile in relation to your bevel object,  take the bevel dimension and calculate the scale factor required at the different taper positions along the parent curve and make sure that the Y coordinate of the corresponding taper control point has the right scale factor to obtain the desired value.

For example: with a bevel circle of 3mm radius if you want to obtain a bevel width of 5mm in the middle of the parent curve, make sure that the control point in the X center of the taper curve has a Y value of 5/3m from its origin in the Y axis


How do I set frame_end in the scene using script when I switch between different actions?

The following snippet will loop over all actions and prints the length in keyframes of each action, the scenes keyframe position is adjusted.

import bpy

frame=1
for action in bpy.data.actions:
    print( "action=%s" % action.name )
    print( "action length=%d" % action.frame_range.y)
    frame = frame + action.frame_range.y
    bpy.context.scene.frame_set( frame )
    print( "frame=%d" % frame)


Make a mask from a black and white video

I will answer my own question by posting this video:
https://www.youtube.com/watch?v=rXsrkg31VRI


You have enabled a gizmo.

To change or remove it, make the tool bar appear using T, if not already displayed. Then choose another one or choose the selection box tool.


You may do it fast using the Array Modifier and some basic modeling tools.

Add a cylinder with no fill, then subdivide it in the middle with Ctrl+R. Bevel the loopcut with Ctrl+B and set its thickness. Next inset the faces with I to create extra loopcuts for subsurf creasing. Then extrude the loop of faces (E) and scale it along Z and Y axis only (S,Shift+X). Repeat it twice, then inset the faces again. Finally add a Subsurf Modifier and apply the smooth shading. One segment is ready.

Add the Array Modifier and set it above the Subsurf. Set the Count number as you like and check the Merge checkbox.

To change the angle of the carvings select one in Edit Mode with B, then press Shift+Ctrl+Alt+S to shear it.

Finally you may apply the Array, add the Solidify Modifier (to give the pipe a thickness) and add loopcuts (Ctrl+R) at the edges of a pipe.


As you have read from the other answers this is not a good way to do this. I would use actual 3D text like they did in the tutorial you posted.

However to give your question an answer.

Import image as planes (choose your text PNG)
Make sure you subdivide your text plane to give it more geometry to bend.
Make an Empty and leave it in the center of your text.
on your text/image object add the simple deform modifier and choose the empty as the object to bend around.

Keep in mind you are very limited this way because you are using a picture of text and not actual text.


You can do it with any object. Just enable "In Front" under the "Viewport Display" inside the "Object Properties" tab.


Animate propellers on helicopters without having to reposition them every time the helicopter moves

Select the rotor (airplanes have propellers), then shift select the helicopter, then press CTRLP to parent them together. Now the rotor moves with the helicopter whenever the helicopter moves. Just don't animate the rotor position anymore.


how can i separate dupliverts object on the circle

Select circle.
SHIFTCTRLA Make Duplicates Real


Why Do My Objects Render Without Materials? [Ceramic]

As Ashutosh said, you need to put some light sources in your scene so that you can see the glossiness of your object. If I create a floor and put two planes with an Emission shader material, it seems like your nodes organization works.


What's the best way to avoid ngons and tris in a model?

What has worked best for me so far is to (A) start with quad-based meshes, such as cubes, UV spheres, and cylinders and then (B) add new geometry by using loop cuts (Ctrl+R) and extruding faces (E) in edit mode.

You can then move vertices manually in edit mode or use sculpt mode (with Dyntopo off) to shape your model without adding vertices or creating ngons.


Some people will tell you to stay away from booleans because they can be a hassle and seemingly randomly not work, but if you get used to them you'll find out the exact cases where it won't work and can learn to avoid them.

That being said, here's my checklist:

Manifold geometry (in some, very very speciffic cases (maybe for logos or something) you will use booleans on non-manifold geometry), but it is generally considered to be a very bad idea, unless you know exacty what you are doing.
Normals : press the Overlays Options button on the top right and toggle Face Normals if you see any red, go fix it immediately: Tab  into Edit Mode and press A , then Shift + N
Line-vertex / vertex-vertex intersections: if all else fails, it means you have a vertex exactly on an edge or on top of a vertex, and Blender can't tell what's supposed to be inside or outside. if you are using a literal mesh you should try to move the objects around just slightly, if you are using non-destructive modifier operations, it's always clever to use a prime number of faces on your bevels and screws, this will greatly decrease the chance of such intersections


This method is not exactly what i looking for, but it do his work:

import bge

def main():

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

    rot = scene.objects ["Rotation"]

    own.worldOrientation = rot.worldOrientation

This script get the rotation from Object "rot" an set it to "own".

Location doesnt affect "own".

You can also replace this line:

own.worldOrientation = rot.worldOrientation

With this:

own.worldPosition = rot.worldPosition

for doing the same, but with the Location.

Both two works in real time in the BGE.


There are mainly two ways to switch between Object and Edit mode.

1. TAB

As @depperm suggests you need to have at least one object selected;
you also need to have the mouse pointer inside the 3D View window;
just press TAB to switch.

2. Mode menu

In the 3D View header you'll find a mode menu (see picture below);

just click on it and select the mode you want to switch to.


render animation with multiple views of the same scene

You can use the Multi-View render layer functionality to render from multiple cameras simultaneously. This allows you to add multiple cameras to the scene and render each frame from each camera. Once you have the scene rendered to individual frames you can stitch them together using the compositor - see continuous sequence of frames with multiple cameras with each camera starting at start of animation for an example of rendering the individual frames and making them available to the compositor.

Once you have rendered the images (in my case I rendered a 'Main', 'Side' and 'Top' using Multi-View) you can stitch them together using the Compositor. Here are the nodes I used (a rather rudimentary method of combining and positioning multiple images; the compositor allows for all kinds of possibilities - far more than is appropriate to go into here) :

Each image is scaled and positioned and then combined with a background image (here I've used Lighten for convenience - the starting background should be black; other methods are available to mask out the background if required but that is outside the scope of this answer and depends on your specific requirements).

This produces the following result :

Blend file included  - just select scene 'Scene' and Render Animation to create the individual frames, then select 'Scene.001' and Render Animation to perform the compositing to generate the combined frames.


AO baking for modular environments that will be moved/rotated?

Maybe you could change the AO distance to avoid that the shadows reach the border of the assets.
Go in Blender Render mode, in the World tab, search the Gather line and reduce the Attenuation Distance Value:

Even if the option are grey they will change the AO, also they work for Cycles.


If recalculating the normals via ctrl-n or shift-ctrl-n, on individual linked pieces, doesn't work correctly, you have bigger problems than discontiguous normals.  You probably have geometry that is non-manifold in other ways-- zero length edges, doubles, edges joining more than 2 faces, etc.  Use ctrl-shift-alt-m in edit/vertex mode, disable non-contiguous on the operator panel, and start cleaning up your mesh.


The resolution has a hard limit of 250 (when the number is entered manually). If you really need more you could emit from vertices of subdivided plane (W in Edit Mode) and add an array modifier.

When you don't want to apply the array modifier you should tick the use modifier stack option in the particle settings:


Is there a way to get Blender display the nodes and edges of the national_trade_graph.x3d?

Blender defaults show a Cube along with a Camera object and a basic Lamp. This allows a first time user to immediately render a scene.

The most common instructions in Blender tutorials are to Delete this Cube so you can get on and do your own work.

Select the Cube with a Right mouse click (current Blender version 2.79b, changes in 2.8 to a Left click) and press delete and confirm to remove the Cube from the Scene.

From the File menu select Import and X3D Extensible 3D(.x3d,.wrl).

Select your file and press the Import X3D/VRML2 button.

After a short while your model and all its components are loaded and visible.

All the components making up the diagram are now listed in the Outliner and it is worth learning how to use the Select Pattern function.

Press a to deselect everything and then Click the Select menu and Select Pattern ...

In the Select Pattern dialog change the Pattern from * to Shape_Text*

This will select all the Text elements and you can now move them with g(Grab) and y along the Y axis. Which allows you to nicely move the Text into the foreground or background.


IES light is reflected incorrectly in Cycles

Problem solved. I used a simple mesh and applied emission to it with IES. But mesh itself should be exactly close to IES parameters. For example 4'x2" rectangle. In that case IES texture is displayed correctly. If your mesh is different from what IES is supposed to cover, you won't get right result.


Exporting .blend adds an "emissive" value even without emission shader

Looking at the JSON file, it looks like you use LibGDX fbx-conv tool.

I'm facing the same issue and i can confirm it's not related to Blender FBX exporter. More information and workaround can be found here : https://github.com/libgdx/libgdx/issues/5529


The operator name from "Join as UV" in 2.66 is the same as the one used in 2.76 for "Transfer UV Maps" - bpy.ops.object.join_uvs() which would indicate that the description has been changed to better describe the function that is performed while the function performed is the same, meaning you should use Transfer UV Maps in a newer version of blender to do the same thing.

In the current release it is described as

  bpy.ops.object.join_uvs()
  Transfer UV Maps from active to selected objects (needs matching geometry)

While back in 2.66 it was described as

  bpy.ops.object.join_uvs()
  Copy UV Layout to objects with matching geometry

If you also want to compare the source code you will find that the description used in 2.66 and the description used in 2.76 is the only part of the operator that has changed.


As long as the camera button is un-clicked(as you have it now) It should not appear in a render, it will however be visible in the 3D view unless you un-click the button that looks like an eye. Also, because you're in cycles, you can just do a light render with like 10 samples and easily see a low quality image of what your creation looks like so far.


Is it possible to have a shader effect a specific area of a texture?

The Mix Shader can blend between two shaders. You can specify the area by a mask which is usually a black and white or a grayscale image. You can see on the right side you have to plug the mask to the "Fac" socket. The base shader (it's principled in my case but it can be anything) into the middle and the Emission into the last. The mask is the black and white umbrella in the UV editor. You have to make a black and white image about your texture or you can use your base color with a ColorRamp node.


How to do multiple holes through a cylinder from top to bottom?

Alright as promised, I am attaching images that should help to visualize what I am describing. It probably is not the only way of doing it, but it gives you fairly nice control, no triangles and subdivides nicely.

First I would create a plane, inset it using I and remove the insides with X.

Secondly I would arrange the shape of holes using the square-holes. I did less than you need, but I am lazy and I think it describes technique well.

Third thing would connecting all the holes using F, using extrusion, and removing doubles every now and then you should be able to get to get the fairly round shaped thingie with holes arranged as you want.

Next, I have extruded border out and smoothed it out pressing Space followed by 1 (this "spheres it out" as much as possible).
At this point I made sure to count how many vertices there are on the border of the object. For me it was 28.

Then I have added a cylinder with the same amount of verts (28) and removed it's cap and then connected it with the hole-thingie, Using F.

Then I have selected the edge and beveled it a bit using ctrl+b.

Finally added subidivision surface modifier and smooth shading.. and you're done :)

I think this information helps you out, if not, let me know, I will try to describe it more clearly :)


How to create a seamlessly looping ocean

From Haunt's trick bag:

  Instead of using one Ocean Modifier, use two identical ones. The following values are the ones used in this example.

Key Frames on frame 1 and frame 21. Since these frames will be identical, the loop will only include frames 1 to 20.

First Ocean Modifier:

Animate the time from 15 to 20
Animate the scale from 0.0 to 3.0

Second Ocean Modifier:

Animate the time from 20 to 25
Animate the scale from 3.0 to 0.0

  Since both Modifiers are identical, one starts exactly with the shape the other one ends with. And the scale is used to blend between them.

Set the interpolation in the F-graph Editor to Linear (T) to get a constant motion.
The Geometry of the second modifier must be set to Displace, to avoid overwriting the first.


Blender Exposure not affecting output on OpenEXR File

So it seems I got fooled by the "viewed" image,

I think it's blown up ,and unusable image
but after I put the EXR Image to Davinci Resolve, all the information is still there,
the image is not exposed correctly ofcourse, but the information is still there,
we will need extra effort to re-expose the image.
Before exposure fixing:

After exposure fixing:

so the conclusion is, while the view is super blown out,
if we render in OpenEXR 16bit or 32bit, the information is still there
and we can just pull and correct the exposure using the "hidden" image information


In Edit Mode unselect all by pressing A.

Select a vertex from one part of the mesh and press Ctrl+L to select linked.

Then you can press P to separate that part of the mesh into a new object, you then have the option to separate the elements by selection, material or loose parts.


Why are my render results not coming out the same as viewport?

Use OpenGL Render instead:

It renders what you see in 3D-Viewport.

Blender 2.80 beta doesn't bring this function back, it might become available soon.


How to set up custom controls - Pan using Mouse 4 + MMB

As far as I know, you can't use a mouse button as a key modifier, but only keyboard keys. (I don't know how you have set up "Button4" in the input)

"Button4" is only available in the drop-down list of mouse buttons :


How to complete this hole with the grid around it?

First start by making the hole match up with the underlying grid. In my case I Filled the two faces on each side, then deleted the one in the corner.

Now it is a simple matter of using the Bridge Edge Loops operator. Select the vertices along the two long edges, but not the corner vertices. Like this:

Run Bridge Edge Loops, either from the 3D view header Mesh > Edges > Bridge Edge Loops, or from the specials menu W Bridge Edge Loops. Wait! Before doing anything else open up the operator history (bottom part of the tool shelf or press F6). Change the Number of Cuts to match the topology (in my case it was three), and set the Interpolation to Blend Surface.

Ah that's looking better.

Last thing to do is fill the remaining holes. That is easily done in one step. Just select the edges (like I show in the image below) and run Bridge Edge Loops again.


Black lines where a transparent mesh intersects

Up the Max bounces under Render > Light Paths > Transparency to a high number, even numbers like 48 or higher. The more overlapping transparent surfaces there are the more likely to get black artifacts if the transparency bounces isn't high enough.
If that doesn't work, perhaps check the normals aren't getting inverted mid-way, but it's likely the former.

You could also disable the cloth rendering completely by unticking everything under the Object Panel > Cycles Settings, which should speed up the render.


Two armature, two rest pose, fixing animations

The solution is rather simple.
You need to add Bone Constraint -> Copy Transforms to armature without animation. As Target add armature with animation, and as a Bone, bone with the same name. Rinse and repeat for all bones.
Here is the code that automates all:

Creates constraints and link bones with other armature
Iterate over all frames, apply transform, and insert keyframes for all bones
Delete constrains

Just fill source and target armature, and animation from and to.
Moreover, you can just call add_constraints() function which will link armatures and bones.
import bpy

source = "Bip001"
target = "Bip001.001"
frame_from = 0
frame_to = 35

# add constrains and link them with target bones
def add_constraints():
    global source, target

    source_ob = bpy.data.objects[source]

    for bone in source_ob.pose.bones:
        sel_bone=source_ob.data.bones[bone.name]
        sel_bone.select=True
        bpy.context.object.data.bones.active=sel_bone

        trans_bone = bpy.context.object.pose.bones[bone.name]
        if trans_bone.constraints.find('Copy Transforms') == -1:
            if bpy.data.objects[target].pose.bones.get(bone.name) is not None:
                bpy.ops.pose.constraint_add(type='COPY_TRANSFORMS')
                trans_bone.constraints["Copy Transforms"].target = bpy.data.objects[target]
                trans_bone.constraints["Copy Transforms"].subtarget = bone.name

# delete previously created constrains
def del_constraints( ):
    for bone in bpy.context.selected_pose_bones:
        copyLocConstraints = [ c for c in bone.constraints if c.type == 'COPY_TRANSFORMS' ]
        # Iterate over all the bone's copy location constraints and delete them all
        for c in copyLocConstraints:
            bone.constraints.remove( c ) # Remove constraint

def apply_animation():
    global source, target, frame_from, frame_to
    #set keying set to whole character
    #we have all bones selected
    scene = bpy.context.scene
    for frame in range(frame_from, frame_to ):
        scene.frame_current = frame
        scene.frame_set(scene.frame_current)
        # apply visual transfrom to pose Ctrl+A
        bpy.ops.pose.visual_transform_apply()
        # insert all keyframes -> press I
        bpy.ops.anim.keyframe_insert_menu(type='__ACTIVE__', confirm_success=True)

def select_all_bones():
    global source, target
    ob = bpy.data.objects[source]
    for bone in ob.pose.bones:
        b=ob.data.bones[bone.name]
        b.select=True
        bpy.context.object.data.bones.active=b

ks = bpy.data.scenes["Scene"].keying_sets_all
ks.active = ks['Whole Character']

ob = bpy.data.objects[source]
# uncomment line below if you are using Blender version below 2.8 and comment out 2nd line
#bpy.context.scene.objects.active = ob
bpy.context.view_layer.objects.active = ob
bpy.ops.object.mode_set(mode='POSE')
#select_all_bones()
add_constraints()
apply_animation()
del_constraints()


Can I parent objects to parts of a group instance?

No, an instance is just an empty object (with a DupliGroup).

You should place an empty where the target object is located within the group. Parent the empty to the group instance and then parent your object to the empty.


How To Convert Imported Identical Meshes to Instances (Duplicate Linked)?

As long as the origins of the various objects are in correct relation to each object, there is a simple way to do this. Select all objects that are supposed to share the same mesh data, then - in the 3D View - hit Ctrl + L to open the link menu. From there, choose Object Data:

This will re-use the mesh data from the last selected object on all other instances. You can tell that they are instances in the mesh data tab of the outliner. The user count (number next to the data name) should have appeared and increased to reflect the number of meshes that re-use the data:


The basic way to do it is this one:

Create your graffiti with a transparent background (on Photoshop or directly on Blender, in that case create a new image with a 100% transparent alpha background).
Mix your brick image and your graffiti image with a Mix Shader.
Plug the Alpha output of the graffiti Image Texture node into the Factor input of the Mix Shader so that the transparent surface of the graffiti image will work as a mask.
You can create a second UVMap to manipulate the graffiti coordinates, size or rotation, independently from the brick texture: In the Properties panel > Data > UVMaps, add a new one with the +, then unwrap again your object, then, before the Image Texture of the graffiti, create an Input node > UV Map, and choose this second unwrap as the UV coordinates.


How are bones & armatures connected to the rest of a model?

OOOkay.This is

Armature in a Nutshell

Armatures and bones are for posing stuff, just like you would wiggle your arms and nod your head. All of your bones move whenever you move.
Same thing for blender bones, they help stuff move and get into different poses, like statues. (okay I'm gonna stop the five-year-old thing now)

All you have to do is make an armature that looks kinda like the shape of a skeleton.
See the stuff highlighted in orange? That's his skeleton. each one of those tetrahedron shapes is a bone.

you can make an armature like this by going into Edit Mode and extruding the bones by pressing E. When you do this you want to make it the shape of your model. See how it all is the shape of the robot-guy-thing? It's actually inside him, i just turned on an option called X-Ray so I could see it.

Build your armature until you think it looks good enough to be the moving skeleton of your model.Once this is completed, parent the object to the selected bones using Ctrl+P > With automatic weights.

This'll make the armature move the model when it moves. To try this, switch to Pose Mode and right click on a bone you wan to move. Press R to move a bone around, watch your model follow.

This was a very basic explanation and i'm kinda gritting my teeth right now not to write a novel on it but you'll find a lot more stuff as you get better with Blender.
If you want to see some of it, and it's pretty complicated, just search IK on this site. Your brain will go boom.

Sorry if I went to long.


How to assign a hotkey to 'set origin' context menu?

Create a new key map item under 3D View > Object Non-modal and set the identifier to object.origin_set (bl_idname for Object.origin_set() operator).  In order to match the definition of the hotkey in 2.7x, set the event to C and enable ShiftCtrl Alt for the modifier keys:

Note: Assigning shortcuts to enum menus like this (operator in this case), is a known limitation and will hopefully supported in the near future: https://developer.blender.org/T65704


How to remove a linked library in blender?

Okay, I figured it out!

In the outliner, I went to "Blender File" and beneath the "Current File" data, all the library files were listed. From there I could simply right-click and delete the unused library files.


How can I remove the lines around the edge of an object?

It appears to be a UV layout problem - not enough margin between the UV islands, so color data is bleeding over. From what I can see of the UV texture on the right everything is just packed way to closely together. But maybe you can fix this by scaling the UV islands in a little, one-by-one.

Instead of this...

More like this:

Also, to fix triangles like that one on the arm, enable Auto Smooth in the Mesh Context.

Update:

I looked at your .blend and it does appear that the UV layout is the problem.

Note how there is no margin between the islands.

In addition to that, there are parts of the layout that are doubled-up. This may or may not be intentional, but it means a texture in that region will show up on more than one place on the mesh.


What does selecting "Normal map" in the image sampling panel actually do?

Assuming you're using the old Blender Render engine, this checkbox just tells Blender that the texture in question is a normal map rather than a bump map so that it knows which shader to use.


The Internal (rasterizing) engine simulates even, undifferentiated lighting from a distant environment, chiefly using  two settings: the Environment Lighting, and the adjust-to-taste Ambient setting of materials, setting the degree to which the environment lighting contributes to the color of a surface. Ambient Occlusion can further simulate proximity shadows. These methods are essentially informed trickery.

The Cycles (Path Tracing) renderer approximates that same lighting by actually sampling the environment, including the light scattered from other objects in the scene.. no trickery is required. In Cycles (in principle, at least), you don't set 'environmental lighting', you set the environment.

That might include giving the world an emissive color, using the 'Surface' and 'Strength' settings in the World tab, or an HDRI texture; it might involve constructing a local environment of lights, emissive and reflective surfaces as you would in a photographic studio.

Have a look at gandalf's answer here for an introduction to the differences between the renderers


I cannot get a scene to render in blender

Your ParticleSystem2 setup for your pebbles is what is bogging down the render. It's currently set for 30k particles with 100x children to render which I think is the source of your infinite render time.

I would cut down on the number child particles by quite a bit. I would also use a blend texture from foreground to background to effect the particle density so it would give me more particles near the camera and less particles in the background. You may have to apply the curve modifier to get the blend texture to work properly.

You could also use a pebble texture for the background pebbles instead of actual geometry particles, which will cut down on your particle count as well.


Why i cant see ''Bake data'' on my blender 2.83?

Scroll to the bottom inside the domain settings to the Cache menu, switch the type to "Modular". In version 2.83, the default cache type was changed to "Replay". This just means that the simulation will take action when you press the play button.


The solution I've found was to to override the context.node call. The way I did it was by creating a dictionary with 'node' as the key and the node as the item, e.g.
override = {'node': bpy.data.node_groups[node_group_name].nodes['node_name']}
The operator can then be run with bpy.ops.node.ligexport(override, 'INVOKE_DEFAULT']).


Your cube is black because your volume scatter node is plugged into the surface input of the material output node.
From the manual page on the shader,

The Volume Shader output must be plugged into the Volume Input of the Material or World Output node.


When I render this It became a small dot

Render visibillity for the array modifier was turned off.


Does Blender have a transform modifier (such as scaling, rotation, translating)?

Alt-S will undo scaling (ie. set scale factors to 1.00)
Alt-R, and Alt-G will, in the same way, undo rotation and translation respectively.
In that sense, S,R, and G are not permanently changing your mesh objects.
If you want to make transformations permanent, Ctrl-A and Apply rotation etc.
Does that answer your question?


Select the different parts of the character you want to scale down.
Snap the 3D Cursor to the center of the grid by Pressing ShiftS and selecting Cursor to Center.
We will use the cursor as a pivot point. Use the 3D cursor as the pivot by pressing ..
Scale everything down by pressing S and entering the scale 0.01, press enter to confirm. The objects should be scaled towards the center (0, 0, 0).
Apply rotation and scale by pressing CtrlA and choosing Rotation and Scale.
Align the 3D view pivot point to the current selection by pressing NumpadPeriod.


Camera animate from ortho to perspective

No.

But.

You can simulate the effect with a pretty old camera effect made popular by Hitchcock called the Dolly Zoom.

https://gph.is/29cUPJK
(can't embed gifs in SE, turns out)

Another example:
https://i.imgur.com/swqHfwS.gifv

Basically you move the camera forward while cranking the focal size (sometimes called "lens size") back simultaneously (or the inverse for the reverse if you want things to "flatten").  You can animate those controls on the blender camera the same way you can animate most arbitrary properties: by right clicking the value and selecting "add keyframe".

I've also seen people put together driver based camera rigs for these kinds of shots.


Is it possible to hide the origin's display dot of the object(the black dot) from the viewport display ?

EDIT: Now possible in 2.8 and above: view Is there a way to hide all the origins in the 3D view?
In 2.7x and below it is not possible to hide only the center points. But if you need a clear view, you can activate Only Render in the Display Panel of the Properties Bar in the 3D View.

By the way the dot is not the center of mass, it is the center of transforms. (if you eg rotate the object, it will rotate around this point.) You can set the origin point to wherever you want with the weird shortcut ShiftCtrlAltC.


How to install "Cycles Minecraft Rig BSS" (Blender 2.9x)?

It's a rig, not an addon. You need to append it into the scene.


How To use Visual Studio Code to write blender python script integrated with blender?

For Blender 2.8 Jacques Lucke started working on a new VS Code extension that offers the best integration I found so far between VS Code and Blender. You can find it on GitHub.

You can already create, start and debug Python scripts and addons from VS Code with it. Auto-complete is at the point of this writing missing but planned for the future.

Here is a nice video explaining the setup and how to work with it:

https://youtu.be/q06-hER7Y1Q


Change camera field of view on keyframe?

You should be able to simply add key frames to Focal Length (I don't have Blender at hand to check, but I think I've done it recently in one of projects).

Selected one frame, enter value you want at that frame then press I when hovering mouse over Focal Length value input. Then next frame, enter new value and press I again.
This also lets you use F-Curves editor to specify whatever interpolation of value you want.

Also, I don't think you want to be changing sensor size (though that I would suspect should also support key frames).

edit:

Apparently you can't keyframe FOV (I thought it didn't matter whether you operate on FOV or FL), but you can focal length:


Problem with camera orientation in motion tracking

The problem with your shot is that there is no parallax information. The camera is just panning, but there is no displacement. In other words the camera is just rotating but stationary in the same place. The normal camera solver cannot reconstruct the distance to the tracked points to do a proper 3d solution on this kind of shots.

You need to solve as tripod.

Note that when you do that there is no way to get a proper reconstruction of the space in 3D. The tracking points are then projected in a spherical way around the camera.

Tripod solve will not give you real 3D information.

From the wiki:

  tripod can be used for footage where the camera does not move and only
  rotates. Such footage can't be tracked with a generic solver approach,
  and it's impossible to determine the actual feature points in space
  due to a lack of information. So this solver will solve only the
  relative camera rotation and then reproject the feature points into a
  sphere, with the same distance between feature and camera for all
  feature points.

To integrate 3D elements into the shot you're going to need to know the actual lens/sensor used and try to calculate the camera height manually.


How do i add the render layers node? its not there at all. In fact there are no nodes

In this case, (and anytime you have missing nodes mostly) you have to tell blender that you want to use nodes. Simply click the button that says use nodes in the top of the workspace.


Scale of rotation is not matching to the real scale

This kind of thing can happen when you switch the Units under Properties panel > Scene tab > Units dropdown. You most likely switched Degrees to Radians.

Units dropdown:

Degrees selected:

Radians selected:


When creating animations, how come we start at frame 1, not frame at 0?

It's this way because just about everything else that is indivisible in the world is that way, and for good reason. We start at frame 1 because it's the first frame. Sure 0 could be used, but having 0 as the first frame instead of 1 would be unnecessarily confusing since frame 1 would now not be the first frame and everything would be offset by 1.

It may be easier to understand if you think of a similar situation where you start at one and not zero, such as counting things (which is technically what we are doing here) or book pages.


Copy a mesh at the location of each vertex of another mesh or curve

In order to copy a mesh (A) on the vertex location of another mesh (B), you have to select B, click on context object , select instancing and click verts. Then click A first and shift click B and press Ctrl + P to parent, a menu should pop out and pres object. Now the object A is copied on the vertices of object B. The copied ojects will be oriented on the B's vertices normals.


Use the make duplicates real function Ctrl-Shift-A


I don't have the required reputation to post a comment so I am posting a reply

For anyone stumbling across the issue:

Recheck the Render Slot at the bottom of your render window
Uncheck the Save Buffers checkbox under the Performance Tab in Render Properties


Weight Paint mode makes my mesh white? Is it locked?

You have enabled the Paint Mask > Face Selection option, which allows you to only paint on the selected faces, so either disable it or use Ctrl or Shift and left click to select the faces you want:


just smooth your low poly mesh before baking:

Edit mode -> 'A' to select everything -> 'T' for tools sidebar -> Go to 'shading/UVs' in the sidepanel -> Under faces press 'smooth'

Don't worry about edges being soft when you bake a normal map onto it, it will give it it's sharp look back when the normal map is applied :)


bpy.ops.mesh.fill() Warning: No edges selected

I believe it's because I hadn't marked the object as active. I added

scn = bpy.context.scene
scn.objects.active = bpy.data.objects[0]

before doing the fill, and that seemed to fix the error. Of course, the fill was completely ... not what I'd expected so I'm persevering with a manual one for now!


You can use limit constraints, the catch is that they limit visual values used but the actual values can be anything. This is only of concern if you want to access the values in python.

So while your slider will continue to display large rotation values like 1346 degrees the bone will only be rotated between -90 and 90 degrees visually.

If you setup a driver to use the rotation value of the bone then it will just work, the driven value will be within the limit rotation values.

If you want to access the rotation value within python then you should manually apply any limits to the value before using it.


Snap cursor to selected within a python script?

Set the location directly

There is no need to use the operator.

What context are we looking at here? In object mode snaps to the average of selected objects origins, in edit mode the average of selected verts for mesh, bones for bones etc etc. When the global location vector (x, y, z) is known it's simply a matter of scene.cursor.location = (x, y, z) for 2.8x or scene.cursor_location in prior

eg 2.8x object mode example, moves cursor to average global location of selected objects.

import bpy
from mathutils import Vector

context = bpy.context
scene = context.scene

obs = context.selected_objects
n = len(obs)
assert(n)

scene.cursor.location = sum([o.matrix_world.translation for o in obs], Vector()) / n


How can I make light that changes its color with path length?

The node setup for the lamp:

Ray length as input
A power for tuning the value
HSV node which shifts the input color depending on the ray length
All connected to the color socket of the lamp

The plane which receives the light is just a simple diffuse shader.

An alternative configuration:


How to get rid of out of frame black borders around a scaled down movie overlay

The default blend type for a strip is Replace. This will replace the underlying strip with the new one, filling with black any unused area.

Change the Blend mode to Alpha over or Over drop to keep the underlying video visible. This can be set in the Edit Strip panel in the properties sidebar (press N)


Is this a correct way to do procedural bumps in Cycles?

While i am not an expert in the way blender nodes work, I think that it would be more precise to use the Fac (Factor) connector instead of color.

The color connector in the noise node creates a color output thats not black and white, thats then converted into height data in the bump node.

The Fac connector will generate non-color data that then is used to generate height information.

There is a significant difference in how your bump map will look depending on which connector you use. The Fac connector should be more accurate for height data.

You can see the difference here on how it works.
The top squares use the Fac and Color connectors respectively directly as the diffuse input and below are those values plugged into the bump node to generate height.


Help with moving an object in bge randomly via script?

Cause

I think you do not understand the concept of the BGE logic. In your Python code you describe the behavior within a single frame. This means it runs exactly once per game loop iteration.

Your loop will not executed "over time". It will run within one frame resulting in overriding the object location and printing to console 100 times. The effect is: 100 messages per frame and a waste of processing time (as only the last location change will be visible).

Solution

Design the code in a way that it describes ONE iteration rather than 100. Run the code when you want to change the location. This might be

constantly (Always with true level triggering),
at key press (keyboard sensor)
random interval (timer property + property sensor + random actuator)
...

here is a sample code - demo.py

import bge
import random

def setAtRandomPosition():
    if not allSensorsArePositive():
        return
    owner = bge.logic.getCurrentController().owner

    owner.localPosition.x = random.randint(-10, 10)
    owner.localPosition.y = random.randint(-10, 10)

def allSensorsArePositive():
    for sensor in bge.logic.getCurrentController().sensors:
        if not sensor.positive:
            return False
    return True

call it with Module mode: demo.setAtRandomPosition

I hard-coded the limits from -10 to +10. You see this code is very simple as you only care one frame. How you keep the object within the camera frustum is up to you.

Try this with an Always Sensor [True Level Triggering] Frequency: 20

or use the keyboard sensor to set a new position at each  press

I hope it helps you


Mapping a textures z location from [0 to -40] to [0 - 1] for baking baking sound to f-curve

If I understand you correctly, you'd like to map the incoming 0->1 audio amplitude range from the baked f-curve, to a 0 -> -40 range for use inside a shader node-tree.
You can key the incoming audio range into an Input > Value  node, and map that to any other range you like with a Converter > Map Range node:

... here, mapping  0 -> 1 to 0 -> -40, influencing only the Z-component of the location of the texture space. The 'Clamp' checkbox causes the output to flatline at the min and max of the ranges. If unchecked, the mapping extrapolates.
Using a Value node is more flexible than keying, say, the 'Fac' of a color-ramp directly. The single 0 -> 1 audio input can be branched, and mapped to different ranges for different features of your tree.


hiding objects from render while keeping their reflections

You can reproduce the backface culling effect with this simple node setting :

Of course instead of the Diffuse, plug your wall material.


Make sure that the object isn't disabled in renders, the camera icon next to the eye icon has to be white for the model to appear in the render,

here is a photo:

edit: I made the mistake of not reading your question all the way through, my apologies, but I will keep this up in case anyone has this problem.

P.S: Have you seen if there are any modifiers on the object(like build)?


Outliner showing duplicate entries for same object after python script parenting

bpy.ops.mesh.primitive_plane_add(location = tv.location, rotation = tv.rotation_euler)

creates the plane in the currently active collection (which seems to be the root here).

As an object can be in several collections, you'll need to unlink it from root or from its current collection:

newBar.users_collection[0].objects.unlink(newBar)

Then link it to the tv (first) collection:

tv.users_collection[0].objects.link(newBar)


Select the lattice, shift select the armature, switch it to Pose mode, select the head bone, then ctrlP > Bone and it seems to work correctly.


Why Blender Mesh becomes messy when imported into Salome

I have changed the cap fill type of the cylinder to be triangle fan. It looks nicer. But the imported STL file in Salome still has some weird small redundant edges...

After I have cleaned up the mesh by merging by distance. Then the final geometry looks nice in Salome:


The Boolean Modifier will come in handy here. It's not a physically accurate solution, but you can certainly fake it for illustration purposes.

Boolean can carve out geometry based on a reference object. So in this case, you can create a transparent object to point the modifier to, which will do the carving. Parent it to your solid object so they move in sync.

I've made a demo file with a basic animation. You can download it here.


It looks like you haven't added a material to your model. You need to add a material, create an image texture node referencing your texture, and connect it to the base_color of the Principled BSDF that appears.

The material can be added by clicking on the +New button above the shader editor (while the mesh is selected), or in the materials tab of the properties panel (on the right, its icon looks like a checkered sphere). You can add the image texture node by pressing shift-a and choosing texture>image texture.

If you want a shadeless texture in EEVEE, use the Emission BSDF node from the shift-a>shader menu.


"ImportError" No module named 'bge' in OSX

Blender Python

Blender Python can be executed via the [run script] button. It will make Blender run your code immediately.

BGE Python

BGE Python code is executed by a Python controller. You need to ensure the controller gets triggered by at least one connected sensor. Be aware the sensor(s) do not need have a positive evaluation status to run your code. Your code needs to check the sensor status by itself.

This happens only when your game session is running (Blender is suspended during this time).

There are two ways to set up Python controllers:

Script mode

You can select one of the text blocks that are included in your .blend file.

When triggered the python code inside the text block gets executed starting with the first line of the file. As usual any variable defined in the code will die latest after exiting your code block.

Example: myScript

import bge

controller = bge.logic.getCurrentController()

print( controller.name + "is currently executed" )

You configure your Python controller in Script mode. The field should be set to myScript.

Module mode

This means you created a python module. Python modules have a name ending with ".py".

The BGE expects one function definition with either no or exactly one argument. When present the argument will receive the reference to the executing (current) controller.

The module can reside inside of the blend file as text block or outside of the blend somewhere in the Python search path. The path of the currently executed .blend file (the one your started your game from) is part of that path.

Example: myModule.py

import bge

print("'myModule' is initializing")

def demonstrateExecution(controller):
    print( controller.name + "is currently executed" )

You configure your Python controller in Module mode. The field should be set to myModule.demonstrateExecution (no parameter, no parenthesis).


Transparent Image As Plane While In Sculpting Mode

Enabling X-Ray on the Display panel for the plane will keep it transparent in sculpt mode.


How do I texture an ocean scene without using a background world image?

I guess what you need to do is deactivate the Camera option in the Ray Visibility of the World to make the world invisible to the camera but keep the reflections, and enable the Transparent option of the Render to make the background tranparent:


Python is an integral part of blender's design, python is used to define the user interface of blender and some operators that perform tasks are also in python. Removing python would really disable blender from functioning.

Using only the game engine it may be possible to run it without python as you won't be using any of the pre-defined UI, only object rendering through opengl, provided you don't use any python scripts in your game logic.

Blender's use of python isn't likely to be a factor in mobile distribution. While desktop usage of the game engine is as broad as blender's availability, the main thing that you will find preventing blender's game engine being used for mobile games would be the limited support of openGL ES, which is used on mobile devices. There has been a couple of attempts at starting this but I'm not certain of the current state of progress.

I believe you will most likely find that blender's GPL licensing forcing developers to also release their games as GPL and possibly still being in conflict with the Apple Store TOS, that it would be the main factor in it's non-use for commercial and/or mobile games.


Help the lighting doesnt work and some part of the object is black

Check your normal image, switch the Image Texture node to Non-Color, maybe lower down the Strength of the Normal Map node.


I find that the minimize stretch function isn't usually what works for me. When trying to minimaze the stretch in the UV island I usually pin some vertices and enable live unwrap. Pinning vertices away from each other and moving them while in live unwrap will adjust other vertices automatically and usually choosing the right vertices will minimize the stretch.
My heuristic is to choose vertices at extremes of an immaginary rectangle and start moving them. Pinning and unpinning other vertices to see what works better.
There's not a fixed rule, but usually it works.


How to ease out the retopology works on Blender, like in Zbrush with groups and remesh, for a character you need to animate?

I found the answer with Blender version 2.83. There's a new feature called Face Sets, when remeshing you can tick the box to preserve the face sets in tool layer > Remesh.
But you have to make sure you ticked off "Dyntopo" before, or you won't be able to remesh.


Is there a better method to add uniform thickness to a curve pattern that has been converted into a mesh?

Maybe there's a simpler way but you could try with the Wireframe modifier:

Select your mesh, fill with F.
Give your object a Wireframe modifier. Enable Boundary, choose the Thickness you want.
Apply the modifier.
In Edit mode, select all and flatten with a SZ0.
Remove doubles with a W.
Delete the unwanted faces.
Work the angles.


Use a light path node, so that only the camera sees the environment texture but is not affecting the objects in the scene:


In the 3D printing game it would be called the 'self-support angle'.

This setup assumes that the upside of your STL/mesh is oriented in the +Z direction.

The example is targeted at a 3D printer which behaves as follows:

prints perfectly up to 30 degree angle (white colour)
in most cases manages to print in angles between 30 and 45 degrees (yellow colour)
anything over 45 degrees will collapse

The ColorRamp can hold values from 0 to 1 while the Normal is 0 to 90 degrees.

Value 0 = 0 degrees
Value 1 = 90 degrees

As a result for this example:

Value 0.333 = 30 degrees
Value 0.5 = 45 degrees

See a nice comparison of how the self-support angle affects the 3D print (note that it is measured from horizontal surface rather than vertical direction in this photograph :/).


Snapping edges to surface not working in blender 2.8

Some variation on this?

Set  the origin of your object is at its base..
In Edit mode, assign the extruded vertices to a Vertex Group
In Object Mode, Switch on Snap, to Face, Align Rotation
Give the object a Shrinkwrap modifier, aimed at the Vertex Group, targeted on the surface.

Then, you can slide an object around on a surface, keeping contact.

In this case, the disc is up in Z, so I set the Shrinkwrap to negative Z projection. This may seem long-winded, but this can be a useful modelling routine.
You can take this further, making a flange, matching normals, etc., to make a Decal, but that's more than you want.


Eevee emission reflections disappear when out of view

You seem to be mistaking your bloom effect with indirect lighting.

Left: Indirect lighting, Right: Bloom

Bloom will not be visible once an object disappears from view (e.g. when the camera angle changes). The indirect lighting is very faint in your example since the emissive area is very small and the illumated surfaces are at a 90° angle.

However, even increasing the brightness of the emissive material won't help much if the samples of the light probe are too few. You will quickly get unnatural artefacts.

A solution could be to use a very dense light probe and a very bright emissive light. You will have to reduce/adjust the bloom effect which will be even brighter then.

Many samples.

But as you can see, there are some artefacts. Light probes are not very useful for very small emissive lightemitting meshes. A real solution would be, to reproduce the emission with normal lamps.


How do I create a partially transparent flag?

Well this is not too straightforward, especially if you would like a very realistic result. For more realism I would recommend using subsurface scattering to achieve such an effect.
I suggest you start off with translucency as GiantCowFilms suggested. Here is a simple configuration that you can start with:

(Image from Daccy, BlenderArtists)

PS: You would need a few separate passes (masks) as some of parts of that flag are more translucent than others and some are not at all...


Why is my Wacom Cintiq Companion eraser not erasing in sculpt mode?

Welcome to BSE Nikolai. As far as I know there is no erase in sculpt mode - Add pulls the vertex along the normal outward, and Subtract pushes them in. You can either do this by the menu buttons or holding down  CTRL  to reverse the operation. The eraser still works but has no function on the meshes. If you had for example grease pencil strokes, you could erase those even though you are in Sculpt mode. The same is also true of Edit mode.


Unfortunately the fbx file doesn't seem to contain any useful animation data. You can check the animation data with the graph editor.

On the other hand, if you check Force Connect Children and Automatic Bone Orientation, bone orientations will be aligned.


A few automatic weight / weight painting questions

An answer to the second issue: There are different shades of blue and the lighting can hinder your ability to spot the weight paint. What I would suggest is just subtract every part of the mesh to make sure you get it right. And then start painting.


UV map transfer with Data transfer modifier gives ripped borders

Found a solution!

transfer uvs with Nearest face interpolated;
select the border edge loops and add them to a new vertex group;
transfer uvs again with the default setting but only for this vertex group.

Shown in this video starting from 22:13


Is it possible to lock one UV island and scale other (same) to be the same size as the locked one?

Snapping

Or if they are the same size - by using the Texel Density Checker Addon https://gumroad.com/l/CEIOR


Rigify is an Add-on.

It has to be enabled. Open the system preferences

CtrlAltU

And enable Rigify

If you want the addon to be enabled permanently press on the Save User Settings.


You can use a transform constraint on the extendable arm bone to turn the control's movement into scaling.
You will want something like the following settings:

You only care about translation on the bone's Y axis, so local space and only a y range. The size of the range specified for location (i.e. the Max position) controls how rapidly the control will move the upper part of the telescoping arm.
unused scales should be 1 -1 ranges not 0, or things can disappear.
scale in local Y space again, along the bone's axis. Scale minimum will need to be tweaked for the appropriate rest position.

As you are scaling the bone this can get inherited by child bones, which you don't want, so make sure that for all the children you uncheck the inherit scale option in the relations section:

Depending on how you are attaching your model to the mesh, you may wish to add two child bones to the extending arm to position each part. The lower part can have a copy rotation to the scaling bone, and the upper part can be parented to the scaling bone. In my blend file I have added two smaller bones derived from the main arm are just there to define the position of the two parts or the arm in the armature. This can be useful if you want to rig other parts that need that information, and allows you to use an armature modifier and vertex weights if you need to export to a game engine.

Example blend:
https://drive.google.com/file/d/1Ee_ZH70Mk4e2HfVfx3BCoHiKV6tqwcc_/view?usp=sharing


Subdividing cubes at different intervals

Use Loop Cuts (Ctrl+R)

Position the mouse to select the axis,

Using the Mouse Wheel you can control how many subdivisions you want on each axis.


How to copy objects in Blender without copying their materials?

To copy objects without copying materials create linked duplicate of all adjacent objects; they will use the same material (along with other data). Then in order to make linked objects independent from each other (sharing only material), make them single-user via Object > Make Single User menu (or press U while in 3D Viewport) and choose Object & Data.

You can do the same between different scenes by linking them to that scene; press Ctrl+L and in Objects To Scene dropdown choose scene to link them to.
Make sure to make them single-user after linking if you want them as independent objects.


Fluid sim is not working right; water forms a flat table with an object, creates a large gap

If you change an object to be part of a fluid simulation, a modifier gets enabled to said object.

This modifier has to be the first one.

This means if you got any mesh changing modifiers enabled they wont apply to the fluid simulation.

You need to apply anything before starting the render.


How do I sperate an object while having both objects retain the same face?

Select the faces you want, then duplicate them with Shift+D. Offset in the z-direction if you want them to stay lined up (Shift+D, Z, move mouse, left-click to make it stick). Once you've done that, you'll have something that looks like this:

From here you can separate the selected faces from the object, then go down to the original and delete the faces you don't want. (Another option is to duplicate the object and delete the unwanted faces in each.)


I would create two materials, one for "on" segments and one for "off" segments. Then I would swap out the materials on each segment to display the correct number.

Here's a small script I made to do the job:

# Assumes segment objects are named
# SegmentA, SegmentB, ... as follows:
#   A
# B   C
#   D
# E   F
#   G

import bpy

segments = {
    "0": "ABCEFG",
    "1": "CF",
    "2": "ACDEG",
    "3": "ACDFG",
    "4": "BCDF",
    "5": "ABDFG",
    "6": "ABDEFG",
    "7": "ACF",
    "8": "ABCDEFG",
    "9": "ABCDFG"
}

def setdisplay (s):
    for x in list("ABCDEFG"):
        bpy.data.objects["Segment"+x].material_slots[0].material = bpy.data.materials["Off"]
    for x in list(segments[s]):
        bpy.data.objects["Segment"+x].material_slots[0].material = bpy.data.materials["On"]

setdisplay("4"); # or whatever


How to access Object Display properties?

You can change this from the Object properties as shown below:


I asked this same question to one of the developers of Blender at the Blender Conference in 2019 and he said that they are identical.


Create a volumetric cone shape in eevee?

Thanks to  Inigo Quilez, here's a signed-distance function from the surface of a cone of a given pitch angle.

float sdCone( vec3 p, vec2 c )
{
  // c is the sin/cos of the angle
  float q = length(p.xy);
  return dot(c,vec2(q,p.z));
}

I would have done it another way, but this is much simpler... it boils down to the distance from a point to a line.(The vector projection proof)

Here, the cone is in the space of an Empty, so you can move it around. You set the angle at the 'Angle' input in radians, and can adjust the scale of the cone with the 'Threshold' setting, and the density inside it by multiplying the result.

I tested it on a stack of planes.. it is filling the volume, with the 'Less Than' (the threshold).. if you use a 'Compare' instead, you can capture just a shell.


Can you extend an edge to make a loopcut?

I'm not completely sure about your question, but maybe here is a way to fix your topology, does it give the results you want? By the way you don't so many edges to create a round corner.


I don't know where you failed, but according to your blend ...
You created a vertex group "hook", but you didn't Assign two top vertices to this group.

When you Assign two top vertices to Plane, position Empty on top Plane's edge, add Hook modifier, set Object > Empty and Vertex Group > hook

Than Duplicate Plane (so you don't have to set modifier for each) and change Strenght value for each 1 / 0.8 / 0.6 / 0.4 / 0.2
Now when you move Empty along Y axis bars are scaled accordingly ...


Self collision breaks or "shrinks" the cloth if the mesh has dense polycount

Done, Rich Sedman answer what i needed to know in this post Self Collision - Blender Cloth Sim shrinks mesh anyway i still hate that the self collision distance and object distance cant be lower than 0.001...


Blender2.8 freezes when using smooth brush

I have the same issue but in multires. Using airbrush stroke method instead of space increased performance.


How to move 2 faces/vertices/edges one into another along one axis

I was able to do it by first hooking each group of vertices to a separate hook: select, CTRL + H, Hook to New Object:

Now in Object Mode select both hooks, in Object Constraint Properties tab  add a Limit Scale constraint and set Minimum Y to 1 (perhaps you want to set the maximum too, if you want to move these groups apart).

Then press F3 and type Copy Constraints to Selected Objects (or choose it from Objects -> Constraints menu).
Now with both hooks selected, just press S, Y to scale them along Y axis:


To directly answer your question, there is no way (native or addon) to have this exact tool in Blender. It could definitely be implemented with Python but as of this answer I have not seen it done.

EDIT: Just saw this video about upcoming features in Blender 2.8 and the tool you are looking for is actually included in the current builds of Blender 2.8. THe most up to date build for 2.8 can be found here. Just remember this is still very incomplete, and also not very stable.


Why are there no tutorials of flames in blender render?

Blender Internal is well documented in the Blender Manual including smoke and fire domains. You will find what the settings do and how to set it up to make it work. It doesn't teach you how to put the pieces together to make a good looking fire simulation though.

For that you can try Miika Hamalainen's blog, he is the fire module owner and also wrote the code. This was part of Google Summer of Code 2012, when Blender was at version 2.65.

On the blog site there are some fire examples from times when Cycles didn't even had support for volumetrics. You will find what force-fields and noise textures to set, what values to animate for nice looking fires etc. At that time it was thee resource for fire from even which other tutorial makers got knowledge.

After these years, search engines bury old results and promote the ones people mostly want, which nowadays is for Cycles. So you need to dig deep or search with more specific criteria, like "blender fire 2.6" which yields this video for example and some others.

There is also the old BlenderGuru's flamethrower tutorial.

The user-base back then was way smaller, so that's why there are less tutorials. They got buried by search engines and by many more tutorials for Cycles.


How can I create a library of animations?

Blender allows you to link or append.

Linking only creates a reference to the cross-referenced object.

Appending imports the cross-referenced object into your current file as a local copy.

Both are available through the File menu.

There's a great answer already on this site:

How can I reuse existing materials, objects, etc from an existing .blend?

Presets

So in response to your updated question I understand that you want something accessible from all projects without linking.

This is where add-ons come in.  There are loads of them out there and if you know (or are willing to learn) Python then you can roll your own add-on.  There are plenty of examples out there and here on how to go about this and also the source code for the included add-ons are available on git.blender.org.


Rotate objects around their origin along a global axis (scripted) without bpy.ops

TL;DR > Skip to last paragraph

Each object has it's own World Matrix. It's a 4x4 transform matrix that stores the object's final location, rotation and scale. By doing math operations directly on this matrix we can transform the object how ever we want.

Every world matrix can be decomposed into it's components. We will get a

location vector (size 3)
rotation quaternion (size 4)
scale vector (size 3)

loc, rot, scale = obj.matrix_world.decompose()

Now about rotations. A rotation is either represented by a (3x3 or 4x4) Rotation Matrix (Euler or Matrix class in Blender), Quaternion vector (Quaternion class) or an axis (Vector of size 3) with rotation value (radians or degrees). They can be all converted between each other, but we just need the 4x4 rotation matrix. There are different options to get it:

from mathutils import Matrix, Euler, Quaternion

# directly
Matrix.Rotation(angle, 4, axis)
# converting from Euler matrix
Euler((angleX, angleY, angleZ), 'XYZ').to_4x4()
# converting from quaternion
Quaternion((w,x,y,z)).to_matrix().to_4x4()

Transformations are done with matrix multiplication and they can be stacked. The order in which they are multiplied is important. So:

matA * matB * matC

means first we will transform with matC, then matB and last matA (it's reversed!). All the transformations are applied in global space. Here you can see what it looks like to do Translation * Rotation and Rotation * Translation:

The first end-result we can substitute with a local/global translation and then local rotation, and the second we can substitute with a local/global rotation and then local translation.

This means if the matrices are rotation matrices, only the first rotation matrix (and last applied) will result in global space rotation (so matA), because all the others are influenced by it.

This is how a World Matrix is composed. The order is again important:

matrix_world = matLoc * matRot * matScale

So to alter it and add an extra global rotation, we need to sneak a rotation matrix before matRot (so it's applied last and in global space) and after matLoc:

import bpy
from math import radians
from mathutils import Matrix

# we will demonstrate on an active object
obj = bpy.context.active_object

# define the rotation
rot_mat = Matrix.Rotation(radians(angle_in_degrees), 4, 'X')   # you can also use as axis Y,Z or a custom vector like (x,y,z)

# decompose world_matrix's components, and from them assemble 4x4 matrices
orig_loc, orig_rot, orig_scale = obj.matrix_world.decompose()
orig_loc_mat = Matrix.Translation(orig_loc)
orig_rot_mat = orig_rot.to_matrix().to_4x4()
orig_scale_mat = Matrix.Scale(orig_scale[0],4,(1,0,0)) * Matrix.Scale(orig_scale[1],4,(0,1,0)) * Matrix.Scale(orig_scale[2],4,(0,0,1))

# assemble the new matrix
obj.matrix_world = orig_loc_mat * rot_mat * orig_rot_mat * orig_scale_mat


Making a multi-colored candy material in Cycles?

This seems to be exactly the kind of place where you might want to use the Random output of the object info node:

This output gives a random value between 1 and 0 which is unique to each object. By using a color ramp node, you can use this random value to give each object a color from a defined set of colors:


How can I query the panels in the Tool Shelf from a script?

If you wanna check the appended (or prepended) draw functions of another addons, added to built-in panels, you can do for example:

draw_method = bpy.types.OBJECT_OT_relations.draw
if hasattr(draw_method, "_draw_funcs"):
    print(draw_method._draw_funcs)

As soon as a custom draw function is added, _draw_funcs will be defined and contain a list of draw functions. They are stored in a list, which means you can pop/remove/insert/append/prepend or shuffle the entries.

A really advanced possibility is to intercept all draw calls, but beware! Only a single addon may do this at a time, or you'll run into errors.

http://wiki.blender.org/index.php/User:Ideasman42/Blender_UI_Shenanigans


Where do these black stripes come from on this texture?

Your mesh seems to be quite rough. Try remeshing the corners where this effect appears (avoid triangles) and then put a subsurf on the object.

Those faded spots appear if smooth shading is applied onto edges with a big angle of the two touching faces.


You should use the Object Instancer node to create a number of empty objects, this is done by disabling Copy From Source option. Then loop over both the objects and the splines and output the splines to the objects as follows:


Place a video on a still picture of a monitor

Visit the following site for instructions: https://www.maketecheasier.com/blender-3d-virtual-video-screens
Or, if you have Import Images as Planes add-on, you may do this in BI, too, as your video/image is mapped correctly after it's imported. It's possible to model such "a screen" and join it with CTRL+J.

To have audio, do as follows:

Extract audio and video from your clip to have two separate files
Follow the procedure given in the tutorial using the video without sound.
In VSE combine it with the extracted audio


FCurve Noise modifier: set "Offset" value using Python

Ok, I've found out this by myself.

bpy.data.actions['Compositing NodetreeAction'].fcurves[X].modifiers[Y].offset = Z


Naming issue with many linked duplicates of groups

Use a parent empty (or parent armature) for the robot.  If a robot has a parent  then its children display can be collapsed in outline view thus reducing clutter.  When you duplicate include the parent empty to maintain this feature. All robots will then have collapsible view from parent.  As you duplicate an original group ... remove the duplicate from all groups and create a new group for it.  Thus each robot will be in a single new group including parent.

Parents in the outliner and ... Groups in the group view of the outliner have a collapsible interface ... like folder views in OS UIs.

Once this is done your concern about object names may lessen.  It may not be possible to have duplicate object names in Blender.

Perhaps consider Linking the robot from a different file and using group instancing .  Particles and Dupligroups may help.


I got it after few tries. Do as the following:

Select your object and goto Edit Mode.
Select vertices or faces you want to split.
Press P and select "By Selection".

The mesh messed up in my case is due to changing action after splitting mesh into 2 objects. Strangely, if you change action while selecting a 3D object, the mesh will go hay-wired. To solve that, be sure you select armature/bones when changing action.


Struggling with Layout element order of Pie menus

You start with -

box = pie.split().column()
row = box.row()

Then you add items to the column and then follow it with two properties in the row that you first created at the top.


Try switching your subdivision surface modifier from Catmull-Clark to Simple.


How to restore the panel with viewport navigation tools

The tabs on the toolbar come from addons, if one is missing then the addon that put it there has been disabled or uninstalled.

The steps you list are available using the mouse and keyboard, use ⇧ Shift MMB to pan, the  scroll wheel as well as ⎈ Ctrl MMB will zoom in/out.


How do I make particles like the "flashing" ones in this YouTube video?

You can use a pass index for the material of the eyes, then use that to create a blur on the compositor.

More info on this answer


Newby question - Alpha Channel not working

in the material properties, choose the transparency's behavior :

"opaque" means no transparency, that's why you don't have any changes in your viewport even if the shader you have configured is ok.

The "display settings" of the material is in the material panel, while the material itself is in the node editor.

There are 3 alpha modes :

"clip" is a straight "yes/no" mask, use it for very sharp mask like, well, like your leaves.

"blend" treats alpha mask with all it's shades of grey (usually more than 50, hahaha :-X)

"hashed" also treats shades of grey but using a smart "yes/no" pixels distribution, the result is average good and maybe lightest to calculate (and kind of super-stylish, why not !)


World background texture not showing in render

For Blender Render (internal), and for a flat repeating background (not a wrap-around 360 background) try the following things:

Add a world texture (if you haven't already)

Properties > Texture panel
Click the "World" tab (it's one of the three little buttons at top of texture panel)
Add texture
Type: Image or Movie
Image > (open image file here)

Check influence

Under the "Influence" section of the world texture I had to check "Horizon" before the world background would render

Check mapping

Mapping > Size
Increase X, Y, and Z values to make background (starfield, in this case) smaller and repeat more often

Sky shading (instead of transparent)

Properties > Render > Shading > Alpha: [Sky]


That's because context.active_object.location=(0,0,0) is not an operator. It's a statement.

You could define your own operator:

import bpy
def main(context):
    # This is what happens when your operator is invoked.
    context.active_object.location = (0, 0, 0)

class SnapToCenterOperator(bpy.types.Operator):
    """Snaps an object to the center."""
    bl_idname = "view3d.snap_to_center_operator"
    bl_label = "Snap Object to Center"

    @classmethod
    def poll(cls, context):
        # This is called to determine whether the operator can be invoked
        return context.active_object is not None

    def execute(self, context):
        # This invokes the operator and returns a state
        main(context)
        return {'FINISHED'}

def register():
    # If it's an addon, this is called when the addon is enabled
    bpy.utils.register_class(SnapToCenterOperator)
def unregister():
    # If it's an addon, this is called when the addon is disabled
    bpy.utils.unregister_class(SnapToCenterOperator)

if __name__ == "__main__":
    # We use this to register it in case we're running it manually
    # (which we are; click the "Run Script" button)
    register()

and then use

row.operator("view3d.snap_to_center", text="Origin")

to achieve the desired result.

NOTE: This is just an example on how to create your own operator. In this case you'll actually just want to use bpy.ops.object.location_clear, as such:

row.operator("object.location_clear", text="Origin")


The Model doesn't appear when rendering....? UPDATE

I believe it is because you are using the multiply node in the compositor. The multiply node is kind of like mixing two things in a way so that the brightness value is the factor (sorry if this doesn't make sense, there are lots of better explanations out on the internet). When you multiply the Suzanne and the movie clip, since the suzanne is white, it doesn't show through.

I made a few changes to your composite setup. First I checked the Object Index pass under the Render Layers tab. I assigned Suzanne a pass index of 1 and the ground a pass index of 2. I wasn't able to get a good picture so I'm attaching a link to the .blend file but essentially, I masked out everything but the Suzanne and then used the mask to mix the head back in if that makes sense. Here's what the render looked like. Of course you would replace the color grid with your video.

Hope this helps! Good luck!


Ungroup a node group while keeping parameters?

I think you can't solve this problem inside the nodeGroup itself, but you can add a value Node (for gray input factor values, RGB/vector for yellow/blue) outside of your group, plug it (from outside) to the factor input of your group and use it for tweaking and the when you ungroup, it'll keep it plugged and the value will be the same as before.

inside group

values lost when ungrouped, default values applied

values linked from outside

values saved and linked after ungrouping

As far as I know, it's not a bug, it's the normal behavior of node groups. Values are stored in the group, not in individual nodes inside the group. So when you ungroup (delete the group) all stored infos are deleted too.


How do I plug in my colorramp so white will be embossed gold and black will be engraved darker silver carving on my silver kettle? Mock-up in middle

You can use the image texture with different Color Ramps to drive all kinds of values. In my example, I've used Greater Than nodes to split the three grey values up to mix different colors created by Noise Textures. Of course you can use the mix factor to blend many more options or shaders.
I also used the image texture in combination with a Color Ramp for the Metallic input... I decided the gold and silver should be metallic = 1 and the etched part is dielectric = 0 (by the way, for realistic results never use values between 0 and 1, a surface is either dielectric or metallic, values inbetween should only be used for artistic / aesthetic reasons).
The Roughness is controlled by the image texture and a ramp, too. For the black/etched parts I made it absolutely rough by setting it to 1 in the ramp, the grey/silver part I made  not too glossy with a value of 0.3 and the gold I made more shiny with 0.05 (of course you can also plug values into Specular etc.)
Last but not least I've used the texture for the displacement of course. I left it as it is, so the etched part is indented, the silver is the overall height and the gold is buckled up. Without a ramp or anything, the overall Scale in the Displacement also controls the range between the deep and the high parts. Put another ramp in there to change the relations to each other.
All in all you have to play around with those values, see what fits best and where to put the color stops on those ramps. A good way to start is take one ramp set to constant and use it to convert the greyscale image to three bright different colors like red, green, blue and see how you have to manipulate them so that they refer to the correct parts.
Then you can use this basic color ramp and give the stops the values you need or decide how you can address them for mixing factors etc. You dont need them to constant, but sometimes this helps to better outline the different areas (especially when you have antialiasing or artifacts).

Render result:

Node setup:

EDIT: Here just two quick examples how an additional Color Ramp could be used to make extreme differences between the between highest and lowest displacement areas.

Or you could try to make the silver part look like it's brushed metal (just a quick setup, not meant to be perfect) by plugging some noise limited to the grey area in the Normal input of the Principled BSDF.


how to set camera to the same view as I turn my cursor?

You can enable camera lock, so your camera moves as you're looking through it.

Check it in Sidebar > View > Lock Camera to View
Then press Numpad 0 to view through your camera.
Now just move, zoom and your camera will exactly follow.

You can switch it on and off as you like.


Select the whole loop around the hole with Alt+RMB (make sure to delete triangles first). Use a Grid Fill option (press Space and type Grid Fill). Then play with its settings.


Cycles: Render result doesn't match render view

The issue is that the 'table' object isn't set to appear on any layer. You can see this by looking at the Relations panel for the 'table' object:

The rows of icons that represent the layers show that it isn't assigned to any layer in the scene and so it won't/can't appear in the final render.

I think this happens when you add a new object while in 'Local View'. If you are unaware, 'Local view' is a way of temporarily isolating any selected objects from the rest of the scene. This is done by selecting an object and pressing the Numpad /. 'Local' is then displayed as a label in the top left of the 3D viewport next to the view mode:

'Local View' can be exited by pressing the same key and it appears that it's only when exiting 'Local View' that new objects are assigned a layer.

To fix your file, either manually assign a layer to the object by pressing one of the layer buttons in the 'Relations' panel for the 'table' object (shown above) or exit 'Local View' (as your 3D view is already in Local View) with Numpad / to have the object automatically assigned a layer.

Bug Report

I did file a bug report about this issue here, but until the bug can be reproduced from scratch not much can be done.


Why does changing the 3D cursor move other quad view windows?

In the View Panel, disable Lock to Cursor so that your view is not centered on the cursor:


Hair won't bend in a specific direction as if something is blocking it

After i posted the comment i found the solution..

In particle edit mode press n for the sidebar and in the tool panel is the deflect emitter checkbox.

Uncheck that and you can do what you want with the hair.


How to render a scene with Cycles render and blender internal

The reason why you get gray a plane or rocks, is that materials are different in BI and Cycles, so to use, let's say Cycles, you have to "port" your materials (basicly remake them, with the tools availiable in the render engine); Since materials are different, when you switch between the renderers it applys a default materail to objects that don't have a propper one; That material just so happens to be gray.
So I don't think it's possible to mix them, without using the compositor and transparency.


Of course, in the Tools panel (on the left of the 3D view), in the Dyntopo menu, click on the Symmetrize button, but before that, above this button, make sure you've chosen the right axis. And also remember that the object origin will be the middle of the symmetrize effect.


The Surface Deform modifier might suit?

In this example, the interior pair of spheres is a single object, Shape Keyed. The Exterior capsule is bound to it, with a Surface Deform modifier (Followed by  Smooth and Subsurface modifiers)


Motion blur samples limit too low for a long exposure effect?

You could merge multiple renders and or use cycles.

But if the end effect you're going for is just abstract smeared lines, build them using curves and turn up bevel.  On the material, mix a transparent and a emission shader to create a similar effect.  and with eevee change the settings -> blend mode in the material to alpha blend.

This method will give you much more control over the effect too.

As a bonus: use mesh follow -> trace verts option in the Btrace addon to make curve traces from animated objects.
Here's an example I just made.


How do you check for a specific game engine property with python? (2.7x only)

sensor = cont.sensors["Ray"]
if sensor.positive:
    trigger = sensor.hitObject
    if "property" in trigger:
        # do something

You may also want to check if the property exists and get it (all in one lookup), This can be done using get a fallback value to avoid try/except.

sensor = cont.sensors["Ray"]
if sensor.positive:
    trigger = sensor.hitObject
    prop = trigger.get("property", None)
    if prop is not None:
        # do something

This style of access is the same thats used in Python dictionaries. eg:

dct = {"a": 2}
if "a" in dct:
    print("found")

val = dct.get("b", 2)
print(val)  # -> 2 (or the value)


I am trying to model a Arleigh-Burke class destroyer, but I can't make the structures above the deck symmetrical on any axis

I would suggest that you can mirror, at least long enough to get the overall shape right.  Remember that you can use a modifier for a time, and then apply it to make its effects a permanent part of your mesh.

In the N-panel you can get info about currently selected verts or groups of verts.

When you say there are structures on the ship that should be asymmetrical I would also argue that you should be splitting everything off into separate objects where possible.  You're then free to use modifiers within a more limited scope, and you can take advantage of the features of the outliner.  You can parent objects to each other to move and scale them as a group, you can use collections for hiding and showing groups of items quickly.  Depending on the level of detail you're going for here, the scene could end up very heavy anyway.  Having some level of control over your viewport performance will come in handy.
And remember this scene is your workspace right now.  These are all just organizational tools for you.  It may be that at some point you grab everything and join it together to a single object to "ship it", as it were.


Why can't I see these objects or use Texture Painting on them?

Press numpad /  to exit Local View and you will see the mesh objects


you have many options for transformation manupilatoion :

Keyboard :

press  G or S or R for translation, scale and rotation
chose the axis constraint X or Y or Z to limit the transformation on that axis
to limit the transformation to a plane you simply exclude the remaining axis, ex: to move on the XY plane press G than Shift+Z

Mouse :

select the appropriate manipulator in the 3D view
click and drag along any axis

while holding the object you can trigger the axis constraint by midle mouse click and rotating to that axis :


A .blend file can contain many scenes. Each scene has a .cursor_location attribute:

>>> {scene.name:scene.cursor_location for scene in bpy.data.scenes}
{'Scene': Vector((0.9819498062133789, -5.541140079498291, -6.299274444580078))}

If you know the name of the scene, (e.g. 'Scene'), you could use

bpy.data.scenes['Scene'].cursor_location


Go to Edit, Performances, select Keymap, on the top you will see a seach bar, type "rotate" and you will find the key map for rotation of the object.


object shape change when i duplicate object in a curve

Try using dupliverts instead of the array modifier. The manual page on Dupliverts explains it well:

  First, in Object Mode, select the base object and Shift-RMB to add the
  circle to the selection (order is very important here), and Ctrl-P to
  parent the base object to the circle. Now, the circle is the parent of
  the monkey; if you move the circle, the monkey will follow it.

  With only the circle selected, enable Duplication vertices in the
  Object panel ‣ Duplication ‣ Vertices. A monkey head should be placed
  at every vertex of the circle.

Be sure to go to the bottom left of the manual page and use the pop-up menu to switch from English to your language, if it is on the list.


We are doing the exact same thing, although my approach to the problem is slightly different.
Like you I created a second UV channel for the lightmap while handling the other materials on the first one. Once I unwrapped the object to the second UV channel I duplicate the entire object, remove all the materials from the clone and add a simple white material to it.
Then things start to get a bit complicated. Let's say there are several objects, for example a wall, a floor and a ceiling. When I bake the wall, I activate the clone of the wall, while hiding the original wall object. The original floor and ceiling objects stay active while their clones are hidden. This way you can retain the bounce light data that comes from the unchanged original objects.
It is basically the same procedure as having a second node tree in the materials except that you're switching on and off objects instead of node trees in every material on the scene.
I'm not sure if this is the smartest way to do it, but I don't have to bake several passes this way...


what is the difference between animation nodes and audio nodes

Animation Nodes Node based visual scripting system designed for motion graphics in Blender.

Audionodes for Audio generation in Blender nodes.


In the image, you have selected every other face and now have half of the faces selected. Vertex groups can only contain vertices, so for each face, blender is selecting the vertices that make up the four corners of each square. Because your selection of faces touches all the vertices in the cube, Blender adds all the vertices in the cube to the vertex group.

To see exactly what this is doing, try selecting just one face, then switch to vertex select mode to see what vertices selects.

To get every other vertex selected, you can go into vertex select mode and select every other vertex before grouping.


Your lights are not in the same layer.

They are in a layer that is not set to be rendered.

Once you enable the layer that holds the lights along with the one that holds the rest of the scene you will have lights...

Rendered image with both layers enabled

Alternatively you can set the lights to be active in more than one layer.


How to applied texture to selected object?

The original UV of a model is dependent on how you modeled your mesh, it's expected that a UV can look different from your tutorial at the start of UVing.
Also, before UVing a mesh it's a good idea to apply any transformations, they can stretch or have weird effects on you're UVs if you ever get that issue.


It looks to me as though you have backface culling enabled in your game engine.  Are you using blender game engine?

You can either add a solidify modifier as gandalf3 said in the comments.  Or, if this is the only direction you will be viewing the curtains from you can flip the normals on the curtains.


You need to enable the render in the Particle panel:


How can I see the actual numerical output RGB values of the cycles 'Blackbody' node? (preferably through api)

Example for the compositor node which is present by default:

import bpy

scene = bpy.context.scene
scene.use_nodes = True

nt = scene.node_tree

#get the node
node = nt.nodes['Composite']

#access by string key in 2.69
input = node.inputs['Alpha'].default_value = 0.5

#older versions of blender might require
#access by index
for index, input in enumerate(node.inputs):
    if input.name == "Alpha":
        print(index)
        break

#link
output = nt.nodes['Render Layers'].outputs['Alpha']
nt.links.new(input, output)

You can hover over the input with python tooltips enabled:

Using python it is only possible to setup the tree and its parameters.

Via OSL you can implement your own shaders. Enable Open Shading Language in the render menu, add a script node and see Text Editor -> Templates -> Open Shading Language

Template Temperature To RGB

shader temperature_to_rgb(
    float Kelvin = 1200.0,
    output color Color = 0.8)
{
    /* Kelvin to RGB */
    Color = blackbody(Kelvin);
}

As you can see blackbody is an inbuilt function of the standard library.


You might be using it wrong, I think you misunderstood how it is supposed to work.

Generate Data previews is not meant to be used for a currently open file, you are supposed to use it on any saved file in your harddrive, not being worked on at the moment.

If you batch generate previews for an open file, Blender will work to generate them then save them to the file. However when you save the open file Blender will write to disk the version it had previously loaded into memory, prior to thumbnail generation, thus not yet containing the generated previews.

It wil then overwrite the the preview file with non generated version, thus effectively erasing the work done.


System crashed but no autosave file found

It seems /tmp is cleared on startup in ubuntu by default, so
unfortunately if you had to reboot your machine everything in /tmp was erased.
The other files you saw in /tmp were probably created on startup.

Blender has some other backup systems (see this post), but if you did not make any manual saves I'm afraid there is nothing to be done.

Autosaving to the hard drive:

You could change the directory blender uses to store temporary backups to a location on your hard drive by changing the Temp location in CtrlAltU> User preferences > File:

Note that this setting controls the location of everything blender puts in /tmp by default, not just the autosave files.


Can Blender run headless on an ARM processor?

I have run Blender on an ARMv7 CPU somewhat similar to the one the Raspberry Pi 2 model B uses, so I think Blender has no problems running on this architecture.

In practice, the problem would be processing power. On my Google Nexus 4, which has a quad-core 1.5 GHz Qualcomm Krait CPU, it took well over an hour to render Mike Pan's BMW scene:

This table on Wikipedia seems to show that the Krait in my phone would perform about the same as, or perhaps a bit better than, the Cortex A7 in the Raspberry Pi 2. Additionally, the Pi runs at 0.9 rather than 1.5 GHz. Would a setup with CPUs like these be able to render images? Almost certainly. Would you want to wait for them to do it? Personally, I think you wouldn't.


Fixing shadows in cycles without increasing subdivision

Using 2.90.1+ version of Blender, in Cycles rendering, you can change the shadow terminator offset:

This is per object, in the object property panel.
A link to the documentation.


How do I change camera views using python?

You can set the camera in the current scene by using bpy.context.scene.camera. So your script should be:

bpy.context.scene.camera = bpy.context.scene.objects["Camera1"]

or

bpy.context.scene.camera = bpy.data.objects["Camera1"]


Multiple objects sharing the same name in Blender

So far as I know there is no way you can't give objects the same name. te reason is to make sure you don't get confused with the object, so that you can locate and find parts fast.
So far as I know it's impossible.


How can I select random verts, not faces

Probably your setting is in 'face selection' mode, as if in 'vertex selection' mode:


"OpenCL build failed" error when rendering with GPU

As I just investigated in https://developer.blender.org/T48842 - if no errors was really produced (despite msg "errors in console. ") try to run blender with "--debug-memory" option - it enables "fully guarded memory allocator" which magically does things.


Posting as an answer (to my own question), as requested.

For anyone else who might have a similar question in the future, don't forget to use forward slash '/' in filepaths ...

import bpy

bpy.ops.import_scene.fbx(filepath="F:/Blender/2019-04-09-S.fbx")

Source: https://docs.blender.org/api/blender2.8/bpy.ops.import_scene.html


How to read Auto Keyframing state in Python?

Tip turn on developer extras and tooltips in Edit > Preferences > Interface > Display
Then mouse over the button and will see that it is boolean property to turn on off.  https://docs.blender.org/api/current/bpy.types.ToolSettings.html#bpy.types.ToolSettings.use_keyframe_insert_auto
scene.tool_settings.use_keyframe_insert_auto

Use in conjunction with the enum  https://docs.blender.org/api/current/bpy.types.ToolSettings.html#bpy.types.ToolSettings.auto_keying_mode
scene.tool_settings.auto_keying_mode


Where or how do you find the keyframes for properties in the Dope Sheet?

You can also filter by type, in this example I have turned off all dope sheet keyframes except camera:

To change interpolation of keyframes select the keyframe that you want the change to occur after, then press the T key.

However changing interpolation will not be apparent without showing the animation in the Graph or F-Curve editor.


Converting string int-tuple to float-tuple

Don't think you need to do that

Firstly this will convert simple tuples of ints and floats from string

>>> x = str((1, 20, 2.0))
>>>
>>> y = tuple(float(s) for s in x.strip("()").split(","))
>>> print(y)
(1.0, 20.0, 2.0)

However if this is in relation to previous question, its not so much a matter of (needlessly) converting ints to floats its converting a flat list (1, 2, 3, 4) into a nested list  ((1, 2), (3, 4))  2x2 for brevity sake

Even if it is a flat list of floats it will throw the error because it wants the members of constraint_matrix to be sequences not a float or int.

So without bothering to convert to floats, and having converted string to list (or tuple)

>>> x = (1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> tuple(zip(*(x[i::3] for i in range(3))))
((1, 2, 3), (4, 5, 6), (7, 8, 9))

For other methods.

https://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks

This is possibly better asked on stackoverflow. Consider using re or argument parsing libraries.

Btw code in question will fail with numbers > 9


How to motion track green screen footage and paint out the tracking markers

Okay. I found a solution to my problem by creating masks and combining them with a Mix node. Plugging the mix node into the garbage matte of the Keying node gets rid of the markers on the green screen. The difficult part is to keyframe the masks one by one but it's alright since I know it will get the job done.
However I am wondering if there's a smarter way to get this done.