Why does applying an objects matrix to a location fail? I am trying to get global coordinates of a point for an addon I'm creating.

If an object has no transformations, the coordinates I'm grabbing work, and also if there is either a scale or a translation. Yet, any rotation transformation produces incorrect results:

Open Blender, File > Load factory settings
Hit Numpad 1 to go to front ortho view
Hit R, Z, 45 to rotate the default cube 45 degrees around z axis
Hit Tab to toggle edit mode and select the upper leftmost vert in this view
Hit Tab, Tab to toggle edit mode off and on again
Select scripting layout
Run this code in Python Console:

ob = bpy.context.object

for point in ob.data.vertices:
    if point.select:
        print(point.co * ob.matrix_world)

Press N in 3D View panel to bring up point coords, switch to Global and compare coords from python console, these are different:

From python console: Vector (0.0000, 1.4142, 1.0000)
From N panel: X: -1.41421, Y: -0.0000004, Z: 1.00000

So, what am I doing wrong? Here's my code:

class GrabPointFromActive( bpy.types.Operator ):
    bl_idname = "mct.grabpointfromactive" # Check the blender precedent here for naming
    bl_label = "Grab From Active Point"
    bl_description = "Grabs coordinates from selected vertex in edit mode"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        addonData = bpy.context.scene.mct_data
        prims = bpy.context.scene.mct_data.primList
        ob = bpy.context.object

        # fix later, only allow execution when a single vert is selected, otherwise warn
        # fix later, check if this is a mesh first before toggling, we need this so most recent active selection is used
        bpy.ops.object.editmode_toggle()
        bpy.ops.object.editmode_toggle()
        for vert in ob.data.vertices:
            if vert.select:
                prims[addonData.activeListItemIndex].point = vert.co * ob.matrix_world

        return {'FINISHED'}

When applying an objects transformation matrix to a vertex, you need to multiply:

Matrix * Vector

However your example does:

Vector * Matrix

This behavior matches numpy and other math libraries.


How to apply transforms without changing the origin? My object is far away from 0,0,0 point, it has to. The origin point also has to be in the center of my geometry. Every time I click on apply my origin goes to back to 0,0,0.
How to apply my location without changing the origin?
3D Cursor and Transform pivot point both don't work.

Using Ctrl+A Apply > Location to Deltas.
will alter the delta locations such that the origin remains unchanged whilst the objects location is zeroed.
Note Unable to test if this works as expected when exported to Unity


Painting with predefined materials in 2.79? Now with 2.79 released and 2.8 on the way, have any new features been added to allow for creating a material in cycles, and then "painting" it over the pre-existing material on an object? Material overlays are easily achieved but not actually painting it on to the object wherever you like. Is there a way to define where a material is overlayed on an object or to directly paint it on? Basically, can i achieve this with "painting" in blender (i.e. the base material being the yellow paint and the rust being painted on into the crevices and such):

Here I am using a black image and painting white into it using a brush mask set to rake and random, and that is plugged into the mix factor of the mix shader between a Principled shader and a diffuse shader.

The diffuse is a brown to represent the rust and the principled is only slightly metallic for the outside paint/metal layer. The bump node helps sell the difference between the two shaders, and if you go about painting a color image for the rust and a color for the paint, you can get some really nice effects.

I made some brushes that are on Blendswap for this actual process. To simplify it, you can use the same process but run the texture into a color mix node, using the mix factor to determine the difference between the two color inputs (images) and plug that into a single shader, still using a bump node into the vector of the shader.


Cannot find the 'Manipulate Object Centers Only' button. Is this an addon? Cannot find the 'Manipulate Object Centers Only' button refered to in the book 'Blender Foundations'. Is this an add-on?

I would post a comment to the above answer, but apparently I need 50 reputation for that so I have to add an answer instead.

The book the OP is referring to is "Blender Foundations: The Essential Guide To Learning Blender 2.6", by Roland Hess. I have this book myself and the text where the author refers to the Manipulate Object Centers Only is in a tutorial where we are trying to box model a simple chair. The effect he wants to achieve is to splay the 4 chair legs out from each other by selecting their bottom faces and using the scale tool:

  However, if you just select the bottom faces of the legs and hit the S
  key, they will move apart as you scale them up, but they will also
  grow in size. We'll try a new pivot style to solve the problem. Beside
  the pivot style menu on the 3D view header is a button called
  Manipulate Object Centers Only. This magical button causes
  transformations to only affect object centers, not their component
  structures. The effect works both in Object mode and Edit mode. In
  this case, selecting the four faces on the bottoms of the legs and
  enabling Manipulate Object Centers Only will move the faces away from
  one another when scaling without actually changing their size.

Note how he mentions the setting works in both Object mode and Edit mode, this seems to imply that we were meant to switch out of Edit mode to Object mode, switch the setting, the come back to Edit mode but he doesn't implicitly tell us this in the book. Having said this,  and after trying it myself this setting doesn't appear to do anything in Edit mode as the above users mention.


How to add gradient map to Blender area light? I would like to have area lights with linear or circular gradient, so that the light is more realistic without sharp edges and constant brightness. But as soon as add a mapping node it becomes completely dark (as the bottom image). Is there any way I can add a gradient map on area light?
(I know it can be done with geometry light with emission shader, or a HDR map can be added to an area light - but I am looking for a solution where I can control area light with procedural shader/without an image)


Rigging mesh with vertex weights: different weights have the same influence I'm trying to rig a simple plane of few vertices with one bone, such that different vertices would deform with a different amount when moving the bone. I assigned different weights to the vertices, but all vertices are influenced as if they have full weight, and I don't know what I'm doing wrong.

Here is what I did:

1. Create a simple plane:

(I applied scale and rotation, if that's important)

2. Create armature with one bone:

3. Parent bone to plane with empty vertex groups:

(In object mode: select plane, shift select bone, Ctrl+P, With Empty Groups)

4. Paint plane vertices with different weights:

(select bone in Pose Mode, select plane in Paint Mode, and paint)

5. Rotate bone around Y axis (in Paint Mode or in Pose Mode - same result):

and all vertices are rotated exactly the same amount. I also tried assigning weights directly to each vertex:

any weight of 0.0001 or above influence like weight 1.0, and below that has no influence at all. Here, for example, I assigned 0.00009 to the two leftmost vertices:

Do I miss something in the process?

Even with a weight of 0.001, the vertice will be part of the group and the bone will displace it 100%. I think 0.001 must be the lowest value you can enter. But if you create a second bone, parent it, then give a weight of 0.002 to some of the vertices (vs 0.001 for the same vertices in the previous vertex group), the influence of this second bone on these vertices will be twice the influence of the first bone.


Add UV Mapped texture coordinates to OBJ file? I'm working on an OBJ parser for a game engine I am creating. I have the model being loaded correctly and all, but I've never really used blender before and I'm not entirely sure how to get my UV Mapped texture into the OBJ file. Inside the OBJ file, lines typically start with "v", "vn", and "f" for me, which seems normal. However, I saw someone who had lines starting with "g" that indicated texture coordinates in his OBJ file. Does anyone know how I could do this? I already have the texture mapped and everything, I just can't understand how I am supposed to get it into the exported OBJ file.

If you want texture coords when exporting to .obj, make sure you have Include UVs ticked in the exporter options (it should be checked by default). Also, make sure that you actually unwrapped the model, check UV Maps under Data in the Properties panel to make sure that a UV map is assigned to your object.

If you should open an obj file you should see something like

vt 0.000100 0.000100
vt 0.999900 0.000100
...
f 1/1 2/2 4/3 3/4

where the lines with vt are texture coordinates and the line(s) with f specify faces that are a part of the UV map. Read more on the obj format here. That being said, it is an open format and people might roll their own custom exporters and importers and name these identifiers differently (not recommended). I know that g is used by default for groups so you might be looking in the wrong place, also if you have a texture with the model make sure their is a .mtl file along with the obj to ensure that everything works correctly.


Is there a way to control master volume in vse? I know that you can change the volume of selected sound track but its annoying if you have many of those.Is there a way to change master volume or are there any sound mixer options available?All answers are welcomed :).

There's a setting under scene data properties, here:

I never used that, but I think that even in VSE, some scene setting could be relevant... I just tried and it seems to work...


How to avoid subsurf distortions on cylindrical objects? I made a cylindrical object which transitions to a squarish block. However there is some distortion at the transition:

If I add a loopcut to get a nicer surface there, it gives the cylinder a not-very-round edge:

What are some topological tricks for getting smooth subsurf without interfering with other parts of the model?

Although there are several ways to do this, I would recommend selecting the outlining edges:

And then bevel them with Ctrl+B:


Drive/animate smoke size according to particle lifetime? Is it possible to set the size of particles in the smoke simulation settings according to particle lifetime?

E.g. to make particles emit less smoke over time and gradually fade away, rather than suddenly disappearing.

Is this possible?

It is possible to change the size of a particle over its lifetime refer to the image and set parameters as described.
 1. use a blend texture
 2. set its mapping to particle/strand
 3. drive the size parameter in the texture properties

I used the Blender Internal Engine to set up the texture then switched to Cycles to render.


How to understand how many dB are at different points on the track? How to understand how many dB Decibels are at different points on the track?
I need to understand how much I need to lower the thunder (Decibel) to fit into the standard from -10 to -14 dB.

I start using this addon - VSE Quick Functions Addon. it has VU meter and This solved my problem in order to adjust the volume to the values I needed and see the volume in dB.
Thank you, @tintwotin, for the advice to use this addon.


How to display number of users in object properties panel? 2.91 After updating to 2.91, I can no longer see a user number in object properties, when using Duplicate Linked (Alt+D). Is it possible to make this feature work, like in previous versions?
Here's how my object data panel looks like (the number of users next to object name is now missing):

When duplicating with AltD the object data is linked.
So you can see it in the "object data properties" part:


How to add a thick resin "clear coat" over a material? I am making a wood material for a bar-style countertop and I want to add a ~100% transparent resin-like layer over it. I am modeling this object from a real-life reference and you can clearly see that the reflections, scratches, smudges, and glossiness are present about 1/4" above the wooden itself. This thick clear coat adds depth to the countertop and makes it look very glossy while the wood underneath isn't glossy at all. The only thing I can think of is adding an actual object over the surface and using a glossy and transparent shader, but this is finicky and inconsistent for more complex modeling. Is there any easy way to do this? Thanks.

