Drive shape key based on relative camera orientation? Let's say (for the sake of simplicity) that this cube with two blue sides is my character...

and the shape key in question raises a few vertices on top.

Whenever the camera views either Blue side, I'd like the shape key to activate regardless of world orientation through the use of a driver. The problem is, I have no idea how to get values I need (or which values I need to begin with) in order to automate this.

TL;DR - I'd like the mesh of a character I have to deform when viewed from the side much like what was done in Land of the Lustrous

*Note: While I do have some experience with coding, I've never used python. Layman's terms would be greatly appreciated. Thank you for your time!

UPDATE: In response to @Leander's post

Would it be possible to have this script work with multiple characters on the same camera? Let's say I have character "Cube2" with shape key "Key 2", would simply adding variables like below accomplish this?

import bpy
import mathutils

cam = bpy.context.scene.objects['Camera']
obj = bpy.context.scene.objects['Cube']

# -----------------------------
# Adding Cube2

obj2 = bpy.context.scene.objects['Cube2']

# -----------------------------

def drive_shapekey(scene):
    obj_mat = cam.matrix_world.inverted() * obj.matrix_world

    obj_eul = obj_mat.to_euler('XYZ')
    cam_vec = obj_mat.to_translation().normalized()
    obj_vec = mathutils.Vector((0.0, 1.0, 0.0))
    obj_vec.rotate(obj_eul)
    difference = cam_vec.dot(obj_vec)

    key1 = obj.data.shape_keys.key_blocks["Key 1"]
    key1.value = difference

# -----------------------------
# Adding Cube2 properties and shapekey 2

def drive_shapekey2(scene):
    obj2_mat = cam.matrix_world.inverted() * obj2.matrix_world

    obj2_eul = obj2_mat.to_euler('XYZ')
    cam_vec2 = obj2_mat.to_translation().normalized()
    obj2_vec = mathutils.Vector((0.0, 1.0, 0.0))
    obj2_vec.rotate(obj2_eul)
    difference2 = cam_vec2.dot(obj2_vec)

    key2 = obj2.data.shape_keys.key_blocks["Key 2"]
    key2.value = difference2

# -----------------------------

pre_handlers = bpy.app.handlers.scene_update_pre
[pre_handlers.remove(h) for h in pre_handlers if h.__name__ == "drive_shapekey"]
pre_handlers.append(drive_shapekey)

# -----------------------------
# Not sure if this'll work, but we'll see

[pre_handlers.remove(h) for h in pre_handlers if h.__name__ == "drive_shapekey2"]
pre_handlers.append(drive_shapekey2)

# -----------------------------

This answer targets a beginners level and will include lots of lengthy explanations.

I understand that this answer doesn't utilize drivers as requested, but for this example a simple python script is very easy to produce and maintain, which is why I wanted to add this method.

A slight problem is, that a change of position implies a change of viewing angle with perspective cameras. In the next image there is no difference between both objects orientation, but through the camera, the objects appear clearly at an angle.

I would use a script which check's the camera's and object's transformations on each scene update.

Let's start with a condensed example. Create a camera Camera and a mesh Cube. Then add the Basis shapekey and a Key 1 key, very similiar to the setup in the question.

Paste the following python script in the text editor and click the Run Script button. I have made an effort to document it well.

# import the bpy module, with it we can access the data of the blend file
import bpy

# bpy.context.scene stores the active scene.
# The scene stores a collection of objects, from which
# objects can be accessed directly with their name.
# Get the Camera and Cube by their names and store them
# in "cam" and "obj" variables respectively
cam = bpy.context.scene.objects['Camera']
obj = bpy.context.scene.objects['Cube']

# define a method which will get called on every scene_update
def drive_shapekey(scene):
    # store the transformed obj.matrix in the obj_mat variable
    obj_mat = cam.matrix_world.inverted() * obj.matrix_world

    # print it to the blender console for possible inspection
    print(obj_mat)

    # get the location, rotation and scale from the matrix
    obj_loc, obj_rot, obj_sca = obj_mat.decompose()

    # access the shapekey "Key 1", note that there has to be a
    # shapekey with that exact name
    key1 = obj.data.shape_keys.key_blocks["Key 1"]

    # access the "Key 1" shapekey value
    # here, we assign the absolute value of the objects x location
    # transformed by the inverted camera matrix (!)
    key1.value = abs(obj_loc.x)

# We have to store the method in the scene_update_pre collection.
# First, loop through the collection and possibly remove other
# methods, then append our "drive_shapekey" method. This method
# will then get called on each scene_update_pre cycle.
pre_handlers = bpy.app.handlers.scene_update_pre
[pre_handlers.remove(h) for h in pre_handlers]
pre_handlers.append(drive_shapekey)

One of the more complex lines is
obj_mat = cam.matrix_world.inverted() * obj.matrix_world

The matrix_world is the global transformation of an object (global meaning with parenting already applied). If a location Vector would get multiplied by an object's matrix it will appear is if moved as a child of the object. By multiplying the object's matrix with the camera's inverted matrix, we get the object's matrix in camera space. This may be a confusing concept. The following gif demonstrates multiplying a position vector with the camera matrix or the inverted camera matrix.

The result of the above script is an interactive handler, which update the shapekey value, based on the relative position between the object and the camera.

In the next step, we'll chose the value, which we want to influence the shapekey: the difference between camera and object orientation. Once we have the object's matrix in camera space, we can ignore whatever values were on the camera, since they have been transfered to the object. Only change the code of the drive_shapekey method and leave the other lines intact. In this sample, we use the rotation value of the transformed object matrix by compared a vector with its rotated counterpart.

def drive_shapekey(scene):
    obj_mat = cam.matrix_world.inverted() * obj.matrix_world
    eul = obj_mat.to_euler('ZYX')

    vec_a = mathutils.Vector((0.0, 0.0, 1.0))
    vec_b = vec_a.copy()
    vec_b.rotate(eul)
    difference = vec_a.dot(vec_b)
    key1 = obj.data.shape_keys.key_blocks["Key 1"]
    key1.value = difference

Result of the change in the script.

Now we have to fix the rotational offset of the camera. The shapekey should extend if the camera faces the blue face. We'll compare the (transformed) vectors which we want to align. At the top of the script import the math module as well.
import math
Then turn on the axes on the objects, and choose two axes which you want to align. In my case it's the camera's negative Z (0, 0, -1) and the object's positive Y (0, 1, 0).

def drive_shapekey(scene):
    obj_mat = cam.matrix_world.inverted() * obj.matrix_world

    obj_eul = obj_mat.to_euler('XYZ')
    cam_vec = mathutils.Vector((0.0, 0.0, -1.0))
    obj_vec = mathutils.Vector((0.0, 1.0, 0.0))
    obj_vec.rotate(obj_eul)
    difference = cam_vec.dot(obj_vec)

    key1 = obj.data.shape_keys.key_blocks["Key 1"]
    key1.value = difference

The difference in initial orientation has been taken into account.

Next we are going to add the positional relation to the script. Previously, we compare a camera related vector, but now we need to compare a camera-object relation vector (on the right side).

In our case, the needed vector pointing from the camera to the object is simply the object's location (normalized). This is because the camera is at (0, 0, 0), since we earlier applied the camera's world matrix to the object and we're in camera-relative space from then on.

Now, the dot product is only 1 if the object is actually facing the camera from any position.

The completed script.

import bpy
import mathutils

cam = bpy.context.scene.objects['Camera']
obj = bpy.context.scene.objects['Cube']

def drive_shapekey(scene):
    obj_mat = cam.matrix_world.inverted() * obj.matrix_world

    obj_eul = obj_mat.to_euler('XYZ')
    cam_vec = obj_mat.to_translation().normalized()
    obj_vec = mathutils.Vector((0.0, 1.0, 0.0))
    obj_vec.rotate(obj_eul)
    difference = cam_vec.dot(obj_vec)

    key1 = obj.data.shape_keys.key_blocks["Key 1"]
    key1.value = difference

pre_handlers = bpy.app.handlers.scene_update_pre
[pre_handlers.remove(h) for h in pre_handlers if h.__name__ == "drive_shapekey"]
pre_handlers.append(drive_shapekey)

As suggest in the comments by batFINGER: Checking for the name in the second line from the end will prevent other handler to get removed.

There seems to be the need to control shapekey on multiple object (as seen in the question's edit). This isn't that difficult if the parameters are properly understood.

The lookup up name in the key_blocks 'Key 1' is simply the name of the shapekey on the object. If your shapekey has a different name, the code should be changed accordingly.

The next codeblock will update the cameraFacingKey shapekey on multiple objects: Cube and otherCube using a single method. It relies on both of them having the same shapekey name. The import and handler statements shouldn't be changed.
This code creates python list with a list comprehension. In the drive_shapekey(scene) method it loops over all objects in the objs list.

cam = bpy.context.scene.objects['Camera']
obj_names = ['Cube', 'otherCube']
objs = [bpy.context.scene.objects[name] for name in obj_names]

def drive_shapekey(scene):
    for obj in objs:
        obj_mat = cam.matrix_world.inverted() * obj.matrix_world

        obj_eul = obj_mat.to_euler('XYZ')
        cam_vec = obj_mat.to_translation().normalized()
        obj_vec = mathutils.Vector((0.0, 1.0, 0.0))
        obj_vec.rotate(obj_eul)
        difference = cam_vec.dot(obj_vec)

        key1 = obj.data.shape_keys.key_blocks["cameraFacingKey"]
        key1.value = difference


Ctrl + J doesn't work Currently I'm using the 'Cell Fracture Add-on' and want to remove the doubles. To do that I have to make all fractures into one single object so that I'm able to go into Edit Mode. Normally you only need to press Ctrl+J, but somehow nothing happens.

How can I fix this problem?

Make sure you are in Blender keyboard preset, not in Maya or 3DS Max keyboard shortcuts, then you will be able to do that by pressing Ctrl+J.


Why does scaling my UVs have any visible effect in the 3D View? I'm trying to scale my UVs along the x-axis, however scaling the UVs does not seem to have any visible effect on the meshes in the 3D view. Is there something I need to do to see this change?

The only shading modes that allow an accurate view of your shaders are the material view and rendered view. Solid view using texture color display might not always show textures as they are, especially their mapping.
Also, what you see depends on your material's nodes setup.
Finally, I'd advise avoiding scaling UVs, it's usually a better idea to keep them correctly done in their UV space and use mapping nodes in your materials to dissort them.


Array Shrink Wrap Curve tell me pls best way to make this holes
on grey path  it's like insert then looptools
On yellow path i want to try shrinkWrap and array mod along that curves

OR tell me please how to make this faces with the same size then apply insert and looptools

Select the face and snap the cursor to it (Shift+S-->Cursor to Selected). Then delete the face (press X).

Press Shift+Num 7 to align the view to selected face. In Edit Mode add a plane and align it to view (check the Align to View box in Tool Shelf).

Scale the plane to achieve a desired size of the hole and connect the vertices of your helmet mesh to it. Next delete the newly created face.

Now you've got a regular hole.


How do I mix more than one image with a video in node editor? I'm trying to add images to a video clip using motion tracking, and while I can do this fine for one image in a clip, I can't figure out how to have more than one image added to the video. Is there a way to do this?

Thank you.

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

For example:

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

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


How to get an unlit textured view in Object Mode? So I painted my texture in Texture Paint mode and I can see it all just fine. Now I go back to Object Mode and I can't see the texture. If I go from Solid to Texture view, I just see flat white object.

If I change the viewport display method to GLSL it goes to black, and then I add a light I can see the texture but this isn't what I want. I don't want/need Blender's lighting (it's just getting exported to a game engine). I just want an unlit, shadeless view.

