Adding picture to moving 3D Viewport environment

Use a camera image to view the video in the background.

The camera image will show on camera view. Note that this image is for reference only and will not render.

To make the image renderable, just add it as background on the compositor.


To get a constant rotation you only need to use two keyframes on the axis you want to rotate. With two keyframes in place you can then set the extrapolation to linear and the rotation will then continue as long as needed. You can then adjust one of the keyframes to alter the speed of the rotation. The channel extrapolation can be set in the graph editor by pressing ⇧ ShiftE and choosing Linear Extrapolation, which can also be found in Channel->Extrapolation Mode->Linear Extrapolation

If you then want your object to rotate at an odd angle or as it is moving around, you can add an empty, make it the parent of your object and then move the empty, your object will continue rotating on it's axis as it follows it's parent.


Image broken when render in Video Sequence Editor mode

Speculating as we don't have enough information here to be conclusive, but this looks suspiciously like an issue with I / B / P frames.

Specifically, your in point on a sequence with B frames may not have enough information to fully build the frame as the decoder would need to decode both the previous I frame, but also the following I frame. If you have trimmed the strip to be in the middle of those I frames, you don't have enough information and you end up with that half broken frame.

Best advice, as usual, is to never use codecs for editing. Render to an intermediate frame sequence and use those as your footage inputs. This will also increase the quality of the work.


How do I make faces and vertices invisible in viewport?

In your first picture, we see a cup of tea in object mode. No big deal.
In the second one, we see a cup of tea in edit mode. With a subdivision modifier display. But with optimal display On.

My guess is, your tutorial shows you a mesh modeled with a subdivision modifier, and the authors has it set so that in edit mode, the subdivision modifier displays a preview of its effect (that's the default behavior), but has the Optimal Display option checked on so that it doesn't draw the created geometry's wires:


How can you create a 2d fluid/paint animation effect?

You can get something pretty close with the mix of 2 Musgrave (or other textures):


I would just create a few thin squares that you want to animate and copy/paste (shift + D) them side by side.

Be careful with an array modifier because you wont be able to animate the middle part. I would just use an array modifier for the end parts to fill the screen.

The non moving parts are an array modifier. The animated parts are seperate squares (leafs).


The automatic rig generating scripts are only designed to work with the provided meta rigs. While there is some ability to alter the rigs, they tend to be very specific about bone names and parenting relationships.

You will need to replace the bone/s that you deleted and probably get the parenting configured to match the original rig. This could mean it is easier to add a new meta rig and start again.

Even if you don't want to use all of the bones provided, you can leave them there and not weight paint them to any part of your mesh. Then you can place the bones on a separate bone layer that you can leave hidden so that they aren't in your way when you are animating.


How can I save a dict in a scene propertyGroup?

Make them properties

In as much as you can define anything to a property group, only those that are defined as bpy.props properties, or wired up as @property with setter,  will be saved to blender file (or elsewhere).

In example above, to use bpy.props and have them saved to blender clip would be a pointer property, and start a float property of another propertygroup.
Can create a property group with type,

clip_class = type("Clip", (PropertyGroup,),
        {"start" : FloatProperty(),
        }
    )

See the bpy.props documentation, in particular the setter getter example which emulates how a property is saved on the blend as an ID property on the object.

Better still

Alternatively, to save a "junk" dictionary with only string, integer, bool and float values use the rna

As used here

https://blender.stackexchange.com/a/54040/15543

can define a custom property on a scene and set arbitrary values in the dictionary that stores values to decorate the UI.  If you add a custom property named "prop" using the UI.  All the details filled in via the popup are saved, and used to decorate the display of the prop in the UI. Recommend viewing the source of rna_prop_ui.py

We can abuse this system.

 C.scene['_RNA_UI']['prop']
<bpy id prop: owner="SCScene", name="prop", address=0x7facac90e108>

>>> C.scene['_RNA_UI']['prop'].to_dict()
{'min': 0.0, 'soft_min': 0.0, 'max': 1.0, 'soft_max': 1.0, 'default': 1.0}

Can set, save file

>>> foobar = {"foo":True, "bar":100}
>>> C.scene['_RNA_UI']['prop']['foobar'] = foobar

and reopen, dictionary remains. The boolean is converted to int.

>>> C.scene['_RNA_UI']['prop'].to_dict()
{'min': 0.0, 'soft_min': 0.0, 'max': 1.0, 'soft_max': 1.0, 'default': 1.0, 'foobar': {'foo': 1, 'bar': 100}}

Another option is to use json to convert / read string dictionaries and store the dictionary as a string.

In your persistent handler, (add code to handle key errors)

self_vars = scene['_RNA_UI']['prop']['foobar']

notice scene is passed to the handler.


Can I parent an object to follow a miximo animation?

Select the object, shift select the mixamo armature, go to pose mode, select a bone you wish as parent, press Ctrl P - Bone.


Apologies as I'm kind of new, so I'm unsure how to fix all of your issues, but I assume the bump is an issue with colliders, as a similar thing happened with one of my models.
Try editing the collider for the head by moving it or making it smaller. This should at least partially help with the weird hair lump. I removed the hair in my screenshot to make it more easily visible, but this specific collider seems to give a lot of issues if you go directly to blender.


Can I change the default color for Relationship Lines?

Yes you can, but not on their own, this uses the themes wire color which is also used for many other unselected wire-frame data in the view-port. (See: 3D View -> Wire)


It's possible that mechanim's humanoid system prefers the bones to have a particular orientation to them, and it's automatically trying to fit your bones to that orientation, which causes the arms to rotate backwards.
In blender, go to edit mode of the armature and enable Object Data > Display > Axis. This allows you to see the current roll of each of your bones. Then in the properties panel > Transform with a bone selected, you can change the roll of that bone. If the arms are rotating 180 degrees in unity, then I would suggest rolling each of the arm bones by 180 degrees to see if this fixes the problem.

Also, it is helpful for ik solvers (like what mechanim uses) if the resting pose of the appendages are slightly bent indicating which way the appendage should bend toward. For example, you could change the t-pose of your character to have slightly bent elbows which would indicate to the solver the the arms should bend in that particular way, and this could help Unity set up the orientations correctly.


Make other controllers 'available' in pose mode?

The easiest option here is to disable "Lock object modes", on the main Edit menu.  If you do this, you'll still be able to select (and manipulate) objects while in Pose mode.
If there's a reason you don't want to do that, an alternative is to parent (bone parent) your mesh controllers to new bones.  If you really want, you could even give these bones custom shapes, referencing your mesh controllers, and then hide the mesh controllers on some distant collection....


There is no built-in feature for GIS in Blender. Most likely you installed one of these Add-ons :

Blender GIS :
https://github.com/domlysz/BlenderGIS

or

Blender OSM :
https://github.com/vvoovv/blender-osm


How do I fill the gap between groups of vertices for 3D printing?

like most things in computer science there's more than one solution

One way would be to do it by hand. Just extend the thing and boolean it.
The answer I prefer is to use meshmixer(free) and make solid the two objects. It looks something like this afterwards

Is that what the question was about ?


Is it possible to give a texture thickness?

Voxels

Consider some images where the planes (rectangles) are either parallel or pependicular .. based on cubes.  Flat Surface on Top.

Small Sample of Color Transparency Threshold

Small Sample of High Density Mesh from distorted image from user provided image from natural light camera. Image below.

Sample from artificial image with more precise edges. Image below.

Steps

Create a high density mesh with cubes.  Simple Cube (6 sides) with the 2 array modifiers, vertical Z (1) and horizontal X (1), repeat 40 or more on both, then apply both. (I suggest user use a high number 500 or more if possible)Vertex Remove Doubles. See image above.   The number 40 was for a quick test.
UV Project . Turn specularity to zero. Add your texture. Affect color and transparency.
Render

Observations

High Density Mesh. Sheet of cubes. Geometry modified. One mesh of many cubes internally. High Density Mesh is the same requirement for Displacement in texture panel. See below.
Please Improve. I used a visible margin for each cube in the original array modifier, in the example below.
You can have zero margin.  Thus some lines in interior.
The more intricate the transparency the more need for density with this technique.
The texture below has .png transparency.  Careful image processing is necessary and the best image, or least offensive image, here can be improved.

The perceived thickness is determined by the alpha of the channel. Your can change transparent image or image sequence. with no further work. No particular modelling.  There are other ways to do this.  Quick example.  I have added an array modifier only to show you two views at once. Front and Side. Any undesirable details have not been investigated.

Displacement method.  Dense mesh from a plane subdivided. Texture affecting displacement.  There is no flat surface.  This technique is documented many places.  This may be the least suited to your purposes. Consider Subdivision Modifier. The image also shows the triangulated surface just for discussion purposes.

All the above should be adjusted to you tastes.

Optionally consider a particle system with the

Texture determining [density].
Texture determining [color] in emitter.


Looking for suggestions on ways to animate images in a 3 dimensional matrix of cubes

I have the same exact questions a few years back ago. You can perhaps use Blender Modifier to achieve that, see REMESH modifier.

Actually you can do it today a lot easier using Add-On like Sverchok or Animation Nodes.

The key answer is: VOXEL GRID. Imagine you have 3 dimensional empty point matrix, it can be in any resolution, but remember 10x10x10 is equal to 1000 and that 1000 matrix position will be replaced with geometry.

I think the most efficient way to do this is by using Particle Instancing, but you can set it up using Sverchok pretty easy.

Now for 3 dimensional empty point matrix, you either have it ON or OFF. ON means draw the Voxel. OFF means do not draw it, leave it empty. (In a more complex setup, you can have Voxel in different sizes.)

You can "fill" and draw the actual voxel box using all kind of methods. Whether using 3D Texture, or using animated deformed mesh using Armature that draw the points when it is inside (see BVHTree of Blender).

There is no simple one answer to this. You can perhaps use Cycles Material to draw Voxel Volume Grid.


pass variable to custom operator through iteration

The problem is that in the execute function, s is not defined, you need to tell the operator what is s.

A solution you could use is to add a property to the operator:

class AnimOperator(bpy.types.Operator):
    bl_idname = "object.anim_operator"
    bl_label = "Pose Anim Operator"
    s = bpy.props.StringProperty()
    ...
    def execute(self, context):
        revealfileexplorer(self.s)
        return {'FINISHED'}

notice the self.s to access the s in the AnimOperator class instance

Then when calling the operator, you have to define the value of s.

op=layout.operator('reveal.file_explorer')
op.s = s

I didn't try this code so I maybe made some mistakes but you have the idea.

Those are object oriented programming and concepts and the scope of a variable problems, you'll maybe need to learn a little about that if you want to use programming language for more complex program.

Edit: I'm a little tired right now but looking back to you code there is another problem, you don't use s but rstrip in the revealfileexplorer function. I also suggest you to use the StringProperty but this will only accept text. I never tried to use complex types as operator parameter I think you are limited to Blender properties types but I'm not sure about that, I will test that tomorrow to give you a more precise answer if you need, but for now I think that you can solve your problem using only string, maybe with multiple StringProperty  if needed. You can also use a IntProperty, and pass the index as parameter, and then find your strip like that:

def revealfileexplorer (id):
     s = bpy.context.scene.sequence_editor.sequences_all[id]


How to stop objects from moving when clicking in 3D view in Blender 2.8:

In Blender 2.79, you could right-select an object, and if you left-clicked anywhere in the viewport, it would only set the 3D cursor position, and the object would NOT move. BUT... in Blender 2.8, the Default NEW transform behavior has changed. If you select an object and then you left-click OUTSIDE the object in the 3D view the object will MOVE. This is highly undesirable behavior, and by default occurs when the "Move", "Rotate", "Scale" or "Transform" tool is selected (not the "Tweak" tool).

Thankfully, this change is easy to disable.

The Transform tool lets you change this behavior interactively:

(Open sidebar with N, select Tool > Gizmos > Drag Action. Change from "Move" to "None")

For the "Move", "Rotate", and "Scale" tools":

Go to Edit > Preferences > Keymap > 3D View > Object Mode
under "3D View Tool: Move" UN-CHECK "Move"
under "3D View Tool: Rotate" UN-CHECK "Rotate"
under "3D View Tool: Scale" UN-CHECK "Resize"

Example image shown below:

EDIT: The above info will solve the issue of accidentally moving the object when left-clicking outside of it in the 3D view. If you ALSO want to disable accidentally moving the object while clicking on it (as was the case with the original poster, and which also occurred by default in 2.79), then do the following:

How to stop object from moving when clicking on object in Blender 2.8:

Go to Edit > Preferences > Keymap > 3D View > 3D View Global
UN-CHECK "Move" next to the optional labelled, "Tweak". Leave the other "Move" next to "Keyboard" checked.

I hope this info helps someone like me who was confused by this behavior! :-)