You can use the principled shader in 2.79.

Just use the clearcoat slider, even if something is plugged into the normal socket it still does NOT affect it. (There is another socket for clearcoat normal to add bumps (realism)).

This is it turned off:

This is it turned on:

I cranked the normal map up way to high, I was just using it to make it more clear.


Remove object from specific group programmatically Somehow I have managed to add objects to a group called "myGroup" without actually wanting to do that. I now want to remove all those objects from that group, which at the same time were already assigned to another group. I figured the best way would be to do that in python. I tried the following:

allObjects = bpy.data.objects;
for obj in allObjects:
    count = 0;
    found = 0;
    for gr in obj.users_group:
        count = count + 1;
        if gr.name == 'myGroup'
            found = 1;
    if count > 1 and found == 1
        for object in bpy.context.visible_objects:
            object.select = False;
        obj.select = True;
        REMOVE obj from group myGroup!!!!

I do not know how to put the last line into valid python code. I know that there is a function could "bpy.ops.object.group_remove()", but I do not understand which group the object is deleted from when I call this function.
Any help? :)

If you don't mind not using python, you can just select the objects and press ⎈ Ctrl⎇ AltG, then select the group you want to remove them from:

If you still want to use python, then you want a group operator, rather than a object operator:

bpy.ops.group.objects_remove(group="myGroup")

This will remove the selected objects from the group "myGroup".


Sequenced Bone Movement with IK yet another IK question....
I'm working on an animation project where I have an accordion wall segment that needs to extend outwards, one fold at a time. When I create the the IK bone setup and pull the outermost bone, all of the bones move at once which is not the desired affect. I have played around with animating stiffness values and IK constraints, but nothing is yielding the results I'm looking for.

Again, the desired affect is that when the accordion unfolds, only one segment will completely unfold at a time, and only when the extended accordion folds are all planar will it pull out another segment. (Bottom image, not top)

Thank you in advance!

Thank you AJCDFIN for the awesome help, I though I could take it from where you left it but I cannot.

Here is my solution (Some description): I have 4 horizontal bones(small red one IK_Target), they all have a 'Limit Distance' constraint to each other. Moving IK_TRGT causes the bones to come out one at a time - that gets the action you require. The rest is just 2 sets of bones parented to each other(yellow to purple), yellow bones have IK targeting the purple bone in front of it which is parented to its corresponding larger horizontal bone. I have them all stacked on top each other when built, that can be fixed last to get some offset.Forgot to mention if this rig is going to traverse the Scene it will need a ParentBone to avoid unwanted transforms.

DISCLAIMER: This file created in v2.76 - If using 2.7x it will open fine,, If using 2.8x 'APPEND' the objects from the 'Object' folder.


Undo/redo functionality I use lock to cursor, but sometimes camera go crazy and i cannot see anything. So this happened and i dunno how to see. Pressed ctrl+z a lot of times, did some manipulations with camera and object in outliner and viewport windows to see mesh. Then finally see my mesh, but it was too far from what i made(pressed undo a lot, ha), close to very beginning. And because of some thing a made in outliner and in viewport to see mesh again, my redo/undo history rewrited and i cannot go redo to point when i've got camera issue. So, is there any way to recover? Autosave is too far too

Hold down shift + s and select cursor to center. Then again shift + s and select selected to cursor. Your object will now got to the center. reference pics below:


Why is my image not showing up after UV unwrapping? I'm following a YouTube tutorial on UV unwrapping the image of a mouth onto a character ( https://www.youtube.com/watch?v=5NlvgMYZgaY ), and although I've followed all the steps, several times, to a T, I cannot get the mouth image to show up on the character. I've included the blend file for your convenience. Could you please help me understand why this is not working?

Steps that I took:

Mark the seam.
Unwrap the faces.
Open the png mouth image.
Create a new material that is a copy of the material used for the body.
Add an image texture to that material.
Assign the new material.
When I use the file that he provides to go along with, the results are as expected. But when I do the same thing to my file, I do not get the same results.

Please, if you could take some time to help me I would very much appreciate it. Thank you.

Here is a copy of my file: https://drive.google.com/open?id=1JxxWnnUfpxqWwv0Fo_5trLo4L7luAJq-

A copy of his file:

The png file used for unwrapping:

Have you possibly tried applying the texture to the material AND texture tab? How about with the same texture? One way to make sure you have the right texture is to, instead of reopening a file, just select the same file by clicking the arrow next to it. Hope this helps, sorry for not being a teensy bit more specific.


Blenrig 5 Deform Cage isn't symmetrical I'm new to rigging. I saw the videos for Blenrig on the cloud so I downloaded it and watched all the videos. Everything seems ok except for the deform cage, which is not symmetrical. I wouldn't have too much of a problem with it except for the fact that the x-axis mirroring seems to be permanent, so when I adjust a misplaced vertex on one side it screws up the properly placed vertex on the other side, so that I can never get a symmetrical

Is there any way to either turn off the x-axis mirroring, fix it, then turn it back on? Or a way to make sure it is symmetrical in the first place? Using Blenrig 5 and Blender 2.78c.

By the time I posted this question I'd already been fighting this problem for a day, but not being one to just sit around waiting for an answer, I kept looking around and trying things.

This has something to do with the scaling. My original model was very large -more than 20x the size of the default Blenrig armature. When I scaled the model down to a size pretty close to the default rig size it all came out fine.

Since extensive searches on multiple boards yielded zero answers I figured I'd answer my own question here in case anyone else has the problem. If anyone comes up with any details about the scaling issue or a way to bypass that problem please let us know!


How to add a checkbox to a pie menu? I have a simple pie menu and I have it setup to allow the user to change a custom property value. But I don't want the user to have to choose a value, I want it to be an ON/OFF. So I want to make a checkbox and have it shown in the pie menu, then when they select that, it will change the custom property value to what I need it to be. I have tried going through this but its pretty confusing for me. Could someone show me how to do this?

My current code:

import bpy
from bpy.types import Menu

from bpy.props import BoolProperty

# spawn an edit mode selection pie (run while object is in edit mode to get a valid output)

iSight_Camera_Indicator = BoolProperty(
    name = "iSight Camera Indicator Toggle",
    description = "Turns the iSight Camera Indicator ON and OFF",
    default = False
)

class VIEW3D_PIE_template(Menu):
    # label is displayed at the center of the pie menu.
    bl_label = "Macbook_Controller"
    bl_idname = "Object Mode.mc_pie_menu"

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

        pie = layout.menu_pie()

        """
        pie.prop(context.object, '["00_iSight Camera Indicator"]', text="iSight Camera Indicator Toggle")
        pie.prop(context.object, '["01_Dirt and Dust"]', text="Dirt and Dust Toggle")
        pie.prop(context.object, '["03_Menubar and Dock"]', text="Menubar and Dock Toggle")
        pie.prop(context.object, '["04_Screen Rotation"]', text="Screen Rotation")
        """

        pie.prop(Macbook_Controller, "iSight_Camera_Indicator", text="iSight Camera Indicator Toggle")

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

    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name = "Object Mode")
    kmi = km.keymap_items.new("wm.call_menu_pie", "E", "PRESS").properties.name = "Object Mode.mc_pie_menu"

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

if __name__ == "__main__":
    register()

    #bpy.ops.wm.call_menu_pie(name="VIEW3D_PIE_template")

The boolProperty needs to be registered to a particular type.  In the example below I've associated it with a camera (data) type.

bpy.types.Camera.xxx = BoolProperty()

To assign a property to an Object type would use

bpy.types.Object.xxxx = BoolProperty()

Then all objects in the blend file will have the xxxx property.  Use bpy.types.Scene for scenes.. etc.

I used code from https://blender.stackexchange.com/a/40793/15543 for the keymap, it's mapped to Alt-E

Restrict bl_idnames to lowercase, no spaces, only one period . for example "object_mode.xxxx_yyyy" not "Object Mode.xxxx_yyyy"

import bpy
from bpy.types import Menu

from bpy.props import BoolProperty

class VIEW3D_PIE_template(Menu):
    # label is displayed at the center of the pie menu.
    bl_label = "Macbook_Controller"
    bl_idname = "object_mode.mc_pie_menu"

    def draw(self, context):
        layout = self.layout
        # get the camera, use a poll method to check no cam
        scene = context.scene
        camera = scene.camera.data
        pie = layout.menu_pie()

        pie.prop(camera, "iSight_Camera_Indicator", text="iSight Camera Indicator Toggle")

def register():
    # register the property to a camera (data) type
    bpy.types.Camera.iSight_Camera_Indicator = BoolProperty(
                    name = "iSight Camera Indicator Toggle",
                    description = "Turns the iSight Camera Indicator ON and OFF",
                    default = False
                                            )
    bpy.utils.register_class(VIEW3D_PIE_template)

    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name = "Window",space_type='EMPTY', region_type='WINDOW')
    kmi = km.keymap_items.new("wm.call_menu_pie", type = "E", alt=True, value = "PRESS")
    kmi.properties.name = "object_mode.mc_pie_menu"

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

if __name__ == "__main__":
    register()
    bpy.ops.wm.call_menu_pie(name="object_mode.mc_pie_menu")


How scale mesh object with hair? I sculpt a realistic human character and made the hair system for the size of the sculpture.
Now need append he in my animation, all objects obey the scale of the real world (doors, windows, tables ...) So I need to resize my character to 1.75m in height in my scene, but I have a problem, when i resize the character the hair is messed up.

Help me please?

If your character has an armature, resize the armature instead of resizing the mesh. The hair length should be correctly affected by the resize.
If you don't use an armature : Parent your character to an Empty, then resize the Empty.


Rig not aligned with the model I created a character model and fully rigged it. I used the mirror modifier during modeling and the rig is (when in edit mode) exactly the same on both left and right. However, when I go to pose mode, the left hand is still rigged correctly, but the in the right hand, the rigs of the fingers are not aligned with the fingers anymore (see the image). Moving these bones cause the fingers to deform.