Going back to Multitexture display mode and checking Shadeless seems to do nothing. It's just still white.

In Blender Internal (Blender Render):

In addition to what you already did ((1) Textured viewport shading mode, (2) GLSL Shading in Properties Panel), go to the object's material and set it to Shadeless.

In Cycles:

Simply use the Material Viewport Shading mode.


Weird solidify results So, after finishing the modeling process, I select all with A, then I solidify in order to 3d print the model, getting those weird results.

Edit:
Part of my file, where the problem is present

How it looks before solidify:

How it looks after:

How do I solve this?

Edit: I triangulated everything, same result.
Looks like some sections are not affected by solidify, also some holes.
I spent like 100 hours to model this, hope I can fix it.

Some parts won't solidify

1: (Not necessary but to simplify things) remove the Mirror and Solidify modifier.

2: Open the Viewport Shading menu and enable Backface Culling.

Now the problem is revealed. Mesh faces only have one side, With backface culling enabled we can see this. Your models has half the faces facing outwards (which is good) and the other half facing inwards (which is not good). To correct this

3: In Edit mode select all of the mesh and open the Mesh menu, Mesh > Normals > Recalculate Outside.

4: Look carefully where the face is selected in the screenshot below and you will see a face that should not be there. Delete this face and fill in the gap it leaves.

5: Now you can add back the modifiers

Looks ok now :) ................

........... apart from the weird edge flow !
As with most things but especially cars, edge flow is very important. I suggest you find a car modeling tutorial on Youtube and pay special attention to that.
Takes time, sometimes you will spend hours and hours just tweaking existing vertices until it is ............ just right.

Edited to illustrate Nicola's suggestion in the comments

Edited to reply to comment:
Often its extrude in one direction and the face normals are ok, extrude in the opposite direction and  you find the face normals are now reversed.Work with backface culling enabled and you will notice problems and can fix them as you go along.

Advice on edge flow? Spend a few hours watching car modeling tutorials on You tube.
Avoid Ngons and tris where possible and most important of all keep it as low poly as possible. The more geometry you have the harder it is to tweak.

Try for something similar to the screenshot below.

Note this is only the side of the car. If I was intending to model the complete car, at the same time as adding the circles for the wheel arches I would also have added a circle for the front radiator grill and work back from there.

For this Youtube is going to be your best friend. Good luck.


Add/Transfer one object's weight painted vertex groups to different object (identical mesh)? I have two versions of a face mesh (via Shift+D--should be identical XYZ positions); one has correct eye (and nose) weight-painting and the other has correct lips (and chin) weight-painting. The only vertex group they both share is "head", since each object's specific region's weights were subtracted from the head. Is it possible to add/transfer one object's VGs (e.g. lips) to the other (e.g. eyes) and also correctly combine (subtract) the relevant weights from the overlapping VG (e.g. head)? I tried applying the commenter's answer here (TL;DR: Data Transfer modifier), but got strange midline-lips and lateral inner-mouth motion. (The inner mouth is not shown.) Thanks!
Face with correct eyes rig (JP names are "head" and "eyelash top/bottom 1, 2, etc."):

Lips (masked from identical face mesh) with correct lips rig (JP names are "head" and "(center)top/bottom lip L/R):

There may be a more streamlined way.
The nose rig didn't change between the eyes-rig and lips-rig face objects, so I duplicated them both -> deleted the nonfunctional halves of each mesh at the nose bridge -> merged (Ctrl+J) the functional halves. I also merged the same-loop/XYZ-coords edge loops  (Merge by Distance) and cleared sharp edges to resolve a subtle but obvious shading issue. Here, Shift+D and Alt+D didn't seem to differ as a duplication method.


Snapping of walls and floors So I am building a house right now, or trying to, and I've made the floor, walls, and doorway. The only trouble I seem to be having so far is how they all fit together. Is there a way to make these snap together?

You can activate the Snap option to make the vertices of your walls stick together, it will also work in Edit mode. As Yash said, you could also use a Boolean modifier to merge some walls, but it won't always give good result. But as AzulShiva said, maybe the best is to model your walls within only one object, it will simplify your work, unless you have a very particular reason to separate your walls.


How to create a checkbox in the Properties>Render tab? sorry for the noob question, but i can't create a simple checkbox inside the render tab...
Here is my code...

import bpy
from bpy import context
from math import degrees, floor
#from bpy.types import *
from bpy_extras.io_utils import ExportHelper
from bpy.props import BoolProperty
from bpy.types import (Panel,
                       Operator,
                       AddonPreferences,
                       PropertyGroup,
                       )
class MySettings(PropertyGroup):

my_bool = BoolProperty(
    name = "render scene",
    description = "render a reference copy of the scene",
    default = False
    )

class BlenderCam_exportFile(bpy.types.Operator):
    bl_idname = "myops.blendercam_export_file"
    bl_label = "Export File"

    def execute(self, context):
        #------------------------------------
        #    my code is here....
        #------------------------------------
        return {'FINISHED'}

class BlenderCamPanel(bpy.types.Panel):
    """Creates a Panel in the Render context of the properties editor"""
    bl_label = "BlenderCam"
    bl_idname = "blendercam_panel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "render"

    @classmethod
    def poll(self,context):
        return True

    def draw(self, context):
        layout = self.layout
        scene = context.scene
        rd = scene.render
        #label
        layout.label(text="Label")
        #chechbox
        layout.prop(rd, "my_bool", text="Bool Property")
        #button
        row = layout.row()
        row.operator("myops.blendercam_export_file")

def register():
    bpy.utils.register_class(BlenderCam_exportFile)
    bpy.utils.register_class(BlenderCamPanel)
    bpy.utils.register_class(MySettings)

def unregister():
    bpy.utils.unregister_class(BlenderCam_exportFile)
    bpy.utils.unregister_class(BlenderCamPanel)
    bpy.utils.unregister_class(MySettings)

if __name__ == "__main__":
    register()

The code runs fine and doesn't return any error, but while the label and the button are present, the checkbox doesn't show up... Any clue?

I am no python expert however the reason why the bool wasn't showing it was because it was assigned to some property that didn't exists.
If you launch blender from the terminal is easier to spot those problems.

code...
    rd = scene.render
code...

output
    rna_uiItemR: property not found: RenderSettings.my_bool
    /Text:58

--

Looking the documentation,

  layout defines the structure of the panel in the UI and prop
  exposes the RNA item and places it into the layout.

The prop function takes data and property as arguments which in your case was data=rd property=“my_bool”. now the problem was arising because the variable rd was assigned to scene.render thus layout.propr(data=scene.render,  property=“my_bool”)

looking the error property not found: RenderSettings.my_bool we can understand that the scene.render was in fact the wrong call as it was calling the RenderSettings where there was no property "my_bool".

hence creating the bpy.types.Scene.my_tool and assign it to PointerProperty(type=MySettings) (that points to the BoolProperty where my_bool exists) solved the problem when calling layout.propr(data=scene.my_tool,  property=“my_bool”) because in fact now we know that my_tool has an attribute my_bool

--

I am not really familiar with the blender addon workflow so I look  How can I add a checkbox in the tools UI? and made the changes to your code accordingly
.

import bpy
from bpy import context
from math import degrees, floor
#from bpy.types import *
from bpy_extras.io_utils import ExportHelper
from bpy.props import (StringProperty,
                       BoolProperty,
                       IntProperty,
                       FloatProperty,
                       FloatVectorProperty,
                       EnumProperty,
                       PointerProperty,
                       )
from bpy.types import (Panel,
                       Operator,
                       AddonPreferences,
                       PropertyGroup,
                       )

class MySettings(PropertyGroup):

    my_bool = BoolProperty(
        name = "render scene",
        description = "render a reference copy of the scene",
        default = False
    )

class BlenderCam_exportFile(bpy.types.Operator):
    bl_idname = "myops.blendercam_export_file"
    bl_label = "Export File"

    def execute(self, context):
        #------------------------------------
        #    my code is here....
        #------------------------------------
        return {'FINISHED'}

class BlenderCamPanel(bpy.types.Panel):
    """Creates a Panel in the Render context of the properties editor"""
    bl_label = "BlenderCam"
    bl_idname = "blendercam_panel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "render"

    @classmethod
    def poll(self,context):
        return True

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

        # --> new line here <--
        rd = scene.my_tool

        #label
        layout.label(text="Label")
        #chechbox
        layout.prop(rd, "my_bool", text="Bool Property")
        #button
        row = layout.row()
        row.operator("myops.blendercam_export_file")

def register():
    # --> new line here <--
    bpy.utils.register_module(__name__)
    bpy.types.Scene.my_tool = PointerProperty(type=MySettings)

    #bpy.utils.register_class(BlenderCam_exportFile)
    #bpy.utils.register_class(BlenderCamPanel)
    #bpy.utils.register_class(MySettings)

def unregister():
    # --> new line here <--
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.my_tool

    #bpy.utils.unregister_class(BlenderCam_exportFile)
    #bpy.utils.unregister_class(BlenderCamPanel)
    #bpy.utils.unregister_class(MySettings)

if __name__ == "__main__":
    register()


How to correctly use the mirror modifier? I have some problems with the mirror modifier.
I think it doesn't mirror in the right way.

as you can see the two outlined objects face in the same direction. I want they face each others.
Is that possible?
Also when i move one outwards they moves in the same direction, instead i want they get far away.
Thanks.

It is indeed possible :).