EDIT 2: The process is the same for 2.79 users. To disable automatically moving when clicking on an object in 2.79b:

Go to File > User Preferences > Input > 3D View > 3D View Global
UN-CHECK the "Translate" option next to "Tweak" (leave the "Translate" option checked next to "Keyboard".)

2.79 called it "Translate", 2.81 calls it "Move". :-)


How to generate fake Normal map from an image texture inside Blender Cycles?

I think the bump node is what you want?

Plug the BW output of the image into the hight input of the bump node. Then, feed the bump node's normal output into the normal input(s) of your shader. You can also plug raw BW images into the displacement input of the Material Output. For more reading on the bump node, check this out: How to create normal texture with node setup?


I am not able to curve a plane using array and curve modifier using a curve

Sorry but can't udnerstand what you need. But if you wan't to distort the plane along the curve you must subdivide it. Press Tab to enter Edit mode and right click and choose subdivide.


You're looking for the Accumulate checkbox in the sculpt tool options of the properties editor.
https://docs.blender.org/manual/en/dev/sculpt_paint/sculpting/tool_settings/brush_settings.html#advanced


What are the light blue lines on my imported objects

This means in Shading/UVs those edges have been marked as Sharp:

The Sharp mark is used by the split normals and the Edge Split modifier, which are part of the smoothing or customized shading techniques. As seams, it is a property of edges, and these operators set or unset it for selected ones.

See the manual: https://docs.blender.org/manual/en/latest/modeling/meshes/editing/edge/edge_data.html#mark-sharp-clear-sharp

As for clearing sharp edges, open up the Edge menu (CtrlE) and select Clear Sharp:

In 2.7 versions, this can be done here from the Tool Panel T > Shading:

But this UI doesn't appear to be supremely intuitive (October 2015). it seems you have to click Sharp first before that panel becomes visible.

Here's a script that lets you

Mark selected edges as sharp
Or remove sharp status of a set of selected edges

Code for Object Mode:
import bpy

obj = bpy.context.object
for e in obj.data.edges:
    if e.select:
        # invert current state
        e.use_edge_sharp = (not e.use_edge_sharp)


How do I add the ability to import Collada files to Blender 2.76?

My deleted earlier answer failed to take into account the fact that you are working from a Linux (apparently Debian) distribution. My frame of reference is on Windows, where the ability to import and export Collada files has been part of the default distribution since at least version 2.63, but I don't know that this is true with the versions for distributed by, or for, Debian.

I note in your comment to your question an error message "This PPA does not support xenial"; a quick search of the web shows that the name "xenial" is associated with an Ubuntu Linux distribution, though I'm not sure how this affects your situation.

If I were in your positon, I would first check with the appropriate individuals to see if the capability is been disabled in the Debian distro; if it is, then I would try uninstalling, and reinstalling Blender. If the capability is not part of the Debian version, there is an addon for Blender to import and export Collada files on Sourceforge, but I have no information as to how well it works, especially under Linux. Otherwise, if you have the skillset, you might try downloading the tarball for Blender directly from the Blender.org site and try to install Blender from there, though if you do that much work, you might as well upgrade to 2.77a.


Creating an bevel inset on an imported SVG

Use a custom bevel curve with the desired shape.

Draw a quarter circle and use as bevel object on the original curve.

EDIT

Upon looking at your file your Bevel curve is waaay too big in relation to your SVG imported curve, its center is incorrectly positioned, and the bevel curve is scaled zero in Z.

Reduce its size in edit mode, and clear its scale. The normals are also inverted, you may also need to Switch Direction of your bevel curve in Edit Mode to display correctly.

Also your imported SVG is quite complex in shape, with high curvature and very tight corners, it is hard to bevel it correctly, you probably have to accept a certain degree of errors, or be willing to fix them by hand.


You need to flip the normals of your eye faces, Blender will show you both sides of the faces, but in a game engine you'll only see the side with normal.


If you want to merge the 2 edges, you should first enable the Auto-Merge option:

Then select both the 2 edges and CtrlE > Bridge Edge Loops to bridge. Now select the top edge and slide it down with GG. You may not even need the bridge if the 2 edges are correctly aligned, in that case enable the Snap (Vertex mode) and the Auto-Merge options and move down the top edge.


Newer Blender releases have Bridge Edge Loops tool for exactly that purpose. Select two edge loops with exactly the same vertex count, then execute the operator. The tool is accessible through the Space menu, or Specials W menu.

There is also an addon included with Blender named LoopTools, containing Bridge tool with the same usage as Blender's built-in tool I described above.


The value you are trying to set is a collection so you have to choose an index as you can have several projectors, use:

bpy.ops.object.modifier_add(type='UV_PROJECT')
bpy.context.object.modifiers["UVProject"].projectors[0].object = bpy.data.objects["Camera"]

See bpy.types.UVProjectModifier.


2 Different Rigs, Copy animation using key bones?

All animation data are stored in a datablock called "Action": you can access it in the dopesheet window, changing the menu from "dopesheet" to "action". In the proposed situation, they are keyframes data reporting loc, rot and scale values of bones.
As long as the names of all bones are the same, the action can be applied to many different armatures, and you can (i.e.) apply a location offset to a main bone for having them working "in parallel", for instance.
Be aware that if the names of the bones are the same but their position and size is different, the animation can give unexpected behaviours.
All animation data referring to a bone name not found in the armature will be simply ignored.
You can "code" rename as occur to re-assign them in single bone strings (dopesheet/actions).
So select the second armature (which could be a copy of the first) go to the action editor window, assign the action, and both armatures will move in Sync.


Run VSE movie strip output through Compositor or Compositor movie clip output through VSE within one project possible?

You can make a separate Compositor Scene that only outputs the compositor result. Then in the VSE scene you can add the Compositor scene as a scene strip.

You can not send the output of the VSE anywhere except for mixdown to codec. Don't worry, everyone asks this at some point.

The VSE is designed to be the end of the production chain.


switching off all the emission & bounce light in Cycles

Go to the node editor, remove emission and glossy nodes.
You can find node editor on bottom left corner.


Operator
As a select physics  operator.

Edit update for 2.8

bl_info = {
    "name": "Select RigidBody Objects",
    "author": "batFINGER",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "View3D > Select > Object > Rigid Body Object",
    "description": "Selects Rigid Body Objects",
    "warning": "",
    "wiki_url": "",
    "category": "3D View",
    }

import bpy
from bpy.types import Operator
from bpy.props import EnumProperty, BoolProperty

class OBJECT_OT_select_rigid_body(Operator):
    """Select Rigid Body"""
    bl_idname = "object.select_rigid_body"
    bl_label = "Select Rigid Body Objects"
    bl_options = {'REGISTER', 'UNDO'}
    rna = bpy.ops.object.select_all.get_rna_type()
    action: EnumProperty(
        name="Action",
        items=tuple((i.identifier, i.name, i.description)
            for i in rna.properties['action'].enum_items),
        default='SELECT',
        )
    enum  = bpy.types.RigidBodyObject.bl_rna.properties['type']

    items = [(o.identifier, o.name, o.description, o.icon, o.value)
              for o in enum.enum_items]
    type: EnumProperty(items=items, name=enum.name, description=enum.description, default=enum.default)
    extend: BoolProperty(name = "Extend Selection", default=False)

    def execute(self, context):
        scene = context.scene
        obj = context.active_object

        rigids = [o for o in scene.objects if o.rigid_body
                    and o.rigid_body.type == self.type]
        if not self.extend:
            bpy.ops.object.select_all(action='DESELECT')

        action = self.action
        if rigids:
            if action == 'SELECT':
                select = True
            if action == 'DESELECT':
                selection = False
            if action == 'INVERT':
                select = not obj.select

            if obj not in rigids and not self.extend:
                scene.objects.active = rigids[0]
            for o in rigids:
                o.select_set(select)

        return {'FINISHED'}

