It is possible to render a geometry as a blurry object?

change the object index and use this node setup in the compositor

the id mask will create a mask from the object and  the erode will give it smooth edges


This a type of what is typically referred to as vector displacement, where the displacement map provides RGB values which are used to get displacement along different axes. This displacement can occur along different orientations (or coordinate spaces) of the axes.

Currently, to my knowledge blender only supports local object space (The 'RGB to XYZ' option in the displace modifer, see https://www.blender.org/manual/modeling/modifiers/deform/displace.html). To displace along vectors perpendicular to the normal the displacement would need to be applied in the vertex tangent space. If you are familiar with normal mapping this is very similar to the difference between object space and tangent space normal maps.

Local object space displacement will work fine so long as your mesh does not dynamically deform (e.g. armature modified, cloth sim etc).


While i am sure you have a reason to use the older version of Blender (update is much recommended though).

That said, you should be able to get it done by doing the following:

Go to frame 1, where the scale is supposed to be 0.001
Enter the value of 0.001 and then with the mouse over the scale field, press I to set a keyframe for that attribute at frame 1.
Now jump to frame 300 and enter the new value (0.05) for the scale and again with the mouse over the scale field press I to set another keyframe.

If you now play the animation, the scale value will be interpolated between 0.001 and 0.05 over the run of 300 frames. If you want a linear interpolation, you need to go in the graph editor and under key menu -> Interpolation Mode -> Linear. Or just press T and select Linear, like in the picture below.

I packed all in a little visual demonstration:

Happy Blending


Pants and Shirt Not Moving Properly(Weight Paint Issue?)

I answered my own question. I found out that both the hip bones and the other leg bone were influencing the movement of the shirt on the leg I'm working on when they shouldn't have been. I'll need to click in between these few bones and adjust the weight painting until the shirt looks good when the leg is lifted.


Setting constraints causes the location of the constrained objects/bodies not be accessible

object.location will never give the "correct" position for a object that has a constraint on it (or a parented object).
That comes from the way parenting and constraints mess with the global coordinates (their effect gets calculated after the object.location).

To get the world position of the a child object (or an object governed by a constraint) you should use object.matrix_world.translation.
matrix_world returns a matrix for the object's transformations in world space. The .translation part will convert the matrix to a location vector (just like .location).

The blender wiki has a good read for further explanation about the coordinates for parented objects (same principals for constraints).


Call a function when new node link is created

If you are writing your own nodes:
Yes! You can add an update-function wich can handle input-tests.
Your update-function will be called on every change of the node, so on linking/unlinking it will be called. Here is how:

class MyNode(bpy.types.Node):
    bl_idname='MyNode'
    bl_label ='MyNode'
    # your update function must only take self
    def update(self):
        # your code here
        for skt in self.inputs:
            if skt.links:
                print("Input socket {} is linked".format(skt.name))

If you are using existent nodes:
No, probably not. You simply can not overwrite the nodes own update-functions.
They seem to be like a read-only-property returning a function to you.
Setting them wont work, no matter what.


How can I get a model I made to look I want it to in Unity 3D?

The last images show perspective distortion when you toggle the camera from 3d to 2d your model looks like:

You cup is almost 2m in reality this is how such a big cup appears with the given camera settings.

You receive poor topology from adding a subsurf modifier followd by a decimate modifier.


Your question is a bit broad. You would need to know the file format, and create an importer for this format in Blender. As an example: Starting with a documentation of the .mx format I created a script to import the models of an old game called forsaken. The source and links to the documentation are linked here:

Is there a way to import .mx or .mxa files?


If you want to use seams, don't use "Smart UV Project" but "Unwrap". Smart UV project has the potential to split up into even more pieces than your seams showed based on geometry (the angle between faces), but "Unwrap" will simply use your seams. As far as the one vertex by itself, it was most likely not selected before the unwrap. Use A to select all, then do an Unwrap.


Unable to fully flatten a face in Blender

The result of text to mesh.  Mesh Modifier with Apply selected.  Edit Mode.
Consider the Remesh modifier. You will get quads. This may increase evenness.
There is also the Edge Split Modifier.


You can use the 'screw modifier' to do that.

Here is two examples, just starting with an edge (segment) a bit rotated and placed differently relatively to the objects origins:

The modifier starts with a base mesh and extrudes it around an axis (of the mesh itself or the one of another object). The 'screw' parameter give the elongation along the axis.


Composite transparent overlapping objects from different scenes?

The issue your having is masking. You have to have a mask of some sort to get the windows behind the rest of the building. I've come up with a (rather imperfect) solution, as long as you assign a different material to the inside of the building. Note that the following is assuming that you have completed the steps in "Can I use Cycles materials with Blender Internal?"

In the outside building material for "scene", scroll down to options and set Pass Index to 1 (or 2 or whatever, as long as nothing else in the scene has the same pass number).
Create a second indoor material and assign it's pass index to something other than 2 (or leave it at the default 0).
Go to your render layers and enable Material Index.

Rerender the scene and go to the compositor. You should now see a new plug output called IndexMA.
Add an IDMask node, plug in IndexMA to IDValue and set Index to whatever value the outdoor material's index is (and check anti-aliasing).
Add an Invert node and plug in the output of the IDMask node.
Plug the output of the of the Invert node into the Fac of the Alpha over node.


What would cause hair to be emitted only from object origin?

I just encountered this issue in blender and what I found out is than it is better to apply any modifiers, if you are using any, like the subsurface modifier. After i applied the modifiers the hairs vanished from the origin.

It is very important that you first remove the hair particle system from the object and then apply the modifiers, and then again apply the hair particle system.

I don't know for sure if this will work for you also, but better give it a try if you still have this issue.


Copying keyframes makes objects snap to one point

Inorder to prevent fractured pieces from going into a single point, move all the fracture origins to the center of the ball. You can do this by selecting all the fractures, Shift+S, Cursor to selected, Ctrl+Atl+Shift+C, Origin to 3D cursor. And then copy the animation data to other pieces or do what I did in the below file.

Please check the layer2 in attached files to see how I implemented the collision.

I parented the fractures to empties and animated the empties.

For all the fractures just until a few frames before the collision (at about 70 frame), I kept rigid body 'dynamic' option off and 'Animated' on. After this point, 'Animated' off and 'dynamic' on. Let me know if you need more clarification.


Modifiers are automatic operations that affect an object’s geometry in a non-destructive way. With modifiers, you can perform many effects automatically that would otherwise be too tedious to do manually (such as subdivision surfaces) and without affecting the base geometry of your object.

They work by changing how an object is displayed and rendered, but not the geometry which you can edit directly. You can add several modifiers to a single object to form The Modifier Stack and Apply a modifier if you wish to make its changes permanent.

Apply (Ctrl+A)

Makes the modifier “real”: converts the object’s geometry to match the applied modifier’s results, and deletes the modifier.

Warning

Applying a modifier that is not first in the stack will ignore the stack order (it will be applied as if it was the first one), and may produce undesired results.

(From the Blender Manual)


My Light is not shining on the lit side of my imported object

Some imported objects have normal problems and display black artefacts, so in  Properties panel > Object Data > Geometry > click on Clear Custom Split Normals Data.


I think you are confused on how the mix shader works.

It has two inputs for shaders and one for the factor of the mix.

If one of the shader inputs is not connected to anything, you are using the fact to mix to a non-shader (or just black).


I can't model sword handle and hand guard correctly

This might be best to model it as as separate chunks inside the same mesh object, or even totally separate objects.

Unless you specifically need a closed watertight continuous mesh (like for 3D printing or fabrication), dealing with those intersection topologies might be more trouble than it's worth. Just let them intersect nicely inside the handle object, and save a lot of work and additional faces trying to solve the weld between the handle and the guard.

So if you don't mind a separate object, or like a more non destructive workflow, you can easily do it with a combination of Mirror + Array Modifier.

Just add a new cylinder object, and erase $3/4$ of it, so you can add a Mirror Modifier to it in X and Y axis.

Add a central loop cut, bevel it, then extrude one of the side faces. Don't forget to erase the inside faces along the mirror seam, or it will lead to bad shading artifacts.

Add a Subsurf modifier, subdivide the previously extruded face and add necessary control loops in both directions to control the shape of the spike.

Then just use an Array modifier to duplicate it along its length. Add an empty object, rotate in 90º about the Z axis, then assign it to Object Offset slot of the Array modifier, so each additional spike is rotated 90º in relation to the previous one.

Adjust the number of items and apply the modifiers if you need a static mesh.


How to hide one level for all collections with Python?

Override the context.

Test run, collapses "Collection 1"

To hide one level the operator used is  bpy.ops.outliner.show_one_level(open=False) enable developer tools in prefs to display [find link]

If we invoke an operator in outliner from mouse or button then the context.area is an outliner, if we run it from the text editor, for example, it's a text editor area.  The operator knows naught of the text editor area.

Overriding the context is a way to "fool" the operator into thinking it has been run from elsewhere or on a collection that is not context [add link]

Below is a test script.  I have hard coded in the default "Collection 1" to be collapsed.

import bpy

context = bpy.context
screen = context.screen
collection = context.collection
collection = bpy.data.collections["Collection 1"]
view_layer = context.view_layer

outliners = [a for a in screen.areas if a.type == 'OUTLINER']
c = context.copy()
c["collection"] = collection
for ol in outliners:
    c["area"] = ol

    bpy.ops.outliner.show_one_level(c, open=False)
    ol.tag_redraw()

#view_layer.update()


Simulating an egg on a conveyor belt getting smashed

I have solved this with the help of the Fracture Modifier Build of blender.
You can find more info and download it here:

http://graphicall.org/1148

I also included the steps in a text file inside the modified blend. Open this blend only in the Fracture Modifier Build or you may experience crashes and data loss in the blend.

Steps to reproduce:

delete the cell fracture objects
put fracture modifier on original egg, 250 shards, execute fracture
egg becomes convexhull, active, animated, triggered
fist becomes convexhull, active, animated, trigger
belt becomes passive animated, mesh, final, deforming (so it can
move the egg shards too)
scene / rigidbodyworld: enable split impulse (less velocity on shards on
on fist impact, basically) and steps per second to 600 (so shards dont fall
so much thru the belt)
optionally: in FM enable Fracture Utilties -> Fix Normals and refracture
with Execute fracture, set Autohide distance to 0.001 and automerge distance
to 0.1 and enable perform merge, to hide the cracks in the smoothed egg
shell
optionally: add edgesplit and subsurf for a nicer looking egg surface


In the end, I just decided to get rid of the menu item itself if it doesn't satisfy the condition:

layout = self.layout
pie = layout.menu_pie()
if context.scene.name != 'Some Scene':
    pie.split()
else:
    pie.menu('SOME_MT_Submenu', text = 'Some Submenu')


Apply scaling to rigged model without affecting visual aspect

Ctrl-A>Apply Scale will set all scale values to one. This will fix that issue, but be careful it could mess up scale animation and anything depended on the scale (save your file before trying it).


Blender python : Where is the output when running script from blender text editor

It will show up in the console. If you're using Windows, go to Help > Toggle system console. Here is a guide for other OS's.


Turning up the AA Samples helps.

25 is decent, higher is better.
Glossy and Transmission tend to be noisy, so I turn those up.

I usually click render, then go watch TV.
If I come back an it looks OK, then I stop the render.
It only ever goes through all 64 passes if I fall asleep.


Logic bricks are attached to a single object. You can use message actuators and sensors to get an object to respond to another objects sensor.

Using a python controller it is possible to access other objects in the scene.

# Loop through all other objects in the scene
sce = bge.logic.getCurrentScene()
print("Scene Objects:", sce.name)
for ob in sce.objects:
    print("   ", ob.name, ob.worldPosition)


Python performance without Blender operators

I'm not sure, but I think it's mainly Blender having to deal with more and more meshes. In your case an extra slowdown is introduced by first creating a "tmp" mesh.

Here you have an improved version of your code, which is a little bit faster, but still slows down after duplicating more objects.

import bpy
from datetime import datetime

def duplicate_object(scene, name, copyOb, iter):
    startTime = datetime.now()

    mesh = copyOb.data.copy()
    mesh.name = name
    ob_new = bpy.data.objects.new(name, mesh)

    scene.objects.link(ob_new)

    print(iter, datetime.now() - startTime)

    return ob_new

for i in range(5000):
    duplicate_object(bpy.context.scene, "toto", bpy.data.objects['Cube'], i)


I had similar problem.

So i had done the mesh in Blender, and UV unwrapped it as well. Export, and same error in Substance Painter.

Solution was to while you export in Blender, be sure to check the Selected Object, and prior to choosing File > Export, be sure to either select all objects in the scene you want exported in the OBJ/FBX file, or delete everything else in the scene.

As I understand it, when you export the FBX or OBJ in Blender, it takes every single item in the scene (meshes, hidden meshes, cameras, stuff like that), and while you have the mesh you wanted to put in Substance Painter, you have all the other objects there as well.

In my case, I had some duplicates on separate layer for "backups", which came with the FBX into Substance Painter, even though I chose the mesh in Blender 3D viewport, I didn't have the Selected Objects checked in export properties.


Is it possible to add distance constraints to the vertices of a mesh?

Doing something like that manually would be relatively hard, but I would recommend using proportional editing (O, Scroll Wheel to adjust strength). That should be able to do most of it. The next best option would be sculpting. Try using the 'grab brush' to get the overall shape, then just play around with various brushes like the clay brush or the draw brush to get some smaller details, just fiddle with those until you find what you like. Try taking a look at this and this. One of them is a tutorial for animating, you probably won't find much specifically on modelling the paper, but you might find some things in there to do with how he modelled it, and the other short one is just an animation, you might have to do a little bit of digging around to find out how he did it if that's along the lines of what you are doing.


To minimize the scaling process ( or any transformation ) hold Shift after pressing S or after holding the manipulator handle.

When you are trying to make the object smaller make sure to place your mouse cursor as far as possible to have a space to move it inward ( and vice versa ), this may be problem with manipulator as it is relatively small and don't leave much room for movement inward for this you can try resizing the manipulator from User_Preferences➩Interface➩Manipulator➩Size :


When i render active scene with the mesh that converted from the hand writing picture there is nothing to be seen in the render window

“Convert to Geometry, Path” will convert your grease pencil drawing into a Path and that path should be selectable and visible in the 3D View window (if you hide the grease pencil lines). However, paths are not normally visible in renders since they have no width.

To make the path visible in the render simply select it, select the Curve properties in the right-hand properties panel (it’s the one with a curve with a white dot at each end), scroll down to Geometry and increase the Bevel Depth. This will add some renderable geometry to the path. Adjust the other settings to get the desired effect (eg, change Fill in the Shape panel to Full) and optionally add a Subdivision Surface modifier to get a rounded stroke.


So what actually the UV Project modifier does is only manipulates UV coordinates. Without an UV map it won't work. The Override option will work only in Multitexture, it can't override material textures, only textures displayed on mesh faces.

All the stuff about view-port visibility and what renders is nor related to this modifier but rather to how blender works.

Multi-texture Blender Internal:

In view-port Blender is able to preview textures without any materials applied - just the ones in the UV/Image editor. In render it uses materials. That's why view-port and render differs. The UV mapping is altered with the UV Project modifier - it is altered for both render and view-port.
Cycles and GLSL Blender Internal:

In view-port Blender previews material textures. If a texture is not in a material, you can't see it on the model.

For Blender Internal materials there is UV Project option to ensure correct UV interpolation for UV Project modifier. For both GLSL and Cycles the material mapping should be UV:

If you setup a material for Multitexture the same way like for GLSL it will work in render.

Everything is correct in your .blend, it's just that you expected the UV Project modifier to override material textures, which is not the case, and you need to use the "AB" texture instead of "B" in your shaders.


Restarting my computer solves this. Even though playback seemed fine in all other files, the playback was restored in this file as well after rebooting my OS.


Cloth simulated hair inside of an Armature?

There should be no problem with such setup. Follow this to make sure everything is fine:

Mesh is bind to the armature with weight paint:

Here the whole plane is fully weighted to the bone.
Create a new vertex group for pinning. Here I pinned 2 corner vertices:

Use this pinning group for cloth simulation. Also make sure the cloth simulation is after armature deform in modifiers so it takes as input the posed mesh:

Now the simulation works on top of armature as expected:


"Snap to" shortcuts don't work in 2.8/2.9

We now have the possibility to snap on multiple elements (ie vertices and faces simultaneously).

So the attribute is:
tool_settings.snap_elements #With 's'

And the value is a set, ie:
{'INCREMENT'}


You can edit the normal map as much as you want, just use the good spectrum of colors, so use the eyedropper. If you blur the image then the 3D relief will be softer, if you put other colors than the normal spectrum you'll have dark spots:


How to remove object of type FONT in Blender Python

Upon inspecting what sort of options there are using the Autocomplete function, I found unlink:

# Clear all objects in the master collection to reset to a blank scene
for object in bpy.data.scenes[0].collection.objects:
    bpy.data.scenes[0].collection.objects.unlink(object)

This clears all the objects from the collection, Text or not.


Insert keyframe to object's Offset Factor Python API

Keyframe the constraint "object"
Same as [obj.keyframe_insert, bpy.data.particles["ParticleSettings"].lifetime]; how to insert keyframe to an existed particle setting, e.g lifetime only your object of concern to keyframe is the follow path constraint
Python console code
Object has a follow path constraint with default name
>>> ob = C.object
>>> ob.constraints['Follow Path']
bpy.data.objects['Eye.001'].constraints["Follow Path"]

Alternatively, all constraints on object of type follow path in a list
>>> constraints = [c for c in ob.constraints if c.type == 'FOLLOW_PATH']
>>> constraints
[bpy.data.objects['Eye.001'].constraints["Follow Path"]]

Getting by name, will be None if there is no constraint named "Follow Path"
>>> con = ob.constraints.get("Follow Path")

Ok, set and insert a keyframe for offset_factor at frame 1
>>> if con:
...     con.offset_factor = 0.0
...     con.keyframe_insert("offset_factor", frame=1)
...
True

True indicating the success of inserting the keyframe


How to set child object world scale using python?

To set a child's scale to a certain scale in world-space, you can do:

import bpy
from mathutils import Matrix

ob = bpy.context.object # child

nmat = ob.matrix_world.normalized()

target_scale = (2, 2, 2)

smat = Matrix()
for i in range(3):
    smat[i][i] = target_scale[i]

# note: order is important!
ob.matrix_world = nmat * smat

The change in scale will not affect the parent (or grand-parents) in any way. The child's children will do on the other hand.

If you want to change the scale of child and parent, traverse all the way up to the root object (which may be a grand-grand-...-parent) and change its scale:

import bpy
from mathutils import Matrix

ob = bpy.context.object
while ob.parent:
    ob = ob.parent
print("Root object:", ob.name)

ob.scale = (2, 2, 2)

Note that this will affect all children of the root object.

If you want to change scale of root and child1 only...

     root
      /\
     /  \
    /    \
child1  child2

... then it's a bit trickier, because you need to change the scale of the objects you want to exclude (they are affected by root). Here's a script that can be configured to ~~~set the selected object to the given target scale~~~ (I think it actually changes objects proportionally to the local scale, and fails if non-uniform scaling is involved), while preserving object locations:

import bpy
from mathutils import Matrix

ob = bpy.context.object
start = ob
orig_scale = start.scale
target_scale = (2, 2, 2)
target_factor = tuple(map(lambda a, b: a / b, target_scale, orig_scale))

visited = [start]
while ob.parent:
    ob = ob.parent
    visited.append(ob)
root = ob

orig_loc = {}
def store_loc_recursive(obs):
    for ob in obs:
        orig_loc[ob.name] = ob.matrix_world.to_translation()
        if ob.children:
            store_loc_recursive(ob.children)
store_loc_recursive(root.children)

other = []
other.extend(start.children)

for child in root.children:
    if child not in visited and child not in other:
        other.append(child)

root.scale = tuple(map(lambda a,b: a * b, root.scale, target_factor))

for ob in other:
    ob.scale = tuple(map(lambda a, b: a / b, ob.scale, target_factor))

bpy.context.scene.update()

def restore_loc_recursive(obs):
    for ob in obs:
        ob.matrix_world.translation = orig_loc[ob.name]
        if ob.children:
            restore_loc_recursive(ob.children)
restore_loc_recursive(root.children)

Note that the scale property of the selected object will not change. Thus, repetitive runs will grow all objects on the path from selected to root more and more. Nonetheless, the change in scale is correct - if you started at dimensions (1,1,1) and set a target scale of (2,2,2) in the script, then all objects from selected up to root will be doubled in size.

A better approach might be to un-parent temporarily, apply scale changes, then re-parent. But I noticed that even Blender's built-in Clear Parent (Keep Transform) fails to preserve non-uniformly scaled objects...


You probably need to delete the faces and reconstruct that part of the model from scratch, try selecting the overlapping faces, press X and select "Only Faces", this way it deletes only the faces, leaving the edges and the vertices, then you can repair the model by recreating the faces, selecting the vertices you want and pressing F. Keep in mind that you probably need to delete some of the edges too, because it's likely that some of them are intersecting each other as well; in that case after you press X select "Only Edges & Faces" so that it only deletes the edge, leaving the vertices intact.


Why do the keyframes show up in the dopesheet but not in the timeline and the graph-editor?

The keyframes you're looking for are Grease Pencil Keyframes, and they have their own interface, which is the dopesheet grease pencil panel.
In the timeline, ordinary dopesheet and graph editor will appear only for keyframes related to the Grease pencil object as a whole, while those of yours are related to every single vertex of GP strokes, and they are not editable in the graph editor.
When you create the interpolation between two extremes, you can choose between linear, the preset of easing in and out, or even define a custom curve of interpolation.


How do I select all objects without materials applied?

While you can select a material'd object and do Select > Linked > Material to select objects with the same material, I don't know how to automagically select non-material'd objects, so here's a work-around:

Select your material'd objects, them move them to another layer M, 2 (or whatever layer number you want). Once you have all the material'd objects on another layer, you'll be left with a layer full of non-material'd objects (and maybe a camera and some lights). At that point, you can A to select the remaining non-material'd objects.


What is the right term, properties panel or shelf?

Blender's naming scheme is quite confusing, especially since many creators (including me) of tutorials and howto videos don't use them consistently (and there's a reason for this mess).  So let's break it down a little.

The Blender Manual introduction says that Blender's UI can be broken up into the Main Window, which contains one or more Areas with each Area containing an Editor. Editors usually have a Header and one or more Regions. Regions then contain Panels.

According to the Manual the highlighted area in your screenshot is called "Properties Region". It shows all properties of your currently selected object(s) and lets you also edit some additional properties for your scene. Some of them could also be changed within the Properties Editor (I'm trying to stay with the terminology here...)

This seems a little absurd but it immediately makes sense if you switch the 3D View to fullscreen area (Alt+F10).

The reason why Blender's naming scheme is still confusing is that even Blender itself calls it Panel.


Why does Blender think this driver expression is a security issue?

The problem isn't with the specific driver you've implemented, but with python scripts in general. The automatic execution of all python scripts is disabled by default.
From the Blender 2.90 Manual:

The ability to include Python scripts within blend-files is valuable
for advanced tasks such as rigging and automation. However, it poses a
security risk since Python does not restrict what a script can do.
Therefore, you should only run scripts from sources you know and
trust.
Automatic execution is disabled by default, however, some blend-files
need this to function properly.

This is mostly an issue when you are opening a Blender file which you didn't yourself make. It could contain any conceivable script.
In Blender Preferences > Save & Load there is a checkbox to Auto Run Python Scripts. You can add excluded paths to, for example, your downloads folder, so that foreign blend files are still restricted.
You can also manually enable scripts in specific blend files as you open then, by checking the Trusted Source box in the File Browser.


Using python, how do you get the "roll" of a pose_bone?

Bone Matrices.

A bone is defined along its local Y axis.  The roll is a rotation around the y axis.

Let's say for example sake, we add a default single bone armature, and give bone a roll of 45 degrees.

Edit Mode

>>> C.active_bone
bpy.data.armatures['Armature.001']...EditBone

>>> C.active_bone.roll = radians(45)
>>> degrees(C.active_bone.roll)
45.00000125223908

If we look at its matrix

>>> [degrees(a) for a in C.active_bone.matrix.to_euler()]
[90.00000250447816, -0.0, 45.00000125223908]

The 90 about X explains why it is standing up, and the roll we set is about Z.

If the matrix is set to Identity (zero position) the bone would point in the Y direction.   A bone vector is (0, bone.length, 0) where default length is 1.

Pose mode.

Ok off to pose mode.  The edit bone settings are the zero settings, aka rest pose.  We set the pose bones matrix_basis when we alter loc, rot, scale in posebone properties panel. With no pose set each pose bone will have a size 4 identity matrix.

>>> C.active_pose_bone.matrix_basis
Matrix(((1.0, 0.0, 0.0, 0.0),
        (0.0, 1.0, 0.0, 0.0),
        (0.0, 0.0, 1.0, 0.0),
        (0.0, 0.0, 0.0, 1.0)))

and a familiar set of results from the PoseBone.matrix.  Note the matrix here is a 4x4 so as well as rotation has translation and scale.

>>> [degrees(a) for a in C.active_pose_bone.matrix.to_euler()]
[90.00000250447816, -0.0, 45.00000125223908]

Ok lets rotate (roll) the pose bone with RYY45 ie rotate bone by 45 degrees about its local Y axis.

>>> [degrees(a) for a in C.active_pose_bone.matrix_basis.to_euler()]
[0.0, 45.00000466733367, 0.0]

and

>>> [degrees(a) for a in C.active_pose_bone.matrix.to_euler()]
[90.00000250447816, -0.0, 89.999995674289]

Notice how we get 90 now for the rotation Z roll, which takes into account 45 for the edit bone roll, plus 45 for the pose bone roll,

Alternatively  Using Bone.AxisRollFromMatrix

Arbitrarily placed bone with 41 degree bone roll

>>> degrees(C.active_bone.roll) # in edit mode
41.33893447974762

switch to pose mode

>>> pb = C.active_pose_bone
>>> pb
bpy.data.objects['Armature'].pose.bones["Bone"]

>>> b = pb.bone
>>> b
bpy.data.armatures['Armature.002'].bones["Bone"]

pose bone locally rolled 30 degrees

>> [degrees(a) for a in pb.matrix_basis.to_euler()]
[-9.504621014570856e-07, 30.00000424992064, 1.5754678639128658e-06]

edit bone roll from pose bone

>>> axis, angle = b.AxisRollFromMatrix(b.matrix, axis=pb.y_axis)
>>> degrees(angle)
41.33893106465304

Combined roll

>>> axis, angle = b.AxisRollFromMatrix(pb.matrix.to_3x3(), axis=pb.y_axis)
>>> degrees(angle)
71.33894214476285


I can't seem to get Smoothing by Loop Cutting very well

Nevermind i fixed it by deleting the face and used triangular faces instead. This let me add the loop cuts.


Cycles or Blender Internal for Game Assets?

You will not be using Cycles or Blender Render in Unreal Engine. It makes sense to create materials for the render engine that you are going to use so you should work on materials for Unreal Engine in Unreal Engine.

If you work on textures inside Blender, you can preview them in the view-port, and it makes little difference what renderer you choose to have selected in Blender while working. You could use Cycles for baking light information. I am sure you could find use for Blender Render while making assets for Unreal Engine, however it is going to be replaced by EEVEE in not so distant future, so it might not be the best investment of your time to learn using it.


How to recover overwritten files in blender

There are several backup systems in blender:
Temporary files (saved every 2 minutes by default)
These will be saved in your temporary directory (specified in User preferences > File) with a random number as the name.
You can quickly open an auto saved file by pressing File > Recover auto save, then selecting the auto saved file (the modification times can be very useful for determining which file to pick):

You can adjust the interval at which these are saved in CtrlAltU User preferences > File > Auto save > Timer:

Temporary quit files (saved on quit)
These are also saved in your temporary directory, with the name quit.blend.
You can quickly open it one by pressing File > Recover last session:

Persistent save files for reverting accidental/unwanted saves (saved when saving)
These are saved as .blend1, .blend2, etc. files in the same directory as the current .blend.
.blend1 will be the file as it was the save before your last save, .blend2 will be the save before the save before your last save, etc.
To open these files, navigate to the directory where your file was saved and enable backup files in the display filter:

You can configure the number of these to save in User preferences > File:

Without knowing more about your particular situation (how long it's been, has tmp been cleared, how often did you save, etc.), it's hard to say which will work best. There's no risk to trying them all, be beware that /tmp or \Temp is normally cleared out at some point, so get any useful backups out while you can.


You need to make a material for your object—go to the Materials tab (looks like a ball) in the panel on the right and hit the plus button. Then to to the Textures tab, one to the right. You should be able to add your image there.


Got it.
First bake the sim in your specified folder as final.
Then duplicate the object, give it a new smoke quick effect.
In new domain, set as final and direct it to the specified folder.
Now adjust the domain size to match previuos simulated domain or as you see fit.


How to make better quality 1080p videos in the video editor?


Your own solution probably works fine in your case, but the general case where the hierarchy is a bit more nested (children of children) might still deserve a solution.

perhaps something recursive:

import bpy

def delete_hierarchy(obj):
    names = set([obj.name])

    # recursion
    def get_child_names(obj):
        for child in obj.children:
            names.add(child.name)
            if child.children:
                get_child_names(child)

    get_child_names(obj)

    print(names)
    objects = bpy.data.objects
    [setattr(objects[n], 'select', True) for n in names]

    bpy.ops.object.delete()

delete_hierarchy(bpy.context.active_object)

This function assumes no objects are currently selected, and accumulates the names of the hierarchy starting with the main object ( i used active_object, but you can pass any object reference there ). Then it selects all the found names, then runs the object_delete operator.


Blender version 2.79 and older crashes on startup

Reinstalling the Windows (build 10586, with proper drivers installed) finally solves the problem and Blender runs fine, even the Cycle renderer works fine too.

I had no idea why that problem persists before reinstalling, because previously, I already tried troubleshooting by:

using --factory-setup argument
deleting Blender's AppData stuff
switching GPU driver versions back and forth
trying other versions of Blender (including nightly builds)
reinstalling Blender

...and aforementioned steps doesn't solve the problem for me.


How do I Iterate through a combobox options without clicking on one?

You can iterate through dropdown list items by holding ⎈ Ctrl and scrolling with the mouse wheel  MMBwhile hovering over the gui item in question.


Is there a way to save a game in progress?

You have to write your own system. I tend to use json to encode data, but other people like pythons pickle module.

If you clarify your question, we can probably help more.


Did you try changing the clipping value of the camera.?


Use the 'Generated' Texture Coordinates to create a Procedural Texture.
Ensure you're in Cycles or Eevee (not Blender Internal renderer) and create a new plane and add a new material. Rotate the plane 90 degrees around the X axis and apply the rotation. This will result in the Z coordinate referering to the 'height' and the X coordinate relating to the 'length' of the plane (I find this more intuitive).
The effect can be built up from a number of distorted 'beams'.
Remove the default 'Diffuse' shader and create an Emission shader. Add a Texture Coordinate node and link the 'Generated' output to the Emission 'Strength' input. The 'Generated' coordinates range from 0.0 to 1.0 along each dimension of the object. For the fuzzy edges of the 'wisps' you need a nice rounded beam that falls off at the edges and this can be achieved as follows :
Strength = 1 - (((Z - 0.5) * factor ) ^ 2 )

The ^2 function creates a nice soft edged symetrical beam centred around Z=0 while the '-0.5' effectively moves it to the centre of the material. The 'factor' can be used to focus it into a tigher beam (higher values equate to narrower beam) and subtracting from 1 results in a 'bright' beam rather than a dark one (and this step should be 'clamped' to ensure the end result is always within the range 0.0 to 1.0). The nodes should be something like this :

You manipulate the beam by changing the coordinate going into the function - in this case the constant '-0.5' is moving it down to the centre. To distort the beam as it travels across the material, use the X coordinate to generate a varying offset. You can use a 'Sine' function to add a wave to the beam, with multipliers to allow you to adjust the frequency and amplitude of the wave.

Similarly, you can add in the influence of a Noise Texture :

In a similar way you can add variation in brightness or width, apply a varying profile to the beam, adjust the phase of the sine waves, vary the intensity of the distortion as the wave travels from left to right, etc. My resultant node tree was too complicated to include in an image here - look in the attached blend file for details.
Combine the 'core' nodes (excluding the Texture Coordinates and Shader) into a group to allow re-use.

You can then duplicate the group and slightly vary the parameters for each group node to give a number of different 'wisps' and combine them, feed them through a Color Ramp node and use the output to drive a Mix Shader to mix between Emission (for glowing filaments - otherwise Diffuse) and Transparent shaders.

Either adjust the values to get the desired still image or drive the inputs via keyframes to animate the waves. It works quite well to vary the input Vector and wave phase so as to make it appear to progress forwards.

The Procedural Texture is considerably quicker to render than a smoke simulation (assuming you don't need accurate smoke) and can even cast and accept shadows (when using diffuse shader rather than emissive).

Using the colour ramp and using a combination of narrow bright beams and wide dim beams can give the effect of glowing filaments with surrounding wisps similar to the reference image (although this particular example is only a very rough approximation - needs more tweaking but it should give you a general idea of what can be achieved).

Blend file included here


One of the big uses for this is for keyframing the Fac: value. In Blender, you cannot keyframe Node Tree Connections, so instead, you might have to fake it by keyframing a Fac: value.

Say that you have an animation, and you want your object to be there, be there, be there, and then suddenly be gone. Well, your first try might be having your shader connect to your Material Output and then keyframing a Transparent BSDF jumping to the Material Output connection at some point. That can't happen, though, so you can have your material and the Transparent BSDF fed into a Mix Shader, and keyframe (I while hovering over the Fac:) it to turn from 0.0 to 1.0 at a certain frame.


Editing the Wiki

You will have to create an account by clicking Log in / create account:

Once you have done so and logged in (click Log in),  there will be an edit button:

(Note that you won't be able to edit anything until you verify that you exist)

and one should read the usual writing guides and such..


How do I create repeating patterns with cycles' procedural textures

You can use the math Modulo node on mapping vectors to create tilling for procedural textures:

To tile them seamlessly you need to flip tiles in X and Y axis:

For the Tilling X and Y nodes use values between 0 and 1. And to tile them in 3D just copy the setup into Z channel.

Why Mapping node does not add tilling to procedural textures:

Mapping node does adjust tilling for Image textures. This is because image has finite dimensions and repeats itself - the tilling is already "build-in". The Mapping node only zooms, translates and rotates this tilled image.

Since procedural textures are infinite, they have no borders and are not tilled. The Mapping node will just transform them but not tile them.

How and why the math nodes work:

Texture mapping does transform texture space to object space - you can visualize it like this:

This is for Generated mapping, other types will be mapped differently. Generated mapping will map the <0,1> interval to object bounding box. Therefore it stretches with scaling the mesh, but it does not rotate with mesh rotating (edit mode). It does rotate with object since generated mapping will be always aligned with object's local coords. To bind the texture to mesh UV mapping must be chosen and mesh unwrapped to tangent space.

When we split the mapping vectors into XYZ channels, we get access to each axis and can manipulate it:

Lets focus only on single channel (all apply the same principles). Now we output what we get (in the marked rectangle). This can be visualized with a graph function:

What we need for tilling though is this graph:

This is a graph of a modulo function (precisely modulo 0.33..) and will create 3 tiles on each axis. It is mapping the output to the same input locations repeatedly.

To have it tile seamlessly and flip every odd tile lower the graph of half the curve height and make the values absolute:

You get double the tiles naturally.

There are many effects you can do with this:

Texture pixelation with rounding node: How to pixelate a texture in Cycles?

Image blurring with noising the vectors: Motion blur on texture

Staggered mapping with rounding and offsetting: Staggered Texture Mapping

Etc..


How to pan around the shader editor on a mac?

In Blender 2.92 go to Preferences Keymap View2D Pan View:


The closed curve is called Cyclic, to open and close a Cyclic go into Edit Mode and hit the hotkey Alt+C.


I made some annotations (not grease pencil!). Where is the menu to remove / hide / edit them?

Selecting again the Annotate tool will display a menu in the header. By default an annotation layer called "Note" is used.

From that menu, the layer visibility can be toggled, as well as adding / removing layers, and changing some little things like the color and the thickness.

Note: if the header is hidden, it can be displayed again using the little downwards arrow at the top margin of the 3D window.

Edit: ᴊᴀᴄʜʏᴍ ᴍɪᴄʜᴀʟ made me realize that there is another, more natural, place where the menu can be found! The 3D viewport's sidebar (aka "the N menu"), under View > Annotations


Baking Normals produces grid mesh on result

You definitely shouldn't need subdivisions to get non grid bakes. Subdivisions can help with extreme gradients, though.

My guess is that you have the low polygons normals incorrectly prepped for the bake. When you bake details from high poly to low the low poly models normals affect how the rays are cast.
Make sure that your lowpoly mesh object is set to "smooth" from the:
3D View-T panel-Tools-Edit-Shading-Smooth
before exporting. In my tests if you set your low poly to Smooth the bakes come out without the lowpoly edges showing up in the texture. If you set it to Flat the bake comes out with the lines.

Sometimes you will need to control smoothness/Sharpness at the low poly level, though. In this case first the the object to smooth shading. Then enable auto-smooth in:
Properties panel-Object Data-Normals
and set the value to 180. (Or whatever value you want to use as sharpness. At 180 whole model will be treated as smooth shaded, because 180° doesn't really ever exist in normal model.) Then you can in edit mode set the edges you want as "sharp" by selecting those edges, ctrl-E, mark sharp. This is useful with hardsurface/mechanical stuff. (However, note that the Normals-Autosmooth is very resource intensive when polycount rises so definitely disable it when working with subdivision surfaces.)

I hope the smooth shading before exporting lowpoly fixes your problem!


You get double transformations:

1st from child_of
2nd from parent

When you enable the child_of for the hand, you need to disable the original parent. As this is not possible from pose mode, you need to make this relationship with child_of too, and switch between them in one frame when you need to change the parenting.


I see there are a lot of boxes and hard angles in your mesh. As a result, you could try something like this, if you are okay with a certain level of randomness.

Basically, it uses Blender-generated Texture Coordinates and the Box preset found in the Image Texture node. The scale values on the Mapping node determine how much the texture is spread out. You can adjust different ones until the texture displays to your liking. There is also a Bump node to make the plants look less flat. If you so desire, you could also look into the Displace modifier for additional bumpiness. All of this info is fed through a standard Diffuse BSDF shader.

I found a simple leaf texture on textures.com. It is seamless, so you should not be able to tell where one iteration start/ends. You can simply download a low-res version here:

Lastly, this is an example of how the texture might look on your maze.

Hope this helps and happy Blending!

=Puck


Run Blender from a USB thumb drive (including Preferences)?

There are three places blender looks for addons and config files, they are referred to as local, user and system - If config files are found in the local location then the user and system locations are ignored.

So for your blender preferences you need to place them inside blender.app. Which would be blender.app/Contents/MacOS/2.76/config/startup.blend You can also add any extra addons here, you should be able to use blender.app/Contents/MacOS/2.76/scripts/addons which will match with the normal settings directories and keep all your additions in one place. If the addons don't work there then put them in blender.app/Contents/Resources/2.76/scripts/addons_contrib

You will also find the bundled python included with blender while you are adding your config files, unless deleted, this copy of python will be used by blender before any system installed python and you shouldn't have any trouble adding any third party modules here (as long as any dependant libraries are available).

I haven't used a mac for a few years so I can't comment on how this will interact with gatekeeper, but remember the gatekeeper settings on the machine will be the biggest factor.


I parented the bone that wouldn't move with the one below it and changed it to Keep Offset, and now I am able to move it.


Why is the rotation gizmo not working in 2.74?

It's not a bug, you can imagine this widget is something that's used by an incredible amount of people and is heavily tested. But this issue has cropped up from time to time and depends heavily on the graphics card drivers used.

Try Setting "Selection" in User Preferences System Tab from "Auto" to "OpenGL Select" or "OpenGL Occlusion Queries"

The keyboard shortcuts for the transform tools are G, (grab), R (rotate), and S (scale), often they are more convenient, in combination with their follow up keys x, y, z to select the axis..


Rendering transparent body and opaque edges

Edit: I understand that the question might actually be about the visual borders of the object (the ones usually highlighted using the freestyle pass), not the edges of the mesh.

I'll however leave my (unfitting) answer below in case somebody else is looking for a solution more similar to this.

A solution could be duplicating your object, then:

assigning a transparent material to copy #1 (the greenish material in my example)
for copy #2, using a wireframe modifier and applying the material shown in the nodes setup below, which mixes a full white transparency and a diffuse shader, using the "Transparent depth" input as a mixing factor.

As you can see, back edges are hidden in this setup. You can display them by simply using a diffuse shader (i.e. bypassing the mix shader).

Be aware that this won't work if the object is seen through another transparent object: all the wires will be hidden in this case.


How to Stop Edges from Rounding themselves

Solution
Looks like you accidentally added a Subdivision surface modifier. You can remove it by going to the Modifiers tab (the blue wrench) and clicking the x button in the upper-right hand corner of the modifier.

If you don't remember adding the modifier, I'm not surprised -- you probably pressed the keyboard shortcut for it by accident:
From the Blender Reference Manual:

To quickly add a subsurf modifier to one or more objects, select it/them and press Ctrl+1. That will add a subsurf modifier with View Subdivisions on 1.
You can use other numbers too, such as Ctrl+2, Ctrl+3, etc, to add a subsurf with that number of subdivisions. The Render Subdivisions will always be on 2 when added like this.

Benefits of Subdivision Surface
Although it may be annoying now, the Subdivision surface modifier generally proves to be one of the most useful tools in any hard-surface modeler's toolkit. Combined with Loop subdivide, you can make edges more rounded (and therefore more natural -- nothing is a perfect angle in the real world) without all of the shortcomings of the Bevel modifier.


I think I found an answer whilst playing around after reading @mma78 answer.
I can snap the 3D cursor to the bottom vertex and then bevel the edge. I can then set the Pivot point to 3D Cursor and scale the bottom vertices back in. This way the bottom is tapered while keeping the shape of the base unchanged.
While this works, it is not very efficient as I would have to repeat the process for the other 3 corners. If anyone knows of a quicker way to go about this that would be great.
Still, I hope this helps someone.


I've found a few solutions to this.
The nicest is the create the mesh in another .blend file, then link that in and attach to a local object.  This gives you a linked icon in the outliner (for the mesh) and prevents mesh changes - downsides are you need to work with multiple files.
@HikariTW's suggestion of Collection instancing works; though doesn't give quite the experience I was looking for.
The other solution is to just watch for mode changes and block them.  This seems to work pretty well; something like this works
import bpy

def restrict_edit_mode(object, data, unk=None):
    # XXX: check if bpy.context.object to see if it applies
    # remove the move into edit mode; so you can't undo into it
    bpy.ops.ed.undo()
    # make sure we're always in object mode, without this you can
    # end up in the wrong mode by undo/redo combos
    bpy.ops.object.mode_set(mode='OBJECT')
    # XXX: do something instead

# registering on a per oject basis seems unreliable
# but doing it for everything works pretty well
handle = object()
subscribe_to = bpy.types.Object, "mode"

bpy.msgbus.subscribe_rna(
    key=subscribe_to,
    owner=handle,
    args=(None,),
    notify=restrict_edit_mode,
)
'''


Yes an animation sequence can be muted.

In the dopesheet/action editor window you may click on the speaker icon to mute the action.  This is the simple use.  The speaker icon is very small, please look closely.

The speaker icon can be toggled active or muted.  There are also other ways to activate or inactivate an animation.

The image above shows the dopesheet/action editor window type in the upper left. The blue cube has been animated.  You may simply click the speaker icon for simple cases and be done.  When the speaker icon is muted the animation will be muted.

Read further only for more advanced use.

For more advanced use you may use two window types.

By using the dopesheet action editor window and the NLA editor window.
By make active and inactive the animation action.

The image above shows the dopesheet/action editor window scrolled to show the action name .... and the button [Push Down]

The Blender user can click the button [Push Down].
The Blender user can switch to NLA Editor window type.

In the above NLA window we see the action with speaker active icon next to it indicated with an arrow.  Look closely it may be difficult to see.  The active icon can be clicked on and off.

In the above NLA Window the speaker is in the inactive state.  Look closely.

Blender:

version 2.74 (sub 0), branch b'master', commit date b'2015-03-31' b'13:39', hash b'000dfc0', b'Release'
build date: b'2015-03-31', b'15:46:51'
platform: b'Windows:32bit'


Blender's hardware requirements are documented here. As of now for Blender 2.80 this is:

  Minimum

  32-bit dual core 2Ghz CPU with SSE2 support
  4 GB RAM
  1280×768 display
  Mouse, trackpad or pen tablet
  Graphics card with 1 GB RAM, OpenGL 3.3

  Recommended

  64-bit quad core CPU
  16 GB RAM
  Full HD display
  Three button mouse
  Graphics card with 4 GB RAM

  Optimal

  64-bit eight core CPU
  32 GB RAM
  Full HD displays
  Three button mouse and pen tablet
  Graphics card with +12 GB RAM

  Supported Graphics Cards

  These requirements are for basic Blender operation, rendering using
  the GPU requires slightly different requirements. Always make sure to
  install the latest drivers from the graphics card manufacturer
  website.

  NVIDIA: GeForce 200 and newer, Quadro Tesla architecture and newer, with NVIDIA drivers (list of all GeForce and Quadro GPUs)
  AMD: GCN 1st gen and newer (list of all AMD GPUs)
  Intel: Haswell and newer (list of all Intel GPUs)
  macOS: version 10.12 or newer with supported hardware

In order to use the GPU for rendering your hardware needs to fulfill the requirements listed in the documentation. GPU rendering on macOS with AMD graphic cards has been discontinued due to Apple deprecating their OpenCL compiler.

Benchmarking information are available at Blender Open Data.


Blender can use tiff images, not sure if geotiff works to but it should work too. Otherwise you had to convert the geotiff to a png or jpg first.

Add a plane (same aspect ratio like your image). Go to the modifier tab and add a Subdivision Surface modifier. Set it to Simple. Add 3 or 4 subdivisions and apply the modifier. Add again a Subdivision Surface modifier to control the resolution of your mesh later.

Next add a Displace modifier and add a new Image or Movie texture there. With the rightmost icon you can switch over to the texture tab, load your image and give your texture a name etc.

Back in the modifier tab you can play with the values a bit (Strenght 0.2 for example).

You could add the Decimate modifier to simplify your geometry - just play with the values, Collapse mode should give good results for terrain models.

Here I found a tutorial wich covers also the geotiff conversion (under "Create Heightmap") http://www.navimationresearch.net/2013/norway-in-3d-part-1/ sorry link is dead now.


is this a Bug? particle hair color abnormal

I have no idea why you need two particle settings on each plane but if you don't need it really. If you delete the second particle system on each plane, it works.


How can I do an animation of an object approaching the camera?

From your description, path animation comes to mind. Here is a simple example. Please clarify if this is not what you have in mind.

To set this up, add a curve object to your scene. Shift + ACurve> Bezier (or any other curve object).

Next, edit the curve to fit the path you want your object to follow as it moves toward the camera. Here is what my example above looks like from side view.

Finally, parent your object to the curve with Ctrl + P>Follow Path . By default, this will give you 100 frames. If you need to make adjustments, you can do so in the curve properties in the properties panel.

From here, Alt+A to play the animation, and  then if needed, make any necessary adjustments.


Instance from collection controlling in render layers

Instanced collections are actually empty objects acting as a proxy for another  collection.

They behave like all the other objects in relation to view layers, so you will have to put them in their own sub-collection to exclude them from a view layer.


How do I get crystallize filter effect with the Blender compositor

You could try using Blender's Displace node fed with a Voronoi texture. If the displacement is to rough then apply some gentle blur also driven by the texture.

To achieve the daubed paint effect I have added a Bilateral blur node to constrain the blur. I feed this with a mixture of the source image and the Voronoi texture.


I don't know if there's an easy way to do it, I would do it manually, but you could try to do it with a Mesh Deform modifier (I tried with an armature then apply it but it was not as good):

Create a low-poly cage around the object you want to deform. In the Properties panel > Object > Display > Maximum Draw Type, choose Wire to make it transparent.

Give the high-poly a Mesh Deform modifier with the low-poly as Object, click on the Bind button.

Deform the low-poly cage.

When you're glad, select the high-poly and click on the Apply button.
Make some corrections in Edit mode with the Proportional Editing mode enabled.


How do I make Cycles bake only to the texture which I specify?

Create an image and put it into node editor, without connecting it to other nodes.


Where is the "offset" coming from? It is built in as part of object, the mesh is not aligned in the $X$ axis. The array modifier will only repeat that offset as well.
There are two basic options:

Rotate the object in edit mode so that the object is aligned on the $X$ axis

In the Relative offset parameters of the array modifier, play with the values on for the $X$ and $Y$ axis until the objects align. Note that by doing that the object will still not line up to the $Y$ Axis. But maybe that is what you want? I don't know.


Cycles texture paint independently of UV mapping

I think that you can still use two UV mapped textures but one is the perfect version, and the other is a damaged version. Here in my example, the procedural texture is set to generated coordinate and it is used to reveal the purple color by driving the mix factor of the color mix node. You can see I set the arrays to leave some space so the procedural texture effect is apparent. Better to experiment with procedural textures to see what is the best option here, but this is the best option for now until we get some kind of texture modifier that works on top of arrays and allows a separate uv mapping that includes the rest of the generated mesh.


bge character stops moving when it jumps

If you enable "Add" on all your motion actuators, you will get behavior closer to what you'd expect. With the logic how you have it now, when you push W, A, S, D or Space, the corresponding motion actuator sets the new location of the cube, based on the old location. The differences in location is what you have in the motion actuators. Because of this, only one can run at once - they are all trying to run at the same time, and they are all trying to set the cube's new location based on what they have filled in, which is different for each object.

However, if  you set them to add, each one will add or subtract from the cube's location, instead of trying to set it. When you press Space, while holding forward, instead of the BGE taking the cubes location, adding to it along the Z, and setting the new location, it will simply add to the cube's Z location, creating the expected behavior.

In addition to having your cube able to move and jump at the same time, if you enable the "Add" setting on your other motion actuators, your cube will be able to move diagonally.


How to Send a Message to Activate Another Object

This is actually relatively easy to do. For simplicity, we will use two cubes.

On cube1, we can add a Keyboard sensor, connected to an And controller, which is connected a Message actuator.

The "To" field on the message actuator doesn't actually need to be filled in. If it is left blank, the actuator will simply broadcast the message to all objects, instead of just one. Since only one object will be listening for the message, the "To" field doesn't matter here. You could also set the "Subject" field to whatever you want.

On Cube2, we simply need a Message sensor listening for the message that Cube1 sent out. We can do that by putting the message Cube1 is sending in the "Subject" field on the message sensor on Cube2. That message sensor should connect to an And controller, which should connect to a property actuator. The easiest property for this will be a Boolean property. Add one, and name it whatever you want. Then, In the property actuator, put in the name of the property you just created. Set the operation to "Assign" and the value to "True." Now, add a property sensor, with that same Boolean in the "Property" field. you want this sensor to check if the Boolean property you created is true. To do this, set the "Value" field to True. Enable true level triggering. This will make it so that as long as the property is true, the sensor will constantly be telling the connected bricks to run. You can connect that property sensor to an And controller, and connect that your steering actuator.

As long as the property is true, the steering actuator will be
running. You can also easily do the same sort of thing to assign the property False, to deactivate the steering actuator.


Multiple sets of seams for multiple UVs?

You can mark your seams, unwrap to one UV map:

Then create a new UV map, clear your seams, designate new seams, and unwrap to the new UV map:

Then select the first UV map, and use UV/"Seams from Islands" which will re-designate seams based on the first UV map, restoring the seams that you had before.


Cloth simulation dosn't work (problem with properties)

the problem solved - I significantly increased scale of the character for the simulation
thank you all


Emulate 3 button mouse not working properly on linux mint 18.3

I use Mint 18.3, blender 2.79 and emulate 3 button mouse with no issues using a wacom tablet. Keep in mind that the shortcuts and gestures on the operating system take precedence over Blender. You might want to re-configure them so that they do not interfere. On the system preferences (for cinnamon) there are settings in the windows section and Windows tiling that need to be disabled. Also the keyboard shortcuts that use Alt, Ctrl and other keys work better if you disable them or map them to the super (windows) key.


How can I unwrap each face separately so it takes up the whole picture?

Press U> Reset to unwrap each face so that it takes up the whole image space.


Select the face where you want the window,

press E to extrude and move the newly created wall in the direction you want the extrusion.

You can delete then the selected face.

EDIT Another quick way to make a window is using the inset tool.

Select the face on which you want to make the window, press I and drag the mouse. That will create a new face of similar proportions connected to the edges of the original wall. Then extrude by pressing E and dragging the mouse to create the depth for the window.


Extruded Part disappears after switching from Edit Mode into Object Mode

Shape Keys

I just deleted the Shape Keys for Head_Cube.005 and now the extruded arm face stays throughout the animation:

I don't know any more about Shape Keys, but here is a link to them on the Blender wiki:
http://wiki.blender.org/index.php/Special:Search?search=shape+keys&fulltext=

If you need the shape keys, then you will need to figure out how to edit them to incorporate the extrusion throughout the animation. I'd help more with them if I could, but I know nothing else about them.


Transparent object isn't showing the intersecting object inside it

I am guessing that rendering wireframes inside other materials or through effects like refraction is not supported since the wireframe is itself sort of a "2D-like effect.

Try using a Wireframe modifier in your cubes instead, that should be visible inside refractive materials, at the expense of extra geometry.


In Blender there is a way of editing the normals.

Duplicate the original object, before applying the edge split modifier.
Apply the edge split modifier.
Apply a Normal Edit modifier to the edge split object and select the original object in the Target field. Apply the modifier.


How to make two bones have the same rotation matrix?

First select the bones you want to have the same coordinate system, make sure that the Active bone is the one rotation matrix you want to give to the other, now press CtrlN to open the 'Recalculate Roll' properties and choose Active Bone.


How to make a Text File dependent of an Armature object so that it appends with it to other projects?

PointerProperty

Another method would be to associate the text with the armature object or armature itself using a bpy.props.PointerProperty(type=bpy.types.Text)

import bpy
from bpy.props import PointerProperty

bpy.types.Armature.script_file = PointerProperty(type=bpy.types.Text)

As shown in this answer can poll the property. Another test script with a sample UI panel and the text associated to an armature object.

import bpy

class OBJECT_PT_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"

    #poll for armature object
    @classmethod
    def poll(cls, context):
        return context.object and context.object.type == 'ARMATURE'

    def draw(self, context):
        layout = self.layout
        arm_ob = context.object
        layout.prop(arm_ob, "rig_script")

def is_armature_object(self, object):
    return self.type == 'ARMATURE'

def register():
    bpy.utils.register_class(OBJECT_PT_HelloWorldPanel)
    bpy.types.Object.rig_script = bpy.props.PointerProperty(
        type=bpy.types.Text,
        poll=is_armature_object,
    )

def unregister():
    bpy.utils.unregister_class(OBJECT_PT_HelloWorldPanel)
    del bpy.types.Object.rig_script

if __name__ == "__main__":
    register()


As binweg found in another post, the problem has been the Euler Rotation.
I changed the rotation of every cube to Quaternion and everything worked as it was meant to be.


Go to the modifiers tab, make sure you are in Object mode.  Currently you can change one side of the object, and it will automatically update the other side.  Click the "Apply" button, and the mirror modifier will be applied to your object.

Now that the modifier is applied, I went back into Edit mode, and dragged a vertex around, and you can see that it does not change the other side of the object.

Now you can continue modeling!


How do I animate a hose along a path without deforming the lead it is attached to?

I added a rig with a bendy bone to the front of the hose and that works.


Can add methods to the propertygroup definition
Something that is very handy IMO is the ability to add methods to the property group.
Here I've added copy to make a copy of itself to the collection, and add to add an object to the collection. In both cases the object name is used as the collection item name.
Remember that 2.8 uses annotations for properties.
import bpy

class ObjectCopy(bpy.types.PropertyGroup):
    object : bpy.props.PointerProperty(type=bpy.types.Object)

    def copy(self):
        self.object = self.id_data.copy()
        self.name = self.object.name
        return self.object

    def add(self, ob):
        self.object = ob
        self.name = ob.name
        return self.object

def register():
    bpy.utils.register_class(ObjectCopy)
    bpy.types.Object.copies = bpy.props.CollectionProperty(type=ObjectCopy)

def unregister():
    bpy.utils.unregister_class(ObjectCopy)
    del(bpy.types.Object.copies)

if __name__ == "__main__":
    register()

Some testing in the python console.
>>> C.object.copies.clear()
>>> for o in C.selected_objects:
...     C.object.copies.add().add(o)
...
bpy.data.objects['Cube.002']
bpy.data.objects['Cube.001']
bpy.data.objects['Cube']

>>> C.object.copies.add().copy()
bpy.data.objects['Cube.005']

>>> C.object.copies['Cube'].object
bpy.data.objects['Cube']


The object has a scale of over 40,000. If you apply the scale (CtrlA> Scale) everything will work correctly:


Change an object's property's based on its name with python

You can do this using the below script:

import bpy

C= bpy.context
scene = C.scene

bpy.ops.object.select_all(action='DESELECT')
objname = 'Cube' ###### Add Name of object you want here ######
ob = bpy.data.objects[objname]
ob.select = True
scene.objects.active = ob
bpy.ops.object.particle_system_add()

Result:

A .blend file can be downloaded from here:


Will getting a better Graphics Card Help with Frame rate issues?

Yes, with Nvidia you can render using GPU and also you can use it for OpenSubdiv compute.

Is not true that computed device is only for rendering. GPU is used also for drawing viewport using OpenCL.
Only if you have 2 and more graphics cadrs, one is marked as "(Display)" this card is used for drawing viewport, other ones are only for rendering (and preview render in viewport)

BTW: for 400USD I highly recommend Nvidia 1070. The best ratio speed/price/power comsumption and 8GB VRAM allow you to render complicated scenes without "CUDA: out of memory error".

EDIT: one important thing here: if you have very slow CPU, fast GPU don't raise fps too much, because they must work synchronized. CPU is "the boss" and send calls to GPU. Other words: CPU must tell to GPU what is going on and GPU work with this data.


How to create branches/trunks in cycles blender

Mr. Zak was correct. The curve on the trunk did have to be beveled and after fiddling with the settings for a bit I was finally able to figure it out. I had a weird setting on that wouldn't allow me to select the trunk but after some time I was able to turn it off and do as was instructed in the video. Mr. Leo was also correct in that I had in settings the visibility turned off as well.


How can I use both context and threading?

It will not fully answer your question, but it might point you the right direction. The context which you are grabbing during script execution is not necessarily the 3D View context, which you get for instance when you call it from the Python console. Blenders context changes depending on the situation, that's why it was given that name I guess  :)

So, if you change your FOR loop to this, the script at least executes:

    for i in range(0, max_range):

        bpy.ops.mesh.primitive_cube_add(radius = 1, location=(0, 0, 1))
        bpy.ops.object.origin_set( type="ORIGIN_CURSOR" )

        # check what attributes the current context offers
        print(dir(bpy.context))

        # now grab a reference to the active object
        ao=bpy.context.scene.objects.active

        ao.scale.x = scale
        ao.scale.y = scale
        ao.scale.z = 5

        bpy.ops.object.transform_apply(location = False, rotation = False, scale = True)
        ao.location = (((i*scale*2)+(i*space))-(((max_range*scale*2)+(max_range*space)))/2,0,0)

I've added this line on purpose:

    print(dir(bpy.context))

console output:

['__doc__', '__module__', '__slots__', 'area', 'bl_rna',
'blend_data', 'copy', 'mode', 'region', 'region_data',
'rna_type', 'scene', 'screen', 'space_data', 'tool_settings',
'user_preferences', 'window', 'window_manager']

in the console you can this way see what attributes you can access, and one of them is the current scene. so by calling the active object from there, I can access it:

    ao=bpy.context.scene.objects.active

The problem is not solved however. On my machine I get 5 Objects, but only one of them contains a mesh. I can only guess what's happening, I think it is a racing condition. Since each thread calls the active object, and each one creates a new active object, one thread might 'steal' it from the other, thus affecting its location and even object data.

Consider creating the objects you need directly in bpy.data and link them to the scene manually, this way you get a unique reference to the object directly. You'll find guides on how to do this here on this site. Good luck!


Cycles - (Shader) Nodes - inputs outputs - What are the exact data types?

Light Green sockets represent Closures. They don't hold any particular value, and they serve to instruct the render how the rays should be treated. Closures can be added, and mixed (which is an Add operation where the closure colors are mixed). Closures are functions that determine the amount of reflected light from the surroundings to the incoming vector direction, and they are normally multiplied by a color. They can also be converted into strings using OSL.

Purple sockets represent Vectors. They have three components, for X, Y and Z. They can be used as vectors, points, normals, or any type of data that can be represented by 3 components (they can even represent colors).

Yellow sockets represent Colors. They are similar to Purple sockets, has they also have 3 components (Red, Green and Blue), but they are treated as colors and normally, conversions are done in color space. For example, when plugging a color into a value socket the color is transformed into greyscale, and used as a single value (val=R*0.2989 + G*0.5870 + B*0.1140); but this value will be different if instead of a color we plug a vector with the same values (val= (X + Y + Z)/3).

Light Grey sockets represent single values. Just like 0.0, 1.0, 0.5, -5.5, 3.1415, etc.

Dark Green sockets represent integers (-2, -1, 0, 1, 2,...)

White (or dark grey in new versions) sockets, while not common, normally represent Strings. They are not common and can only be used with OSL.

Except for Closures, Integers and Strings, all other sockets components are Floating Point values (even integers are converted to floating point values, as the SVM only uses these).

Now, sockets represent inputs/ouputs of information. How one uses this information is far beyond what is possible to give in one simple answer, as each value can have a different meaning depending on the context they are used. For example, the value 0.8 can mean anything (a roughness value, an IOR value, an angle, etc). Is up to the user to give these values a context.

Another point is: Don't think that values are really passing from one socket to another.. The node tree is analyzed after any change, and the SVM compiles the working version behind the scenes. What you have in nodes is just an interface.


Blender's fcurve contains a collection of keyframed values, to calculate the value used on a frame in between two given keyframed values a bezier curve is used, each keyed point contains a left and right handle position that defines how the curve is calculated between keys. If you are only exporting the points listed in the fcurves data then you are missing the data for the frames in between.

You can have blender calculate the value for each keyframe instead of caclulating the curve yourself.

for f in range(100):
    val = fcurve.evaluate(f)


Visible gaps in mesh when using adaptive subdiv and multiple materials

As mentioned by @lemon, as of Blender 2.80, Adaptive Subdivision is still an "Experimental" feature - and so may encounter unexpected behaviours and issues and may be subject to change in the future (it's only recently that the Displacement socket itself came in to the 'Supported' feature set).
It appears that in Adaptive subdivision mode that each distinct material is currently handled as a separate mesh, effectively splitting the mesh into different faces which are displaced by different amounts, depending on the material. In your case you are telling one material (the bricks) to displace by one amount and the other material (the flat surface) to displace by a different amount. At the boundary between the two materials there is a conflict between where one material ends and the other begins - and so the gap.
I suppose the question to ask is "How should the missing 'surface' between these two displaced edges actually be filled?".
The solution is to ensure that the displacement matches between the two materials at the boundary; if you're expecting the grey surface to fill the gap then that material should displace at its edge to match that of the brickwork. If, however, the brick texture should fill the gap then the brick material should displace to the level of the grey surface at its edges. I suspect this would greatly complicate your materials (as they will need to handle blending the displacement into the surrounding surfaces) but I think this is the only solution at the moment.
Perhaps before the adaptive subdivision comes out of Experimental there will be an option to 'average' or somehow automatically manipulate the displacement at the boundary of contradictory material displacements.


Yes, you can keyframe the Animated checkbox by hovering over it and pressing I:

When Animated is enabled, the rigid body will be controlled with the animation system. When it is disabled, the rigid body will be controlled by the rigid body simulator.


How to move a bunch of bones exactly to the cursor with a single click operation

To do this set all the child bones (finger bones) to have the connected option ON
After that select their parent bone (wrist) and then snap selected to cursor as you did, this should move the parent bone with all its child bones together.


No. Currently is not possible to track shots with variable focal length or shots where the lens breaths too much.


skipping an item inside a loop in animation nodes

The generator node have a hidden Condition input that allows one to skip appending at a certain execution. See example 4 in the documentation.


Parent NORMAL to Control XYZ Axis of Instances

Vertices normals can be converted into rotation information (with a free axis as you may expect) using the Direction To Rotation Node.

So the node tree in AN 2.0, the node tree is as follows:


Mirror Modifier Texturing Painting Problem

Double geometry may cause this.

Select your object that has these strange lines in the outliner.
Go to edit mode.
Press 'a', to select the entire object.
Press 'w', to bring up the pop-up menu.
Choose 'remove doubles' from the menu.

If it's duplicate geometry, this will solve your problem.


How do I add (a chrome) texture without a 2D image? "TxDiffuse missing" error

If you're exporting your material outside of Blender, the node setup you used to create the material will no longer work. It's like the node setup is a dynamic material and to export it you need to save a still version of it (i.e. bake it).
There's a really good explanation of how to do that here: How do I bake a texture using Cycles bake
In essence, you choose a look you like and create a texture (a still image) for the object's surface. When you export that object into whatever other program you're using, you apply that texture (image) as its material, and you get the same look you had when you baked the material. The UV map is what is used to assign the right parts of the texture you made to the right parts of the object. Of course, that means the material isn't dynamic anymore, so you can either deal with that or combine the texture with whatever builtin material editor the program you're using has.
For a metallic material that has a lot of reflection going on, a baked texture probably isn't the best choice, so its better to use built-in tools in whatver program you're exporting to.


How can I keep low resolution textures pixelated?

In addition to scaling the textures up in an image editor with pixel interpolation disabled, (as mentioned by Gunslinger)
Another method is to disable pixel interpolation right in Blender and save memory, and as already mentioned by Krivar, keeping the texture sharp even when close up:

Cycles:

Update

As of this commit, (will be in blender 2.71) texture nodes now have an option to change the interpolation method:

Using Closest will keep the pixels sharp.

Original answer:

You could use this technique, which uses a node setup to scale the UV map:

To add Nodes, press ShiftA > Add node in the Node Editor.
To create a Node Group, select the nodes you want and press CtrlG to make them into a group, creating the Group input and Group output nodes. Press Tab to toggle editing the group.
To use the above group, connect the UV output of the Texture Coordinates node to the UV input of the NodeGroup, and connect the output to the UV coordinates used to map your texture.
(The Vector input on the texture node):

Set the X and Y values to the X and Y dimensions of your texture.

Blender Internal:

Disable Interpolation and set filter to Box in Material texture settings > Image Sampling:

Viewport

You can disable interpolation in the Viewport by disabling Mipmaps in CtrlAltU→ User Preferences → System:


Go to Render > View Animation  or  use CtrlF11:

To know the output location check Output Path in Output Properties. (You may have changed this accidentally)

edit:

On Windows 10, the full path to output folder is displayed on the title bar of animation viewer


How to stretch or compress a spiral cylinder

I would try it with 2 shapekeys:

In the Properties panel > Data > Shapekeys, create 2 shapekeys, keep the second selected.
Go in Edit mode, enable the Proportional Editing mode, Linear option, select the top vertices of your object, adjust the influence circle, pull up so that your object looks like your second image.
Back in Object mode, play with the shapekey Value, push it up to 1 if you want the object to be fully spread.
You might need to make some vertices adjustments for one or the other shapekey in Edit mode, in that case deactivate the Proportional Editing.


Strangely, contrary to this answer, you need to disable auto-smooth to get rid of the gaps.

Also, add a solidify modifier, before the subdivision surface:

Result:


For Fluid Simulation, what do the Start, End and Speed settings mean?

The Start and End values tells the simulator how much "real time" it must calculate within your scene's start and end frames. Note that they are in seconds and not frames, because it should be considered as "real world" timing, included within your animation timing.

The Speed value is like the "motion speed" of the simulation. Lower value will give you "slow-motion" style animation, while higher value will result in a hi-speed animation.

So first you have to take care about how many frames you have in your animation, and the framerate you set in the Render panel, in order to have the corresponding "real world" timing.
Example, as you stated :

start frame: 0
end frame: 120
framerate: 30 fps
real-world timing: 120/30 = 4 seconds

Now you can set your start value as you wish, in order to offset the beginning of the animation, while there is 4 seconds between start and end. (0 → 4, or 1.5 → 5.5, or 6 → 10 for instance).

The speed value, indeed, will allow you to speed up or down the animation. The difference is that the simulation won't take too long to calculate if you  slow down the speed (at, say, 0.1), making possible to keep only 120 frames of animation, on which you can simulate a small moment of the simulation (for example, the moment where the little wave of a drop reach back and separate)

Here you can watch a video by Daniel Kreuter explaining this feature with some examples :
http://www.youtube.com/watch?v=mxG8KbJPNI4
Beware still, at the time of this video, there were no speed value. Instead we were able to tweak the speed with the Real world size property, which is not exactly the same.


Can particle object instances act as obstacles in a fluid simulation?

That will not work with the current release, since the (now old) fluid simulation in Blender is not designed to interact with non-fluid physics systems. I haven't checked, but maybe this will work with the new Mantaflow simulation that was added to the master branch recently. This will be in the next official Blender release.


Timer that can interact with context.object?

with a handler it may work

import bpy, os

ao = None

def h(s):
    # just for testing, normally i won't use global
    global ao
    o = bpy.context.active_object
    if(ao != o):
        ao = o
        print(ao)
    if ao.name == "Cam Small":
        return None

bpy.app.handlers.depsgraph_update_post.append(h)

but that doesn't really respond to the goal of the question


There are many vertices in the bend and just a few at the wall side, so it seems Blender calculates the median of all vertices correctly.

Don't scale the bottom face, but the ring of newly created faces after extrusion! Set your pivot point to Individual Origins, select the ring of faces, press Shift+Z and scale them as desired.


Why does a vertex not become part of the edge it was snapped to?

To be able to merge this vertex with the edge you have to have another vertex as a part of the edge, to do so, select the edge and by pressing the W key subdivide it once then you can slide the vertex where you want by pressing ShiftV, and now you can merge this vertex with the other vertices.


Using volumetrics in Cycles I have to have the light strength super high

There are several considerations here:

Spot lamps and sun lamps are quite different (I suspect you are using a spot lamp to simulate a sun lamp, as sun lamps are not yet supported with world volumetrics).

Spot lamps must be placed far away in order to simulate a sun lamp, as spot lamps diverge, while sun lamps do not. Sun lamps do not have a fallof, while spot lamps do.
This means that using a spot lamp like a sun lamp will either require big strength values, or constant falloff (which you can do with the Light Falloff node):

The World shader fills the entire scene. The manual explains why this problem nicely:

. . . the world surface shader or sun lamps will have no effect if a volume
shader is used. This is because the world background is assumed to be
infinitely far away, which is accurate enough for the sun for example.
However for modelling effects such as fog or atmospheric scattering,
it is not a good assumption that the volume fills the entire space, as
most of the distance between the sun and the earth is empty space. For
such effects it is be better to create a volume object surrounding the
scene. The size of this object will determine how much light is
scattered or absorbed.

This means that the light from the spot lamp is being absorbed before it even gets to the scene, and since the spot lamp is probably rather far away from the scene if it is being used to simulate a sun lamp, this will have a very significant impact on the amount of light reaching the model.

No ambient illumination with world volumes, for the same reasons as with sun lamps. This means your lamp is having to provide all the illumination for your scene.

#The solution
A solution to these issues is to use a object surrounding the part of your scene which you want to be dusty/foggy/whatever instead of the world volumetrics. In this case, you probably only want the inside of your hallway to be dusty, so create an object surrounding that portion:

And disable world volumetrics (by editing the world material node setup).
This means that we can use sun lamps (of course, you can still use spot lamps too), and the surface output of the world shader will contribute to the scene again.
There is one problem, putting the camera inside a volume object is not currently supported. Update: camera in volume is now supported as of this commit. This will be in 2.73 or any recent build.
Until then, this can be worked around by placing the camera inside a cube or sphere and using a difference boolean modifier on the volume object to subtract the cube from it (you can also parent the "camera case" to the camera, so that it goes where the camera goes). Also be sure to hide the the "camera case", so that it does not show up in the render:

#Result
For comparison, here is the scene rendered with a spot lamp (with constant falloff):

And a normal sun lamp:

Also see:

The manual on volume rendering

Correct way to render crepuscular rays in cycles?

All that said, in the end it comes down to what looks good ;)
If world volumes + a very powerful spot lamp is working for you, than there is no reason not to do that.


Mirror modifier creates an object inside another

You can mirror around a different object. For example if you select the headphone band as the mirror object it will use that to mirror around instead of the origin of your object.   If there is nothing handy to mirror around create an empty and put it in the midpoint of where you want to mirror.  In your case I would imagine the headphone band would work for you as the mirror object.


How to extrude (revolve) 2D shapes axisymmetrically?

I think the Screw Modifier is exactly what you want.

This kind of tool is available in many 3d programs. It "screws" or "lathes" a profile around any axis that you pick. Here i've screwed but not used an AxisObject - in this case it uses the Object's own world matrix.

Here's i've picked an axis object, an empty, and rotated it. This is useful when Z,X,Y are not the desired rotation axis.


Using Python to animate a property of an addon

The character_count property is on the data part of the text object.  The Font panel is the data part for a text object, just as it is the mesh for a mesh object, armature for an armature object etc.

With a text object selected and in the console.

>>> C.object.data.keyframe_insert("character_count")
True


How can I get my materials to look like the materials in this photo?

I looks a bit like a gum material, maybe try to increase the Roughness (here 0.9) so that you don't have too much reflection, and give it a bit of Subsurface (here 0.4) so that it is not too contrasted:


Grease Pencil Help - Placing 2D Stroke Animation Over 3D Mesh Object?

I guess it wouldn't be a problem in Blender 2.79. There was an option to keep the grease pencil always on top of 3d objects (it was called x ray i think). In 2.8 You have to be really carefull while chosing position of your grease pencil object, and the mode of drawing (origin, 3d cursor etc.)  I would make the bouncing ball a separate grease pencil object, and animate it's positon first, making sure that the GP object stays on top of the 3d stairs, and then make handdrawn part. Or you could use the the "3d cursor" drawing mode, and make sure that the cursor is on correct place on every keyframe. Or finnaly You could just send the the handdrawn part and 3d staircase to different view layers, and finish it in the compositor (putting the ball animation on top of the stairs) But still, you got the part at the end, where the ball is supposed to be behind the stairs. I would go for the first solution. Not sure if it helps you, but I do some intense research on GP as well and still have to learn a lot about Blender


Is Blender crashing because this file is too big?

It's likely that your suspicions are correct: the file is just too large for the amount of RAM you have.

To be clear, it's not too big for Blender. Blender can handle any size file so long as the OS can give it enough RAM, quickly enough. Sometimes there is technically enough RAM available, but the OS can't allocate it quickly enough, so it's not available when Blender needs it. This situation is unlikely for small files, but becomes more and more likely as the amount of RAM you're wanting to allocate at one time increases.

I'd recommend one of two tests, 1) find another system with more RAM to try importing the DAE to see if the problem is with the file's integrity, or its size. 2) If you have access to the original data, export a much smaller subset of the data, and see if that works.

It may be possible to export pieces of the model/scene in smaller files, import them separately into Blender, and then put them back together.

Google Sketchup can apparently import DAE files as well, so you could test importing with that.


How to make a Rigid Body fall off a conveyor belt?

This is because the rigid body simulation is only taking the initial deformation into account, behaving as if the curve modifier is applied:

To fix this, enable Deforming on the belt object:

This will make the simulator take into account deformations of the object that occur during the simulation.

Result:


How to convert object space normals to tangent space?

The simplest way to do such a conversion is to calculate the dot products between the Object_Space_Normal and the Tangent plane, and then 'normalize' the result to RGB.
$\vec{Tg}_N = 0.5 +
\begin{bmatrix} \vec{Tg} \cdot \vec{N}_{obj} \\
(\vec{N} \times \vec{Tg}) \cdot N_{obj} \\
\vec{N} \cdot \vec{N}_{obj} \end{bmatrix}
/ 2 $
And with nodes:

This is the main process when working with vectors in World space.
In the case where your Normals are Object normals encoded into RGB, then you need to convert them first to world as in the following example:


Why do bones further down the chain get stretched when a bone is rotated?

The Problem

As I suspected, this is a scaling problem. The bones distort because you have non-uniform scaling on your armature object. Select your armature object (not a bone in pose mode) and look at the scale values in the transform properties. The object is scaled by 0.5 on the Z axis. With non-uniform scaling, any transformation done in a space influenced by this object's scaling will appear distorted. In an armature's case, bones in pose mode will be distorted by the object's scale. Likewise with other objects, if you have a cube parented to an empty, the empty's scaling will affect the cube's transforms. This is all because transform "space" is inherited from parent objects. A good explanation is in Nathan Vegdahl's Humane Rigging course.

The Solution

You need to apply the scale transformation on the armature object. With the armature object selected, press Ctrl+A and choose Scale. The appearance of the bones will change (some axes look like they scale), but the overall function should remain the same. For the sake of cleanliness, I would apply rotation as well. Before applying any transforms, it would be a good idea to unbind and unparent any objects influenced by the armature. This will keep them from being influenced by the transform application and keep their position in 3D space.

For the future, it is best to always leave your armature scaling and rotation unchanged, for this exact reason. To change the size of the bones, it's best to edit the armature in edit mode, or if you're doing animation, scale the bones in pose mode instead.


Blender 2.80: How to obtain a white background using the workbench render engine?

Set the values to more than one, say ten or more (up to 50).


Is it bad practice to use overlapping meshes/objects?

I think that « 1 or 2 objects » and « meshes overlapping » are two different topics, and what you decide really depends on your needs. Anyway:

Don't overlap the meshes of your object if you want to 3D print.
In the case of a gun with a barrel, if you don’t need to animate the barrel you can keep one unique object. No matter if some meshes overlap, but you could consider deleting some vertices if they are invisible, i.e. useless. If for a reason or another you want to keep 2 separate objects (for example you want to keep a modifier only on a part of the whole object), you can decide to parent the barrel to the gun, or parent the 2 objects to an empty, it will make the manipulations easier.
If you need to animate the barrel (or the sails of a windmill) you'd better make 2 separate objects, it will allow you to parent the barrel to an empty and make a 360° rotation. If you keep the whole gun one object you'd have to use bones and anyway I don't think you can make a bone rotate more than 180° (?).


How to bake all animation from ik to fk in blender2.66

I made a Blender Addon that does exactly this.

It generates a new mesh and FK rig, so that your original one remains completely unchanged.

So you can simply export the rig that the Addon generates and then delete it. When you need to export again, just use it to regenerate a new FK rig.

It's open source on GitHub - https://github.com/chinedufn/blender-iks-to-fks

Hope it helps!


How to make a script switching Active Camera to orthographic mode?

import bpy
scene = bpy.context.scene

scene.camera.data.type = 'ORTHO' # set to ortho

and to perspective

scene.camera.data.type = 'PERSP' # set to perspectve