1) Choose the right axis
There are three axis to mirror around.
Trial and error will get you there fast enough :).

2) Don't move the object, move the mesh.
The mirroring center is your object's origin point.
So instead of moving your object, switch to Edit Mode and move your mesh farther from the origin point.

3) Apply rotation
Object's local rotation can mess with modifiers.
Go to Object->Apply->Rotation.

Further Reading:
Mirror Modifier page in Blender Manual


Unable to select items on outliner I'm new to blender and I'm struggling with a few things that are probably tiny but I just can't quite get them. The biggest issue is selecting different parts of the mesh in the outliner. Specifically, selecting to make the name white on the outliner and allow me to edit that part. I click on the grey symbol with three white dots in a triangle. 1 out of 100 times it works.

The second issue is every once in awhile the texture of what I'm working on disappears. I feel like a button accidentally gets pushed and I'm unsure how to turn it back.

Before:

After:

In the Outliner, when you click on the object mesh icon, it allows you to enter in Edit mode and to edit the object mesh, it doesn't allow you to precisely select one part of the mesh if that's what you're trying. If you don't see anything when you click on this icon, maybe it's because your object is not visible on your 3D View, it can be on another layer for example. Also, when you try to edit an object, why don't you select it and press tab to enter in Edit mode? This is the classic method.

About your display problem: You must accidentally press Z, it makes you switch between Rendered (or Material) mode and Wireframe view. See what happens on the bottom horizontal bar of your 3D View.


Problem subdividing edge loop in a model I have this model of a rook (chess piece) and I want to subdivide the top edge loop, but as soon I try to do that it forms a weird curvy edge loop. I have attached the model along with the pictures below...

Blend file: https://drive.google.com/open?id=1am0JbAVkdK4IXxjiKeEJKan30a5MnJTq

Why it happens:

When you subdivided the top loop, two things happened:

You created n-gons, which behave differently with Subdivision.
You made the loop to look more like an octagon.
It's a real pain to repair these issues, not worth your time :).

Smart solution :

Use the Screw modifier instead:

Keep only one side edge of your object.
Add the Screw modifier. That way, you can adjust the number of edges to your needs.
You can also change the number anytime you want, until you Apply the modifier.
And make sure to check Calc Order

Add the Subdivision modifier after the Screw modifier, if you need it.

3D view so you can see better what's going on.

Dumb solution:

You can make any shape into a circle using the To sphere tool.
It's a very useful tool, but in this case it won't help much, because of the ngons.

Further reading:
Screw modifier in Blender Manual.


How to render an "inverse" panorama I'd like to render an "inverse" panorama.  That is, rather than render from the center of a sphere or cylinder outward, I'd like the camera to "unwrap" the object.  I was able to simulate this by rendering a thin slit whole rotating the brain 360 degrees, the stitching the output together.  It's very slow because Cycles recreates the BVH tree, etc for each 1 pixel strip.  I would also like a spherical projection rather than cylindrical so the top and bottom are shown.

Any ideas how to do this faster / better?

Original object:

Unwrapped rendering:

You can use the Bake function in the Cycles Render properties panel to achieve this by effectively rendering the scene from the point of view of a surface wrapped around your object.

The 'Bake' option is usually used to capture the visual appearance or properties of a surface in the scene where those properties are unlikely to significantly change (eg, its Ambient Occlusion, the lighting of a diffuse surface, shadows, etc.). This way, that surface's appearance can be quickly determined at render time without having to repeatedly re-trace those rays over and over again for each frame.

When baking an image, blender projects the camera rays directly towards the surface along its surface normal - rather than projecting them from the camera towards the surface - and this can be used to effectively turn any surface into a camera.

The key is to use a Glossy surface to bounce the ray back towards the surface being imaged. This way the baked image isn't how the surface appears but is, instead, what the surface sees when looking along its Normal - ie, it acts as a distorted camera that can take on any shape.

Blender projects camera rays to the surface along the surface normal.

The glossy surface bounces those rays back along the surface normal.

The rays hit the target, imaging it from the point of view of the surface.

To create such an "inverse panorama" create a new mesh surrounding the object - eg, a sphere for a spherical projection or a cylinder for a cylindrical projection. The mesh should be Smooth shaded rather than Flat shaded.

Flip the Normals so that they point inwards towards the target object.

Unwrap it using a suitable projection method (eg, Sphere Projection for a sphere, Cylinder Projection for a Cylinder)

Setup the material (note the unconnected Image Texture for the bake)

Note that the above material is a mix of 100% Glossy and 100% Transparent - reflective to all rays except those used to determine shadows. This way the surface reflects all incoming rays coming from the direction of the target object back to the target, but any rays from lamps placed outside the baked mesh are allowed to pass through. This allows lights to be placed around the target mesh outside the surface used to image it.

Select the surrounding surface (sphere) and click on the Image Texture node in the material to select it (this sets the 'destination' for the bake) and click 'Bake'.

This produces results such as the following :

The oringial object :

"Inverse Panorama"

Blend file attached


AttributeError: '_RestrictData' object has no attribute 'filepath' I'm working on a small post-save-hook, which is working pretty nicely only if the file is saved first and then the script is loaded later on. If I install my addon from the file and I save the currently opened new blender project I have this error:

AttributeError: '_RestrictData' object has no attribute 'filepath'

Which comes from the line, where I try to access the filepath data of my blender file:

path = bpy.data.filepath

When I remove my script, save the blender file and then readd my script it works again. So basically my question is:

What is the workaround of this issue? Can an already loaded module reload itself? Or is there some other way to do this properly?

Thanks in advance!

This is a side effect of the way you import.

from bpy import data as bpy_data imports the bpy_struct data when the py file is loaded, like a local copy (not alias). This happens during the addon registration, thus bpy_data will be and remain as:

<class 'bpy_restrict_state._RestrictData'>

In contrast, import bpy and a later use of bpy.data accesses data in the moment you actually use it. It is _RestrictData at registration time, but later on it will be

<class 'bpy.types.BlendData'>

You should change your imports from

from bpy import ( data as bpy_data,
                  context as bpy_context )
from bpy.app.handlers import ( persistent as bpy_app_handlers_persistent,
                               save_post as bpy_app_handlers_save_post )
# ...

to

import bpy
from bpy.app.handlers import persistent

# ...

@persistent
def foobar(scene):
    bpy.data.filepath
    #bpy.context...

# ...

bpy.app.handlers.save_post.append(foobar)

from ... import ... as ... should only be used if the imported module or function would overwrite another.


Remove a few particles? *I dont know how to explain the title feel free to change

I have downloaded a mesh that uses particles as grass and it is going through my knife mesh

I was wondering if there is anyway to get rid of those few strands?

To remove particles select the particle system by clicking on one of its particles then enter particle edit mode by pressing Tab. In particle edit mode select the unwanted particles and press X to delete them.


why some object doesn't show up color i add red color to cylinder but it doesn't show up color, only the plane with green have color.
what is the problem of my cylinder color?

Your screenshot shows that you've added the red material to material slot 2, so I guess there is a white material in slot 1. By default the complete object gets the first material. So the easiest way would be to delete the white material from the cylinder if that's the only one you want to show up.
Another way would be (if you want different colors on the cylinder) to go into Edit Mode, select those faces that should be red and hit Apply in the Material Tab to give them the material in the second slot.


Is it possible to add weight to a new object once I have added weight? I have an arm and gun rig with the hands already rigged and weighted, but I have not added weight to my gun, magazine, and charge handle.

I edited the bones to line up with the bones etc., but I want to be able to add weight to those objects without using add automatic weights.

Is it possible to add weight to an object (separate) even once I've added weight to an object?

You can adjust the vertex weights at any time, either by using Weight Paint mode or manually adjusting the weights, weight painting is just a nice gui approach to setting vertex group weight values to vertices.

In your case you most likely want to use a parent constraint to allow you to turn on/off the parenting of the entire object on demand. With rigid objects that don't deform you only need to parent the object to a bone so that it moves with your character.

By keyframing the influence slider you can control when the object is parented to the hand and when it is left behind.

If you are using the game engine then you may want to use a parent actuator to enable/disable the parent relationship. In this case you probably want to set an empty to be a child of the hand bone and then enable parenting to the empty as you can't turn on parenting to an individual bone.


Subdividing a face with subdivided edges When modeling, I sometimes run into the problem of trying to subdivide a face but can not do so because one or more of its edges are already subdivided.
For example, in this image, I can't subdivide the selected face because the other faces by it are already subdivided. When I try to subdivide the selected face, it just subdivides the edges instead.

As a general rule you should avoid ngons and triangles.

To deal with the big and ugly ngon in the center of the screen,  select opposing vertices and Join them with using vertex connect: Press the  J key.

Then do that on the cross section.

Then get rid of all of the triangles and ngons and make every possible effort to use quads.

For some ideas on how to deal with changing topology see Johnson Martin's page on:

http://topology-guides.tumblr.com/

An example from that page:


Is there a timeout/max capacity in blender's phyton scripts? I can't figure out if there's something wrong with blender or my script. So far I have this little code, which does its job if the file which is parsing is not SO big:

import bpy
fh = open('coordinates.txt')

for line in fh:
    coo = line.split()
    x = float(coo[0])
    y = float(coo[1])
    z = float(coo[2])
    bpy.ops.mesh.primitive_cube_add(location=(x, y, z))
    bpy.ops.transform.resize(value=(1, 1, 1))

When I try coordinates.txt with few lines, it works and it creates the cubes, but when I do it with its original size of around 215000 lines, Blender stops responding and it stays like that forever.