How can I fix this without having to re-rig the entire model?

[SOLVED] I fixed it. How it happened is unclear to me, but changes in Edit mode of the rig did not affect the model.


Create a custom operator for renaming input socket in compositor i'm working on a little script to get the right file output name automatically in the compositor, so far so good, my little script works, but i can't turn it into a custom operator to make it executable from a ui panel.
Here's what i've got so far (thanks to several people in here :) )

import bpy
import os

# Get absolute render path:
filepath = bpy.context.scene.render.filepath
absolutepath = bpy.path.abspath(filepath)

# Split it
path = os.path.normpath(absolutepath)
parts = path.split(os.sep)

parentpath = os.sep.join(parts[:-2])

# Add rename operator
def rename (context):
    # set the path for all file output nodes:
    for scene in bpy.data.scenes:
        for node in scene.node_tree.nodes:

            if node.type == 'OUTPUT_FILE':
                #gets the link from the input
                link0 = node.inputs[0].links[0]

                #returns the name of the socket the link is from
                socket_name = link0.from_socket.name

                node.base_path = parentpath
                node.label = socket_name
                node.file_slots[0].path = "\_" + "nom" + "_" + socket_name + "\_" + "nom" + "_" +  socket_name + "_"

    class RenameFO(bpy.types.Operator):
        """Tooltip"""
    bl_idname = "Rename.F_O"
    bl_label = "Rename File Outputs"

    def execute(self, context):
            rename(context)
            return {'FINISHED'}