# Registration

def add_select_menu(self, context):
    self.layout.operator_menu_enum(
        OBJECT_OT_select_rigid_body.bl_idname,
        "type",
        icon='PHYSICS')

def register():
    bpy.types.VIEW3D_MT_select_object.prepend(add_select_menu)
    bpy.utils.register_class(OBJECT_OT_select_rigid_body)

def unregister():
    bpy.types.VIEW3D_MT_select_object.remove(add_select_menu)
    bpy.utils.unregister_class(OBJECT_OT_select_rigid_body)

if __name__ == "__main__":
    register()

Install addon as shown here https://blender.stackexchange.com/a/1689/15543

To enable.

Alternatively (aka old answer)
A simple script to add a toggling property to the object select menu. (Avoids setting up an operator, but end up with code useful to create an op later if needed)

Showing the checkbox on menu

If toggled from false to true will select all active type rigid bodies.  The other way will deselect.

import bpy
from bpy.props import BoolProperty

def select_active_rigids(self, context):
    # deselect all
    if self.select_active_rigids:
        for o in self.objects:
            o.select = False
    rigids = [o for o in self.objects if o.rigid_body
                and o.rigid_body.type == 'ACTIVE']
    for o in rigids:
        self.objects.active = o
        o.select = self.select_active_rigids
    return None

bpy.types.Scene.select_active_rigids = BoolProperty(update=select_active_rigids)

def draw(self, context):
    scene = context.scene
    layout = self.layout
    text = "Deselect" if scene.select_active_rigids else "Select"

    layout.prop(scene, "select_active_rigids",
                text="%s Rigids" % text,
                toggle=True)

# hit F8 to clear from menu (reloads all)
bpy.types.VIEW3D_MT_select_object.prepend(draw)

For scripters: an example of defining a context property.

import bpy
def selected_active_physics_objects(self):
    return [o for o in self.selected_objects
                if o.rigid_body
                    and o.rigid_body.type == 'ACTIVE']

bpy.types.Context.selected_active_physics_objects = property(selected_active_physics_objects)

'''
Example Console Output
>>> C.selected_active_physics_objects
[bpy.data.objects['Cone.001'], bpy.data.objects['Cone'], bpy.data.objects['Cube.001'], bpy.data.objects['Cube']]
'''


Your eyes are incorrectly weight painted. To fix this, Selected to vertex group DEF-head and go into edit mode (Tab). Select all your vertices (A) and Hit Assign.


Is Blender appropriate for learning Stereometry (a subject in mathematics)?

Looking at the image you attached I'd say it's, but to an extent. I mean you can model in B3D the solid shown and make it transparent. Use Shear for the cross-section, render it. Still, for all those lines an external image editor is the fastest way.


Internal rendering engine makes all textures red, cycles renders have a pink tint

First screen shows that your file is using cycles nodes and is set to Blender Render. You cannot use them this way, you need to use the file with Cycles.

Second screen shows a lot of red because the sky texture is red, and that is casting onto all the objects.Cycles 'missing texture' is usually full magenta, not that dark red you see there. Try shifting to your World shader and check about changing to a white or even a sky texture to see what happens there.


2.8 Having trouble with Boolean Modifier

For me I had to follow all the reasons why Boolean fail on this page, Boolean Modifier not working
but I honestly couldn't tell you which one of these solutions worked.

I really think that my issue was that I hadn't selected the anvil in the Object mode and then taking the Boolean picker and highlighting the non-selected cylinder which successfully intersected the anvil in the difference operation mode.


It seems i made a rookie error with this, everything else i was animating in object mode, and i was going into edit mode to set up my pivot points to rotate my top pieces and rotating them there, instead of going back to object mode to move them. This resulted in the pieces being in the fully open position from frame 1 to finish instead of opening during the animation. So if anybody stumbles on this question with the same problem, then note...ALWAYS animate in object mode.


Unfortunately the rim of a Solidified mesh doesn't exist in time to be UV mapped. It has no UV map at all; any texture can only be projected through the solid from the faces that are UV mapped before solidifying, which gives no opportunity to change the colour on the way through.
You have some options:

Apply the Solidify modifier, and UV unwrap the whole arrow, with its (now real) rim.
Solidify the other way, so the wide sides are now the Solidify-created rim. Then you could UV map the thin sides of the rectangular profile, before solidifying.
Create a copy of the arrow after solidifying, but before any other modifier, unwrap the copy, and use a Data Transfer modifier to pick up the UV's from the copy, on the way down the original arrow's stack.

That's the option that's illustrated here (the copy is not rendered):

It would all depend on how non-destructive you need to be.. which modifiers you might need to leave yourself free to adjust.


How do I fix this rigging issue on a character?

Merging the vertices worked. Just went to a previous save, and merged the vertices via edit mode for each object.


blender trackpad behaviour on windows as on a mac

Zoom in/out: CtrlAlt + LMB and move on the touchpad.

Move the view: ShiftAlt + LMB and move on the touchpad.

Rotate the view: Alt + LMB and move on the touchpad.

For all that you need to check this option:


How to open a .glb or .gltf file in blender?

Blender comes with glTF-Blender-IO pre-installed since 2.80.

This is a refactoring of the original Khronos glTF exporter, combined with @Julien's importer.  Both of the original projects should be considered obsolete in favor of the newer, combined glTF-Blender-IO project.

The Blender Manual includes documentation on ways to use glTF.


Okay, so I downloaded blender 2.8 a few days ago and just tried to open my animation with this version and it seems to be fine. I don't know what went wrong with my 2.79 version, maybe it is some problem with my local installation...

EDIT:

Nevermind, the problem still persists, however, now I am able to get rid of it by pressing STRG+Z sometimes.


How do I mix more than one image with a video in node editor?

To mix more than one image you concatenate nodes: the result of one mix node gets connected to the next node as input.

For example:

It is important to know what kind of operation you want to use to mix the images. (read the manual page for the mix node for more info)

If you are mixing images with alpha channel, use the Alpha Over node instead. Read this related link: My objects are semi-transparent, and not one behind the other in the compositor


Yes, you can select vertex while in paint mode. Just switch to the select tool and change selection mode to vertex. Also note that if you select vertex in edit mode and then switch to paint mode, the selection is preserved and edit mode has better ways to make selections than paint mode does.

With your selection just set the colour you want and use the Paint->Set Vertex Colors menu.


How to add multiple meshes on the locations of the vertices of, for example, a sphere? (Adding them all at once)

Add a particle system to the object and set it up to make particles being emitted only from vertices.

Set up particle system

Add 2 objects, one - emitter, another to be emitted. Select emitter (sphere in your case) and add a particle system for it.

Leave it as Emitter, set amount of particles to be equal to vertices' number and toggle Emit from to Verts. Uncheck Random (or particles won't be put in place of every vertex rather than random ones):

Adjust settings of the particles which will represent vertices

You can adjust size of particles, set it to random, change location of all the particles, their rotation phase using Velocity and Rotation rollout options, use textures or vertex groups to adjust particles location even more.. and many other things:

Note that you may want to turn off particles' gravity if this object is animated so not to let them fall down.

Read more on particle systems:

particle systems in wiki;
emitting only from vertices;
rotation of particles | velocity of particles;
how external forces influence on particles.


This cannot be done in shader nodes, because to Dilate (paint) a point on surface one must know the color of surrounding area of that point. The node that samples Vertex Color does not allow for mapping vectors input to sample surrounding area:

That said, dilation/erosion on procedural or image textures would be possible using a dilation/erosion morphology kernel - similar to this edge detection:

Voronoi Cracks Fac?

So to do this on Vertex Colors, it has to be done on vertex/mesh level. I wrote you a little plugin that will work on all selected objects:

bl_info = {
    "name": "Vertex Color Expand",
    "author": "Jerryno",
    "version": (1, 0),
    "blender": (2, 78, 0),
    "location": "View3D > Toolshelf > Vertex Color Expand",
    "description": "Dilate/Expand a vertex color",
    "warning": "",
    "wiki_url": "",
    "category": "Mesh",
    }

import bpy

def dilate(mesh, layer_name, color):
    if layer_name not in mesh.vertex_colors:
        return

    polys_to_be_painted = [False] * len(mesh.polygons)
    verts_to_be_painted = [False] * len(mesh.vertices)

    for poly_id in range(len(mesh.polygons)):
        for id, loop_id in enumerate(mesh.polygons[poly_id].loop_indices):
            vert_id = mesh.polygons[poly_id].vertices[id]
            if mesh.vertex_colors[layer_name].data[loop_id].color == color:
                polys_to_be_painted[poly_id] = True
                verts_to_be_painted[vert_id] = True

    for poly_id in range(len(mesh.polygons)):
        for id, loop_id in enumerate(mesh.polygons[poly_id].loop_indices):
            vert_id = mesh.polygons[poly_id].vertices[id]
            if polys_to_be_painted[poly_id] or verts_to_be_painted[vert_id]:
                mesh.vertex_colors[layer_name].data[loop_id].color = color
    return

class VCDilate(bpy.types.Operator):
    bl_idname = "vertex_colors_dilate.dilate"
    bl_label = "Dilate/Expand"
    bl_description = ""

    def execute(self, context):
        for ob in context.selected_objects:
            dilate(ob.data,
                   context.scene.vertex_colors_dilate.layer_name,
                   context.scene.vertex_colors_dilate.color)
        return{'FINISHED'}

class VCDilateUI(bpy.types.Panel):
    """Vertex Color Dilate/Expand UI Panel"""
    bl_label = "Dilate/Expand"
    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_category = "Vertex Colors"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.label(text="Target Layer:")
        col.prop(context.scene.vertex_colors_dilate, "layer_name", text="")
        col = layout.column()
        col.label(text="Target Color:")
        col.prop(context.scene.vertex_colors_dilate, "color", text="")
        col = layout.column(align = True)
        col.label(text="For All Selected Objects:")
        col.operator("vertex_colors_dilate.dilate")

class VCDilateProps(bpy.types.PropertyGroup):
    layer_name = bpy.props.StringProperty(default="Col")
    color = bpy.props.FloatVectorProperty(default=(1.0, 1.0, 1.0), subtype='COLOR', soft_min=0, soft_max=1)