Has anyone any idea of what I can do to avoid it? (Reducing the file's lines is not an option )

Btw, coordinates.txt has this format

335.0091 2433.163 -126.9688
351.7849 2352.089 -126.9688
-493 -808 128.5834
-1076 -843 132.8153
160.123 2369.68 -126.9688
-760.663 -836.174 132.07
182.9523 2438.389 -126.9688
-332 -754 88.59317
259.0002 2480.136 -126.9688
-857.507 -738.361 130.3733
338.3209 2430.226 -126.9688
353.1722 2349.083 -126.9688
-493 -808 128.5834
-1076 -843 132.8153

Your srcipt is fine, and blender is not timing out, but rather you have found a limitation of blender. Blender is not good at displaying many objects, 250,000 different cubes will crash blender.
Try adding 3 array modifiers to a cube, to generate 250,00 cubes, then go into edit mode and separate by Loose Parts (blender will crash.)

Instead of adding a cube at each coordinate, create a mesh with all the coordinates as  vertices. So each coordinate is represented as a vertex.

import bpy
fh = open('coordinates.txt')

# A list of the locations of the cubes
vertices = []

for line in fh:
    coo = line.split()
    x = float(coo[0])
    y = float(coo[1])
    z = float(coo[2])

    # Instead of adding a cube, append the location of the cube to vertices
    vertices.append((x, y, z))

# Make a new mesh and set its vertices
mesh = bpy.data.meshes.new('verts')
mesh.from_pydata(vertices, [], [])

# Make an object for the mesh
object = bpy.data.objects.new('verts', mesh)
bpy.context.scene.objects.link(object)

Then parent a default cube to the newly generated mesh, and use dupliverts to add a cube at each vertex.

From the excerpt of your coordinates, in top view, it produces this:


How do I offset the start of a cloth simulation? I have a cloth simulation that I'm using to drape some cloth over an object. I'd like to be able to offset the timing of it so that at a certain frame where I'm happy with how it drapes, I can offset that frame to frame one, and then continue the animation from there.

How would I achieve this?

Workflow:

Bake the the cloth simulation by clicking Bake button in Cloth Cache panel.
Find a folder called blendchache_[project_file_name] in the same directory of the .blend project file.
Per-frame data were saved here as files named like [some_num]_000001_00.bphys, [some_num]_000002_00.bphys... etc, the mid-section was actually the frame number, e.g. 000001 means frame 1. Now you can simply delete files from 000001 to 000099.
Then you can rename the rest files to [some_num]_000001_00.bphys, [some_num]_000002_00.bphys, etc. (There are many free and handy file rename tools online for download, to do the renaming work in a flash)

You needn't close the project during the process. You can play the offset simulation right after that.

Tip:

This trick can be used to offset other simulation types that generate cached data.


Weird issue with LMB on caps lock Running Linux and using a small Python script globally in Xorg to bind left mouse down + up to the caps lock key. I use this because of RSI and the buttons on my trackball are crap.
It just works with everything. But in Blender it only works in some situations.
For instance selecting objects in Object Mode doesn't work, but it of course works using the real left mouse button. Dragging to select works though, although only some areas of the viewport will let caps lock activate the drag region.
I'm using pyautogui.mouseDown() and pyautogui.mouseUp() when caps lock is pressed and released. And using pynput.keyboard.Listener() to listen for events.
Anyone got any ideas to make it work? Script below.
#!/usr/bin/env python3

from pynput import keyboard as keyb

CAPS = keyb.KeyCode(16777215)

def on_press(key):
    if key == CAPS:
        return pyautogui.mouseDown()

    pass

def on_release(key):
    if key == CAPS:
        return pyautogui.mouseUp()

    pass

with keyb.Listener(on_press=on_press, on_release=on_release, suppress=False) as listener:
    listener.join()
```

Ah, tried setting it with xmodmap and it works!
xkbset m
xmodmap -e 'keycode 66 = Pointer_Button1 Pointer_Button1'


Why won't my texture render? I made a mug as my first blender artwork, and it looks pretty good. I unwrapped it using smart unwrap, and it still looks good. I exported the UV layout to GIMP and painted it, then exported it back to a png. Now I can load the image into the UV editor and it all looks fine, but it won't render on my 3d object. Any ideas?

(Let me know what else you need since I'm sure you're going to ask for screenshots, but I'm not sure what screenshots you need.)

The texture does show up in texture mode, but when I go to view it as rendered it disappears. Additionally in texture mode it shows up very dull and the specular mapping isn't working properly. Eventually I'd like to bake in the specular and diffuse settings so I can export the UV map and object as an FBX for Unity.

Finally, I realized the thing is not retaining the grouping when I export (it exports the torus and the cylinder as separate pieces) and that the UV unwrap is in the wrong place. The words on the side of the mug are cut off.

Do you know how to set up material nodes?
(Assuming your in cycles)
You need to use an texture node in your material setup:


can't crop image and save to video I am saving an animation to a video. I crop the output image using Crop node (Crop image size is enabled), but the rendered image remains the same size, and uncropped areas become transparent pixels. If using the File Output Node, it is cropped correctly but I can save only one image at a time, not a video as I wish. Do you have any suggestion to save the video that is cropped properly? Thank you in advance!

Change this setting to reflect the actual image size.


Blender cycles rendering layer but keep to sum memory? something i really don't understand!
i made different layer for my render.
i have 5 layers, i set for everyone: layer to render, layer to exclude and eventualy also the mask layer.

if i render from composer editor every single node (clicking in render button in render layer node) i don't have problems!

when i start the render (f12) i have render out memory problems on last renderlayer!

every renderlayer work good but in rendering information i see the memory usage sum to previous renderlayer

example: when renderlayer1 finish mem = 100, when renderlayer2 start mem = 101, when finish mem = 200, when renderlayer3 start mem = 201!!!

in this way my GPU memory go full before finish the rendering!!!

N.B.: the last render layer is rendering just 1 layer, excluding all objects layers (keeping just layer for commons light) and have no mask layer active. if i render just this render layer i give to me 991M Mem usage. when i render this from f12 render i give me out memory over 3200M mem usage!!

i can set something for clear memory every render layer?

This look like bug and all what you can do is report as bug with most accurate info as you can.

I noticed that Blender have problem with VRAM freeing sometimes. Try save every render layer separately. I recommend use multilayered .exr for keep render passes. Now you can composite everything in new .blend file. Optionally you can use other compositor like Natron or Fuse.

Last time I always use this workflow for more complicated projects. This method give me possibility easily rerender only layers I need later and without rendering everything again.

I don't thing this is "stressfull way", ultimately this can save you a lot of time. Only you must link your images smartly and work will go fast :-)


How to have an object's scale be affected by proximity to empty? I have a collection of cubes that are parented to a spinning circle. I would like the cubes to increase in scale as they pass through an empty and then shrink again so that the cubes at the front are bigger and highlighted more.

Q: How can I do this with animation nodes?

You can either use Object controller falloff or Point Distance falloff to get proximity effect.
In your case you have animated cubes outside Animation Nodes. So we only care about scales of cube inside Animation nodes. Then here is how to do:

Or we can also build entire setup inside Animation nodes:


Strange Red Box on my screen I'm a new blender user so i may make mistakes from here and there sometimes, but I have this problem where this weird dotted box is on my interface window and it's starting to annoy me.

I'm not sure how to fix it, and everytime i press shift+z it's like a window for rendering your scene.

So again, i'm not sure how it got there or how to get rid of it. If anyone can tell me how to get rid of it, that would be great. Thanks!

You activated "render border" with CTRLB.
Easily remove it with CTRLALTB.

The red area allows you to render only that rectangle when you are in viewport "rendered" view mode, it helps to quickly check the rendering settings for only a small portion of the scene, in the viewport.


What are the advantages of separating FK and deform bones in an IK/FK rig? In an IK/FK rig is there any advantage to having a set of deform bones (DEF bones) that are separate from the FK bones? This is opposed to a setup where you have one set of bones you make FK adjustments to that also deforms the mesh and can switched to IK using drivers.

Example blend attached.

One advantage is that you can see the FK bones actual positions without adjusting the IK/FK switch. This might be useful when blending halfway between IK and FK in order to transition from one to the other. When going from IK to FK you can set your FK positions to their destination position and then adjust the switch and see the deform transition state. You'll still be able to adjust the destination FK position while seeing the resulting transition state without having to go back and forth between them.


Curving mesh to other mesh As a note: below images are a massively simplified representation. The actual objects contain way more vertex.

With a lot of manual labour I can reach my goal but since I need to process lots of similar situations, I wonder if someone can think of an easier way to accomplish the following:

I'd like to curve a mesh1 onto another mesh2 that's already curved.

I've created a curve (path2follow) along mesh2 to use in the curve modifier applied to mesh1. Because mesh1 has a different vertex layout, the 'fold lines' aren't there so the result on the default mesh1 is flawed (understatement ;-).

So at the moment I measure the distance between the folding lines (they are not equally spaced) by calculating vector length in 3D and add these point to mesh1 with edge/subdivide. I then 'knife' mesh1 along these points to create additional folding lines and keep faces in tact (in fact create new ones easily).

When the curve modifier is now applied, the result is as desired but with a lot of manual labour. There must be an easier way... ?

I've looked at this answer, although I'm not using text, but I'm not able to add a lattice if that would be a solution. Any suggestion is appreciated. Thanks for your time.

[UPDATE]

So I thought I'd simplify the meshes because I was looking for the method but apparently it' not that easy. I've uploaded the original file with full mesh details:

A screenshot can be seen here:

Lattice is useful if you have to deform a solid (like a 3D text on a curved surface). If it's only a plane to shrinkwrap to another curved plane, you can simply subdivide the mesh enough to get the desired resolution, adjust the view for the desired projection, go to edit mode, activate the face snapping and "project individual elements on the surface of other objects"; then select all vertices and slightly move the vertices: they will snap on the surface of any underlying object, with a view-dependent projection.


Can I make a force field that is defined with differential equations? Can I make a force field in the xy plane that is defined with differential equations as:

x' = f_1(x,y) (speed in the x-direction is dependent on x,y coordinates)

y' = f_2(x,y) (speed in the y-direction is dependent on x,y coordinates)

So for example we can see a rigid body (such as wind) or liquid flow (such as a whirlpool) as a result of the force field.

Example is a phasediagram:

That is described with the following differential equations:

x' = x(2-x-y)

y' = y(-1+x)

http://systems-sciences.uni-graz.at/etextbook/sw2/ph_plane_analysis.html

As the documentation says,

  You can use a Texture force field to create an arbitrarily complicated force field, which force in the three directions is color coded. Red is coding for the X-axis, green for the Y-axis and blue for the Z-axis (like the color of the coordinate axes in the 3D View). A value of 0.5 means no force, a value larger than 0.5 acceleration in negative axis direction (like -Z), a value smaller than 0.5 acceleration in positive axis direction (like +Z).

You can create the texture corresponding to your equations using Mathematica or similar packages. Or you could write your own program to output the texture.


Create a new edge along a face See the model below:

Is there a way to move the selected face without affecting the body of the plane? the wing was created by simply extruding the face, so now it shares the bottom edge of the wing and moving the selected face lifts body too.

Of course, I'd still want it to be connected to the body, i.e. the newly created edge should slide on the body face.

Edit

Here is what I wanted to do. Open blender, select default cube, go to edit mode and simply extrude one of the side faces (not top or bottom face) of the cube. You get two connected cubes (sort of). Now select the bottom edge that is common between the two cubes. I wanted to move this edge upwards (in Z direction), while keeping one of the cube intact.

Made it work. I just needed to go to Vertex mode and select the two vertices that join the body and the wing. Then from Vertex menu (Ctrl + V), choose Rip.


Snap an inset face to edge instead of in the center? I'm insetting a face and I want it to inset towards an edge instead of just insetting in the center. I know there is a way to achieve this. How do I do this?
Photo 1: default inset
Photo 2: Desired result (in this instance I just movied the insetted face down after inset)

This only works when there are open edges.
You need to remove some faces to make it work.

Remove the bottom face
Inset and uncheck Boundary
Done


How to hook a vertex of a curve to a certain object? I'm trying to hook a curve vertex to an object and this method works perfectly:
bpy.ops.object.hook_add_selob(use_bone=False)

The problem is when I try to do this from python. I have to select the object, which can be done. But the operation seem to imply that the vertex is the active object or something? Is there a way around this in python or can I setup the hook directly via class-access bypassing the operation entirely?

I can see that it made a modifier on the curve. But I can't see how this modifier works only for the vertex. If I add a modifier manually and set the object as target, nothing happens.

If you know the objects by name (names are unique), you can get them by global data access:
curve = bpy.data.objects["BezierCurve"]
hook = bpy.data.objects["Empty"]

Or even better per scene in context if you'd like to turn this into an operator later on:
curve = bpy.context.scene.objects.get("BezierCurve")
hook = bpy.context.scene.objects.get("Empty")

To add a modifier to an object, with its name and type:
modifier = curve.modifiers.new("Hook", 'HOOK')

Then the modifier has its own specific attributes and methods
For hook, as described here:
The target object:
modifier.object = hook

And the hooked vertices. a bezier curve handle has 3 points, so you can set indices with:
handle_index = 0
index_from = 3 * handle_index
index_to = index_from + 3
modifier.vertex_indices_set( range(index_from, index_to) )

All together:
import bpy

curve = bpy.data.objects["BezierCurve"]
hook = bpy.data.objects["Empty"]

modifier = curve.modifiers.new("Hook", 'HOOK')
modifier.object = hook

handle_index = 0
index_from = 3 * handle_index
index_to = index_from + 3
modifier.vertex_indices_set( range(index_from, index_to) )


How do I add random spotting to the same face in cycles? I would like to add random spotting to the same face to decrease the amount of vertices needed. Take this Dalmatian for example, suppose its body was only made up of 12 faces. I would like to avoid making a texture as my actual model is more complicated. The spots are only one colour and the surrounding area is only one colour. How could I do this in cycles?

I would also like to know how to control the amount of spots produced.

If I understand correctly you try to find a procedural way to make some black and white spots on yout object. Here is a way to do it:

Make the following node chain : Texture Coordinate (Object output) > Voronoi Texture > ColorRamp > Diffuse BSDF > Material Output. With the Voronoi you will create the spots shapes and sizes and with the ColorRamp you will determine the space between the spots.
But as you can see the spots are a little bit too regular. If you want to introduce more accidents, before the Voronoi you can add a Color node > MixRGB (Add mode) and plug a Noise Texture on its other socket. This solution was inspired by Gleb Alexandrov's video.


How to remove part of a model? I want to remove the roof section of this batmobile model, I'd like to know if there is a faster way of doing this than selecting all the individual vertices and moving them away, as this looks quite tricky. What is the best approach?

You can use Separate by selection.

Select the faces you want to remove
Use Mesh > Separate > By Selection
Your selection is now a separate object you can hide/show at will


How do I lock multiple bones location in Pose Mode? I just am just working on a model with a loot of bones. Now I want to lock the bones location of multiple Bones at once. How could I do that?

Thanks in Advance.

With the armature selected and in pose mode this will set the location lock for every bone. You may also want to lock the rotation by setting lock_rotation

import bpy
for b in bpy.context.active_object.pose.bones:
    b.lock_location[0] = True # x
    b.lock_location[1] = True # y
    b.lock_location[2] = True # z

If you want to do it using a preset list of bone names -

bone_list = ['upper_arm.L','upper_arm.R','thigh.L','thigh.R']
for bn in bone_list:
    bone = bpy.context.active_object.pose.bones[bn]
    bone.lock_location[0] = True # x
    bone.lock_location[1] = True # y
    bone.lock_location[2] = True # z


Blender 2.63 doesn't support playback:'Blender'? CtlF12 renderd simple cube movement but CtlF11 responded Blender 2.63 doesn't support playback:'Blender'. What's wrong? I'm just starting to learn Blender from Blender 3D Basics Beginners Guide. The supplied example file gives the same result.

System is Debian Wheezy

Books tend to use a slow release cycle and then are available for a long time. Version 2.63 of blender included with the book was released more than 2 years ago and would have been compiled using an older system version than what you have installed now. After installing newer versions of your system and supporting libraries previous releases can stop working.

The best option would be to try a new blender version. If you have trouble with the official release versions then you may want to look at tips on installing builds made available by others or compiling blender yourself.


Star flare in Eevee? Continuing my star flare question. I am now teaching myself Eevee and Blender 2.8. I'd like to add the star flare as seen in this screenshot to one of my sets. I want to set it to a stage light bulb. Anyone have any suggestions?

EDIT compositing seems to work but not quite as I expect. Index OB and Index MA are gone and I'm trying to assign the flare with streaks to one object or one material. Suggestions?

EDIT 2 I am so close with this! But it's hitting the neon lights, which I don't want it to do. Just the stage lights in the back. By the way, super thankful for your help! Any suggestions on separating? The neon is a different hue of blue, but it seems to hit all blues.

AFAIK, values rendered fromm Eevee don't seem to be taken into acount when compositing. I don't know if it's a bug. But here's a work around :

Set a color for the objects you want to add streaks on. Make sure you don't use that color anywhere else in your scene. I used a full red (rgb 1:0:0)
In the compositor, we will use a Chroma Key node do create a mask out of that color. Play with the cutoff & acceptance to really isolate your lights
With Alpha Over node, we will take the original render and use the new mask as factor to put our lights on black background
Let's add a glare node. The mix value must be set to 0
Mix the glare result to the original render with 0.5 factor

It's really not the best solution but hopefully, all the render passes will be back at some point.


UV Mapping - Boolean through a plane Could anybody tell me why I'm getting this weird issue when I punch a hole through a plane with a boolean? I know it's something to do with tris but it causes issue when applying a material over the top. It's like the normals are the wrong way round but only from certain vertices.

3D software needs to interpret faces with 3 or 4 vertices. Everything else is called n-gon. In this case you have an n-gon with around 26 vertices. Select this face, hit x, delete just this face. than select two vertices in corners (drawing), press F to create edges between them, than fill everything out. With 3 faces this should be solved. You can also try to press K (knife tool) to draw the missing edges.


Adding Imprints On Objects How do you add an imprint to an object in blender cycles? Such as a footprint on a piece of wood like on this image:

There are various ways to accomplish this. I will share two methods that I've found work well.

1. The Transmission Mask Method (for stills)

This method involves modeling a simple foot object that will pass in front of surfaces that are to appear wet or imprinted upon. The wood material in this case uses the Light Paths node to mask between wet and dry shader mixes. The "Is Transmission Ray" output from the Light Paths node factors the mix in a way that any light hitting the wood material that also passed through either a Glass or Refraction shader will be shaded with the wet mix - else it will be shaded with the dry mix.

This is quick and easy to set up, however if you think you may have any objects made of Glass (for example) passing in front of your wood they too will trigger the wet material. As long as you plan your scene in advance, and know what else will be between the camera and your wood material, you can probably get by with this quick trick.

Use a Refraction shader on the footprint object with the IOR set to 1 so that no refraction actually occurs, but the rays passing through will now be considered "transmission" rays.

Here is a demonstration of the principle in its most basic form.

Basic transmission mask setup:

As you can see, while this has the advantage of being quick to set up, it has disadvantages as well. It doesn't render as transparent where the background is transparent. Also, when viewed from the side the sphere occludes more of the plane than you'd want. Instead of a circular area being yellow, you get a whole silhouette of a dome that is yellow. You might think that if you flatten the sphere enough you will get a circle, and this is true - however if you want to animate something like a footprint you will want the intersection to happen over the course of several frames, meaning the footprint-shaped object must have some depth to it. Adding depth means the silhouette will become at least somewhat visible when viewed from the side and look strange. This is why I present this solution as being alright for stills but not so good for animated scenes.

Example result:

(Thanks for the wood texture, Pixabay!)

Example node setup:

In the above example I subtracted the wood cracks from the mask because they don't need to appear wet, they just need to appear dark - and the glossiness of the wet mix was actually lightening them which didn't look natural, so I did a low-cut to exclude the really dark areas from the mask. This probably isn't necessary to do with most textures.

Note that passing through transparency is not "transmission", so you can even take it further and map fades between Transparent Shader areas and Refraction Shader areas if you a want a smooth falloff. Here is an example of a setup that creates a soft-edged footprint using the Z-height of the mesh:

2. The Wet Map Method (for stills and animation)

This method takes a bit longer to set up, but it's the right way to do it. And it works really well for animation.

Part I. Modeling and animating the brush and canvas objects

As with the transmission mask method, a footprint-shaped mesh object is required. I modeled mine starting with a trace of your reference image. Since the shape will move through the plane over the course of several frames, it needs to have some thickness for the imprint to be animated. I used the same mesh object for both. Here is what it looks like. Notice how it is intersecting with a plane.

The footprint-shaped mesh is your "brush object". The wooden surface is your "canvas object".

The foot and toes are rigged to a very simple armature so that they curve with the step. The water droplets are not rigged to the armature - instead they are animated with a Shape Key because I thought it would be simpler not to have a bone for each, but I wanted them to hit on separate frames.

I animated the step to come up through the plane instead of down into it, but it doesn't matter which direction you come from as long as the "brush" object intersects with the "canvas" object. The brush object must be a closed volume.

In most cases the brush object should move away from the canvas object after stamping into it. If it remains intersecting with the canvas object, it will continue to soak and spread out the wetness. Such soaking counteracts Dry and Shrink effects, if you use them (more on these later).

Unlike in the transmission mask example, we don't want the footprint objects to be visible to the camera. So uncheck these boxes in the Object Context under Ray Visibility:

Part II. Using Dynamic Paint to Create Wet Maps

Go to the Physics Context.
Select your canvas object and click “Add Canvas”.
Select your brush object and click “Add Brush”.

The default brush color is blue, which would be relevant for a paint map, but not for a wet map. A paint map transfers color information. A wet map transfers greyscale data mapping how wet a surface is, with black being dry and white being wet.

In the Dynamic Paint section, set the format to “Image Sequence”.

Specify the resolution of the output images.
The default 256 is good for initial testing, but you will want your final one to be higher.
Use your judgement depending on the size of your painted object in your scene.
This value is for both the X and Y dimensions, because your UV area is always a square.

Set the start and end frames for your animation. An image will be output for each frame.
Specify how many Sub-Steps you want to be calculated for smoothing the animation. If the brush collides with a face perpendicularly, Sub-Steps are not necessary because it will pierce through rather than trail across. See the step-count comparison below on a sphere that moved across a plane over the course of 6-frames:

Unwrap a UV map for your canvas object.

Specify the UV Map to be used (you probably only have one to choose from).

Specify the file path for your output images.

Press the button to “Bake Image Sequence”. The cursor will show the percentage done.

Once you've done a test bake to confirm that it's working, there are a couple more adjustments you can make to enhance the realism of your wet map.

Enabling the Dry option makes wetness gradually fade with time.

Enabling the Shrink effect makes wet imprints get smaller as they dry up.

Experiment with these settings if you want to simulate your footprints drying over time.

Part III. Using Your Wet Map in Cycles

After creating a new material in Cycles, open the Node Editor.

Add an Image Texture node and load the image of the first frame of your wet map sequence.

Change the source from “Single Image” to “Image Sequence”.

Set the number of Frames to be the number of images (frames) in your sequence.

Set your Start Frame to the frame in your scene when you want your wet map to kick in. In other words “wetmap0001.png” (or whatever yours is called) will begin at this frame.

Leave the Offset value at 0.

Enable the “Auto-Refresh” option.

Add a UV Map node and plug its UV output into the Vector input of the Image Texture node. Specify the UV map to be the same one you used for your canvas settings.
You might not need to do this if you only have one UV map on your object, since Blender will probably auto-detect it and know what to do - but it’s a good practice. It is necessary if you have multiple UV maps on your canvas object.

Example node setup:

Note that I didn't go so far as to factor in the wood cracks in this example since I wasn't rendering close-ups, but of course you can easily integrate that into your node setup if you want to. (See the example node setup for the Transmission Mask Method)

Example result:

In the examples above the drying effects have been unrealistically sped up for the sake of demonstration...and because it looks kinda creepy.


Bool tool difference not working I'm new to Blender following a tutorial by Josh Gambrell, I have created a main object ("Cube"), using a cube but remove the upside vertices and left plane like object, then solidify.
I then try to make a cut using 'Cube.006' with  Ctrl  + Numpad minus (-)  of booltool, but this seem not to work. I have done some cut before with this method (I create collection cutter),and it works.
Not sure what caused this.

You bevel doesn't work well with the cutter because there are overlapping edges.

You could just lower the bevel amount from 0.1 m to 0.09 m. This pulls the bevel back enough to avoid overlapping edges.

Another option would be to move the problematic boolean modifier above the first bevel modifier. This way the boolean would work better but you would need to adjust the bevel modifier more to get as deep bevel.
Extra:
Also remember to give your cutters smooth shading and auto smooth to get cleaner holes.


Smart UV Unwrap Multiple Objects I want to be able to use Smart UV project on thousands of separate objects in a scene at once.

I'm wanting the result to be as if I'd applied the Smart UV Project to each individual object one at a time.

Using A to select all and SPACE then Smart UV Project just seems to create a problem in sense that when I import even a single object into Unreal Engine it behaves like it has an enormous footprint bigger than my terrain map, even though the object itself does not and is small.

Any advice or suggestions would be most welcome.

Scripting with Python

As you mentioned, Smart Unwrap in object mode takes all the objects as a whole. It's more useful to create a texture atlas, rather than individual UV maps.

Like in most scenarios where a tedius task must be done several times, you can try to automate the process with python code.
You can write a script that iterates through all the selected object of the scene, enter edit mode for each object, select all the elements of the object an run the smart_project() function.

Here's what a possible script could look like:

import bpy

if bpy.context.selected_objects != []:
    for obj in bpy.context.selected_objects: #loop through all the selected objects
        if obj.type == 'MESH':
            bpy.context.scene.objects.active = obj
            bpy.ops.object.editmode_toggle() #entering edit mode
            bpy.ops.mesh.select_all(action='SELECT') #select all objects elements
            bpy.ops.uv.smart_project() #the actual unwrapping operation
            bpy.ops.object.editmode_toggle() #exiting edit mode


Where did the marble procedural texture go? (Cycles) It seems to me that the procedural textures aren't render engine dependant, I guess I'm wrong. Does anyone know why this is?

Is there anyway to get a procedural marble texture into cycles? (or simulate it in some way?)

In the Cycles rendering engine, both the Marble and Wood procedural textures are merged into a single texture known as 'Wave'.

You can use the Distortion and Detail settings to achieve the old Marbles look. One setup to achieve a look like the old Blender-Internal Marble texture is:

This returns a texture that looks like:


Can OpenGL Render handle (semi)transparency of an object? Update:  Success with the translucent object under the emitting skydome!

Settings:

I want to make an object glassine, mostly transparent.  Maybe add some partially reflective coating on the top.  Is the OpenGL Render able to do this?

I'd love to try it myself first in order to find out, but every attempt I've made to (a) make something any-alpha at all ends in failure when rendering in OpenGL, and (b) whenever I try to render using anything else, like Cycles, I get no output at all, or the skybox texture isn't rendered at all.  And still no translucency.

Can someone show me how to take a cube (inside of the skydome I've already got), and make it half transparent?  And render okay?  Seems simple, but nothing's simple in Blender.

Thanks for any help.

Her is whay I tried, but I don't know about your dome...


Is there a smart way to apply a better transition between colours while maintaining one solid colour per face? I recently started using blender for a project. I have tried using a color ramp with a transition between the 4 colours, but the result is too smooth when applied:

Im aiming to achieve this kind of effect:

Is there a way, or is it the long winded way?

The following script reads the face position normalize it and assign it to the vertex color of this face ( new group named 'face_pos' will be created ) :

import bpy

obj = bpy.context.object
obj_data = obj.data
group_name = 'face_pos'
#check for existing group with the same name
if None == obj_data.vertex_colors.get(group_name):
    obj_data.vertex_colors.new(name=group_name)
color_map =  obj_data.vertex_colors[group_name]

#collect dimension info
dim = obj.dimensions
min_x = -1*min([p.center[0] for p in obj_data.polygons])
min_y = -1*min([p.center[1] for p in obj_data.polygons])
min_z = -1*min([p.center[2] for p in obj_data.polygons])

for poly in obj_data.polygons:
    pos = poly.center
    color = ((pos[0]+min_x)/dim[0], (pos[1]+min_y)/dim[1], (pos[2]+min_z)/dim[2])
    for loop_ind in poly.loop_indices:
        color_map.data[loop_ind].color = color

we wont apply this vertex color but instead we use it as a face position input in the material nodes using the Attribute node and the vertex color name , then we manipulate this information to create the desired effect

material node

the result is color transition for faces not points :

This solution maybe a bit complicated but it introduce a trick for accessing other properties in cycles(this is not like drivers since it updates per point not frame)


How to connect two vertices with curved edge Is there a way to do something like this

from this?

I've created the first one by adding circle and removing unwanted parts, but what if I couldn't start from scratch and wanted to create it out of two vertices only? Thanks

As Leander has commented, if you want a circular arc, you can use the Spin tool, (AltR) to spin a single radius around the 3D cursor.

If you want a more arbitrary curve interpolating through control points, you can select and position those points on an existing boundary, and use the shipped add-on: Loop Tools > 'Curve' to form it.


How to make / generate the trailing effect? If an object is moved from Point A to Point B using the Follow Path constraint, I want it to leave behind a trail of color behind it.

Note : I have enabled Freestyle under which i have unchecked Use Surfaces / Solid in the Layers Tab -- NO TEXTURES are a set to the object.

This is what the render output looks like:

UPDATE : Since, freestyle has it's limitations, I was thinking of parenting a ribbon at the bird's tail, that would give a similar trailing effect, however, I want the ribbon's Freestyle Strokes to fade away long it's length. Also, what is the most suitable cloth modifier preset to simulate a ribbon?

I can't fully get you reference to your freestyle setup, but a simple way could be using a mesh deformed by and also following the curve, using a blend texture influencing the mesh alpha.
This is a single color example, but it should be possible use a rainbow style texture...

you could combine such a trail with the freestyle based animation, perhaps... maybe using different render layers.
edit: since you asked here is a possible similar setup with cycles (renders a bit slower)

edit: since you asked, here is the .blend related to the last example (cycles)

Note: the animation is not done with follow path here, but animating the Y location after setting a curve deform modifier... the effect is similar, though.


Deform Blast Bags on Ship Turret when moving the barrels Any ideas/hints on make these Blast Bags (selected object in the screenshot) move with the barrel, but also keep them siting in the turret, so that the front part keeps tight around the barrel and the other part stays within the turret?

Is there a way except animating it by hand?

The thing I want to achieve is, that those Blast Bags (they are usually made of fabric) behave as if the one end of them (line A) is fixed inside the turret and the other end (line B) sits around the barrel.

When the barrel now moves up and down in the turret, the lines should still stay fixed to the barrel/turret to get an effect like this (This is sloppy made for demonstration):

Given the restricted range of movement required, a physics/cloth simulation might be a bit over the top? Maybe a 2-bone armature will do.. The joint between the bones is at the center of rotation of the barrel.

The root bone could be a child of the turret, the barrel-bone constrained to point down the barrel. You could start with automatic weights, and tweak in weight-painting to something like this:

Barrel Bone

Root Bone

If you want to introduce folds in the fabric, you can use corrective shape-keys. There is one in this animation, but only to suppress unnatural bulging...

If you haven't rigged to an armature before, I wish I could give a complete description in one BSE answer, but it would be too broad. Maybe check out some basic tutorials (not bothering about Inverse Kinematics to begin with), and if you get stuck on a particular step, call back with another question. This isn't a bad starting exercise.


Why don't I hear sound? I made this code to control the sound of my car in a game very specifically:

    import bge

cont = bge.logic.getCurrentController()
own = cont.owner
sound = cont.actuators['Sound']
ray = cont.sensors['Radar'].positive
velocity = own.localLinearVelocity
speedY = velocity.Y

#control volume and pitch
if ray:
    sound.volume = (.2 * (math.sqrt(speedY)) ^ .6) + .2
    sound.pitch = (.00128 * (speedY)) -.125

    cont.activate(sound)

I used the bricks without the code and an and controller and it worked fine, so the sensor does activate correctly. So there's something wrong with the code. I'm not hearing anything so what's wrong?

If you look in the console you will see an error being reported

  TypeError: unsupported operand type(s) for ^: 'float' and 'float'

In python ^ is a bitwise XOR operator while **, pow() or math.pow() is used for power.


How can I create text with a black outline as seen in anime subtitles? Ive tried a few different ways to do this but they all take way too long.

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

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


Why do I get a text that reads "feet" on the top corner of the 3d viewport? .

I somehow now have this in my startup file. Can someone tell me what this represents and how to change/remove it?

That are your units of measurement.
For Version 2.8X Enable/Disable Text Info in the Overlay Controls.

Then set the scale to the Unit System in which you measure.

For Versions 2.7x
You can change them under the Unit tab in the Scene Properties menu.

If you want "Blender" measurements just set the length to none.


get position of object following a path via script I have an object obj following a path, and when I run obj.location, it always returns the same value for every frame even though it's moving. How can I get the real position?

Use the matrix world.

An objects world matrix is calculated for every frame, to position all objects globally in the scene regardless of how it is done be it via constraints, parenting, drivers, yada yada.

To get the global location at frame f

context.scene.frame_set(f)
global_location = context.object.matrix_world.to_translation()


Color faces based on world space normal I would like to be able to render a model/scene using the standard renderer (not game mode) where the color of each face/polygon is determined by its world-space normal. For example, looking at a cube from an angle where I can see the +x/+y/+z faces should render the faces with colours (255, 127, 127) / (127, 255, 127) / (127, 127, 255) respectively.

Importantly, moving the camera slightly should not change these colours (not screen-space normal based) and rotating the cube should change the colours (not object-space normals).

I've managed to create the effect by following this guide and writing my own fragment shader, but can't figure out how to use it during a standard render. Likewise I have found the normal output mode for material nodes but this only gives screen-space information.

I'm not too picky about the method as long as it can be used to generate animations and be reasonably automated.

You can do this in cycles using the Vector Transform node:

No matter how the object is rotated, the faces facing a particular direction are always the same color.

To map colors to the normals, you can use Separate and Combine RGB nodes to manipulate each channel individually:


Hidden surface removal I have a blender scene with several overlapping identical objects. Is there a simple way to determine and export visible faces given a specific viewpoint.
That is, i want to use Blender for hidden surface removal.

If there is a better way to do this, with some other tool, please share as well.

One way to do this is by select everything with box select (B), circle select (C), or lasso select (⎈ Ctrl LMB) while in solid view with Limit selection to visible enabled, then inverting the selection (⎈ CtrlI) and deleting faces:


Waterproof manifold solids I need your support to build a waterproof manifold solid in Blender 3D. I have attached a .stl file showing outer and inner surfaces of a gear, developed and exported by a 3rd Party software.
The Model isn't waterproof because the top and bottom surface is not part of the .stl Model.
I know that Blender has the capability to 'repair'Non-waterproof .stl files.
Do you know which modifier has to be used to create a 3d solid for 3d printing.
I am a blender beginner and familiar with All Modules...
Best regards and thanks in advance!

(An answer, because comment do not allow for enough characters)
If you import the .stl In Blender, it should be easy to close it up in Edit Mode. Best way is probably to do it manually by selecting elements (vertices for instance) and pressing F to create faces between them.
You can probably select all vertices on one side an close it up with a singe press of the F key. However, since you don't want the hole in the center to be closed up (by either gear shape) as well, you should first create a bridge (of a face or an edge) between the inner and outer surface (for either side), before you do that.
It might also be worth knowing that Blender ships with Add-ons that allow for the easy creation of gears and cogwheels (by pressing Shift + a, selecting the desired object, and then clicking the properties in the bottom left corner or pressing F6). There is the Add Mesh: Extra Objects add-on which allows to create Gear objects and adjust their properties before they are added. And there is the Add Curve: Extra Objects which allows for a Cogwheel to be created; basically the same thing but as a Curve Profile.
Both add-ons can be easily activated by checking their box, if you go to the Preferences > Add-ons and search for "extra".


Objects appear deformed in Object mode but normal in Edit mode At first I thought it was the mirror clipping causing it, but I deleted the modifier entirely and it wasn't fixed. Then i thought it might have been caused by "rogue" edges that were on the "empty" side of the objects, but deleting them didn't yield any result. Any ideas?
This is my very first time using Blender, or 3D modeling in general btw.

Check that you don't have any "shape key" active or configured.
check screenshot:


Why is Bloom Effect affecting the whole scene When I add Emission to ONE material, as example an emerald on a sword and then in render settings enable Bloom, it does not really work. Because everything glows, even the floor and all is adabting the colour of the bloom/Emission. But I just want my emerald to glow realistically. Does anyone know how to do that?

Would be very happy for help!

(I'm using Blender 2.8)

Play around with the Bloom settings in the Render Tab. You'll get the required effect.

For more details, please share an Image which can clarify the question.


How to stop the model from deforming while it rotates? I am creating a rotating gif of one of my characters (following the video tutorial by Cherylynn Lima on YouTube). I have made one of these before but have not come across this particular problem:

(sorry for the low quality gif!! I'm sure can provide a higher resolution to you directly if you need it)

As you can see, the arms (and I think the tail as well) rotate strangely. My fox friend is meant to maintain this pose while rotating:

I'm not sure what I did wrong. I have an armature set up, but I'm not entirely sure if that's the problem.

I'm also still fairly new to Blender, so any help at all is welcome!

Thank you in advance!

EDIT:

Added the file (See comments)

All seems to work as it should. Don't rotate your mesh directly after applying an armature - after this point, only the armature is responsible for the moving.

In pose mode, you can move and rotate all bones to modify your mesh. If you want to rotate the entire armature (and your mesh with it), leave the pose mode and rotate the armature in object mode.


Light turning on and off I'm trying to make a little scene with a light turning off and on randomly, I tried adding a keyframe to the light power and applying a noise modifier. However the result is too "soft", I mean the light just get a little dimmer or brighter. I'd like to know if there was a way to make the light just turning off and on randomly without having to manually add keyframe through the whole timeline.

You can use the Noise Modifier: just increase a lot the strenght of the noise and the add a Limits Modifier, to clip the values between 0 and your maximum desired value

This is the quick and easy way. If you want more control you could use nodes (I am thinking of a noise modifier applied to the value of the strenght of the an Emission shader, using Greater Than and Less Than nodes), but you would need to use a mesh instead of a light object


Difference between Octane render and Eevee render? I am blender beginner. I found Blender has 2 renders, eevee and cycle. But I also find an Octane render in website. What are the differences among eevee, cycle and octane? Is octane an addon? Is yes, how much?

Well, yes and no. Octane is not for blender only, it's more of an engine in many 3d software. https://render.otoy.com/forum/viewtopic.php?f=7&t=72241#p366488, Octane uses the computer GPU to render, and it is like Cycles but a real-time raytracing, which means its acts like evee but produces renders like cycles. Evee is just a real time render engine
which doesn't care about light that much.


Dark triangle on shadow edge (cycle mode only) I just place the Zuzanne's head on the center,  a light, and a camera.
In cycle render mode, I got some small dark triangle on the shadow edge.
In Eevee render mode, Everything is ok.
It seems not a z-fighting, face orientation is OK.
Material is not related to this. I tried to remove all material, triangle is still there.
It is a simple scene.
Did I do anything wrong?

Try to increase Suzanne's Subdivision levels with Subsurface Modifier.
Try to increase Lamp Angle.
Or you can increase Shadow Terminator Offset for smoother shadow transitions.
Image below: Shadow Terminator offset 0.00 vs 0.1:


Why are my sprinkles beneath the frosting I am a beginner to Blender and watching this video.

At 8:46 is when my problem occurs, because my sprinkles are appearing beneath the icing.

Welcome to the Blender community!

All you need to do is continue watching that video until the very end :) BlenderGuru addresses that issue.

Edit: I looked at the file you posted, and the short answer I posted above is incorrect.

The reason why your sprinkles are not showing up properly is that you did not apply the Solidify modifier. BlenderGuru did this at the beginning of Level 1: Part 5.

This is important because of particles are created on the original mesh prior to the other modifiers being applied. You can see that below, where the Solidify modifier is adding additional icing that covers the sprinkles.

To fix this, you'll need to go to the Modifiers tab (the blue wrench) and apply the Solidify modifier. However, when I tried to do this in your file, I received an error due to Multi-user data. This just means that multiple objects have been "linked" together so that if you edit the data for one object, all the objects change.

To fix this, head over to the Object Data Properties tab, which has an icon that looks like a green triangle. Then, press the button labelled "2". The "2" indicates that there are two objects using the data, and pressing it will make this a single-user (unique object).

Once you've done that, head back to the Modifiers tab, and apply the Solidify modifier. The sprinkles will now be showing up on top of the icing, and you should be ready to continue through the Donut tutorials!


Subdivision Modifier Inconsistency (2.8 stable) I'm trying to create coving/cornices and some skirting boards for a room I'm making.  I've created the initial mesh by making a 2D profile and using the extrude and shear tools to follow the edge of the room.  I've spent some time cleaning up duplicate vertices and edges, as well as deleting internal faces, but when I apply a subdivision modifier to the mesh, one corner of it appears as expected, but the other three average out and cut the corner like the images below.

At first I thought it might be because I need to add a loop cut to both sides of each corner, but this hasn't been done on that corner, yet it works fine.

I'm fairly new to Blender, so I'm bound to have done something wrong somewhere here.  I'm pretty sure I've cleared up all the duplicate geometry, and I can't see any additional vertices in the working corner (EDIT:  I've double checked this by vertex selecting the working corner and comparing the number with a not-working corner, they're the same).  Any ideas?

Another edit:
I think I've found the problem, but I have no clue how it happened.

In face select mode, I noticed what appeared to be edges that have the centre dot you see on faces.

Selecting these and deleting faces doesn't break the mesh, but I have no clue how that happened.

Additional note:  Deleted those faces and attempted to apply the subsurf again, but the same problem occurs, so I'm still at a loss on this one.

After some playing around I've found the problem.

With face select mode enabled, I noticed that each edge had what appeared to be a face on it, shown by the centre dot markers normally seen in face select mode

Deleting those faces alone didn't make much difference, but with vertex select mode back on, I found that there were now twice the number of vertices than the other corners.  Merging those together with Vertex > Merge Vertices > By Distance solved the issue.

The mesh looks wierd on all four corners now, but that's expected and now I can fix it the normal way.


How is this blendfile hiding textures? I saw this tutorial on Blender Nation that deal with creating Minecraft animations in Blender.  After following several links, I finally came up with the file and downloaded it.

I could edit the images that were used to texture the models.  However, when I wanted to disable anti-aliasing/sampling, I discovered that the textures are not linked to their objects in the usual way (i.e., through the Textures tab in the Properties panel).  In fact, I have not been able to find any link between the textures and the objects that they adorn.

What is going on here?  Am I just missing something blindingly obvious?

The reason for this is that none were created, the author simply unwrapped the models and changed the view to Textured.

Here is a quick example using the texture I unpacked from the file. As you can see, the cube doesn't even have a material. This is perfectly legit in Blender but really bad practice as it pertains to asset management etc.

Since the objects are already unwrapped, to fix it, just create a texture and change Coordinates under Mapping to UV. For a bit more information on correct UV mapping, see Blender UV mapping error


How can i make it so when I go into edit mode the mesh stays deformed by armature So when I give a mesh and armature and then deform the mesh in pose mode, when i go into edit mode the mesh gos back to its default position, and for some reason i cant figure out how to make it stay deformed as i go into edit mode

Enable this, almost every modifier has this I believe.


Using particls to simulate automatic gunfire Cycles The situation is i have a few gun models that i will use in a scene where there are a lot of them and they all need to be able to fire bullets easily without me animating each bullet as these are automatic weapons.
So i have a gun and i made a simple bullet that i want to use as a particle system for automatic gunfire.

So i have this bullet model right inside the bore of the gun and i parented the bullet mesh to the gun. I then added a particle system to the bullet that used the bullet model as the particle in the render tab. A couple problems arose such as the particles not appearing, they have far too much drop due to gravity especially in the case of a rocket launcher that needs to go slowly but not drop. and i also don't understand how to turn them on and off such as in a burst fire situation so it fires then stops then starts firing again.

Here is a very simple test that shows how you could defy gravity and animate particles to "gunfire" bullets:

this setup  could work like this:

here is a test blend file:


For smoke how can I take certain frame of smoke and use as initial frame? In Blender is possible to take a certain frame of smoke simulation and use as a initial simulation frame, in Maya it was possible but seems in Blender I can not find a good solution, for example I want to add smoke effect on a motion-tracked car, and in frame 50 i want the smoke begin with that frame.

I found the solution, This works nicely, first you should bake all dynamics to external file, just check "External" in Smoke Cache section of Domain fluid and use folder you want to cache, then you see name of cache by numbers, for example "_000001_00.bphys" and "_000002_00.bphys" and so on, remove all frames until 50 and use frame rename frame 50 to "_000001_00.bphys", this will instantly update in viewport of blender and you see frame 1 or 0 is using frame 50 simulation, but you must offset all the name of frames regard to that frame, 50->01, 51->02 and so on.

UPDATE:
another solution for using in conjuction with motion track is to move all the motion track data/keyframes +50 frames, as this post suggested,

http://blenderartists.org/forum/showthread.php?353329-How-to-have-initial-state-for-smoke-simulation

UPDATE 2:
Also just use frame 50 as initial frame, and remove all frames include after ones cause blender start simulate from initial frame, so no need to rename all other frames of caches, just re play again and blender will automatically cache data (do not free the cache).


IK Arm Rigging with more than 3 bones I have an exported model from 3ds Max, it was rigged with CAT.
The main problem is that the CAT skeleton has lower arm roll bones that linked consistently (UpperArm -> LowerArm -> LowerArmRoll -> Hand).

So, i don't understand how to make IK rig properly, because that hierarchy obviously screws up IK solving.

Any thoughts? I'd appreciate any help.

So if you're trying to limit the rotation between the 2 lowerarm bones, what you're looking for is probably the IK Limits: In Pose mode, select the bone you want to constrain, go in the Properties panel > Bone > Inverse Kinematics (this menu appears as soon as the bone is influenced by an IK), then limit on the axis you want, in that case X and Z.
As you mentioned, in 2.8 you can simply click on the Lock IK option (top of the same menu).


Limit bone animation velocity I'm currently animating a robot arm. For this purpose, I created an armature with IK solver. I've constraint the bone (aka robot joint) transform to match the motion possible with the robot.

However, what I couldn't find, was a constraint to limit the animation velocity and acceleration of a bone. Is this even possible with Blender?

Since nobody answers, I found a temporary solution:

The iTaSC IK solver features some velocity constraints: https://docs.blender.org/manual/en/latest/rigging/armatures/posing/bone_constraints/inverse_kinematics/introduction.html


How do i snap to an intersection of the edge when locking an axis? What i want to do is pretty simple when using Sketchup :

But i can´t seem to do the same on Blender...

I don't know if there is a better alternative but you could try multi point snap.

Simply press A while you are snapping to create a snap point. Add multiple points to or near the location you want to snap to to increase the influence of where your vertex will snap. In this case adding a point below and above where the Y axis crosses the edge will give you a close approximation, requires some fiddling to get used to but should be useful.


Pitchypoy rigify issue Using a character rigged with Pitchypoy Rigify in different scenes.
Can't understand why when opening certain scenes the "rig layers" normally visible in the N panel disappear.

My "auto run scripts" in pref users is ON.

Any help?

Appending the rigged object to different scenes doesn't automatically include/run the rig_ui.py script. The script can then be located in the original .blend file's /Text folder.

You can also keep a local copy of the script by generating a new Rigify rig in an empty scene and saving it. Just be sure to change the rig_id in the script to match the rig you wish to generate a UI for before you run it... like this:


How to prevent Parent bone rotates the child bone in pose mode in Blender 2.8? As you can see in the figure 1 , I have one child bone connected to the parent , Although I locked all the rotation axis(fig 1) and applied limit rotation constraint to the child bone; when I move parent in the pose mode the child bone is moving(as shown in fig 2).
I want to prevent that rotation.I am a beginner in rigging. Please Help!
FIG 1:

FIG 2:

A bone can be child of another but you can disable its Inherit Rotation option in the Properties panel > Bone > Relations.


Material001 second attempt There are buttons on the r.h.s. of Blender which are starting from bottom:
Material properties
Object Data Properties
Object Constraint Properties
Physics Properties
Particle Properties
etc.
Now, in Material Properties I can add Materials like this:
Material
Material001
Material002
etc.
Now I want to find in which one of the buttons listed above there is a menu offering an existing
Material001
so that I can create a link to this particular object named Material001 and make use of it and its properties like color.

Not sure if I understand your question about the other property windows, what you may be looking for is the shader editor.  You can access it by going to the shading workspace at the top, and you'll find the bottom window is already set up for editing materials.

This MAY be related to what you're wanting, because you can access UV coordinates here, etc.


How to use random proportional editing? https://ibb.co/fvjwCjf I'd like to have the orange line randomly peaking downwards. In this case, it only made the faces above it random. I'd also appreciate some further tips on (random) edge editing.

The Proportional editing only affects vertices in the circle of influence (Scroll wheel to resize)

The default cube is subdivided and I selected a single vertex. Then with the Proportional editing set to random Grabbed and translated on the X axis. Note which vertices are affected.

Then I selected more vertices and repeated the process. Note which vertices are affected now.

I also tried it on a Mesh Circle and the same results occured. I did have to make the circle of influence very very big to affect all the unselected vertices in the circle.

In the video you cannot see the circle of influence, I am guessing it is so big it is off the edge of his viewport.


Blender hangs at command window I cant start Blender right now. I used --debug to get some info about that. Unfortunately I only can see this:

Switching to fully guarded memory allocator.
Blender 2.79 (sub 0)
Build: Thu 03/22/2018 09:59 AM Windows
argv[0] = blender
argv[1] = --debug

My OS is Windows 10 and I have a Nvidia 780. Blender is at the most recent version. I tried also reinstalling and deleting the user preferences in Roaming. Right now I can't think about anything else to provide further information. Does anyone have a hint what I could do?

After starting up Linux I wanted there to mount the windows partitions. NTFS filesystem couldnt be mounted though since Windows was not shut down properly (which is not true). I cleaned the state and mounted them, worked with blender, then restated into windows. Blender then worked again. Not sure now if that was coincidence or if this was the result of sth else I did... but perhaps it's worth a try if someone runs into this problem.