# Create custom panel
class FOM(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "File Output Manager"
    bl_idname = "File_output_manager"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "render"

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

        row = layout.row()
        row.operator("Rename.F_O" , text = "Rename")

def register():
    bpy.utils.register_class(RenameFO)
    bpy.utils.register_class(FOM)

def unregister():
    bpy.utils.unregister_class(RenameFO)
    bpy.utils.unregister_class(FOM)

    register()

Does someone know what i'm doing wrong ?
Thank you very much !

In case you haven't worked it out by now:

import bpy
import os
filepath=bpy.context.scene.render.filepath#Get absolute render path
absolutepath=bpy.path.abspath(filepath)
path=os.path.normpath(absolutepath)#Split it
parts=path.split(os.sep)
parentpath=os.sep.join(parts[:-2])
def rename(context):#Set the path for all file output nodes
    for scene in bpy.data.scenes:
        if scene.node_tree:
            for node in scene.node_tree.nodes:
                if node.type=='OUTPUT_FILE':
                    link0=node.inputs[0].links[0]#Gets the link from the input
                    socket_name=link0.from_socket.name#Returns the name of the socket the link is from
                    node.base_path=parentpath
                    node.label=socket_name
                    node.file_slots[0].path="\_"+"nom"+"_"+socket_name+"\_"+"nom"+"_"+socket_name+"_"
class FILE_OT_rename_file_outputs(bpy.types.Operator):
    """Renames file outputs"""
    bl_idname="render.rename_file_outputs"
    bl_label="Rename File Outputs"
    def execute(self,context):
        rename(context)
        return {'FINISHED'}
class FILE_PT_rename_file_outputs(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label="File Output Manager"
    bl_space_type='PROPERTIES'
    bl_region_type='WINDOW'
    bl_context="render"
    def draw(self,context):
        layout=self.layout
        row=layout.row()
        row.operator("render.rename_file_outputs",text="Rename")
classes=[FILE_OT_rename_file_outputs,FILE_PT_rename_file_outputs]
def register():
    for c in classes:bpy.utils.register_class(c)
def unregister():
    for c in classes:bpy.utils.unregister_class(c)
if __name__=="__main__":register()


Can't Extrude Multiple Faces I'm trying to extrude multiple faces of a cube at the same time but it seems to be locked to the z-axis. I'm relatively new to Blender and I've spent all evening trying to figure this out - it's driving me nuts. Even more annoying is I'm sure I've done this before with no problem, but now whenever I try to extend multiple faces it's locked to the z-axis. I even reset the factory defaults and it's still doing it. Please can someone tell me what have I overlooked?

Extrude tool is set to Region by default. Just set it to Extrude Individual:


How can I thicken mesh hair? Is there anyway of making some hair I modelled thicker because what I currently have is too thin and I want it to be a bit thicker.

Since you are modeling the hair and going for an anime style. The Solidify modifier should do this quite well. It might seem subtle but you will get the depth you want.

Flat mesh hair.

Mesh hair with solidify modifier.
After using the modifier, you can apply it and tweak the mesh even further to get better results. Using the modifier is better than just extruding and tweaking as it will do this evenly for your entire mesh.
You can get some unique styles as well if you smooth the hair with a subsurf modifier and play with the settings.


FBX file not importing/invisible I'm trying to import a FBX file from Navisworks into Blender, but whenever I do I can't see anything. I can see something in the menu to the right under Scene Collection, but all I get are these lines. I'm new to Blender, if you couldn't tell.

Am I importing the fbx file wrong, or exporting it from Navisworks incorrectly? Is it maybe a problem in Navisworks? I have Blender version 2.81, and Navisworks Manage 2020.

If your scene was empty before the import, it looks like stuff is importing correctly as there are objects in your outliner. My guess is that the scale during import is off. The objects might be there, they're just scaled too big or too small to see. Try using the . key on the numberpad, which centers the view on the selected object.

You can also try re-importing, but in the import options start by changing the scale to 0.1 and if that doesn't work, try a larger number like 10.

You can also find some more info that might help here: how to scale imported .obj and .fbx


how to specify active window for a series of screen captures in python I am trying to write a script that does various things to a mesh object from within a loop, and updates the 3D window each time, based on this script. This would be for explanatory and instructive purposes.

I would like to trigger a screen capture (to PNG) of only the 3D window each time as well.

I'm experimenting with this:

bpy.ops.screen.screenshot(filepath=path, full=False)

which I found in the documentation.

I have to include ...blah.png in the path name in order to get a PNG, or else it writes a .blend file each time. That's OK I guess.

But with full=False so far I don't seem to have good control getting my mouse-hover to tell the already-running-script which window I want to be active in order for the script to capture it.

Q: Is there some way I can just explicitly specify in the script which window should be captured?

(I made this GIF by hand from 34 manual screen shots, I'd like to automate this kind of thing)

To clear up some misunderstandings:
There are no get and set methods to modify the context, and mostly not for other purposes either. It's simply not the Python way of coding. ob.attr is your getter, and ob.attr = 123 the setter. Magic methods can intercept get and set operations to customize object behavior, but that's advanced stuff.
There's also a programmatic way to get and set any attribute, but you only ever need it if the attribute name is dynamic or not always present: hasattr(ob, "attr"), getattr(ob, "attr"), setattr(ob, "attr", 123).
All immediate members of bpy.context are read-only. You can't modify anything here. You can do something like bpy.context.window.screen = bpy.data.screens["Default"] however. screen is not a direct context attribute and editable. On the other hand, bpy.context.screen is read-only. bpy.context.window_manager.windows[#].screen is editable again.
To run an operator in a custom context means, that you construct a Python dictionary with context member names as keys, and datablock references as values. You do not modify the actual context:
ob = bpy.context.scene.object_bases["Cube"]
ctx = {"selected_bases": [ob]} # dict to store custom context
bpy.ops.object.delete(ctx) # run operator with custom context

Above code deletes the object Cube, even if completely different objects (or rather object bases) are selected without changing the selection temporarily.
It also prints a bunch of PyContext warnings to console, because the delete operator expects a couple more context members. We did not provide them in above code, we only set selected_bases. A nice, although limited trick is to run an operator with an empty context to figure out (some of the) context members:
bpy.ops.object.delete({})

It's sometimes easier to derive the context from the actual context, and only modify the necessary dictionary keys:
ctx = bpy.context.copy()
ctx["selected_bases"] = [bpy.context.scene.object_bases["Cube"]]
bpy.ops.object.delete(ctx)

Above code should not cause any PyContext warnings.
We can apply this to the screenshot operator now:
context = bpy.context
for area in context.screen.areas:
    if area.type == 'VIEW_3D':
        ctx = {
            "window": context.window, # current window, could also copy context
            "area": area, # our 3D View (the first found only actually)
            "region": None # just to suppress PyContext warning, doesn't seem to have any effect
        }
        bpy.ops.screen.screenshot(ctx, filepath="...", full=False)
        break # limit to first 3D View (optional)

Don't ever rely on the area index, it's not a stable property.

If you want an screenshot of a certain region (exactly as seen on screen), you can do the following:
import bpy
import bgl

context = bpy.context

def screenshot_region(region):
    x = region.x
    y = region.y
    width = region.width
    height = region.height

    buf = bgl.Buffer(bgl.GL_FLOAT, width * height * 4)
    bgl.glReadPixels(x, y, width, height, bgl.GL_RGBA, bgl.GL_FLOAT, buf)
    img = bpy.data.images.new("Screenshot", width, height, alpha=True)
    img.pixels[:] = buf

for area in context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                screenshot_region(region)
                break

It creates an image datablock with the screenshot. You may wanna save it using Image.save_as(), which will use the scene's render settings. Or use struct.pack() to create some sort of bitmap file directly.
If you want to take a series of screenshots, you could do the following:
                scene = context.scene
                frame_orig = scene.frame_current

                for frame in range(scene.frame_start, scene.frame_end + 1):
                    scene.frame_set(frame)
                    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
                    screenshot_region(region)

                scene.frame_set(frame_orig)

Also see Can I redraw during the script?.
Here's a more sophisticated example:
import bpy
import bgl

context = bpy.context
scene = context.scene

def screenshot_region(region):
    x = region.x
    y = region.y
    width = region.width
    height = region.height

    view_settings(area.spaces.active)
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

    buf = bgl.Buffer(bgl.GL_FLOAT, width * height * 4)
    bgl.glReadPixels(x, y, width, height, bgl.GL_RGBA, bgl.GL_FLOAT, buf)
    img = bpy.data.images.new("Screenshot", width, height, alpha=True)
    img.pixels[:] = buf

    view_settings(area.spaces.active, True)

def view_settings(view3d, revert=False):
    pref = context.user_preferences.view
    if not revert:
        view_settings.ob_info = pref.show_object_info
        view_settings.view_name = pref.show_view_name
        view_settings.mini_axis = pref.show_mini_axis
        #view_settings.only_render = view3d.show_only_render
        view_settings.manipulator = view3d.show_manipulator

        pref.show_object_info = False
        pref.show_view_name = False
        pref.show_mini_axis = False
        #view3d.show_only_render = False
        view3d.show_manipulator = False
    else:
        pref.show_object_info = view_settings.ob_info
        pref.show_view_name = view_settings.view_name
        pref.show_mini_axis = view_settings.mini_axis
        #view3d.show_only_render = view_settings.only_render
        view3d.show_manipulator = view_settings.manipulator

for area in context.screen.areas:
    if area.type == 'VIEW_3D':
        for region in area.regions:
            if region.type == 'WINDOW':
                for frame in range(scene.frame_start, scene.frame_end + 1):
                    scene.frame_set(frame)
                    screenshot_region(region)
                break

Related reads:

bpy.ops - Keyword and positional arguments / Context Overriding
Blender context
Using Operators / Poll-fail
poll() failed, context incorrect? - Example: bpy.ops.view3d.background_image_add()


radial gradient not working as expected So I was trying to apply a "radial" gradient on an object's front but for some reason it seems like the gradient got "stretched" and the gradient spanned across the objects and not just on a single object.

If you look at the screenshot, the left circle and the 2 small circles are both using the same material. The left one kinda looks about the same as what I had on the ColorRamp. But as you can see on the 2 small ones, the gradient spanned across the objects which isn't what I really wanted. The material is on the bottom

you did mirror your object(circle) on the x-Axis.
Therefore you moved the vertices on the x-Axis while your origin of the object is still in the world center.
so you get this:

you will get this, if you move slightly the x slider to the right (hold Shift while dragging)

to "solve" your problem, you can:

apply the mirror modifier

select the small circle and press tab

separate by loose parts

tab -> object mode

select each circle and set origin -> to geometry

set the x value in the shader back to 0

and you get:


color issue when save my render When I render Image in Blender 2.8, the final result in the viewport are really beautiful with good color, contrast, etc...
When I save the render in JPEG, TIFF, PNG, etc... the result are not the same, less contrast, less color, etc...
How can I save my images with the same result if possible?
Screenshot render in Blender:

The saved image:

Probable cause of your problem is your display ICC color profile or using wide-gamut monitor. You can check what profile you are using in your OS settings (I won't go into specifics because it's system dependant).
Blender does not respect your monitor profile, nor profiles embedded in image files. When you prepare image in Blender viewport you look at it in your display color space but Blender saves it with regular sRGB. It also happens when you use wide-gamut monitor which can display more colors than sRGB color space has. For example (not factual) 0.8 srgb red might look like 1.0 srgb red on such screen, so when you open it in a program that can actually handle profiles it will look like 0.8 srgb and not Blender's over-saturated red.
If you use wide-gamut monitor with default sRGB profile you may want to at least find the profile delivered by its manufacturer, though propper color calibration is the best.
When you know the path to your ICC/ICM profile, you can embed it into your image so other programs will know that your 0.8 red should be displayed as 1.0 red. You can also convert it to the sRGB space, though you'll loose colors displayable with wide-gamut screen.
You can use other graphical packages to manage color profiles (like Photoshop, probably Krita and Gimp, though I didn't have much luck...), ImageMagick or a Python script with PIL (PNG and JPEG only).
In Python it is fairly easy.
To attach profile:
from PIL import Image, ImageCms
img = Image.open(image_filepath)
display_profile = ImageCms.getOpenProfile(display_profile_path)
img.save(filepath, icc_profile=display_profile.tobytes())

To convert:
img = Image.open(image_filepath)
display_profile = ImageCms.getOpenProfile(display_profile_path)
srgb_profile = ImageCms.getOpenProfile(rgb_profile_path)
ImageCms.profileToProfile(img, display_profile, srgb_profile, inPlace=True)
img.save(filepath, icc_profile=display_profile.tobytes())

If you want Blender to handle it all for convenience sake, use Styriam ICC Image Compressor addon. It can embed/convert profiles in stills and animation frames.


How to make vertices level with a diagonal edge? Here, I'm trying to bring the z coordinates of these points down so that the top panels will be perfectly flat without distorting the shaft.
How do I do this? Scaling down along the normals makes the end of the hilt here thin, and I can't be precise when trying to snap to the edge.

Method 1: Math

Align the 3D cursor with the center of your column. Set your pivot point to 3D cursor. Turn on Snap to Vertex using Active Element. Select the vertices on one half of your column.

Rotate the vertices (in your case about the Y-axis, in my case about the X-axis) to align with the top edge of the square. Be sure to note the amount your vertices rotate by in the bottom left corner. Calculate 1/cos(angle of rotation)

Scale the selected vertices with the axis about which you rotated locked (again Y in your case, X in mine. For you, S to scale, Shift+Y to lock Y axis) by the amount calculated. You can copy paste this amount.

Repeat for the other side, and you should be done.

Method 2: Shrinkwrap Modifier

Select the top edges of the square in the front. Duplicate these edges and separate them from the object.

Enter edit mode on the new object, which I have named 'Target' in my pictures. Extrude these edges along the Y-Axis (in my examples it is the X-Axis) so that they create the shape of your desired panels.

In your original object, create a new vertex group and add the vertices you wish move to this group.

Add a Shrinkwrap modifier to your original object. Set the target to your new object (in my case Target), and select your vertex group. Change the Mode to Project, and check the Z axis and both directions. Apply the modifier, and you should have what you want.


Is AMD's RX 5700 suitable for Blender? I have the following setup:

On the scene I'm able to select GPU Compute as device:

But the issues start when I start the rendering, it seems to be building a new kernel and having this as the last text on screen:

And after that Blender is crashing.
Object does not need to be hard, basic starting box is just enough.
Blender version is 2.83.4 on Windows 10.
"Compiling render kernels"

As far as I know, AMD GPUs take some minutes the first time you gonna render something. Indeed it has to compile kernel every time you open a new instance of blender.


Limiting the amount of frames a mask is active I am following the tutorial

http://www.aryanwisdom.com/action/study/video-editing/blender-tutorial-overlay-a-video-of-a-head-onto-another-video/

I created a mask where an image will be walking through a door. It seems to work but the mask is active beyond the frames that it is used for. I need to keep using key frames to move the mask out of the frame. How do I limit the amount of frames a mask is active. Same for motion tracking as well.

Thanks
Andy

Add a color mix node, on the unconnected socket set the color to black. By animating the factor for the mix you can control the opacity of the mask.


Object looks fine in rendered mode, but appears black in material mode So I'm trying to learn, but I have a really hard time understanding the relation between materials, textures, UV maps and so on. So right now I have the following problem: I'm trying to make a simple red texture be a bit grainy using a noise texture. The node setup can be seen in the screenshots below. It works fine if I view it in rendered mode (I'm using the cycles engine) or export a screenshot, but the object appears completely black in material mode:

So this is probably a very stupid question, but do you mind telling me how I can fix this?
Thanks!

Procedural textures (such as noise) will not render in Material Shading

  From the Manual:

  Shading refers to the way objects are drawn and lit in the 3D View.

  Rendered

  An accurate representation using the selected Render Engine and lit with the visible scene lights.

  Material

  A fast approximation of the applied material. Some effects, such as procedural textures may not be shown.

  Textured

  Shows meshes with an image applied using the mesh’s active UV Map. For Cycles materials, the image is the last one selected in the Node Editor. For other render engine’s, the UV Map’s applied face texture will be shown.

  Solid

  The default drawing mode using solid colored surfaces and simple lighting.

  Wireframe

  Objects appear as a mesh of lines representing the edges of faces and surfaces.

  Bounding Box
  Shows only the rectangular boxes that outlines an object’s size and shape.

When you have a mix node, the color connected used in the bottom socket becomes the one used in the 3D viewport's material shading:


Camera with different properties In this 3d model space multiple camera are placed.

One camera is desired for portrait shot (1200 X 1800 pixels)while other in landscape (1800 X 1200 pixels) shot.

But in blender when one camera setting is changed to the landscape proportion the other automatically changes to landscape (which is not desired).

However there is some workaround that to change the orientation of second camera so that other camera remains undisturbed (but this is annoying to look at).
Is there any proper method to resolve the Orientation Issue.

Afaik, you set the resolution to the "scene render properties", not "camera properties", and it makes sense, eg: if you animate a scene with two cameras, one landscape and the other portrait, and during the animation you switch the camera, how should the animation video be rendered...?

You can use a scene copy, though. Every scene has its own "scene render properties", and you can use Scene 1 render 1200 X 1800  and Scene 2 1800 X 1200. But you'll need to render them separately, I guess.


Use Blender's file browser via python, without a UI panel I am trying to run a script that prompts the user for a desired directory and file name for export. Ideally, this script would be run from the File -> Export menu and pop up a file browser window similar to how the included export scripts function.

The only way I've found to call Blender's file browser is via a file path property for a UI panel (i.e. How to add a "select path" input in a UI addon script?). Is what I'm trying for possible?

Blender comes with a template for this, see:

Text Editor -> Templates -> Python -> File Export

Run the script, it will execute immediately (which is just for testing), but it also adds a menu item to the export menu.


Python : Custom Attribute for Vertices I want to store custom Vector attribute for each vertex (custom vertex positions). I want to get it through numpy as I have millions of vertices:
import bpy
import numpy

active_obj = bpy.context.active_object

active_obj.data.attributes.new(name='myAttribute', type='FLOAT_VECTOR', domain='POINT')

# set MAKES ERROR
test = numpy.empty(len(active_obj.data.vertices) * 3, dtype=numpy.float64)
active_obj.data.vertices.foreach_set('myAttribute', test)

# get MAKES ERROR
test2 = numpy.empty(len(active_obj.data.vertices) * 3, dtype=numpy.float64)
active_obj.data.vertices.foreach_get('myAttribute', test2)

I also found AttributeGroup.
https://docs.blender.org/api/current/bpy.types.AttributeGroup.html#bpy.types.AttributeGroup

Thanks to @scurest for answers in comments. Here is my working code now:
import bpy
import numpy

active_obj = bpy.context.active_object

active_obj.data.attributes.new(name='myAttribute', type='FLOAT_VECTOR', domain='POINT')

# set (you could also use numpy.empty)
test = numpy.zeros(len(active_obj.data.vertices) * 3, dtype=numpy.float32)
active_obj.data.attributes['myAttribute'].data.foreach_set('vector', test)

# get (you could also use numpy.empty)
test2 = numpy.zeros(len(active_obj.data.vertices) * 3, dtype=numpy.float32)
active_obj.data.attributes['myAttribute'].data.foreach_get('vector', test2)

Tested in Blender 2.92


Changes in edit mode not showing up in object mode long time lurker here.

I've been trying to create a character mesh, and it looks fine in edit mode.  I can edit, make changes, and save with no problems.  However, in Object mode it appears as a rectangular prism.

Under the properties Window > Object > Display > Maximum Draw Type dropdown menu make sure it isn't in Bounds mode


How to animate a metal backbone? Hello i've made a cyborg (a human body with metallic parts) and i have alot of difficulties with the rigging (the metallic parts deforms when i dont want them to) and especially the backbone! there are several metallic vertebras attached to the back of the human, i made one vertebra and made an array modifier with a curve modifier
How can i avoid any deformation? Is it the curve that i need to parent to the rig?

Ok, this is what you could try, I hope it fits with your workflow, or at least inspires you to find a better way:

put the body in rest pose
apply the vertebras modifier (array+curve)
separate vertebras mesh into separate vertebras objects
then, create a vertex groups (1 vertex each) on the body back skin, one for each vertebra, which will get "attached" to that vertex later.
then I would create a "child of" constraint for each vertebra, with the right vertex group as "target"

eg: if this is your rigged body (here posed)

select the "body" and create (eg) two vertex group, one "skin" vertex each:

and

then "attach" each vertebra (here is a sphere) to its vertex group using the "child of" constraint (after adding the constraint, you may need to reposition the "vertebra" where it should be, if it goes elsewhere):

then, when you pose the rig, the body follows the rig, and the vertebras follow the body, without deforming.

here is my example .blend:

Note: parenting is not the same, will not work well, use this kind of constraint.

edit

after understanding better the rig/model pose, I expand to add details of what I intended...

preface:

I reverted the rig to the "rest position"
you created an "array" of 14 vertebras but not using the array modifier, instead you parented one base vertebra to a curve and used the "frame duplication" feature of such setup, setting the "path animation" frames of the curve to 14.

since what I intended to do above needs 14 real vertebras, not duplicated ones, after setting the mesh "duplication" frames end also to 14 (it was 99, default probably), I used the "make duplicates real" comand, and removed the "base vertebra" parent to the curve.

and

obtaining 14 real vertebras, with no duplication

then I've hidden all vertebras but the first 2, to keep the example simple to visualize (the whole model is really complex)
after that, I went in edit mode of the body mesh, and created two separate vertex groups, 1 vertex each, each to be the "hook" for a single vertebra.

then, I added to each vertebra the constraint "child of", targeted to each vertex group, and placed them where they should be in rest pose

in solid mode

from the side

now, going back to posed mode, each vertebra sticks to and follows its vertex group, without deforming, but you may need to adjust something to make them move as you desire: the model spine moves quite a lot, and that move vertebreas also... maybe using vertex groups of more than 1 vertex blends the vertebra movement better ... I just tried to keep it simple.

here below you find the updated model with the 2 example vertebras seen in the screenshots above...


Can't remove an unselectable face I am making my microphone in Blender I ran into a little problem.
I can't seem to remove that face, because I'm unable to select it.
Please , any suggestions?

The reason you cant remove that face individually is because it's part of another face. Your object has at least one concave n-gon (a face with more than 4 sides where one of the sides comes back towards the center of the face) and that is what is causing you your problem. All the faces of an object are converted into triangles before they can be displayed, and with the faces on your object it appears the triangulation process causes a face to go outside the boundary of the n-gon. You can better visualize what I mean if you select the face (the one shown in the bottom screenshot) and press Ctrl T to convert it to triangles. You will then see one of the triangles causing the issue.

The best way to solve the issue is not to delete the face, but instead help blender out by giving it smaller, convex faces to work with. I can't see your entire mesh in the screenshots, but you should be able to select one of the vertices near where the issue is, then select another vertex somewhere on another side of the face either below or to the right. If you press J then it will connect those two vertices into an edge and split the large face into two smaller ones that should be easier for blender to triangulate.

In general it's best to avoid faces with more than 4 sides. The only place n-gons are usually ok is when they are perfectly flat as well as convex (think classic pentagon or similar). If you can, it would be best to convert you mesh to being made out of 4 sided faces only. It will be easier for blender to display without any glitches, it will save you headaches down the road if you have to work with this object again, and it will also be good practice to be able to make any object with good geometry.


Python script to print tooltip value when mouse is over a property I want to get the tooltip value of a property when the mouse is over it (after pressing a shortcut), like the X location of an object or another value that can be animated in the scene.

In specific, I need the full data path of a property to automate the creation of a specific driver configuration.

I've tried to get the information from the right-click menu or the tooltip, but it doesn't seem to be accessible with python. For instance the path marked in green.

For recent Blender builds (daily builds), you can do this using shortcuts.

See: https://www.blender.org/manual/interface/buttons_and_controls.html#common-shortcuts

Ctrl-Shift-C - copy the data-path for this property(also available from the right-click menu).Useful when writing drivers or scripts.
Ctrl-Alt-Shift-C - copy the full data-path for this data-block and property.

Warning: This is typically bad practice when scripting, in most cases its best to access values based on bpy.context, accessing via string lookups in bpy.data is error prone since the user may rename objects.


Where is fluid bake completion time reported? Where does Blender report on fluid simulation bake completion time?

I don't know of any bake times being displayed.

To work out the bake time of a simulation that you have already baked, look in the cache folder and compare the earliest modified date to the latest modified date, the difference is how long it took to bake.

It isn't hard to setup a timer yourself. Rather than start the bake by pressing the bake button, you use a simple script that runs the bake operator and has timing around it.

import bpy
import time

startTime = time.process_time()
bpy.ops.fluid.bake()
timeToBake = time.process_time() - startTime

print("Time to bake the fluid sim was",timeToBake,"seconds")

This will print the time to the console - that is the terminal you started blender in. Alternatively you can paste the above code into blenders python console to see the result there when it is finished.

You also use wallclock timing with something like --

print("Start - ",time.strftime("%Y-%m-%d %H:%M:%S"))
print("End   - ",time.strftime("%Y-%m-%d %H:%M:%S"))

around the fluid.bake


Activate physics by keyframe I'd like to have a group of debris fall from a ceiling onto the floor, but not have them drop all at the same time. Is there a way to set a keyframe that dictates when the object enters the simulation? For example, object 1 starts falling on frame 0, object 2 on frame 5, object 3 on frame 24, etc.

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

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


Blender subdivision surface and bevel issues I am new to blender and having difficulty creating a mixture of hard and soft edges within a gun model I am making using the subdivision surface and bevel modifiers whilst keeping the vert count down.

I have added bevel weights to areas that I require to be hard, however if I don't continue this bevel all the way along the edge loop it does weird things with the topology, image of the bevels:

Specifically, the front of the gun, if I don't continue the loop through the barrels it does the following:

But If I do, the barrels become less circular but don't cause any of the cross looping seen.

Any suggestions as to how I should approach the bevelling as I want an easy enough topology to UV map next.

Many thanks for any help.

Well, to avoid poles and for the sake of sticking to quads, as a quick fix I'd suggest moving lower edge under the gun's barrel:


3D cropping / 3D selection of a scene I have a large scene with many objects but want to cut out only a part of it before sending it to the client. I drew a 3D bounding box defining the region of interest , and I want to:

Delete all geometry outside the box
or
Select all geometry inside the box

Secondary information

I tried boolean intersection but couldn't get it to work. Maybe I'm doing something wrong.

Related: Boolean modifier on groups - can't select 2nd object - is this possible?

In my specific case, I have no face geometry in the scene, only vertices and edges (a.k.a. polylines or curves). Of course the box used for selection has faces.

PS: I prefer manual solutions for such a basic task but python would be ok.

Beside what Mr Zak said, the only (crappy) way is to use the "bisect" tool in edit mode on each object to be "cut", using the box as reference, of course cutting in ortographic front/left/top mode. That cuts yor geometry (even without faces), adding new vertices along the cut edges, so that, later you can delete unwanted geometry outside the reference box...

The bisect tool is crappy, too, it has no way to keep straight, and is not affected by snapping, too. Again, if your cuts are not "perfect", your only hope is to use the snap tools after the "bisection", aligning the new vertices resulting near the box limits, to align them to the box vertices...

If not clear, I can make some reference image...

[edit] here you have the whol (crappy) sequence:

I started from a simple test setup but similar to your case, I hope:

seen from the side

so if you select the grouped green shape (this is only 1 mesh I just added a group to make it green like yours and also visually show it better) in edit mode, acting from the basic side view (ie: not in perspective mode, but ortographic, since you have to cut straight lines "by hand"):

You can select all the mesh (A key) and use the mesh>bisect tool.

Once you select it, you have to drag a straight line (you can start it from anywhere, I chose the intersection of green and orange lines, of course).

in the above image I angled it a bit for you to see it better, but you have to keep it straight, and drag it until it "cuts" also the bottom green/orange cross:

as soon as you release the left mouse button (LMB) the cut is set, and your mesh (also if has no faces) is cut, and new vertices made along the cut on all edges, as you see below, from an angled view.

of course you could be not as much precise cutting by hand, but you could always use now the snap tool set as you see below

then align those vertices (all together or even one by one) to your "limits box" (the orange circle hints that the selected vertices are aligned to the enclosed vertex of the "limits box"). I dragged them on the X axis in the example, and pressed the CTRL key to "snap" them until the orange circle confirms the snapping:

after doing this for all edges needed, you just need to delete "outer" vertices:

and you get something similar to what you needed, I hope:

...phew! :) what a crappy tool, I know...


How to animate an object to revolve around a fixed point in blender? I want to animate the revolution of earth around the sun in blender. I know that keyframes can be used to make an object revolve on its own axis. But how do I make an object revolve around an external fixed axis?

As example I have a cube that revolves around an empty

Add empty and add cube

Select the cube and then select the empty and press ctrlp and select Object, the cube is parented to the empty

Select empty and press I and select rotation, so the empty has a rotation keyframe

the timeline you can use to pick another frame and enter 360 in highlight and press I to insert a keyframe:


Sculpt mode, Symmetry, and the 'H' hotkey I'm sculpting a human model using symmetry, so I only had to sculpt one side. When I got to the legs I was having trouble sculpting the muscles on the inner leg I zoomed out, hit H, and hid half the model for convenience. Once I had finished sculpting I hit AltH to bring back the missing half, but none of the work I had done transferred onto the other side. Is there any way I can fix this?

Dyntopo has a symmetrize button which will symmetrize your geometry on any axis.

If you pick the wrong direction you can undo and choose another.

While you don't need to do any sculpting in dyntopo to use this, you do need to enable it, which means you can loose UV's and vertex colours that can normally be lost when enabling dyntopo.


Animation Nodes - How to create transition with stripes In video below, I first had created stills of stripes in Inkscape, 5 separate files with different thickness in stripes. Afterwards, I compiled them in Blender. Below is what I created, but this labour was very time-consuming.
How do I simulate this transition with Animation Nodes?

We start by transforming a grid based on the transformation matrices resulted from a Linear Distribute Matrix node to get the bars. Then we evaluate the height of the bars at a sine interpolation to get the variable height pattern.

To create multiple families of bars that move at different times and have different widths. We loop over a float list, this float list is added to the height of bars and then the maximum with zero is taken so that negative results will become zero. The width of the bars is computed such that it increases linearly for each family of bars to reach the maximum width. The maximum width is the length of the distribution divided by the number of bars minus one. The input float list should be a decreasing float range that its starting point is a function of time.

This gives this result:

You can of course evaluate the time offset list at an interpolation to get some snappy movement. You can also bevel the output mesh to get the round edges you have in the reference.


Blender 2.8 Render Farms I've just created an environment to be used in a 360 degree video in Blender 2.8 and was planning on rendering with cycles and using the help of a render farm. I was in contact with one render farm but have since found out that they wont render anything on 2.8 as its still in the beta stage of development. Does anyone know of any render farms that will render stuff from blender 2.8 or alternatively know how to transfer my environment from 2.8 to 2.79?
Cheers!!!

We at GarageFarm.NET support Blender 2.8 projects over at the farm. You can download and install our scene preparation plugin from your web dashboard after registering, and enable it on your preferences tab in Blender. It will be listed with "update to 2.8x required" but you will be able to enable it. You can register here and get free $50 worth of credits.

Feel free to reach out to our support team as well! They are available 24/7 via our chat application (hit the chat icon on the page).

We acknowledge that 2.8 is still in BETA, and so there's no guarantee you won't run into problems, but our wranglers will be there to assist you whenever you need them, and we've rendered some 2.8 projects successfully already.

Cheers!


How to get out of the mode with many strands So I was creating a plane and attempted to press control + r to create a loop cut and this happened:

How can I go back into the normal mode where there is not that many strands?

I'm not exactly sure what you're asking but from what i understand what you want is to turn off the SubSurf modifier in edit mode, go to the modifiers tab and press the button showed here :


Run a script only once in BGE I have a script that I only need to run once. What I usually do for startup scripts is an Always > Tap Sensor. This python script is being activated by a message sensor with the tap setting enabled. Running this script multiple times will cause problems, so I used a variable system to prevent this from happening.

Is there anyway to stop the script from running more than once in the first place, using logic bricks?

For a script that only runs once, say a setup script, you can use an Always Sensor without True level triggering (the buttons outlined in red in the image below). Doing so will unintuitively to the Always Sensor's name will only run once.

As for scripts where you only want a function to run once, but the rest constantly evaluated, I would highly recommend using The Python Controller in Module mode.

The way it works is you pass in the name of your script (must have a .py), then the name of the function. So in the picture my script is named script.py and the function I am calling is functionName.

The final way is to use a variable, or property.

import bge

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

if 'init' not in own: # Will only run once, or when the var gets removed
    own['init'] = True
    print('only once')

Then if you need that code to run again use this line del own['init'].


How to make VSE render faster? I'm putting together a video from the VSE. In the sequencer window it is rendering and scrubbing at near realtime yet during output it is taking around 3x longer.

The frames are taking 0.13 seconds each whilst the CPU is only utilised around 20%. I am rendering onto an SSD and using H.264 format 1280x720. Tile size options etc appear to have no or very little effect.

In short - is there any method to speed up the rendering of frames from the VSE?

Update:
Multithreaded VSE rendering is now natively implemented in blender (since around 2.8 or 2.9), which makes this project kind of obsolete, but for more fine grained control of resources (background rendering, utilizing multiple machines) it can still be useful.

tl;dr: Open source program for automated solution is at the bottom of the post. Latest release as well as usage instruction can be found at the GitHub project page:

Problem
I was looking for a free (and maybe even open-source) video editor, and after using it for a while I found out that Blender is very capable of this task, but I was facing the same problem with the unused resources during exporting the finished file. I was searching everywhere, but I couldn't find anything about speeding up the Video Sequence Editor (VSE) rendering that would work for me.
Solution
After thinking for a while and trying out things I realized that I can run multiple renders at once from the command line, and it seems like the performance scales pretty much linearly with the number of instances running. Of course until you reach the limit of your processor or the amount of RAM you have. (I was running at 87% CPU and 89% of the memory filled, and I wouldn't recommend going higher, because if one of the rendering processes fail to allocate more memory it will crash and you have to do that part over again.)

After you have the parts/chunks of rendered video, you can put it together using the concatenation functionality of ffmpeg. I tried it with mp4 [H.264] and avi [Xvid], so I can confirm that those are working, but there might be other formats that can be used, but I haven't experimented with those yet.
Code parts
I don't have time to do a full tutorial now, but if anybody will show interest I might get around to putting together something.
For this to work you need to have the blender and ffmpeg executables in your PATH environmental variable, and the project file needs to be in the current working directory of the command window.
The code parts I finally ended up writing and using were these:
blender -b "name_of_project.blend" -E BLENDER_RENDER -s 0 -e 1000 -a

to render one chunk of video. (You can try changing BLENDER_RENDER to CYCLES if that works better for you, and you have to replace the 0 and 1000 with the actual frame range you want to render. I had quite good results with doing it in chunks of 1000 frames and having around 4-6 processes running at once.)
You have to have multiple CMD windows open at once (unless you write a program to automate it), and you need to call them with different frame ranges.
(I would suggest 0 - 1000; 1001 - 2000; 2001 - 3000; ...)
[The frame range is inclusive, so pay attention not to write the ending number as the beginning number for the next process.]
You have to set the output properties in the Blender rendering setting while the project is open, but you can close the window afterwards. I think you can also set memory limit for the individual processes in Blender at File -> User Preferences -> System -> Memory Cache Limit, but I am not entirely sure about what that does.
For generating the list with the filenames I used PowerShell:
dir -n *.mp4 | %{"file '" + $_ + "'"} | Set-Content parts.txt

And for joining them I called ffmpeg (also from PowerShell, but this should work from CMD too.)
ffmpeg -f concat -i parts.txt -c copy ../output.mp4

This seems to be almost instantaneous, so you don't even really need to count this into your rendering time. It puts the resulting video in the parent directory so it doesn't get mixed into the video parts.
(If you used avi, you only need to change the extension of the output file and this should work.)
I hope that I could help somebody!
Sources
My main sources for the Blender command line options were these sites:
https://www.blender.org/manual/render/workflows/command_line.html
https://www.blender.org/manual/advanced/command_line.html
http://wiki.blender.org/index.php/Doc:2.4/Reference/Command_Line
And for the joining of the files using ffmpeg:
https://trac.ffmpeg.org/wiki/Concatenate
https://superuser.com/questions/607383/concat-two-mp4-files-with-ffmpeg-without-losing-quality/607384
https://stackoverflow.com/questions/15186500/howto-merge-two-avi-files-using-ffmpeg

Edit 2:
Version v0.4 has been released with the contributions of RedRaptor93.
Edit:
Program
I wrote a very basic application for the purpose of automating this process, that GitHub user MeTwentyFive very generously took upon and updated, so now it's more convenient and less buggy.
I have the code of that publicly accessible here:
https://github.com/Isti115/BlenderRenderController
I also included an executable in the release of the package, but for that to work you need to have the main blender.exe file accessible from the PATH environmental variable for rendering, and the same thing holds true with ffmpeg.exe for concatenating the parts.
If you need any help modifying, compiling or using it then feel free to message me!
ps.: You can get ffmpeg from here: https://ffmpeg.org/download.html
And I assume that you already have blender, since you are here asking questions about it. ;)

Edit 3:
Mikeycal Meyers wrote his own python script as a cross-platform solution for the problem.
You can find his explanation about it here:
https://youtu.be/rgwP5L1bICk
and the actual project here:
https://github.com/mikeycal/the-video-editors-render-script-for-blender
Make sure to check his work out as well, and help him improve it if you know some python! ;)


can I transfer an object into another project? I am trying to combine two rigs from the internet; how can i do this? I have attached an image showing where I'm trying to move the highlighted object from the right to the left.

Thanks in advance

In general, you can use the "link" menu item in the files menu to create a link to an object in one file from another file. This creates a non-editable instance of the object in the second file. Alternatively you can use the "append" menu item in the same place to create a copy of the object from one file into another.

However, there are a number of considerations that come into play when trying to combine parts of the two files you downloaded, among which may be incompatibilities of and orientation of the two objects, and the rig having been designed for specific attachment points that may not also not be compatible between the rig and the mesh.


How to cut a complex shape into a curved surface? This is a torch 1948 Olympic relay torch. I'm stuck on the part where the olimplc rings are cut in the side of the torch. I have the overall shape of the torch, just not the rings on the side of the torch.
I'm modeling this for 3D printing.

I need help to make the cuts and place the rings exactly on the curve of the torch. They have to keep the overall shape of the rings, but match the torch.

I'm looking for a clear and quick solution. I can give you my blender file if that helps, and as many references as you need.

In complement to the answer given by Patdog (which stay the good answer corresponding to the exact question), you can also work on the ring on a flat surface and make the torch shape after, as it is easier to use the boolean modifier or other technics to make the rings when flat.

Here a stack of modifiers, starting from two flat shapes (the ring part and a slice to complement the torch) :

The slice is repeated using an array modifier and the ring part as 'start cap'
The curve gives the vertical shape for the torch
The simple deform makes the circular shape of the torch

The vertices on the border of the rings part and these on the border of the slice part need to correspond (same amount, same position)

You'll need to adjust a bit the two base objects positions relatively to their centers in order to have a good junction with the array modifier (so make sure to work with rounded measures in cm for instance).

The amount of repetitions given by the 'count' of the array modifier will lead the torch diameter.

The curve (used in the curve modifier) shape can be adjusted on top of the stack so that you can see immediately the result on the rounded torch.

Once you have adjusted all as you want, you'll need to apply the modifiers and remove doubles to complete the junction of the simple deform bending.

The bottom part of the torch (with the texts) can be done the same way : a bent flat surface.

In both cases, just make sure to have the good/enough inner geometry so that the bending can be done smoothly.


using the node editor with multiple entry points I'm using blend4web and have some different 'switch select' behaviours set up, one moves an object up on click and down on second click.

The other changes the colour of an object based on click of another object.

Both behaviours work independently of each other but not together, it seems that I cant switch between entry points?

Also clicking any other object in the scene (no behaviour defined on the object) stops either entry point working / behaviour being carried out.

can someone point me in the right direction I'm not sure what I'm doing wrong?

Both behaviours work independently of each other but not together, it seems that I cant switch between entry points?

Indeed, the current setup depicted on the screenshot suggest independent behavior.

  Also clicking any other object in the scene (no behaviour defined on the object) stops either entry point working / behaviour being carried out.

You need to connect the miss socket with some socket before the switch select node.


Blender Blendshape meshes, UVs, and textures Here is what I want to achieve

Input: Three face models that are correctly UV mapped different textures.

Goal: Create a blendshape and animate between them.

Say A is a face with mouth and eyes closed, B is a face with eyes open, and C is a face with mouth open.

Then for, A(0%), B(50%), C(50%), I want eyes and mouth half open, and this can be achieved by simply using shape key. Morphing 3 textures are also possible by changing the balance of diffuse of 3 materials.

But the problem here is that it uses the UV coordinates of A, not blending of B and C, so now the morphed texture doesn't make sense.

Is there any way to solve this? eg. something like shape key for UVs?

You already have the MESH part covered in your setup (standard) shapes. Good.

Now you also need to setup drivers to the SHADER aspect of this.

And it´s due with a simple FACTOR setup (greater than) Evaluation. If it returns a number above ZERO, expression is true, it SHOWS the texture. If it´s false, return TRANSPARENT (or default texture).
You may thank me enough to have searched for you this jewel, and thank you for voting me up as the answer.
https://www.youtube.com/watch?v=0glf-acMvcw


Viewport shader material is different from material preview Greeting, I’m a newbie to blender. I’m creating material for a box. I created that material by viewing material preview in blender but, my material on my box is different from than previewer. I dunno what to do and I just want a material that shown in material previewer. Any bits of help is appreciated.[

I got what I excepted by changing coloramp node


Texture is rendered as a flat colored surface I'm using AMD ProRender and I can't get it to render a texture I applied to a cuboid properly. This is my node graph and material properties panel:

And this is what the render looks like:

Basically the floor should have a damaged concrete texture. I'm probably being an idiot and overlooking some setting. What am I doing wrong or how could I proceed to troubleshoot this?

When UV unwrapping, I hadn't selected all the sides of the object. Press A to select everything, then U to unwrap it all. Marking seams and unwrapping does nothing when there is nothing selected and there is no error message.


How do I remove a render engine in Blender? I'm new to Blender. I'd like to clean my Blender up and remove a render engine that I won't be using. How do I do that? Thanks in advance!

There are two good ways to do this:

1) Disabling renderer in the Blender Preferences. This does not fully remove the renderer from Blender, but just disables it so that it does not show.

To do it, go to Blender Preferences (File > Preferences).

Go to Addons, and search "Render", or the name of your renderer. The renderer should show up with the rest of the Blender renderers. Uncheck the blue check next to the Radeon Pro renderer box, or whatever it is called, not (cycles, Eevee, or workbench).

2) Remove it from Blender

If you want to do this then there are two ways. The easiest way I will describe.

To remove it, go to the renderer in Blender Preferences again, and open the tab that describes the addon. If the option is there, select remove. Then remove the renderer from Blender. This should remove it from all of the files, and not be able to be accessed again unless re-installed.

If it does not have a remove option, do this:

If in windows, go to the operating file containing Blender, then go to Blender > (blender version) i.e 2.81 > scripts > addons > and search for the addon. Manually delete the file, and none other. Now it should not show up in Blender anymore.


Simple python code does not work Not sure why this simple code does not work. I tried several things... but it only works if the values are statics . In this example I put one dinamic value (does not work) and another that works but is burned.
Code:
import bpy

#create prop_group
props = {
    "name" : [],
    "type" : [],
}

#add props
props["name"].append( "fl_prop" )
props["type"].append( "float" )

print("---" )
class CustomPropGr(bpy.types.PropertyGroup):

    global props

    for name in props[ "name"] :
        for type in props[ "type" ] :

            if type == "float" :
                print("debug:: name : ", name, " type: " ,type )
                name : bpy.props.FloatProperty( name = name )
            # end if

        # end for
    # end for

    no_dinamic_prop : bpy.props.FloatProperty( name = "test" )

# end CustomPropGr
bpy.utils.register_class( CustomPropGr )

#make it enable and discovery for all objects
bpy.types.Object.custom_prop_gr = bpy.props.PointerProperty(type=CustomPropGr)

so = bpy.context.active_object

so.custom_prop_gr.no_dinamic_prop = 5.90
so.custom_prop_gr.fl_prop         = 90.5
print( "no_dinamic_prop    : ", so.custom_prop_gr.no_dinamic_prop )
#comment the below line to see the outputs
print( "dina prop (fl_prop): ", so.custom_prop_gr.fl_prop )
print("---" )

name : bpy.props.FloatProperty( name = name )

is assigning bpy.props.FloatProperty( name = name ) to the variable called name ( the name before the : )
Then you try to assign a value to so.custom_prop_gr.fl_prop which does not exist, because you used the variable name to create the custom property.
Then in your print command at the end:
print( "dina prop (fl_prop): ", so.custom_prop_gr.fl_prop )

is also trying to call so.custom_prop_gr.fl_prop which does not exist.
Change:
so.custom_prop_gr.fl_prop         = 90.5
print( "dina prop (fl_prop): ", so.custom_prop_gr.fl_prop )

to:
so.custom_prop_gr.name         = 90.5
print( "dina prop (fl_prop): ", so.custom_prop_gr.name )


How to animate snow falling in cycles? In Cycles, I have a simple still life scene with objects resting on the ground, and I would like to animate snow falling onto the landscape and eventually bury the objects.

Semi-new to Blender and open to all suggestions. Is this possible with a particle system emitter? Can I make the 'snowflakes' stop/pile up on the object or ground they hit?

Also, I'm considering using the molecular add-on, which I have never used before and am no expert at physics in general. Please advise.

You definitely want to use a particle system for the falling snow flakes.

You could use a physics sim of some kind to create the "piling up" effect, but I don't think the result would be worth the sim calculation time. Also snow in real life piles up fairly slowly as far as what the eye can see, it doesn't look like a bucket of sand being poured on the ground.

If it were me I would create some sort of mesh object for the snow cover on the ground, and use shape keys to animate it slowly growing higher. The snow particles could just pass right through it or die on contact. This should work unless you need a super macro shot of the snow flakes.


Navigation locked out during operations? I don't seem to be able to navigate around while trying to do some operations. E.g. when using the E command, I can't mousewheel to zoom. Is there some way of changing that? It's incredibly annoying.

I've been through the key mapping and there doesn't seem to be anything clashing that needs mousewheel as far as I can tell.

I don't think you can, select what you want to extrude then dezoom as needed before hitting E .


Rope material stretching along long faces Trying to make a rope material. Granted I am still learning this, but my result seems to be stretching in strange ways....
This is how the UV is unwrapped and this are the nodes being used

any thoughts on what I am doing wrong here?

Scale your UVs where it is stretched, you can do this by selecting the stretched faces and then seeing what vertices are highlighted int he UV view, you then press 's' to scale and then 'x' or 'y' to scale on the axis you need, in your case it looks like the 'y' axis.
That should fix it though not a real fix as you have to do it each time you edit the mesh, you have an issue where you have marked all your edges as seams, it's supposed to be like Origami, this is why a cube unfolds to a T shape rather than four squares (UV islands as they call them). Seams are essentially cuts that you would add to the flat paper to turn them into a 3D shape (remember textures are 2D and models are 3D,it's just turning that 3D shape back into a 2D one). Try removing some seams to make less islands. I would say that you need a maximum of three. One for each end of the rope and one for the length of the rope spanning all the way around.
Like seen here:

This one I actually made it one UV island by removing two edges from being marked as a seam in that example (You see how we are back to that T shape? Even though it is upside down):

I highly suggest watching this playlist, it goes into the UV unwrapping too! I know it says intermediate but don't let that put you off... https://www.youtube.com/watch?v=7tdUxzhEy_E&list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&index=1


How do I combine two textures? I need to combine two textures of a Gun Sight while maintaining transparency.
Please ive been trying to do it for 4 hours

If one of your textures has an alpha channel, you can connect it like this. In the image below, I mix a Moss Texture (with transparency) with the BaseColor of a Concrete PBR Material, using a MixRGB node, and the Moss Texture's alpha channel as a mix factor.


Smoke+fire new showing in viewport not render at all I have an issue here, i was working on an asteriod project when i realized i cant view my smoke+fire whether in 3D viewport or render, what actually happens is that when i use quick smoke without editing it at first i can see my smoke in 3d view port, but when i try to switch the flow setting from "smoke"to "fire+smoke" then i can't, view anything, not in 3d view or render view at all. i am using blender 2.78

Try to save your blend file and then make a bake of your animation. Your computer can't probably calculate the simulation in time.


What's better: adding new primitives or extrude from existing? This is a very general question. I wanted to know what the advantages and disadvantages of extruding from an existing primitive be over adding a new primitive. To give an example, I have started modeling a hammer. The head is cube primitive. Should I extrude the handle from that cube primitive or should I add a cylinder primitive?

Can a new primitive make it more difficult to put a texture on it? Can a new primitive increase the processing that goes into using the model? Can a new primitive cause problems when rigging?

Please keep in mind that I am asking in general, not only for that hammer example. I am looking for answers that I can apply to all future models I can possibly create.

Thank you!

I am not an expert, but:

Using only one mesh (extruding from an existing mesh) is absolutely needed if you need deformations, because all geometry is linked, and also can keep vert/poly count lower... it is the better choice in most cases, in my humble opinion.

Using separate mesh (adding a new primitive) could allow to keep independent mesh parts separated, for some reason (e.g.: to split them later while modeling), but also allow you to treat them as a single object in animation (without deformation).


Which Version of IFC Open Shell do I download I am trying to import IFC architectural files to edit and render on blender. I read that I have to add IFC Open Shell but when I try do that it says determine if my copy of Blender is 32 or 64 bit. How do I find tht out?

Help > Save System Info in Blender and save the file to your desktop. Then open the file in a text editor and around line 15 you'll see: "build linkflags: /MACHINE:X64" (or X32 if 32-bit). However, I don't think the later versions of Blender are available in 32-bit nowadays so it's almost certainly 64-bit anyway.


Cursor is set to move in decimal increments, how to reset to integer increments? My cursor is moving by every selection by decimal increments rather than the normal, whole number increments.

Normally when I use Blender, I am able to select and move objects to any coordinate in whole numbers. Now, all of the sudden, when I select an object or mesh the selection moves by 1/10th of the usual amount in each direction (eg. .1 vs 1.0).

How do I reset it to normal?

You most likely have snapping enabled. To disable it, just go into edit mode and click on the magnet icon in the 3D View header, or just type Shift + Tab.


Cycles Realistic Lighting & Emission material I've been reading a bit on realistic lighting in Blender and was introduced to realistic physical light values, as well as color management through Filmic Blender and the Exposure slider.
This excellent tutorial suggests that the value for direct sun lighting outdoors is a whopping 441 units. This completely blows up the lighting in the scene, making it look bathed in nuclear fire.
A swipe of the Exposure slider in color management fixes that. However, if I'm not mistaken, this also messes with other light-related things which are organized around more "relaxed" numbers, including...
The Emission shader.
I have a character with glowing eyes. In my "regular", unrealistic, "if it looks good it works" lighting setup, I used a Strength of about 4 to control the emission on her eye textures (combined with the Diffuse via an Add shader), which made them look sufficiently glowy. However, with sun lighting cranked all the way UP and exposure all the way DOWN, it feels like they barely glow anymore.
Blender docs say the following about Emission shader strength:

Strength of the emitted light. For point and area lamps, the unit is Watts. For materials, a value of 1.0 will ensure that the object in the image has the exact same color as the Color input, i.e. make it ‘shadeless’.

This confuses me. Does this mean that Emission material strength doesn't change regardless of the lighting? How can you even go beyond "shadeless"? Does this mean Emission materials don't use Watts as a unit, and so I can't apply the realistic lighting technique?
TL;DR

Do materials need to be changed according to the scene (lighting, exposure), or is the simulation realistic and materials only need to be configured for their realistic physical properties?
Is it normal that realistic light values completely destroy the scene when using default Exposure, and it needs to be dialed way down?
Is there a way to calculate realistic, physically correct emission for materials? (Ex. the emission of an LED lamp on a monitor)

Strength of the emitted light. For point and area lamps, the unit is Watts. For materials, a value of 1.0 will ensure that the object in the image has the exact same color as the Color input, i.e. make it ‘shadeless’.

This is junk documentation, written by someone that clearly doesn't understand scene referred values.

A material albedo value of 1.0 means that 100% of the light is reflected back. This does not result in the exact same value as the colour input, which depends on the transfer function and other potential sweeteners in the transform from the scene referred to the display referred domain.

While I can't answer the wattage question any better than the other answers on this site already well written, I can speak to exposure. Exposure is always a creative choice. Glowing eyes will likely always be less glowing than a screaming ball of fire in the sky that is gargantuan. That is a creative issue that could be negotiated with creative compositing or creative exposure within your scene.

  Does this mean that Emission material strength doesn't change regardless of the lighting?

Emissions are scene referred. That is, the effective range of a value is some potentially infinitely small value to some potentially infinitely large value. If you set an emission to 146281.8, it is that value. How that value ends up in your image is a complex byproduct of the aforementioned transform from the scene referred to the display referred domain. That is, think of the transform as a sort of film stock. Various film stocks may have different colour responses, different dynamic ranges, and a few other aesthetic elements that will take a physical scene quantity of light and convert them into an aesthetic output.

  Do materials need to be changed according to the scene (lighting, exposure), or is the simulation realistic and materials only need to be configured for their realistic physical properties?

Starting with physically plausible values is a great entry point. Ultimately however, materials should serve the creative needs.

  Is it normal that realistic light values completely destroy the scene when using default Exposure, and it needs to be dialed way down?

Is it normal for a camera to take an overexposed photo when set to manual? Same idea applies here; exposure is a creative choice, as is balancing lighting in a scene, either starting with realistically plausible values or creatively lighting a piece with artificial sources.

  Is there a way to calculate realistic, physically correct emission for materials? (Ex. the emission of an LED lamp on a monitor)

Yes. This is a duplicate question with more than a few good answers on this site.


Blender renders transparency as red? Animating a camera move that orbits around a central figure. The figure is backlit by a single light source behind it, but other than that, there are no backgrounds. Yet every time I render out (as a PNG sequence) I end up with a red background. Any idea what's causing this?

Here is the project file:

I am not sure if anyone is still looking for a solution to this, but the answer for me was to set the Alpha value in the material properties to Pre multiplied instead of Straight.


Blender Game not rendering objects correctly When I try to play my game, the scene gets messed up. I think it is better if I show you what I mean.

Image:

The skydome is completely gone and the order in which the models render is completely wrong. I tried a lot of things, but nothing seems to fix it.

EDIT: The problem with the skydome is fixed. I had to flip the normals.

EDIT #2: Here is a link to the .blend file: http://www.mediafire.com/download/lm3i4n78gcok8q2/Station_of_Awakening.blend

Oh, haha, I guess I figured it out myself. Sorry.

I fixed the problem by selecting GLSL instead of Multitexture in the Properties > Render > Shading menu. Let me show you:


Why my sphere is compress at the end Im making a simple animation a file attached. At the start its good sphere but as it start revolving the sphere is getting compress. Whats the reason and where im getting wrong

It should be that you scaled the curve after setting the constraint.

select the curve and hit CTRLA and apply scale...

it should be fixed. Screenshots will follow if needed...

The answer is already accepted, but since I already have done screenshots, here they are, showing the problem and the solution... may help others understand.

first you set the follow path animation:

then you Z-scale  the path and happens this

but you can select the path, and apply the Z-scale

so you get the correct ball shape, no more deformed...

edit

screenshots showing curve frames count for the same curve Z-scaled (applied)

72 frames for both curves:

the second curve has frames doubled now...


Why is there a difference in the same material Used same nodes with 2.79 and 2.82. Huge difference. I can't see color in 2.79. Doing the same thing in 2.82, the color and shaders are seen/visible. Why?

There are no shaders in this material.

Don't know how 2.8x functions, but for 2.79 put an Emission shader between every RGB node input.


Rigging this mechanical linkage in Blender I am tackling this mechanical linkage which moves in the x axis (see image). I would like to do it using IK but the problem is that I can't establish a relationship between the blue and green parts because they both move but the blue part is dragging the green part along in a non-linear fashion (at least thats what I believe) Left image is what it looks like extendend.

Many thanks!

Blendfile

Like this?

Yeah, that's a tricky one and it needs either a cheat or the not so new but usually overlooked iTaSC solver.

So, in the settings of your armature, enable iTaSC:

I made the blue part the boss and the green will follow. If I'm not mistaken, this special solver doesn't like unparented targets, so I made a main bone. The hierarchy is as follows (u = upper):

bluebone, mainlever1-u, target-u and height-u are children of main

mainlever2-u is a child of mainlever1-u

follow-u is a child of mainlever2-u, not connected

greenbone is a child of follow-u, but does not inherit rotation.

mainlever2-u has an IK-constraint, chain length 2 to target-u with the following settings:

This is straightforward. Would be exactly the same with an ordinary constraint. Simplest leg rig possible.

But the settings of follow-u are where the magic happens:

It points to height-u and it's axis reference is set to target, lock X. That means, its tip tries to get on the X-axis of height-u. In effect that means its tip stays the same height if it can since height-u's X axis is parallel to the ground.

You could do without the lower armature, if you equip the meshes with Mirror Modifiers with a Mirror Object on the center line of your mechanism.

And for old time's sake, the cheat:

Simply add a very long cheat bone and turn follow-u and cheaty into another IK chain, 2 bones long. Since cheaty is so long, the up/down motion of the joint is minimal. Then you'd move greenbone with a simple copylocation constraint in one axis and it won't bob up or down. There's ways to make the bobbing even smaller, but it will already be invisible if cheaty is long enough.

It's not entirely obsolete since iTaSC sometimes gets hickups if you re-arrange stuff after it's been set up. It likes your workflow to be linear. Then again, it could just be me being clumsy.