def register():
    bpy.utils.register_class(VCDilateUI)
    bpy.utils.register_class(VCDilateProps)
    bpy.utils.register_class(VCDilate)
    bpy.types.Scene.vertex_colors_dilate = bpy.props.PointerProperty(type=VCDilateProps)

def unregister():
    bpy.utils.unregister_class(VCDilateUI)
    bpy.utils.unregister_class(VCDilateProps)
    bpy.utils.unregister_class(VCDilate)
    del bpy.types.Scene.vertex_colors_dilate

if __name__ == "__main__":
    register()


Array a collection of objects along a curve

To array several unique objects in order, you can use several instancer objects with different offsets along the curve.
Instancers
For my example, I'll use three planes all with their origins at the center, but of course, you can use as many instancers as you have objects that need to be instanced.

The only important measurement here is the offset between the planes.
Array
Add an Array modifier to the first instancer with a Constant Offset that is set to the distance between the planes times the number of objects you need to array (in my case, three times the distance).

Curve
I used the Add Curve: Extra Objects add-on to create an Archimedean Spiral using these settings:

To perfect the curve, I rotated the start and end handles around the Z; then, I used Individual Origins to scale all of the handles along the Z.

Finishing Up
Add the Curve modifier to the first instancer and set the array Count parameter accordingly.

With all of the instancers selected, press CtrlL for the Make Links menu and click Modifiers.*

If the tilt of the curve is not right, you can set it to Z-Up. I further adjusted the curve's tilt in edit mode using CtrlT.

All that is left to do at this point is parent your objects to the instancers and set them to instance by faces.

You can also angle the instances by rotating the instancer meshes in edit mode.

Ta-da!

* Modifiers cannot be linked, so it is actually copying not linking.


What is causing the edges of my models to become semi-transparent?

What you are seeing is directly related with the value on the clip start distance.

Bring up the value a bit and the effect will go away.

Seems like setting the start clip distance to anything smaller than 0.1 (or 10cm if using metric)  will bring that weird transparency.


"Join as Shape" error when trying to import a file for shape keys from ZBrush

Okay, so I found an answer. To reiterate, the problem was: I have an alien character with a frill (like the Dilophosaurus is Jurassic Park), and I wanted a shape key for the frill to go down. I made the original mesh in ZBrush. I exported it from ZBrush and imported it into Blender (after making texture maps in Substance Painter). I exported the mesh from Blender and imported it into ZBrush. After I adjusted the mesh so his frill was down, I exported it from ZBrush back into Blender. When I tried to do the "Join as Shapes" option, the error occurred.

Now, the workaround: I imported the un-adjusted, frill-up version of the mesh from Blender into ZBrush, then I exported it right back into Blender without making any real changes. Now both the frill up and frill down versions are both exported from ZBrush (from Blender). Not sure why, but now "Join as Shapes" works, so I'm happy. Since the vertex count never changed, the texture maps I made in Substance Painter still work too.

Thanks!


The gradient sphere, linear and others are convenience textures delivered in grayscale.

Above gradient sphere colored with color ramp.

Above is a flat plane with UV Unwrap Projected View Bounds.  Cycles Rendered.
The Mapping node moved the uv coordinates to the position needed to illustrate the idea for this question. I think the flat plane allows easier explanation than a 3D mesh sphere. First Image uses color, second image uses fac.  The resulting renders appears the same.  Color has the 3 components. Fac is a single number representing the grey scale.  So for this simple example the grey scale appearance is the same.  The first image was colored with fac and color ramp.

Note the light is coming only from the texture with the emission surface.  So I may have not achieved highest possible contrast. Contrast nodes were not used. Transparent background. The light is not coming from a curved surface.  I am not claiming these are high quality comparisons.

If you already have a 3D mesh sphere and use lighting then the sphere gradient may not be particulary useful.

Above image with smaller scale in Mapping node.

In response to the comment about gradual lighting.

In the above image is the sphere gradient and material node group where intensity is based on distance from center.  So I do not see a not of difference between the internal and the custom nodes.  So perhaps the desired color gradient is not met by this method.

In the image above we see more difference with the quadratic sphere.  I do not want to dwell on the fine points of color here because it may be off the main topic and require much attention.

These gradient textures including sphere can be also seen in Blender Internal Render texture pane.  You could create a similar sphere texture with a sphere and sun light.


Use an array modifier.  Select the object you want to duplicate, and click on the wrench icon in the properties panel.  Then click Add Modifier, and select Array.  Then in the tab it brings up, select Relative Offset, and change it to what you want.  Finally, change Count to the number of duplicates you want.  Sorry that I can't upload any screenshots, but I'm rendering right now.


How can I have an armature deforming 2 separate meshes?

Ok I got it. I have to select all of the meshes before selecting the armature the last. Blender will give all the vertex groups to every mesh with different weights and then I can paint them separately.


In the edit mode in the N panel you have boxes, where you can enter the exact locations for the bone tail and its head. In your case you can align the bone to any axis, then enter desired offset of the tail (or the head). Then you can change the bone rotation (R) without affecting its scale, and not moving its head or tail separately. If you need a bunch of bones with exact length you can set the length for one large bone, then subdivide it with needed numbers of subdivisions, or you can use the duplicate command (Shift+D) for the bone which length is already set. To snap bones to each other, you can select entire bone (not just head or tail), and use snapping to 3D cursor (Shift+S).


Yes you can do this in the Web Player by leveraging the Logic Editor.
See the example
https://www.blend4web.com/apps/webplayer/webplayer.html?load=../../assets/interactivity/inherit_material.json
The corresponding source Blender file can be found in the free SDK.


How to select vertices, then convert to face selection with Python?

Flush the selection

The bmesh module has some methods for flushing selection.

  Selection / Flushing

  As mentioned above, it is possible to create an invalid selection
  state (by selecting a state and then de-selecting one of its
  vertices’s for example), mostly the best way to solve this is to flush
  the selection after performing a series of edits. this validates the
  selection state.

Test Script: run in edit mode, selects vertices with

import bpy
import bmesh

context = bpy.context
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)
for v in bm.verts:
    v.select_set(v.co.z < 0)

bm.select_mode = {'VERT', 'EDGE', 'FACE'}
bm.select_flush_mode()
#bm.select_flush(True) # or select flush, deselect all first.
# put in tool in face select mode (without op)
context.tool_settings.mesh_select_mode = (False, False, True)
#bpy.ops.mesh.separate(type='SELECTED')

After the flush above only faces with all vertices selected are selected.  Verts not part of a selected face are deselected.


I have failed to give the rigid body enough accuracy for this kind of shape :

So the idea was to use an intermediate simple object : a cube.

The chain is composed with constraints and parenting.

The parenting :

Each element of the chain is parented to a cube and each empty is parented to the previous (to the right) cube.

Constraints :

Each empty is a hinge constraint connecting the previous and next cube. Don't forget to orientate each empty with the Z along the rotation axis.


Create and return a cube using a python script

When you write

bpy.context.object.data.name = "Cube1" #to change the name but it does not work

you are changing the name of the MESH datablock.  To change the name of the OBJECT datablock:

bpy.context.object.name = "Cube1"

I would recommend altering the scale of the object instead of the dimensions.

bpy.context.object.scale = (2, 0.025, 1.25)


How to select vertices belonging to both faces of two-sided plane?

Turn of Limit Selection to Visible on the 3D View header while in edit mode to select occluded geometry.

You can also select all geometry by default if you switch from shader modes to wireframe mode.

Selection info shows on the Info Editor header, by default above the 3D view, giving you precise scene and selection statistics. It tells how many vertex/edges/faces/objects are in your scene, current object, and how many of those are seletcted

Also if you accidentally/intentionally  move only one at a time, you can then use snapping to perfectly match the first transform by pressing Ctrl while transforming, ensuring a perfect coincidence.


Blender has a Video Sequence Editor which allows very simple editing of an audio clip such as cutting and volume adjustment. Audio clips can then be placed in sync with a video clip to then be encoded together into a final file.

All other audio editing or generating needs to be done in other applications such as LMMS, Garage Band, FL Studio or Audacity before being added to blender.


You can try this, it might work for you.

In Edit mode, select the first edge of your road (Left or Right) using alt-click.
Duplicate (Shift-D), hit Escape, then split into a new mesh (P, choose "Selection").
In object mode, select the new object you created (should be a single line of connected vertices), tab into edit mode, and extrude along the Z axis.  (A to select all vertices-->E to extrude-->Z to constrain to Z axis-->1 to extrude one unit-->Enter),
Tab into object mode then add a "solidify" modifier.  Modify the Thickness to your liking - use a positive or negative Thickness to get it to extrude out to the direction you want.
Apply the solidify modifier.
Tab into edit mode and delete the upper/lower layer of vertices, or else move them up/down to the sidewalk thickness you prefer.
Do the same for the other edge of your road.

Should do the trick!  At least it did with a sample curve I played with.  I don't know if it's shaped like your road.

Edit: here is a screenshot of the sample I worked with:

I started with the light gray road mesh (which I actually created from a bezier curve), then I created the two light blue sidewalk objects using the steps described above.


On Windows and Mac, the Control Panel for wacom in the operating system allows you to set the behavior for different applications, both for the pen buttons and the touch strip. Create a setting for blender and just remap your buttons to do what you need.

Other trick I use is enable Emulate 3 Button Mouse That way clicking and dragging the pen while holding Alt key I can rotate the view.
CtrlAlt to zoom in and out. ShiftAlt to move sideways and up down. I've never used the mouse in blender at all...

For linux it is also possible to remap the buttons settings, but the changes are system-wide, not for specific applications.


How restore the right normal-axis once for all faces?

This is only sort of possible. The normal of an object is kept when you separate it. However, even if you have a one-faced object, blender will not allow you to move the object based on its normals, because most objects have more than one face, which means the direction of motion would be conflicting.

You can move faces by their normal in edit mode though.

Simply change the transform orientation to "normal", go in edit mode Tab and you can transform by the normals.

In the image below, I started with a sphere, and separated out a face. I then went into edit mode on that face, and changed the transform orientation to that normal. Now I can move according to that normal.


How to avoid repeating Texture Paint edits when image is set to repeat in Shading

Unwrap object from top view and scale as needed.

Add new UV Map for line texture and cover whole field.

In Shader editor add UV Map node for each texture and assign propper map.


Having problems with python int types specifying mesh faces again

Pretty cool script btw, doing this worked:

faces = [ [int(i) for i in thing] for thing in a]
verts = [ thing for thing in zip(X.flatten(), Y.flatten(), Z.flatten())]

or

faces = np.arange(7*6).reshape(7,6).tolist()
verts = [ thing for thing in zip(X.flatten(), Y.flatten(), Z.flatten())]

But I imagine there's a faster way to cast down to regular python ints from Numpy -- That is however really a Numpy/Python problem and not BPY/Blender. I doubt that in this scenario speed is of the utmost importance.


Thanks to some help from Jaque Luke (see this post here Animation Nodes: How to unzip a list) I found a slightly different solution: I'm using the Object Instancer, which you can now feed in any Object you like, and first compose a list of target positioning vectors. Then I loop over the list length of those vectors and apply the locations to each Object Instance. A Blend file is here:

The starting point takes a few parameters, allowing you to choose what the distances should be, and also on which column to start. Also, you can pick the object from here:

Next, I'm generating the Columns, and also calculate how many rows each column will have:

I feed that into an extra Sub-Loop to generate the Vectors finally for each column:

This however generates a list of a bunch of vectors lists:

To decompose them, I've used the Expression node in this setup:

Now, all I needed to do was to get the length of this list and use it as a number of iterations for the loop. I loop over each list item (each item is a vector, i.e. the new location of the object), and set the vector accordingly:

and the result is:


How do I randomize the start of animation when in use with particle system

Create a group of your objects with different animations timeframes.  Particles can operate on groups of objects.  Easy examples without animations might be a red sphere, blue cube, and orange cone in a group.

Python might help to create many objects with animation variation.  Cycles modifiers may help for particles created later in the particles system lifetimes. Cycles Modifier can repeat your keyframe animation 888 times or just 8 times.

If the object is a single entity and not a group you can can create a group of your objects.  Then animate each object object efficiently by changing the keyframes or [Action constraint] or other relevant settings.

NLA editor can shift animations and repeat animations.  I cannot research that at this moment.

You can use textures to determines things such as start time of emission.  You must also have a frame range long enough to show such variation.

With Python or BAN (Blender Animation Nodes) there are other options to coordinate animated objects with the locations of particles.

These are high level ideas and not a tutorial because that might be a quicker start for you.


Having trouble parenting cloth to armature

You have a cloth simulation with a "runaway" animation. There are several problems with this. Mainly with the modifier stack.

the Mirror modifier on the shirt should be applied and removed from the stack.
the Armature modifier on the shirt has the wrong armature and the modifier should be on top
the Data Transfer modifier should be bound first, then applied and removed from the stack
the body mesh is rather high-poly (65k vertices) and has a (fortunately deactivated) Subdivision Surface modifier on it. The mesh is heavy for animation.

But even if you fix these issues the shirt has still weird deformations when the character is posed. And it gets worse if you run the animation. I afraid the topology of the shirt is not something that is ideal for this.
If this is your first big project it might be easier to make the shirt from the body. I would use a cloth simulation with an animated character only for cloth where it is really needed, like a tie, a skirt, or a dress.
To create a shirt from the body copy the body, add and apply a Decimate modifier with 2 un-subdivision iterations. Then add seams where the real-world cloth has seams (top of the shoulder, around the arms at the shoulders, and at the sides). Select the faces (L, limit to seams), duplicate them, and separate them. Remove the nipples and the belly button and grid fill the holes. Remove some edge loops at the front of the neck (it's not done in the screenshot).
Then go to Sculpt mode, and inflate the new shirt a little bit so it doesn't look so skin-tight. With the MultiRes modifier and Cloth brush you can more details and wrinkles. Bake the normal map from the MultiRes before you render animations. Add a Soldify modifier to give it some thickness if you like.

Finally, parent the armature (With Empty Groups), and transfer the weights from the body. Check the modifier stack and make sure the Armature modifier is on the top of the stack. Then it should deform fine.


Blender GLTF : which rotation values are really exported?

I'm not seeing exactly the same issue.  If I take the default Blender cube and rotate it, and look at the quaternion on the UI, this is what I see:

In glTF, the order of the quaternion's components is different.  Blender is showing [W, X, Y, Z], but in glTF they are expressed as [X, Y, Z, W].

Thus, my exported cube (with export_yup turned off) looks like this:

These are the same numbers, it's just that W has moved from the front to the back of the array.

Your example shows completely different numbers.  There can be various reasons for this, including parent hierarchy and "parent inverse" transforms.  But there's another potential explanation, too:  The node orientation is being handled as matrices, not TRS (Translation, Rotation, Scale), in the exporter, and each matrix is being decomposed into TRS during the export process (source code).  If the node's matrix happens to have more than one way to decompose into TRS, it's possible the decompose function will pick some other quaternion from the one you were expecting.  But the end result should still work the same.


How to stop rigid body objects from going out of the object when i spin it too fast

You don't mention whether the objects are simply flying out of the top of the blender or whether they are passing through the sides.
Assuming they are passing through the sides when travelling too fast, the problem is likely due to the number of Steps per Second of the simulation being too low. This results in the objects moving from one side of an obstacle to the other without actually interacting with it and the solution is to increase the Steps Per Second in the Rigid Body World settings so that they collide with the surface.
The Steps Per Second can be found within the Rigid Body World properties within the Scene properties panel :


Compositing fire into footage with Davinci Resolve

Why did you give up on using EXR (I have tried to import EXR files to Davinci Resolve with the LUT's) and go to a useless format like PNG?
PNG cannot handle associated alpha channel, it cannot have pixels that are emissive and transparent at the same time.

Go back to EXRs and be happy.

As for the glow on other elements you have two choices: Create some geometry in blender that will be affected by the fire and use it to add luminance to the scene in the compositor of your choice (fusion can do that) or even as a video track over the original footage in davinci. Or use masks on the footage and selective color correction and try to recreate the effect on other elements of the scene.

In the world of movie-making, such scenes are shot with the special effect in mind, usually having lights that flicker and simulate the color and brightness of the fire. You will find out that it is hard to replicate after the fact. The intensity, direction and movement of the shadows to make a convincing effect will require a lot of work if it was not done in the original plate.


How do I make these PBR roof tiles not flat?

There are 2 different things:

For your normal setup, you need to switch the Image Texture to Non-Color as Christopher says, and the Normal Map to the default Tangent Space (I don't know what's Object Space though):

For your Displacement node. Again switch to Non-Color. Also, you've plugged this node into the Displacement socket of the Output, and you've chosen Surface > Displacement > Displacement & Bump in the material Settings, which means that you want the bump effect but you also want a real displacement effect. The displacement itself acts on real geometry, it can only affect an object that is subidivided enough, otherwise nothing happens. Your roof is just made of one face, so it can't be displaced for real. Therefore for the moment only the bump effect happens (which cumulates with the normal effect, which is ok if this is what you want but it may be redundant. And it will also be redundant with the real displacement):

As you can see here is what it gives if I subdivise enough a plane and give it your setup (I had to decrease the Displacement strength though), not sure the height map is good though, giving the result:


Need Help figuring out Autimatic Weight Painting

The problem lies in the front feets, if you separate them (P, in edit mode) the rest can be weighted automatically. As you know, there will be a lot of manual adjusting needed, and some topology seems not good for smooth deforming. In such complicated models, I generally prefer to use the "with empty groups" parenting option, then select one vertex group afther the other, and manually paint (or assign) its weight.

Anyway, it works!


How to make smoke puff repeatedly in an animation

Smoke "Repeatedly"

If you mean bake one sequence of "puff" and use it several times - NO WAY. Even baked sim (saved as external) - voxel texture that can be reused as any other texture on any object (with the same dimension) ... there is not an option to specify appearence in time.

Even if you set Domain Object as Particle Object and use it (without physics) for repeatedly appeared smoke. The baked sim is played only once. Other particle instances are represented just by last baked frame.

How to offset multiple smoke instances by time?

Offset Start

NO WAY to offset start of baked smoke, you can only set start  of simulation in Physics Properties > Smoke > Cache > Simulation Start

Solution to just rename files (part of given name containes a frame number), did not work for me (for a reason described above).

Moving a Smoke Simulation in Time

There was some workaround but for negative start.


link new object to scene with python in 2.8

The issue with your code comes from an api change in 2.80.
We no longer link objects to the scene, they have to be linked to a collection.

So all you have to do to make your script work is to change your scene references to collections

You old code:

scene = bpy.context.scene
scene.objects.link(ob)
scene.update()

Replace with this:

scene = bpy.context.scene
scene.collection.objects.link(ob)

Or shorter:

bpy.context.collection.objects.link(ob)

Or if you wanted to link the objects to a specific collection you'd do this with this line:

bpy.data.collections["Collection Name"].objects.link(ob)


Conditionally apply texture based on object behind?

You need to use the Geometry node with drivers

Basically Blender analyses each every portion of the mesh, and for that portion the Geometry node returns its position.
The Separate XYZ node extracts the height from that position vector
The two Value nodes get their input from two drivers (in the picture there is one of them) that copy the Z position of the two planes

With the two Math nodes, set to Less Than, you calculate if that mesh portion is under one of the two planes. The values you get are 1s (White) or 0s (Black)
You can use those values as the factor input of two Mix shaders to get your final color

Of course if you have textures you can put them instead of the RGB nodes, replace the Mix nodes with Mix Shaders

EDIT

This is your setup in case of horizontal planes. In case of tilted planes there is more math involved, but it's absolutely possible


Animated Fur can't use texture, like the rest of the body

The problem was, that i emitted the hair from vertices. That's why the hair only used the colour information of the corners of the texture. The image information is in the faces so make sure to select faces instead of verts in the emitter panel of the particles tab.


Which rx5700xt's driver is stable with blender?

try blender 2.82a, it may obsolete but run properly for me
i am using rx 5600 xt, 20.9.1, windows 10 20h2
the version above that crashes, or use radeon prorender


export> stl> EXPORT STL, blender keeps saving the wrong file

STL format only supports triangles.

  STL file format wiki

  STL (an abbreviation of "stereolithography") is a file format native to the stereolithography
  CAD software created by 3D Systems. STL has several
  backronyms such as "Standard Triangle Language" and "Standard
  Tessellation Language".

  An STL file describes a raw, unstructured triangulated surface by the
  unit normal and vertices (ordered by the right-hand rule) of the
  triangles using a three-dimensional Cartesian coordinate system.

A simple test would be to export and re-import cube or plane, and note the triagulation.

Related Triangles to quad for 3D printing


You can save a custom workspace by clicking on the little plus icon in the Header and choose Duplicate Current. (From looking at your screenshot I believe that is what you did already.) It will then be added to the Header and you can rename it by double clicking on it.
To save it, simply save your .blend file. This will allow you to re-open it in another .blend file by appending it.
Go to File > Append (or Shift + F1 ). Locate the file you saved the Workspace in and double click on it. Open the folder titled "WorkSpace" and double click on the the custom workspace you made. It will now be added to the Workspace Header of the .blend file you are currently working in.
Ctrl + PageUp flips through the workspaces in the Header from left to right, whereas Ctrl + PageUp flips through them from right to left.


The light balls are the point lights reflected on the glossy surface, the size depends on which radius you have set in the Point Lamp properties. Reducing the radius will make the reflection smaller (but presumably the shadows also sharper, I'm not sure about IES lights because I don't use them).
To get completely rid of the reflections (no matter if you're using a Glass BSDF or a Principled BSDF), select the Point Lamp and go to the Object Properties tab, there you will find Visibilty > Ray Visibility. Disable Glossy and the light will not show up in reflections.


How do I name a selected group via python script

Using Object.users_group returns a list of all groups the object is assigned to. Decide which group of the list you'd like to rename and assign a new name to GroupData.name property.

import bpy

obj = bpy.context.object
obj_group = next(iter(obj.users_group), None)

if obj_group:
    grp = bpy.data.groups.get(obj_group.name)
    grp.name += "_special"


Cycles viewport render different than f12 render?

The flower mesh has a solidify modifier which is only enabled for rendering. The extra thickness from this modifier makes the translucent material give a different result.

In general for differences between render and viewport, check these:

Object viewport and render visibility in the outliner
Modifier viewport and render visibility
Particles and hair resolution settings
Curve, surface and metaball tessellation settings
Render layer settings
Color management settings
Compositing nodes and sequencer strips


Geometry data is coming instead of geometry

What you have selected is not a curve, it's a mesh, you need to use a curve, or you can convert your mesh to a curve: Go in the header menu > Object > Convert to > Curve from Mesh:


Color mapping not displaying in viewport display

Color Mapping was recently renamed to Grid Display. In your screenshot you'll find it just at the bottom border of your drawn frame.


A vaguely similar pattern could procedurally be achieved with a Wave texture. Is it physically accurate? No. Is it quick and dirty? Hell yes
Set it to Rings mode and stretch it in one direction using a Texture Mapping node (here in this example the $Z$ axis).
Adjust the Detail to a low-ish value, and the distortion to a high value to your taste.
Lastly run it through a Color Ramp node set to Constant interpolation.
Behold, my potato zebruh with a fake pattern.


How do I get rid of the unexpected shadows that appear inside the holes of objects using Glossy BSDF?

You need to increase the number of glossy bounces in render settings > Light paths. These "black surfaces" are caused by rays which enter the cup and then bounce back and forth between the sides until they hit the limit of bounces they are allowed to do, and then return nothing (as defined by the max bounces and glossy bounces values).

By increasing the number of allowed bounces, the rays get more of a chance of gradually working their way over to a spot where they can bounce around to someplace else.

With only 4 glossy bounces:

With a lot more:

Another things that can help is adding a bit of scattering (roughness) to make  paths more random and less likely for rays to get trapped going back and forth for large numbers of bounces:

Note that in some ways this is realistic, as this kind of thing happens in the real world too. In the real world, there is an infinite number of bounces, but light does diminish in intensity at each bounce. So eventually light bouncing around would be absorbed completely, and the surface would appear black.


How to stop my cloth simulation from bouncing like a piece of rubber

One thing is that you have the Speed multiplier in 6 meaning that your cloth simulation is progressing "times 6" you also need to take care of other setting but that will depend on the effect that you want.
https://docs.blender.org/manual/en/latest/physics/cloth/introduction.html
Hope that helps


In 2.8 where is new View mode in uv/image editor.
In this mode where is no UVs or mask or painting tools are display. To edit UV you need to switch to UV edit mode:

New View mode is good for viewing image for reference.

Note, that where is new UV editing workspace with uv/image editor with uv edit mode by default:

Tool 'Select Box' not found for space 'IMAGE_EDITOR' it is just a warning don't pay attention to it.


modelling question regarding smooth curved and flat surfaces

I'm not sure it's what you want but here is a try. Begin with a UV Sphere, etc... You could also use this sphere to boolean a rectangle...


Google Drive is very likely the reason in this case, as it has to lock access to the file while syncing it with the Cloud. But it can also happen (and does happen) to me when a file is located on the server, and the server is creating Shadow Copies of it. In our company the server is setup this way, every hour changed files will be backed up, so the likeliness of saving over just that one blend file which is currently being backed up is not that small.

What I noticed then is that on the Server a file with an '@' at the end will be left behind. I have to manually delete it, before I can save my blend file again, if not Blender will continue to complain about it being there.


Python Script: Run two different commands that depend on 3D View update

You should be using frame_set

import bpy

def obj_pos(obj, frame):
    bpy.context.scene.frame_set(frame)
    print("frame:", frame)
    print("object location:", obj.location)

me = bpy.context.active_object
frame1 = bpy.data.scenes["Scene"].frame_start

obj_pos(me, frame1)

frame2 = bpy.data.scenes["Scene"].frame_end

obj_pos(me, frame2)


Pivot point not working in Python script

You will want to set the pivot point to use the 3D cursor. As the pivot_point is a property of SpaceView3D, you will want to find the 3DView in the current screen areas, then change it's pivot_point to CURSOR

scr = bpy.context.window.screen
v3d = [area for area in scr.areas if area.type == 'VIEW_3D'][0]
v3d.spaces[0].pivot_point = 'CURSOR'


You can get depth information and use it the compositor (e.g. with the Z combine node) or put it in an EXR layer.

However there is no support currently for true deep compositing, which allows for transparency and compositing tricky things such as a motion blurred object.

I don't see it on any of the todos, however it's being mentioned in the mailing lists a bit, so it's hopefully only a matter of time.

If all you need is depth information, then it's currently possible:

The Z output contains depth information. It appears white since most of it's values are greater than 1. To view it, you need to map it's range to the 0-1 range, so you can use a Map range node or a Normalize node:

If you want to put it in an EXR, enable Z buffer in Render settings > Output:

You can use this with the Z combine node, which combines images based on Z depth values. For example, with two renderlayers (one with a sphere and one with some random objects), I can render them separately and then combine them almost as if I rendered them as one:


In edit mode, select only the central vertex and enable proportional editing, sphere falloff, adjust the effect with central mouse wheel and grab (in my example along the X axis).


Make a line animation that is thicker at the start and thinner at the end?

You can do it with curve only or with mesh and Curve modifier:
- With curves only:
Create your line curve, create a second curve that will be your taper, make it flat with V > Vector, rotate it slightly on the Z axis in Edit mode, the rotation angle will give the thickness of your line, i.e. the difference between its minimum and maximum radius. Now choose this second curve as the Taper Object of your line:

If you enable the Map Taper option and play with Bevel Start and End values you'll be able to animate your line:

You need to play with both the Start and End values if you want the line to follow along the curve:

Settings at frame 0:

Settings at frame 20:

The file:
- With mesh and Curve modifier:
Put the cylinder at the same point as the curve's origin, and make sure that the curve's direction is good, if not, go in Edit mode and right click > Switch Direction:

Give your object a Curve modifier with the curve as Curve Object, then animate the cylinder along the X axis so that the mesh follows the curve.


Set the name on the collection

Set the name of the collection item, as this is what appears in the prop search. Simple test script, the collection is populated from a simple list.

import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        obj = context.object
        layout.prop_search(obj, "audioAction", context.scene, "audioFiles", icon='SPEAKER')

class AudioFileNameGroup(bpy.types.PropertyGroup):
    name = bpy.props.StringProperty(name="File Name", subtype='FILE_NAME')

def register():
    bpy.utils.register_class(AudioFileNameGroup)
    audioAction = bpy.props.StringProperty(name="Audio Effect", subtype='FILE_NAME')
    bpy.types.Object.audioAction = audioAction
    bpy.types.Scene.audioFiles = bpy.props.CollectionProperty(type=AudioFileNameGroup)
    bpy.utils.register_class(HelloWorldPanel)

def unregister():
    # fill this in
    pass

if __name__ == "__main__":
    register()
    items = (
        ('FOO', 'Foo', ''),
        ('BAR', 'Bar', '')
    )
    scene = bpy.context.scene
    for identifier, name, description in items:
        scene.audioFiles.add().name = name


(This answer was updated for Blender V2.82 and higher)

As it was mentioned above, it depends on what you want to do.

If you want to go all scientific and have simulation data that you want to analyze then you should use a free software called DualSPHysics, http://dual.sphysics.org/, which specifically deals with fluid dynamics. They are using it to simulate sea shore erosion, brake wall effectiveness and so on, here is an example for usage https://www.youtube.com/watch?v=EvSDFRfJToQ or in Blender https://www.youtube.com/watch?v=U6lloRvgoXA. There is also a Blender plugin for this software which is called VisualSPHysics, https://github.com/EPhysLab-UVigo/VisualSPHysics.
If you actually want to analyze the data then you may need to also use a software called ParaView, https://www.paraview.org/, which is a data analysis software. You can see what happens to velocities, pressures and a multitude of info.

If only accurate visuals are the main objective then from blender V2.82 and up has a new fluid, smoke and fire simulation engine called Mantaflow based on the FLIP solver. Mantaflow replaces the old fluid simulation engine which used the Lattice Boltzmann based method of particle based fluid simulations, https://en.wikipedia.org/wiki/Lattice_Boltzmann_methods. Blender V2.82 Beta is available as a daily build here https://builder.blender.org/download/ but it will be released as the main version in a few days of this article update.

There is also a paid version plugin for fluid simulations called FLIP Fluids, https://blendermarket.com/products/flipfluids, which is a matured plugin for Blender V2.79 and now they have it for Blender V2.8x as well.
Mantaflow is like FLIP Fluids but it is capable to do more then the paid one. Mantaflow can already deal with smoke simulation whereas FLIP Fluids exclusively deals with fluids only. Currently, at the time of writing this, Mantaflow cannot deal with viscosity changes but FLIP Fluid can. In future, Mantaflow will be able to deal with viscosity.

FLIP Fluids and Mantaflow are using very similar methods of calculating the fluid dynamics. They both use a FLIP solver, which is a type of hybrid between a particle based and volume based fluid simulation. It stands for FLluid Implicit Particle solver. It can generate Foam, Bubbles, Spray and it is faster than the SPH solver system, discussed below.

DualSPHysics uses Smoothed Particle Hydrodynamics, SPH, to solve fluid dynamics problems which can also be used to simulate other than fluids such as solid mechanics, https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics. This fluid dynamics solver is a volume based simulation. It creates accurate simulation data that can be later analyzed either numerically or visually with external software such as PraView, see above. Because it provides detailed calculation data it can be 10-100 times slower then the FLIP method but it is the ideal one for research.

Hope this extra info will help you out with your project.


Is it possible to add multiple materials to a text object?

You can do this by going into edit mode and moving using the arrow keys and holding Shift to select which characters to assign to, all other steps are the same.


Blender 2.9, is there a way to select the collection in outliner when an object in that collection is selected?

No solution, just a workaround: I sometimes use the fact that the collection which holds the selected object has got a highlighted object symbol. If there's too many levels of hierarchy visible in the Outliner I press A to select all, Home and Numpad - so everything is collapsed. Then it's easier to find the collection with the highlighted symbol.
If you want to transform all objects in a collection at once without using Shift+G in the viewport or RMB+Click in the Outliner it would be best to parent all objects to an empty per collection.
You can also instance a collection or create a linked duplicate. In the Outliner, RMB+Click on the collection you want to duplicate, then choose either Duplicate Linked or Instance to Scene from the context menu. Test both to decide what works best for your needs.


When exporting a rig from Blender to UE4 and using UE4's IK system, my limbs break

I've found that a Blender script here enabled me to export a Make Human originated mesh with a skeleton that was entirely compatible with the UE4 skeleton having the correct bone names and bone rolls. It requires Blender 2.8 though and I tested it with UE 4.21.2 and the free animations that came with UE including the Animation Starter Pack.


You can animate the timestep. A value of 0 stops the animation, higher values increase it. In this way you can change the speed at any keyframe of any particle system.
The speed can be animated for every particles system setting. So you can combine particle systems with different velocity or speeds.
You'll find the timestep in the particles properties at Physics->Integration->Timestep


There is a hidden object in your scene.

Since it only has restrict viewport visibility turned "on" you can only see it in the render.

To unhide all press ⎇ AltH in the 3D viewport.

Or locate the hidden object in the outliner and delete it or restrict rendering for it as well.


BGE: Can I automatically switch to material view on run?

You could split the Start/Stop keys into separate press/release actions... So P engages Material Shading then starts the game; and Escape stops the game then (re)engages Solid Shading.

The devil's in the detail of course, ie. typing exactly the right stuff into User Preferences » Input » 3dView » Object Mode P to start the game engine need only be changed from Press to Release, but the two compound shading actions are best done with two new entries.

Put wm.context_set_enum and space_data.viewport_shade in the first two boxes of both; then, to engage Material Shading with the first new entry, set the Value to MATERIAL and assign key P as Press; and to (re)engage Solid Shading with the second new entry, set the Value to SOLID and assign key Escape as Release.

I tested this out & it works nicely but it's still a good idea to backup your hidden User Preferences file so you can reinstate it if things get messed up). Several blender.stackexchange threads cover this.

Also note that a key's standalone release action will be triggered if a combining modifier (Ctrl / Shift / Alt) is released first.

So modifiers need to 'lag' and be the last key up. Unless the modifier is an adapted normal key, in which case clean key release may require 'cover' from an invoked on-screen dialogue.


pressing Numpad + or Numpad - you can zoom in or out on any window (or control) in Blender.

To resize the panel drag it with the left mouse button.


While I have no immediate answer, here is how you can find out the cause of the problem:

Open a command line shell.
Navigate to where your Blender is installed.
On windows you can Shift RMB in the blender program folder (without any file selected) in Windows Explorer and select Open command window here.
On linux this step is only necessary if you have multiple version of blender installed, otherwise you can just run blender.
Call blender from the shell. On windows, type blender.exe. On linux, type  ./blender.

Now Blender starts and leaves messages in the commandline shell. You will probably see one or more error messages which may lead you to the cause of the problem.

You can try to force Blender to use factory-settings by providing the commandline option as follows:

blender.exe --factory-startup

Some possible causes are:

a broken Addon
An installation error like: "out of disk space", "no write permissions on disk", etc.
Wrong Python version in Path (i am not sure if Blender gets trapped by that)


The biggest hurdle to getting Blender running on the Raspberry Pi is the fact that the Pi has an ARM processor rather than one that uses the x86 instruction set, which means software has to be specifically compiled for it. Currently the Blender Foundation does not provide these builds at the moment, but there are a number of builds floating around produced by 3rd parties that should work fine. Many of them mention use on the Pi since it is probably the most common normal linux ARM platform, the fact it runs full linux makes this much easier.

As you are relying on third party builds, many will be a bit out of date compared to the latest builds (certainly buildbot, and they may take a bit to catch up). That said on arch at least its up to date: https://archlinuxarm.org/packages?search=blender. However in the debian jesse repo, it is a fair bit out of date (https://packages.debian.org/jessie/blender). As fair as I'm aware the default Pi os (Raspbian) is based on jessie, so the blender you get there will be somewhat out of date. See @Zoots answer for more recent builds.

As Nathan Osman mentions in the comments, you should be able to install blender with: sudo apt-get install blender

For 2.8 and later, openGL 3.3 is required, making builds impossible. see https://blender.stackexchange.com/a/145057/26345


Renders with colors on either side of screen

The issue was fixed by enabling 'Overscan' under the Scene Properties > Film tab. Keeping it on the default of 3% appears to be fine.

I have re-rendered multiple problematic scenes with overscan enabled, and they have all rendered correctly.


Smooth shading disappears in render view

Worked it out ! It had to do with the material that I had copied from elsewhere, it had a normal map and that somehow messed up the display. I still have a problem with the bevel modifier but I can live with that.


How can I make parts of a menu context sensitive in Python?

Answering my own question via vitos1k on IRC.

In order for the the if/elif statements to recognize the variable it needs to be placed inside the draw function.

Correct code:

class QuickObjectOptions(bpy.types.Menu):
bl_idname = "object.display_options"
bl_label = "Quick Object Options"

def draw(self, context):

    mode = context.object.mode
    layout = self.layout

    if mode == 'OBJECT':
        layout.operator("object.shade_smooth", icon='SOLID')
        layout.operator("object.shade_flat", icon='MESH_UVSPHERE')
    elif mode == 'EDIT':
        layout.operator("mesh.faces_shade_smooth", icon='SOLID')
        layout.operator("mesh.faces_shade_flat", icon='MESH_UVSPHERE')


Custom operator to toggle lamp energy not working

Here is a variation of the script that works on all lamp objects with their name (ob.data.name! ) starting with "headlight" (case insensitive):

import bpy

class LightsOperator(bpy.types.Operator):
    bl_idname = "object.lights_operator"
    bl_label = "Headlight Operator"

    def execute(self, context):

        for ob in context.scene.objects:
            if not ob.type == 'LAMP':
                continue
            lamp = ob.data
            if lamp.name.lower().startswith("headlight"):
                lamp.energy = 0.0 if lamp.energy >= 0.8 else 0.8

        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.lights_operator()

Note that it toggles the lights between 0.0 and 0.8, no matter what the initial value is. If you want to toggle only those with a specific energy, keep rounding errors in mind - it isn't really 0.8 unless you round(lamp.energy, 1):

>>> lamp.energy = 0.8

>>> lamp.energy == 0.8
False

>>> lamp.energy
0.800000011920929

>>> round(lamp.energy, 1)
0.8


Blender video in which a scene is first untextured and then shows the textures as the video goes on

A simple version of this effect could be created using a combination of render layers and keyed compositing effects:

Step 1

Under the Render Layers panel, enable AO and Environment passes.

Step 2

In the Compositer, create this node setup and keyframe the Mix node property highlighted below to go from 1 to 0 over the course of your animation, or over whatever period you want your materials to appear.

For very complex scenes you may need to play around with rendering more layers and mixing in different nodes, but this method should get you most of the way there for a basic fade in effect.


It should be as simple as

child.location = (x,y,z)


What is this dashed box and how can I turn it off?

It looks like you pressed ShiftT which enables texture space display and translates/grabs it.

You can disable Texture space display in Properties > Object > Display:

In case you accidentally translated it, you may want to set it back to 0,0,0 in Properties > Object data > Texture space and re-enable Auto texture space:


I never tested it against 2.79, but I had severe performance issues with 2.8 on a quite new MacBookPro as well. Turned out it was for me the Graphics Chip not able to deal with 2x Retina. I use EasyRes from the App Store to bring it down to 1x


I want to loft/bridge through a series of different profiles to produce a car shape but cannot select all the profiles

The order of selection doesn't seem to matter.
Loops are connected based on their distance.

Selecting the loops individually, or using Select > All doesn't matter.


Why does part of my mesh have a texture even though its UVs are off the edge of the image in the UV Editor?

The texture has repeated itself
A texture is by default tiled, you can see the actual repetition by enabling the Repeat Image checkbox in the View tab of the UV editor.
This is usually very useful when you are using seamless textures.

If you want to avoid this behaviour you have to explicitly clamp (clip) your UV texture coordinates.


What you're seeing is the wireframe of the mesh when you're switching to edit mode by pressing the Tab key.

Once you've converted your text object into a mesh you can't edit the text anymore. Since the conversion is not reversible you will have to create a new text object perform the desired changes to the text and then convert it into a mesh.


Proper way of attaching bones to the model

The automatic weights calculation takes normals into consideration. Since you joined multiple meshes together, typically the normals become inconsistent.

What you need to do is go into edit mode, hit Mesh - Normals - Recalculate Outside. Then unparent the mesh (Alt+p), remove the armature modifier, and do it again (select mesh, select armature, Ctrl+P with automatic weights).

Also another method is leave all meshes separate, and parent each piece to a bone (select mesh, select bone in pose mode, ctrl+p and select bone), which is good for mechanical type armature deform. The downside to this is I find this method VERY slow in game engine if you are using that.


I'm not sure if this "precise fit" can be done with sculpting. You could use a boolean modifier and subtract the eye, but that would not create a nice topo mesh.

Can you explain a bit more why it is a problem to ave the eyelid "clip" into the eye slightly. Most people do it that way when modelling eyes because perfect fit sometimes can give render issues like shadows or gaps.
As for the bulging, could you post a close-up of the mesh around the eye?

cheers,


How to select meshes with transparent materials applied to them only?

Generally determining if a given node setup is transparent is rather tricky; for instance, a material may be transparent only in some areas (textured transparency) and other such complications. However, in your case, it seems that checking if the value of the "Mix Color/Alpha" node is < 1 should be sufficient.

for obj in bpy.data.objects:
    if obj.type == 'MESH':
        for slot in obj.material_slots:
            if slot.material:
                mat = slot.material
                for node in mat.node_tree.nodes:
                    if node.label == "Mix Color/Alpha":
                        if node.inputs[1].default_value[0] < 1:
                            print("Material '%s' on object '%s' seems transparent" % (mat.name, obj.name))

The importer seems to create both cycles and BI materials, so you could also check the BI material property (even while cycles is active):

for obj in bpy.data.objects:
    if obj.type == 'MESH':
        for slot in obj.material_slots:
            if slot.material:
                mat = slot.material
                if mat.use_transparency:
                    print("Material '%s' on object '%s' seems transparent" % (mat.name, obj.name))


how to rig the eyebrows which are separate from the head?

We can do both, either select the separated eyebrow and parent it to the eyebrow bone, or join it to the face mesh using Ctrl+J and rig the face as usual, and then weight paint the geometry. However, in terms of proper deformation I guess the second option might provide more control.


Enable mist and Z for the view layer.

For older versions of blender (2.79 or previous)

On the Scene tab(yellow circle), make sure that Z and Mist are checked(red circle).
Also, make sure that the render layer in the Scene tab matches the render layer in the node editor (green circle).
Z is now called Depth.


Is there a specific way to unwrap a character model?

There are several ways to UV unwrap and they are all for technical reasons.

As you mentioned, the head might be separate so that it gets a different (larger) image than the rest of the body.

Another way is to have the head on the same texture file, but occupying a larger space.

You can also UV half the mesh with the other half mirrored and "folded under". This will look like you textured half the body, but it covers both sides. This is mainly to conserve resources, as with background characters or with realtime (videogame) characters.

You need to create seams to unwrap. To separate the head, you usually create a seam that goes all the way around the neck. Where the seams go, however, depends a lot on what the geometry looks like.

Once you unwrap, assign the textures. Mind that the texture you see is just for the preview, it wont show up on the render until you assign materials.


How to show open dialog box that can navigate to blender datablocks

You need to use bpy.data.libraries. The class has a function load which read the datablock of a blend file.

Here an example of how to draw such dialog box to append either a group or an object.

class open_blend_file(bpy.types.Operator, ImportHelper):
    """Import a .blend file to append model from"""
    bl_idname = "blend.open"
    bl_label = "Import"
    bl_options = {'UNDO'}

    filter_glob = StringProperty(
        default="*.blend",
        options={'HIDDEN'},
    )

    group = BoolProperty()

    def get_lib_groups(self,context):
        l = [];
        if os.path.exists(self.filepath) and self.filepath.endswith('.blend'):
            with bpy.data.libraries.load(self.filepath) as (data_from, data_to):
                groups = data_from.groups;
                # objects = data_from.objects;
                for g in groups:
                    l.append((g,g,g));
        if len(l) == 0:
            l = [("None","None","None")];

        return l;

    def get_lib_objects(self,context):
        l = [];
        if os.path.exists(self.filepath) and self.filepath.endswith('.blend'):
            with bpy.data.libraries.load(self.filepath) as (data_from, data_to):
                # groups = data_from.groups;
                objects = data_from.objects;
                for o in objects:
                    l.append((o, o, o));
        if len(l) == 0:
            l = [("None","None","None")];

        return l;

    lib_groups= EnumProperty(
        name = "List of groups in the .blend file",
        description = "List of groups in the .blend file",
        items = get_lib_groups
    );

    lib_objects = EnumProperty(
        name = "List of objects in the .blend file",
        description = "List of objects in the .blend file",
        items = get_lib_objects
    );

    def draw(self, context):
        scene = bpy.context.scene;
        props = scene.property;
        layout = self.layout;

        row = layout.row();
        row.prop(props,'import_from', expand = True)

        if props.import_from =='Groups':
            if len(self.lib_groups)>0:
                row = layout.row();
                row.prop(self,'lib_groups', text = "Groups", icon = "GROUP")
        else:
            if len(self.lib_objects)>0:
                row = layout.row();
                row.prop(self,'lib_objects', text = "Objects", icon = "OBJECT_DATA")

    def invoke(self, context, event):
        context.window_manager.fileselect_add(self)
        return {'RUNNING_MODAL'}

    def execute(self, context):
        if self.group :
            name = self.lib_groups;
        else:
            name = self.lib_objects;

        if self.group:
            blend_file = self.filepath + "/Group/"
            bpy.ops.wm.append(directory=blend_file, link=False, filename=name, autoselect = True);

            group = bpy.data.groups.get(name);
            if group is not None:
                bpy.ops.object.empty_add(type='PLAIN_AXES', location = (0,0,0));
                obj = get_active_object();
                obj.name = group.name;

                for o in group.objects:
                    o.parent = obj;

                group.objects.link(obj);

        else:
            blend_file = self.filepath + "/Object/"
            bpy.ops.wm.append(directory=blend_file, link=False, filename=name, autoselect = True);

        return {'FINISHED'}


Thanks to Duarte Farrahota Ramos for the answer.

Instructions and file to download are here: Sensei

Download the file sensei_theme_update_10_21_2013.zip
Extract the zip file.
Open Blender and go to “File” at the top choose “User Preferences” and then choose the tab “Themes”
At the bottom of that screen choose “Install Theme” and select the file you just downloaded on your computer.
If you’re happy with the theme changes then go to “File” at the top and select “Save Startup File” and you’re done.

Notes:
(2) Make sure the extract results in an .XML file.
(5) This doesn't appear to be necessary.


How do make this 2D animation in Blender?

This is quite simple:

Create a plane (12 o'clock tick) - resize as necessary, in edit mode move the object so the center is outside the shape (if you use "absolute grid snap" everything is easier)

To create the 12 clock's lines, you just need to duplicate and rotate (SHIFT + D to duplicate, R + 30 to rotate 30° (you can rotate by 30° every new duplicated piece). You can also do it with less steps if you want (it's easy to figure out how).

Then you just need to select all pieces and insert keyframe (rotation + position). you can do it pressing I

Move a new frame and move all the pieces to create the TIME word. Remember to use I to insert final keyframes (object by object).

If you want to create some dynamic movements you can play with interpolation modes or frames (for example you can setup the scene so not all the objects start moving at the same frame).


Normal map baking (cycles) edges and bleeding edges

These are put there on purpose to prevent artifacts around UV seams.

If you really want to get rid of them, set the margin to 0:


Not sure how it will work for your, since you geometry seems to have been exported from some kind of solid modeling application and is quite messy but you could try cleaning up your mesh a little bit first.

Start by removing all duplicate geometry by selecting all and W Menu > Remove Doubles
Convert all triangles to quads with Alt + J
Select all edge loops belonging to the bevel (success of this step depends on how clean you geometry will become after previous steps)
Delete these loops with X > Edge loops

You may have trouble doing so on your mesh because of the triangulated gemoetry


I believe you need to rethink what you are really looking for. If you want the refraction part to be actually transparent in the image (have a lower alpha value), you can leave out the glass node entirely. Instead, mix a transparent shader with a glossy shader using a fresnel type of factor. This isn't a physically correct phenomenon anyway, so no need to get all crazy about how to set it up: just something that looks decent is needed.

(This image is plenty high-res enough to see everything clearly even though it doesn't show up correctly here for some reason. Just open it up in a new tab in your browser to see all of the settings or refer to the .blend file.)

In this blend file, the "transparent" looking areas are actually transparent in the render.

Here is the file that I used for the demo:


How does blender calculate the solve error in camera tracking?

Blender currently uses a KLT-Tracker (Kanade–Lucas–Tomasi) which is documented here.

For the calculation of the solve error the documentation of this implementation might be interesting.


Keyboard shortcut for texture paint brush strength?

Use Shift+F for Strength, F for Radius, and Ctrl+F for rotation of brush texture.

When using a brush texture in Stencil mode, RMB to move, Shift+RMB to scale, and Ctrl+RMB to rotate the stencil image.

When using Stencil in Brush Mask, Alt+RMB to move, Shift+Alt+RMB to scale, and Ctrl+Alt+RMB to rotate.

I use these all day, and prefer them to the typical  [ and ] usage in photoshop and other editors.


Can't Remove/Detatch Bones/Modifier/Vertex Group

You can either do it with a brush in Weight Paint mode, or in the Properties panel > Object Data > Vertex Groups, select the vertex group in the list, select the vertex you want to remove in the 3D view, click on Remove button under the list.

Note that on the right of the vertex groups list, under the + and -, you have a down arrow that gives you additional functions, like Remove From All Groups.


How can I assign a different image texture per particle?

You can make a color ramp, it's color and not texture, but you can take an object info node, put the random into a color ramp, and the color of the ramp into the color of diffuse node. So it will take a color in the ramp randomly. I hope it will help you.


How to create a pattern like this using Python script or Modifiers

Here's a try with just modifiers. It's not exact, but it might get you started at least. This is with just the default cube:

click to enlarge

The modifier stack is as follows:

click to enlarge

You can adjust the "openness" of the pattern by tuning the scale and ratio of the remesh and decimate modifiers. The thickness of course comes from the wireframe modifier.

You could optionally add a solidify modifier after the remesh if you want a little more density to the model as well. You would get something like the following:

click to enlarge

Here is the .blend file for your reference. (The solidify modifier from the second image is currently disabled for render and the viewport.)