Composite multiple render layers for multiple frames? Just a novice here.

I have a scene of a furnace with two separate smoke simulations. I have isolated one smoke simulation in it's own second layer (camera, sun lamp, mesh with smoke and smoke domain). I have managed to composite both together to create the image I want (2 x render layers going through an add node, into the composite node). However, they are part of a 150 frame animation. How do I do this so that I obtain all 150 frames without manually going through each.

I have tried running the animation normally with the composition option ticked in the post processing panel, but it just renders one of the 2 layers (does not seem to change anything).

I cannot simply render both layers simultaneously because the fire in layer one intersects with the smoke domain in layer 2 (which is much too big) and so I get a huge fire on top of the of the small fire I want.

I tried changing the reaction speed to 4, but the fire is still too much too big (4 is the maximum range I am allowed, from 0.01 to 4).

I tried rendering both animations, and then compositing the image sequences, but the smoke from layer 2 appears in the very front of the image, even when a another object is in front (in 3d-space).

Of note: I have the same camera and sun lamp in both layers

I hope that was clear enough. Thank you so much to anyone that takes the time to answer, great community!

Ok so I found out my problem. Totally my fault, as I misunderstood this passage from: https://www.blender.org/manual/render/post_process/layers.html

Scene (layer)
The Scene Layers, showing which are currently visible and will be rendered.
(render) Layer
The Scene Layers which are associated with the active Render Layer. Objects in those Scene Layers will be rendered in that Render Layer. When an object is in the Scene Layers but not the Render Layer, it will still cast shadows and be visible in reflections, so it is still indirectly visible.

I had setup two render layers, one of which contained scene layer 1, and the other scene layer 2. I tried rendering by having only one scene layer visible. Here is where the confusing part is. When 2 scene layers are visible (or more) and I run a smoke simulation, it shows that my flow objects from scene one are pouring into my smoke domain from scene 2. However, if you render properly, even though the simulation shows up that way, the render still comes out right. I just got lost in the confusion but pulled myself out eventually.


How to modify the size, position, and always on top status of the active blender window for windows OS through python Hello so i was wandering for my addon https://blenderartists.org/t/floating-windows-the-missing-feature-of-blender-2-8/1163493 how to resize, move, and modify the always on top status of the active window.

this is how.

import ctypes
from ctypes import wintypes

#Get Active  #https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getactivewindow
#Set win     #https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setwindowpos

#SetWindowPos FUNCTION
SetWindowPos = ctypes.windll.user32.SetWindowPos
SetWindowPos.restype = wintypes.BOOL
SetWindowPos.argtypes = [
    wintypes.HWND, #hWnd
    wintypes.HWND, #hWndInsertAfter
    ctypes.c_int,  #X #pos
    ctypes.c_int,  #Y #pos
    ctypes.c_int,  #cx #new width
    ctypes.c_int,  #cy #new height
    ctypes.c_uint, #uFlags
]
#HANDLE
Active_W = ctypes.windll.user32.GetActiveWindow()

#FLAGS
SWP_HIDEWINDOW = 0x80 #HIDE
SWP_SHOWWINDOW = 0x40 #SHOW
SWP_NOMOVE     = 0x0002 #NO MOVE
SWP_NOSIZE     = 0x0001 #NO SIZE

#EXAMPLE ON TOP -> because -> -1
#SetWindowPos(Active_W, -1, 0, 0, 0, 0,SWP_NOMOVE|SWP_NOSIZE )

#EXAMPLE ON TOP CANCEL -> because -> -2
#SetWindowPos(Active_W, -2, 0, 0, 0, 0,SWP_NOMOVE|SWP_NOSIZE )

#EXEMPLE DEPLACE
#SetWindowPos(Active_W, 0, 2550, 0, 0, 0, SWP_NOSIZE )

#EXEMPLE RESIZE #column size
#SetWindowPos(Active_W, 0, 0, 0, 100, 1000, SWP_NOMOVE)


Hiding vertices from Automatic Weights process? I am trying to bind a Rigify Pitchipoy rig to my human mesh. I want to use Automatic Weights to bind, but keep getting the "Bone Heat Weighting: failed to find solution for one or more bones" error. I have already researched this and have also found the precise area of my mesh that is causing the problem.

It is a very dense area with many veritices. If I delete this area from the mesh, the Automatic Weight works perfectly.

My question is, can I somehow omit/hide/mask this particular area of vertices from the automatic weight process? I want it to believe this area don't exist when it runs, as if I had deleted it. And then I can manually paint that area afterwards.

I am using the latest version of Blender. Would appreciate any help a lot! :)

UPDATE: I have found a workaround that seems to solve the problem. I don't know if there is a smarter way, but I'll post it for anyone else with a similar issue.

I selected all the vertices that made up the problematic area, pressed P and separated by "Selection".
I then select my mesh (which is now separated from the problematic vertices), go to Weight Paint mode and then do Automatic Weights binding.
After weighting process is complete, I select the seperated mesh, then shift-select my main mesh and do Ctrl+J to join them again.
Then I go back to weight paint mode and click the bone nearest to this area and manually paint it so it follows the rig.
Finally, I manually merge (Alt+M) EACH INDIVIDUAL vertex at the points where they were cut/separated.

This solved the problem, and it even kept the shape keys I had in that area from being destroyed, since no vertices was added or removed by doing this. If anyone have a smarter method, I would still love to hear it!


How to make a scattered dirt effect with an image texture? I'm trying to add smaller rocks and dirt to cover a procedural rock texture and I haven't been able to make it look realistic due to the fact that the dirt texture I have been using is an image texture of a solid patch of ground.  To fix this, I tried duplicating the original rock mesh and then applying modifiers to shrink and distort the duplicate so that one mesh will be the original rock, and the other will be the dirt covering it.

Here's a screenshot of what I am talking about (the blue part is the dirt covering):

Not only am I convinced this is the wrong way to go about it, I've also massively increased my poly count this way.

This is the node group for the dirt texture that is supposed to cover the rock.  I used a transparent shader to try to give the effect of blending in but as you will see in the render, it doesn't look good at all.  The 3 image textures are the original colour image, a gloss and normal map.

Here is the render:

So what I am wondering is, is there a way to use nodes to give the effect of some parts of the dirt texture being invisible to give a scattered effect?

Thanks!

The problem you have is that every spot is either a rock texture or a dirt texture. What you need is a way to blend between the two.

The way to do that is to use a mix shader with an image texture plugged into the mix

The image texture should be a grayscale image - in the areas where it is white you will get 100% rock texture, in the areas where it is black, you will get 100% dirt. Where it is in between, you will get a smooth blend of the two.


Image plane is blocking the one behind it despite transparency The images have alpha channel checked on. In normal view the image looks fine but when I render the images cutoff the ones behind it.

There should be no gap between those 2 images but the one closer to the camera is cutting off the one behind it. I used the import images as planes addon. My goal is to export a png file that is transparent except for the colored areas. I'm gonna import this file into Unity so it needs to have a transparent background.

You must enable Transparency in the material settings:

Using mask transparency won't work because it renders sky where there is transparency.


Why are parts of my mesh see through? I have a simple mesh that, no matter what I do, displays certain faces as transparent:

This is just modeled from an image plane. Backface culling is off, normals have been recalculated and flipped, x-ray is off, but I can't get rid of the issue.

In the Materials section, under "Settings", check and see in in "Blend Mode" if Alpha Blend is on. You can either choose to disable Alpha Blend or you can Disable "Show Backface". See picture.


'Ctrl+S' doesn't save modified textures ==> lost hours of work My Blender daily life is :-

Create a texture
Pack it
Save (Ctrl+S)
Edit the texture
Save (Ctrl+S)
Blender crashes  ===> I lose all work in Step 4.
(This can also be tested by terminating the Blender process.)

How to make Ctrl+S saves BOTH the dot-blend file AND all of the modified  packed images?
In preference, the command to do so is image.save_all_modified.
My current workarounds

Create another hotkey for image.save_all_modified.  To save properly,  press both Ctrl+S and another one. I have to press the new hotkey   with the mouse hover within the "Image Editor" workpane before Ctrl+S.

Enabling File > External Data > Automatically Pack Into .blend will pack all images , including unwanted big external image.

(best so far) Whenever I want to save properly, I close the program.  Blender will popup whether I want to save modified image(s).  I answer yes.   After that, I re-open my file again.

Related issue : https://developer.blender.org/T45636
After get brockmann's awesome answer :  If anyone want to extend the script and check whether an image is packed, it can be read at Detect with python script if a blend file has packed images.   Adding these code in save_mod_images() can be useful.  It will reload all external files, so now the script will save & sync (reload external) in one go :-
for i in bpy.data.images:
    if i.packed_file is None :
        i.reload()

You can use application handlers, specifically save_pre handler. When you're saving the file, the handler kicks in and allows to execute whatever you want before saving the file.
The following demo saves all modified images when you are hitting save, automatically:
import bpy
from bpy.app.handlers import persistent

@persistent
def save_mod_images(dummy):
    """ Save all modified images """
    if any(i.is_dirty for i in bpy.data.images):
        bpy.ops.image.save_all_modified()

@persistent
def pack_dirty_images(dummy):
    """ Pack all modified images """
    for i in bpy.data.images:
        if i.is_dirty:
            i.pack()
            print("Packed:", i.name)

bpy.app.handlers.save_pre.append(save_mod_images)
#bpy.app.handlers.save_pre.append(pack_dirty_images)

Copy-paste the script into the text editor and run it using the play button, this is going to add the handler to the current Blender session. If you'd like to pack all unsaved images when saving the file, just un-comment bpy.app.handlers.save_pre.append(pack_dirty_images).

image-data-linter.py
For simplicity, this can be easily turned into an Add-on. Add the usual bl_info dict, register and unregister functions and make sure to remove the handler when the add-on gets un-registered, further reading: How to create a custom UI?

Added both options to the Add-on preferences so they can be easily turned on or off.
# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "Image Data Linter",
    "description": "Save or pack all modified images when saving the file",
    "author": "brockmann",
    "version": (0, 0, 1),
    "blender": (2, 80, 0),
    "location": "",
    "category": "Development"
}

import bpy
from bpy.app.handlers import persistent

class ImageDataLinterPrefs(bpy.types.AddonPreferences):

    bl_idname = __name__

    save: bpy.props.BoolProperty(
        name="Save modified Images",
        description="Save modified images when saving the blend",
        default=True)

    pack: bpy.props.BoolProperty(
        name="Pack un-saved Images",
        description="Pack un-saved images when saving the blend",
        default=False)

    def draw(self, context):
        layout = self.layout
        layout.prop(self, "save", toggle=True, icon="DISK_DRIVE")
        layout.prop(self, "pack", toggle=True, icon="PACKAGE")
        layout.separator()

@persistent
def pack_dirty_images(dummy):
    if bpy.context.preferences.addons[__name__].preferences.pack:
        for i in bpy.data.images:
            if i.is_dirty:
                i.pack()
                print("Packed:", i.name)

@persistent
def save_mod_images(dummy):
    if bpy.context.preferences.addons[__name__].preferences.save:
        """ Save all modified images """
        if any(i.is_dirty for i in bpy.data.images):
            bpy.ops.image.save_all_modified()

def register():
    bpy.utils.register_class(ImageDataLinterPrefs)
    bpy.app.handlers.save_pre.append(save_mod_images)
    bpy.app.handlers.save_pre.append(pack_dirty_images)

def unregister():
    bpy.app.handlers.save_pre.remove(pack_dirty_images)
    bpy.app.handlers.save_pre.remove(save_mod_images)
    bpy.utils.unregister_class(ImageDataLinterPrefs)

if __name__ == "__main__":
    register()

Save the script as image-data-linter.py, go to the User Preferences > Add-ons > Install. Further reading: How to install an Add-on


how to rotate an object (a line) diagonally x,y I have defined a line as an object, and I am trying to rotate it end over end, diagonally, 360 degrees, over 100 frames. i havent yet found a way to do this. I tried just using calculations and setting the rotation to a frame, but it wobbles like crazy. I also have tried using an empty, but then i have the problem where i have to rotate the empty diagonally, so that didnt work either, and i also wouldnt know how to join two objects on their centers to link their motion. what is a good beginner solution?

Euler rotations in multiple axes do not commute (their order matters) , and while you can set the start and end key points of a rotation with a combination of Euler rotations in various axes, in no way does that imply that interpolating those separate rotations will yield overall interpolation along a Great Circle when they are recombined.

Typically, for animation, you would parent the line-object to an Empty previously rotated in Z by 45 degrees, so you can rotate the Empty in only one of its axes, X or Y, to achieve the diagonal rotation of the line-object.

The rotation in a single Euler axis will interpolate along a Great circle, and behave as expected.

However, Blender also provides other modes of rotation, which can be switched in the Item > Transform  panel of the Properties region in the 3D view. Quaternions will interpolate along Great Circle between keyed points, but are perhaps trickier to set in the viewport.

Analogous to parenting to an Empty, without actually parenting, might be Axis-Angle rotation. You define an axis, and key the rotation about it.

The rotations will only appear when their mode is active. You can key the switch between rotation modes, so as to have one take over from another in the course of an animation.

But it most circumstances, that might make things a bit complicated on your dope-sheet.


My brush is not affect in weight paint mode I was in weight paint mode and everything painted fine except I could not see the tool settings. I found how to make them visible. However for some reason after I did that, I cannot paint anything. I did not change away from the "draw brush." I tried changing to "add" instead of "Mix" but that didn't work. I tried changing the weight, radius, and strength of my brush but still I could not paint.

Okay so I figured out that for some reason you can now select individual faces to select.
On the top left of this picture there is a face and a vertex option to show their respective geometry. So when you are in that mode you can deselect all faces so that now you cannot have any influence on any faces. All you have to do is deselect everything with either  Alt + A which is the default for 2.8 or press A again to toggle between selected and deselected if you are using the old hotkeys.


RTX support for Cycles Running Cycles on a 2080ti gives me this error: "CUDA binary kernel for this graphics card compute capability (7.5) not found."

After digging around and finding lazydodo's old post I learned that I would have to wait for new kernel rebuilds with the new CUDA 10 toolkit.  Is there an idiot-proof guide to do this?  I'd work on it if someone could point me the way.

If not, is there an ETA on when it'll be updated to support 2080/2080ti cards?

EDIT: It's possible now!

You have to get a newest 2.79 (aka Official) build from Blender Builder. It has CUDA support but the kernels are missing. That's easy to fix, however. Get a CUDA 10-based Linux build from GraphicAll. Then go to blender\2.79\scripts\addons\cycles\lib. Copy the filter_7*.cubin and kernel_sm_7*.cubin files to the corresponding folder in the Windows build. It should work now :)

Thanks to Carlo Andreacchio for showing this method in a comment on GraphicAll.

Original answer:

I tried to recompile Blender with CUDA 10.0. Sadly, the library that Blender uses for initializing CUDA (cuew) didn't even recognize the toolkit. Last commit is from 3 months ago, when CUDA 9.2 arrived. We have to wait...


How to export animation to DirectX I have made a character and rigged him, but I need to export the character as x-file. The problem is this won't export correctly. The strange thing is: I tested it with only a simple animation - just rotating his arm - which works.

But if I export the whole animation, the character only moves a bit around.
It looks like the model takes the animation only from one bone, but the armature is exported. I can see this in "Open 3D Model Viewer".
I tried to bake the animation, but it did not work. Perhaps i did it wrong - I'm not sure.

Has anyone encountered this problem before and found any solution?

Here is the file: https://www.dropbox.com/s/ks35u4njoe...ing.blend?dl=0

P.S.: I used Blender 2.72.

I have solved the problem by myself. What you need to do is to set the Rotation mode of the bones to be Quaternion, instead of Euler.


How can I select multiple parents and their children? I have a multi-object structure (parents and children). In the Outliner, if I select objects and move them to a collection, it will move the object but NOT the child. So I have to select the hierarchy before moving to a collection. But I have multiple objects with their own children. How can I select the parents and select their hierarchies? I can only select a hierarchy for a single object. So to move multiple object with children to a collection I have to repeat the process for each of those parents.
Am I missing something?

You can select all the parents that you wanna move and then go to Select > Select More / Less > Extend to children. Or Shift + ]Shift+]:

Hope that helps.


How do I get object names to appear in the render? In my scene I have multiple objects (30+). In the viewport I have the handy control of selecting (in the Properties Editor) Object> Display> Name and copying to selected.

This is beautiful for diagrams etc. as wherever my view is at whatever distance these labels have been placed instantly, always face me and are always the same size.

How can you get these to display in a rendered view?

Is the ONLY option to manually create a label for each object, get them to track to your camera (Probably have to track to an empty miles behind your camera rotation otherwise they offset if your camera isn't facing exactly front on to an object) and add some sort of scaling property to change depending on how far away you are?

For the labels to be visible in the render they must be created as objects within the scene. The following script will process each object in turn and automatically create a Text object set to the object's name and position the Text in front of the camera so that it is in line with the object (1.0 blender unit infront of the camera) :

# Script to automatically generate labels for all objects in the scene and position them in the camera view
# Generated labels are prefixed with '_generated.' and replaced each time the script is run.
# Note that any objects with name that happens to start with '_generated.' will be automatically deleted!
#
# This script will automatically create a material named '_generated.Label' and assign it to all generated labels.
# The generated material can be modified to affect the appearance of the labels.

import bpy
from bpy_extras.object_utils import world_to_camera_view

scn = bpy.context.scene
cam = scn.camera

# Pickup the label material if it exists
mat = bpy.data.materials.get("_generated.Label")

if mat is None:
    # Material doesn't exist, create it
    mat = bpy.data.materials.new(name="_generated.Label")

# Get each object in turn
for obj in scn.objects:
    if obj.name.startswith('_generated.'):
        # Delete the old label
        scn.objects.unlink(obj)
        bpy.data.objects.remove(obj)
    else:
        # Create a new label
        bpy.ops.object.text_add()
        tobj = bpy.context.object

        # Set the name of the label to include the prefix so we can identify them and set the text
        tobj.name = '_generated.'+obj.name
        tobj.data.body = obj.name

        # Position the label between the camera and the object
        diffloc = obj.location - cam.location
        dist = (diffloc[0]**2 + diffloc[1]**2 + diffloc[2]**2)**0.5
        if dist == 0:
            tobj.location = cam.location
        else:
            tobj.location = cam.location + (diffloc / dist * 1.0)  #1.0 blender unit from the camera

        # Set the rotation the same as the camera and scale it appropriate to the distance
        tobj.rotation_euler = cam.rotation_euler
        tobj.scale = (0.03,0.03,0.03)

        # Assign material to object
        if tobj.data.materials:
            # assign to 1st material slot
            tobj.data.materials[0] = mat
        else:
            # no slots
            tobj.data.materials.append(mat)

Open a Text Editor window and click 'New' and name it 'objectnames.py'. Paste the above text into the window and click Run Script to run it.

The script examines each object in turn and calculates a position in line with the object where a label needs to be positioned for it to overlay the object. A new Text object is created at that location, orientated to face the camera, and assigned a material.

Once the script is run, switching to Camera view should show the labels positioned over each object in the scene. Changing the generated material '_generated.Label' will affect the appearance of all labels in the render.

The line :

tobj.location = cam.location + (diffloc / dist * 1.0)

affects the location of the labels - with the '1.0' indicating how far from the camera the labels should be positioned - amend it and re-run the script to position them closer or further from the camera.

Similarly, the line setting 'tobj.scale = (....)' sets the scale of the labels - again, amend that line to change the scale if desired (larger values give larger labels).

Amend the '_generated.Label' material to affect how the labels are rendered. For example, to give them an emission colour without the emission affecting the rest of the scene you may have something like the following :

This can produce the following result :

For animated scenes you will need to run the script for each frame of the animation to reposition the labels. This can be achieved via a "handler" which can be registered to execute each time the frame changes. This can be achieved with the following code :

# Script to automatically generate labels for all objects in the scene and position them in the camera view
# Generated labels are prefixed with '_generated.' and replaced each time the script is run.
# Note that any objects with name that happens to start with '_generated.' will be automatically deleted!
#
# This script will automatically create a material named '_generated.Label' and assign it to all generated labels.
# The generated material can be modified to affect the appearance of the labels.
#
# Scene Custom Property '_generated_label_scale' can be set to a numeric to set the scale of the labels.
# Create an object group named 'Labels' and place any objects within it to only render labels for those specific objects.

import bpy

def handler_object_labels(scn):

    cam = scn.camera

    labelscale = scn["_generated_label_scale"]

    # Pickup the label material if it exists
    mat = bpy.data.materials.get("_generated.Label")

    if mat is None:
        # Material doesn't exist, create it
        mat = bpy.data.materials.new(name="_generated.Label")

    # Get each object in turn
    for obj in scn.objects:
        if obj.name.startswith('_generated.'):
            # Delete the old label
            curve = obj.data
            scn.objects.unlink(obj)
            bpy.data.objects.remove(obj)
            bpy.data.curves.remove(curve)
        else:
            # Check if group 'Labels' exists and if object within that group
            if bpy.data.groups.get("Labels") != None:
                if (bpy.data.groups["Labels"].objects.get(obj.name) == None):
                    continue

            # Create a new label
            curve = bpy.data.curves.new(type="FONT",name="_generated."+obj.name)
            tobj = bpy.data.objects.new("_generated."+obj.name,curve)
            bpy.context.scene.objects.link(tobj)

            # Set the name of the label to include the prefix so we can identify them and set the text
            tobj.name = '_generated.'+obj.name
            tobj.data.body = obj.name

            camloc = cam.matrix_world.to_translation()

            # Position the label between the camera and the object
            diffloc = obj.location - camloc
            dist = (diffloc[0]**2 + diffloc[1]**2 + diffloc[2]**2)**0.5
            if dist == 0:
                tobj.location = camloc
            else:
                tobj.location = camloc + (diffloc / dist * 1.0)  #1.0 blender unit from the camera

            # Set the rotation the same as the camera and scale it appropriate to the distance
            tobj.rotation_euler = cam.matrix_world.to_euler()
            tobj.scale = (labelscale, labelscale, labelscale)

            # Assign material to object
            if tobj.data.materials:
                # assign to 1st material slot
                tobj.data.materials[0] = mat
            else:
                # no slots
                tobj.data.materials.append(mat)

    bpy.context.scene.update()

if not '_generated_label_scale' in bpy.context.scene.keys():
    bpy.context.scene["_generated_label_scale"] = 0.06

if handler_object_labels in bpy.app.handlers.frame_change_post:
    bpy.app.handlers.remove(handler_object_labels)
bpy.app.handlers.frame_change_post.append(handler_object_labels)

Note that this script uses a Scene Custom Property (_generated_label_scale) to control the scale of the labels (defaults to 0.06). By default, labels will be created for all objects in the scene. However, if a group named 'Labels' is found then only those objects within the group are given labels (so select all the objects you want to have labels, select Object/Group/Create New Group from the menu, then on the Objects propert panel rename the group to 'Labels').

Note that the labels are only refreshed on change of frame - so if you move objects or the camera you'll need to swap frame before the labels re-arrange.

This can produce the following result :

Blend file included


difference between Linesets and Linestyle? I wondering what is difference between Linesets and Linstyle.
in first, I think Linestyle is nested from Linesets, but it seems not.
I understand LineStyle is to change style or form of Freestyle Line
LineSets for ?

As I got it, a lineset is a complete "set" of properties, and also has one of the available linestyles, amongst many other indipendent properties and settings.

You can make each lineset behave in a way that it's applied to different rendering "selection methods".

By "selection methods" you can choose one or more of visibility, edgetypes, facemarks, groups and image border.

Eg: the simplest to explain an understand is perhaps groups: you could have two cubes, each has its own group. Then you can make the cube of Group1 to have a totally different "lineset" than the other, using two of them, each targeted to a particular group, like this:

while the other cube has a different group and, thus, a different lineset, which also has different linestyle (but is not mandatory: it could have same linestyle, but behave differently from the other lineset for other settings...)


Where can I set the Vse playback frame rate I want use VSE to make a short video. The source videos are  25fps so they run slightly slow. Where in the user preferences can you change this. I can't see it. Thanks in advance

Make the project match the frame rate of the video.

Go to the Preferences window, In the Dimensions section set the Frame Rate to correspond with that of the video.

Read also: https://blender.stackexchange.com/a/6270/1853


How come I need to manually correct .mtl file? Can somebody please explain me more about .mtl file? I understand it describes how textures should be mapped back on the object, but here's what I don't understand:
I have an object with materials. Materials are mainly textures connected into principled bsdf node, no any additional nodes in between. I export .obj together with .mtl, everything looks ok (at least to me). Below is a part with 1st material of .mtl file.

When the exported files are uploaded to sketchfab - I get the same model look I had in Blender (all looks identical and correct). But when I open the same .obj with Windows 3D viewer - there are some issues with roughness map (looks like viewer doesn't even see it). When this same file is opened with another viewer (someone asked me to make this model and opened it in their viewer, so I can not really tell what viewer it is), it also have issues with textures. Opacity and Base color are mapped, but again something wrong with others, roughness, normal and emission. They say that Ns parameter should be deleted from .mtl file, that Ks should be set to 0, illum set to 1... and some other recommendations.

So my question(s) is: is this normal that I have to manually change .mtl file? I would expect that there is a standard and Blender exports it in a way that every viewer should understand? Or maybe there are some settings I should change?

The answer is: It depends.

The .mtl file is following the specification and is therefore correct. However some viewers do not implement the specification in its entirety or may not even implement it correctly. Therefore it may be necessary to adjust the .mtl file to make it work properly. However this is not because the .mtl is wrong, but because the viewer doesn't support the Ns, Ks and illum statements.

  Ns exponent

  Specifies the specular exponent for the current material.  This defines
  the focus of the specular highlight.

  "exponent" is the value for the specular exponent.  A high exponent results in a tight, concentrated highlight.  Ns values normally range from 0 to 1000.

  Ks r g b

  The Ks statement specifies the specular reflectivity using RGB values.

  "r g b" are the values for the red, green, and blue components of the atmosphere.  The g and b arguments are optional.  If only r is  specified, then g, and b are assumed to be equal to r.  The r g b values  are normally in the range of 0.0 to 1.0.  Values outside this range  increase or decrease the relectivity accordingly.

  illum illum_#

  The "illum" statement specifies the illumination model to use in the material. Illumination models are mathematical equations that represent various material lighting and shading effects.

  "illum_#" can be a number from 0 to 10.  The illumination models are summarized below; for complete descriptions see "Illumination models" on page 5-30.

  Illumination    Properties that are turned on in the Property Editor

  0     Color on and Ambient off

  1     Color on and Ambient on

  2     Highlight on

  3     Reflection on and Ray trace on

  4     Transparency: Glass on
        Reflection: Ray trace on

  5     Reflection: Fresnel on and Ray trace on

  6     Transparency: Refraction on
        Reflection: Fresnel off and Ray trace on

  7     Transparency: Refraction on
        Reflection: Fresnel on and Ray trace on

  8     Reflection on and Ray trace off

  9     Transparency: Glass on
        Reflection: Ray trace off

  10        Casts shadows onto invisible surfaces


How do I make these move as one Both arms have this same issue and the forearm bone for the under and over sleeve has the same pull for the buttons and sleeve, I dont know how I could get these to move as one.

The weight is not good, for example the upper arm bone influences the lower arm mesh, you need to use a brush Blend type > Subtract to correct and it seems to work.


I have a few materials that I want to fade between during an animation I have different procedural materials and I want to fade from one to another during an animation. Any way to do this?

What you need to do is add a mix shader in between the two nodes, then you can add keyframes to the factor value by pressing 'I' while hovering over it:

I hope this helped!


How to create moving, dynamic/animated fog/clouds? I watched tutorials on how to create fog within bounding boxes, but the fog is static.
I'm trying to create a scene of an airplane where the camera is looking down on the clouds, and the clouds should be moving.  I was going to try and make the clouds in a similar way as I made the fog (with bounding boxes) but is there a way to make the clouds move?  The airplane is going to fly through the clouds so it's important that they are 3d and not just a plane.
Is there a better way than using bounding boxes?

As Yohello says you could use the Principled Volume and plug it into the Volume socket of the Material Output. Here is a basic way to do it (perhaps not the most realistic solution though, but you'll find other ones on youtube or maybe someone will propose here?):

Create a basic elongated shape, subdivide it a bit, give it a Subdivision Surface modifier.

Create this node chain: Texture Coordinate > Mapping > Noise Texture > ColorRamp.

Plug the Noise Texture into a Vector > Displacement node to give it a bit of 3D relief (don't forget to enable the Displacement > Displacement Only option in the Properties panel > Material > Settings > Surface).

Plug the Noise into the Density socket of the Principled Volume.

Now play with the Location values of the Mapping node in order to make the cloud shape evolve through time.


How can I access focal length of active camera, render resolution using animation nodes most directly? I would like to use animation nodes to create edge line meshes for fast edge line rendering-- meshes slightly displaced along their normals, with only backfaces rendered.  To create an edge line that's a single pixel wide, the world-space displacement needs to depend on the camera FoV (focal length + sensor size) as well as the rendering dimensions.

I would like to use animation nodes to do this, as it would simplify the creation of objects and should allow for easy reuse between projects.  I have just started learning animation nodes.

How can I most easily get these numbers into my node trees?  I've tried using object attribute input with a copied data path on my active camera object, but get an "attribute not found".  A copied data path to an expression node for render resolution likewise gives me "name is not defined."  Drivers seem to not be working on float input nodes in animation nodes.  I can create drivers on the positions of empties and access their positions in my node trees, but I'm wondering if there is a more direct way to access this for animation nodes?

I don't know of a way to directly access the current Scene's properties in Animations nodes but you can circumvent that with custom properties
.

Add 2 custom properties to your camera and drive them using your resolution. Example with the resolution X :

Now you can access theses properties in AN using an "Attribute Input" node.

Note : To access the "Camera" part of the Camera "Object", the path is obj.data

So : the focal lens is accessed with data.lens


How can i give my 3d ring a design with waves and other lines? for example i want to give my ring a better look by putting waves and lines on it, but i don't know how to do it. I'd be glad if someone can help me. Thank you

Topics:

UV mapping: how to map an image onto a mesh.
Shader Nodes: how to use images in various ways in your material, not just color.

In short, you need to UV map (nothing to do with ultraviolet) the ring’s outside. You can probably get the desired result by (with the proverbial finger of the ring pointing straight up):

selecting the top and bottom borders of the ring,
then selecting a slice of edges to break that into a strip when it unwraps,
marking all those edges as seams,
and then selecting all the outside of the ring (everything that falls inside that strip),
and “UV unwrap”-ing.

If that UV mapped the way I think it will, then using an image such as the one shown above in the ring’s material should wrap around it.


Simpler way to paste a texture on lots of Plane faces? I recently got started with Blender and Unity , and although I know this isn't a 'Unity Stack Exchange', I'm relatively new to all this stuff, and I'm extremely new to art and assets.

Basically, I have two questions:

When I tried to make a bigger plane/floor, I started by duplicating the small plane to make two small planes, duplicating those two to four etc. until eventually I had a big sized plane made up of loads of small planes. So when I export them to Unity, I just have massive amounts of planes without the texture I wanted them to have. So I was wondering if there was an easier way to put a texture on loads of different planes.

And

To just skip this whole mundane and long process, is there a way to get a texture and duplicate loads next to each other without the hassle of right clicking every plane then doing shift+d and moving them next to each other and repeat.

I'm also using c++, so if there's a code that you guys know that will fix one or both of these issues, I'd be grateful. Thanks.

You have several options depending on the result you want, you can scale one plane to any size you want, then either the texture scales up with it, or you setup the texture to repeat over the plane.

You can use two array modifiers to duplicate one piece of mesh in two directions. This will duplicate the same piece repeatedly. Then you can apply the modifiers to turn them into a real mesh object, which is an option during export if you only want it that way in unity.

If you want each piece as a separate item in unity, then apply the array modifers, then in edit mode use P->By Loose Parts to break them into multiple objects and ⎈ Ctrl⎇ Alt⇧ ShiftC->Origin to Geometry to put the object centres in the right place.

If you have created multiple planes, select them all A and press ⎈ CtrlL->Material to set them to use the same material.

To automate tasks in blender, we can use python v3 which is also used to create addons. The API reference is here as well as an introduction in the manual. You can also find plenty of scripts around this site for examples.

And if you need help with unity, they have their own site


Panoramic render not working I'm trying to create a HDRI picture of the moon to use for a Fusion 360 render (so it has to have a 2:1 aspect ratio).
I've followed several tutorials, but no matter what I do, I'm just not getting a panoramic equirectangular view (neither in the viewport nor render).
Here are all of the settings I have so far:

The moon was made following this tutorial, if that's relevant.
For some reason, no matter what I do, the render view does not change (I've played with Local Camera, Active Objects, etc.), so I'm really lost. Any help is much appreciated.

There are multiple problems in the scene that could easily happen, but accumulate in this case.

the camera is not at location (0, 0, 0). The scene setup has a sphere at (0, 0, 0). The camera is suposed to be centered in this sphere. This can easily happen with "camera to view" on in the N-Panel > View and jumping in and out the camera with 0. Check out the transform in the N-Panel and reset it with hovering + backspace

facing the camera to your motive is preferable, because your moon  motive is very small and would be cut in half and be displayed at your image borders because of the 360 projection. sugestion rotation (90 ,0, -90) or rotate the texture in the material.

there is no lightsource inside the image sphere, so everything is black from the camera perspective. Dont put a lightsource inside, the bouncing will be very very expensive but instead use an emission shader instead of principled. This is getting even better: now you can render your 360 image with one sample and no noise because emission shaders are returning absolute values.

original problems:

solution:


why chain not fall on the ground? With the chain as active and ground as passive created rigid body. Why the chain unable to drop on the floor. Chain is going through the mesh. Any suggestion whats going wrong

For your ground you've chosen Collisions but Collisions is for Cloth or Soft Body, you need to choose Rigid Body, Type > Passive and Shape > Mesh.
Also, apply the ground scale and apply the chain modifiers (I'm not sure why it messes up the simulation though)


Need help with rotating different faces of a rubik's cube with python API. When different faces are rotated sequentially some cubes start to act up Pls help
now these first two rotations got animated fine

but in the third rotation one object started moving along a different axis
(even though there are other objects just like this one(been in the same roation before))

and when more rotations are added more blocks start behaving differently.
Here is a sample function:
The wrt_global is a list of dictionaries keeping track of the global axis to the axis of individual objects. (The commented out part is solutions I've already tried).
def rotate_front_anti(f):
obj=list(bpy.data.objects)
for sq in obj:
    sq.select_set(state=(sq.location[0]>=2))

#bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
ob=bpy.context.selected_objects

for i in range(0,len(ob)):
   ob[i].rotation_mode='XYZ'

for i in range(0,15):
    for j in range(0,len(ob)):
        ob[j].keyframe_insert(data_path = "location", frame = f, index= -1)
        ob[j].keyframe_insert("rotation_euler", frame = f)

        #ob[j].rotation_euler = (Matrix.Rotation(math.radians(-6), 3, 'X') * ob[j].rotation_euler.to_matrix()).to_euler()

        if wrt_global[int(ob[j].name)]['x'] == 'x':
            ob[j].rotation_euler.x += math.radians(-6)
        elif wrt_global[int(ob[j].name)]['x'] == 'y':
            ob[j].rotation_euler.y += math.radians(-6)
        else:
            ob[j].rotation_euler.z += math.radians(-6)
        #ob[j].rotation_axis_angle=(math.radians(-6),1,0,0)
        ob[j].location[2],ob[j].location[1] = new_coords(ob[j].location[2],ob[j].location[1],1,1,6)
        ob[j].keyframe_insert(data_path = "location", frame = f, index= -1)
        ob[j].keyframe_insert("rotation_euler", frame = f)
    f+=1

for  j in range(0,len(ob)):
    temp=wrt_global[int(ob[j].name)]['y']
    wrt_global[int(ob[j].name)]['y']=wrt_global[int(ob[j].name)]['z']
    wrt_global[int(ob[j].name)]['z']=temp

bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
return f

Gimbal lock has been occurred for using rotation_euler. Can you try rotating matrix_local or matrix_world. It also has the advantage of simplifying the calculation of the rotation position from the rubik cube origin.


Video Editing - Text Effect Font Can we change the Text Effect(Video editing) font as of 2.79 version?

If not, how can a text created by Text Editor be pulled into the Video Timeline Editor?

Thanks,
Anand

Personally I use the fact that Blender can have multiple scenes each with wildly different settings/setups/objects.

Click the plus sign at the top of the screen next to Scene.

Select New and rename it to something relevant.

note that it resets to the Blender defaults, in this case I Blender Render not Cycles, so remember to update it.

Add a Text object and add a camera. set the rotation to 0,0,0 and position it above your text.

Set the Camera to Orthographic.

There are various ways of getting the Text lit.

I usually add a Lamp set to Sun and pointing directly down. Change the Strength to 4 to get a strong contrast.

Depending on what outcome you want you can either set the background colour or set as Transparent.

Now in the VSE you can add a new Scene as a video strip

Then set the Strip settings to your new Scene

final set the Strip Blend to Alpha Over and the Alpha Mode to Transparent

When you render the strips will be combined.

Here the default Scene contains the default Cube with the default Lighting and our Title Text Scene is Rendered and placed in front of it.

The great thing about this technique is that you can do really cool animations with the text. From basic scrolling to bouncing to 3D manipulations. And you can do this with as many scenes as you need.


Bevel node, baking normal map problem bevel node is still under development, but maybe somebody know how to fix problem when baking bevel node into normal map, there are a lot of gray dots on the map. Everything else working well, awesome node.
blender-2.79-ef8bbc8-win64

I don´t know how would you fix it and get a perfect bake, to me it seems like an issue due to ray tracing, where more samples are needed, denoise filter and what not. What you could try: Try to find a denoise filter for Photoshop or whatever ur using and apply it to the normal, see if it fixes it. Also what you can try is playing with blur and then using overlay, difference blend modes to try and patch up those holes with something that works. Maybe copy the normal map, offset it by 1-2 pixels right and up, and use difference blender mode to catch a selection of these dots and then reuse the offset texture to patch it up with those normal base on the difference alpha you get.


The geometry of the mesh gets distorted when rigged and posed I tried to set up a rig into my character as you can see in the image. However, I have two problems :
A. When I move the rig, the geometry gets distorted crazy.
B. Whenever I move any joint, the pose mode lags so slow. All the joints do not bend as smooth as they are supposed to be in Youtube tutorials. Here are my approaches to the problem, which did not work :

Since the body mesh had 'Multiresolution' modifier on, I thought it was the excess number of geometry that is causing all the lagging and making the computer difficult to process. So I deleted the multires modifier and tried it with same rig. However, both the lagging or the crazy distortion of the model did not disappear.

I did not tried the weight painting method in rigging which most blender tutorial demonstrates, because just like the pose mode, the weight paint mode lags crazy. Maybe that is the problem, but I will give the description of how it looked when I entered weight painting mode: The character was in full dark blue with no red or green colours. Would there be any other approaches to solve this problem? By the way this is the tutorial that I followed : https://www.youtube.com/watch?v=TL45rxB30_o

Also, here is the file of my mesh : https://drive.google.com/file/d/1URSnA5C7Wp66RLt6UQEupGX9waX3DQpk/view?usp=sharing

So to fix your problem:

Disable the Multiresolution modifier, because it makes your computer lag (before parenting you need to bake the multires normals so that you can use a low-poly object instead).
Apply the object scale with CtrlA > Scale (explanation about object scale here).
In Edit mode select all and press ShiftN to recalculate the normals.

To avoid parenting bugs it's always better to apply scale and rotation and to make sure that the normals are correctly flipped.
The file is here.


UV Unwrap not working in Blender 2.9x As a newbie in Blender, (I'm a lightwave and Modo 3d user) I'm probably just beginning posting questions here, I hope I won't bother you too much.
So, I'm trying to unwrap some sort of a low poly dinosaur, I followed some tutorials but It doesn't work for me.  See the video:
https://youtu.be/2YmFlE3n9OQ
Thank you!

You are currently in Image editor which is kinda similar to uv editor but isn't the same thing see on the top below title bar you see some workspaces , like layout , modelling , there is one workspace known as uv editing , there if you have a look at your uv's , you will realize that they are already there but you were looking for them somewhere else


Can someone explain why my Color Space options are different from any tutorial or documentation I've seen? I'm wondering if anyone can explain what I'm seeing when I use the "Color Space" drop down on a Image_Texture node? No tutorial or documentation seems to have any info on this. I'm just trying to set it to Non-Color since I'm baking a Normal Map. Hopefully I'm just dumb and missed something obvious, but this has really got me stumped.

This is a tough one.  I just spent some time trying a number of color spaces trying to reproduce this, with no luck. What app was the PNG exported from? Does it have an unusual color space of any kind?  Also, do you have any node or shader add-ons loaded into Blender?


How to use Animation nodes expression to call numpy.lcm? I am trying to write a blender / Animation nodes to generate Epicycloid but I am getting an error message from the Expressions node.

The imports are math, numpy and the expression is lcm(a,b) but the error message is ufunc 'lcm' d..ype('float64').

I assume "d..ype" is dtype but since I have tried both ints and floats as input and there is no float64 how can I call the numpy function?.

I am on a Windows 10 machine running blender 2.8

You have to change the modules name math to numpy in the advanced node settings of the Expression Node which is located in the N-panel.


Are there any known formulas or other ways to create a realistic physics animation? E.g. to calculate the (negative-)acceleration of a fist hitting an object by setting the force in the arm, its weight and the gravity.

It would be very useful to just use this data to create a realistic animation than trying to adjust the frames/graphs manually and trying things. It'd save a lot of time.

[I am not an animator, and this opinion is solely based on conversations with animators and reading various articles on the subject]

Some things can be simulated to add realism, and blender supports several types of simulations: fluid, newtonian (bullet) physics, smoke and cloth and hair.
You can theoretically use the bullet physics engine to simulate what happens after a fist hits an obstacle.

You can also use motion capture (mocap) to record real motion and use this data in animation.

However, in most VFX and animated films, mocap and simulations aren't usually used just as they are. They're usually the basis or reference for enhanced, exaggerated, stylized or precisely controlled animated sequences.

Cloth, hair, fire/smoke and fluid sims are very useful for producing quick and realistic results in these departments and are more likely to be used as they are (except for some cleaning and fine tuning), especially for background animations. But animators often want more precise control over the end-result than simply running a simulation for main characters' animations.

So the short answer is: yes, you might be able to simulate some things instead of hand-animating them, or to use motion capture to acquire real motion data; but  you might not want to use these exclusively.


Blender: on/off collision modifier I have a collision object with the fluid particle emitter inside. The idea is that when the fluid fills up the object, it explodes and all the particles falls out.

The problem is that I can't find a way on how to animate the collision itself and turn off the modifier on certain frame?

Typically you can animate any value in blender by hitting i. If there isn't an on/off switch, you can modify the collision object's geometry.

Go to the frame before the shattering. There hit i > Scale. Go to the next frame and sto scale the object up. Make it so big that it doesn't block the flow of the fluid. i > Scale again to save the size.

Now it should work.


Create Ellipsoid with input I use to define of a sphere to draw an ellipsoidale, for the case of a sphere:
bpy.ops.mesh.primitive_uv_sphere_add(size = size, location = location)

For the case of an ellipsoidale, I created in this menu:

I use the lines:
bpy.ops.mesh.primitive_uv_sphere_add(radius_a = self.mesh.getRadius(), radius_b = self.mesh.getRadius(), radius_c = self.mesh.getRadius(), location = loc, segments = res*2, ring_count = res)

class Ellipsoid(particle) :
    """
    Ellipsoid mesh class
    """
    def __init__(self, radius_a, radius_b, radius_c) :
        """ radius_a (int), radius_b (int), radius_c (int) """
        self.radius_a = radius_a
        self.radius_b = radius_b
        self.radius_c = radius_c

But the problem is displayed that there is an error in the ellipsoidal definition.
Can you help me to define the ellipsoidale with input of the 3 dimensions

If you want to create an ellipsoid, just create a sphere, scale it up or down (based on the sliders), then apply the scale


How to manipulate a individual edge How can I lower the edge indicated with red arrow to the edge indicated with the green arrow.

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

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


Uneven lighting in cycles render I'm making a new animation and for some reason, the lighting in the render isn't even.
I've tried adding an area light but no matter how bright it is, the dark faces on the right don't show any change.
It's all indirect lighting and with the symmetry, I want both sides would be lit the same way.
Here's a frame that shows what I'm talking about. (Surrounding the coin-op on the right hand side, it's all dark)
Any help is appreciated. I'm a bit stumped.
Edit: I've also noticed some splotches of darkness above the coin-op on the left. Could it be the texture?
Second edit: Link to file coming soon. Clamping and environment lighting did basically nothing.
https://drive.google.com/file/d/1mguxyLO8M8u8hAYRC3nFBJzHZht4XHMB/view?usp=drivesdk
Sorry it took so long to get my file uploaded! Hope this helps!

Difference in lightning does Material 2 - Magic texture.
This node generates black material on some faces differently, depence on object position.
On the left side are black back sides of object on the right sides are black front sides of objects.
Disabling node from node tree fix the lightning issue.

Node attached into Normal socket generates blacks on all negative XYZ axis directions.

I don't know what is a proper way, but ussally you should plug node into Color socket. So try this.

Plus as already mentioned - you have overlaping objects with different materials. But even I kept only one side and Mirrored with modifier, issue was there.


Inverse Kinematics, spins wildly I am trying to make an inverse Kinematics between the leg IK.L and the lower leg.L, thsi also has to have a pole target of Knee.L

The problem is as soon as I move the leg IK.L part the rest of the leg starts spinning uncontrollably, and even if I try to move it back to the starting position it just continues to spin

I really need help on this as an hour long tedious search has turned up nothing relating to my problem, these are the settings for the IK.

You have to unparent the IK bone from the rest of the rig. Once you have the bone selected in edit mode go to the armature settings and at the top of that menu there's the parent options choose 'clear parent'. That should fix it.


How can I force the Compositor to update via Python? While working on an Add-on that does node connection stuff, I came across a problem I can not find a solution to anywhere: The compositor nodes are only ever updated / evaluated, as long as there is a compositor space open somewhere. If you for instance have the image editor maximized, compositor node tree changes are not evaluated at all.

I am displaying the result of my Python node reconnections through the Viewer Node in the image editor. As long as somewhere there is a Compositor window open, this works. As soon as you switch that window to something else (like a 3D View), updates are not calculated at all.

here is a .blend file to test this, the GIF below shows how to trigger the behavior I described:

I have tried calling the update, update_tag and evaluated_get methods pretty much anywhere I can think of. Is there a way still to force a refresh?

Compositing output can be updated by rendering without any Render Layers nodes in the compositing node tree.

See documentation about Render Operators

bpy.ops.render.render(animation=False, write_still=False, use_viewport=False, layer="", scene="")

If I am not mistaken this use_viewport parameter seems to be for controlling if the render process is shown in the UI. It is false by default so it should not show the render in the UI unless specified otherwise.


OnEditFinished listener or something equivalent? I'm looking for a sort of event listener that triggers after a transform has finished.
So far i found this:

def scene_update(context):
    if bpy.data.objects.is_updated:
        print("One or more objects were updated!")
        for ob in bpy.data.objects:
            if ob.is_updated:
                print("=>", ob.name)
bpy.app.handlers.scene_update_post.append(scene_update)

I need to add something so that the print only happens after the translation of a vertex is completed (not while i'm still dragging the vertices around).
Any idea what ?

This is a mix of the answers here Find out if Mesh Operator (bpy.ops.mesh...) was cancelled or not via python and How to get the active vertex within a Handler?

Looks for bpy.ops.transform.translate as the active operator and if used prints out the selected verts and amount transformed.

import bpy, bmesh
from bpy.app.handlers import persistent
from mathutils import Vector

def check_operators(bm):
    op = bpy.context.active_operator
    if op:
        if op.bl_idname == 'TRANSFORM_OT_translate':  #bpy.ops.transform.translate.idname()
            #print("bpy.ops.transform.translate(%s)" % " ,".join(["%s=%s" % (k, str(v)) for k, v in op.properties.items()]))
            print(op.name)
            v = Vector(op.properties["value"])
            if v.length:
                print("value", str(v))
                print("verts", [v for v in bm.verts if v.select])
            else:
                print("operator canceled")

dic = {}
@persistent
def edit_object_change_handler(scene):

    obj = scene.objects.active
    if obj is None:
        return None

    if obj.mode == 'EDIT' and obj.type == 'MESH':
        bm = dic.setdefault(obj.name, bmesh.from_edit_mesh(obj.data))
        check_operators(bm)
        return None

    dic.clear()
    return None

def register():
    bpy.app.handlers.scene_update_post.clear() # for testing
    bpy.app.handlers.scene_update_post.append(edit_object_change_handler)

register()


How to keep a bone in place when posing/animating I'm new to animating in Blender and trying to figure out how to keep a bone in place while posing for animation. My character is a monkey swinging vertically across a ledge of a wall. I want to keep the hand completely still, in place, while rotating the rest of the body from the arm. But every time I try, the hand moves along with the rest of the body. Is there some way to pin the hand in place during animation? Thanks in advance!

This is exactly the task IK was maden for: set an IK chain from the hand to the shoulder (and remember that you can animate the influence of the IK constraint, so you can use normal FK for the others portions of the sequence).


Making intersecting parts of objects turn the combined colour? (red+blue=purple) I want to make the intersecting parts of the objects (they are two different objects converted from text) turn the combined colour (a kind of purple, I guess). How could I easily do this, without having to use the knife tool? Could I use materials to do this?

Also, do I have to assign what the combined colour would be, or is there any way to calculate it in Blender?

I tried using the boolean modifier, but it acts very weird, I don't get the desired effect.

I was thinking if there would be a way to separate the intersecting parts from the objects to create new objects where they intersect so that I could turn the new objects the required colour.

The image is from the view port.

You can use Boolean modifiers if you want to have full
   control of the intersecting material.

Starting situation:

These objects must not be touched, as they are the "basis" for the modifiers. So the first step consist in copy the left (or the right) object) and hide all the other. We'll call this "Left copy intersect right"

Add to this object a Boolan modifier, set to "Intersect" an than point to the right object.

Here we have the first part of three... we can assign a purple material to this object.

Copy again the left object, assign boolean modifier an this time set boolean operation to "Difference" and point to right object.

Finish with the last part. Copy Right object, add boolean modifier, set to difference, to left the object.

Assign material to the three object as you wish

You can use Volume absorbtion shader if you want that the two materials blend themselves for real

Create a material based for example on a glass shader for the surface and a volume absorbtion shader based on wanted color for the volume output.

Notice that these are the "origninal" right and left objects, so you don't need other operations, but you have some limitation on the material... they must have a transparent component.

Also notice (in the 3D view on the top) that you have to move the geometry a bit, to avoid overlapping faces that may cause artifacts.

Here's another possible material and the blendfile:


Quickly align edge loop? I am trying clean up topology, and I have found an issue which I will have to do a TON work for this mesh.

I have a line of vertices I would like to quickly make straight. You can do this in the UV/Image editor by pressing W > Align X or Y.

Is there any possible way to achieve this is the 3D View?

For the edge loop in your picture, with the Pivot Point  set to Median Point, Individual Origins, or Bounding Box Center, you can press SY 0.

That will scale all the selected vertices along the Y axis to 0, meaning all together, because the scaling is constrained to the Y axis, you will get a straight line perpendicular to the Y axis.

SX 0 for the X axis
SY 0 for the Y axis
SZ 0 for the Z axis


windows 10 updated and now blender won't run It just shuts down when i tried to start it up. no error message or anything.
i tried uninstalling it and downloading the latest version. still doesn't work, just shuts down from the command prompt thing. I tried updating my drivers, didn't change anything.
when i run it from the command prompt i get a popup which says "This App can't run on your PC, to find a version which will run on your PC check with the software publisher"
Please help!
Edit: I've tried installing version "blender-2.79-e045fe53f1b0-win64.zip" and  "Blender 2.90.0 Alpha" as well. same thing with both.

First, I would try to launch it via Steam. If you don't have Steam, either install it or try getting the latest update from blender.org. If you already have the latest update of Blender, you may want to try reinstalling blender. If you have a Flash Drive or SD Card, copy all of your Blender-related files onto there, then reinstall Blender.


How to sort multi-user objects? I have a list of all multi user objects per layer:

multi_user_list = []

for obj in bpy.data.objects:
    if obj.layers[0]:
        if obj.data.users > 1:
            multi_user_list.append(obj)

How I can sort the list by objects with the same user?
E.g.: [(cube, cube1), (cube2, cube3)]

It's probably not optimal but I found a method that works:

multi_user_list = []

for obj in bpy.data.objects:
    if obj.layers[0]:
        if obj.data.users > 1:
            multi_user_list.append(obj)

group_list = []
group = []

for obj in multi_user_list[:]:
    for ob in multi_user_list[:]:
        if obj.data == ob.data:

            group.append(ob.name)
            if ob in multi_user_list:
                multi_user_list.remove(ob)

    if group:
        group_list.append(group)
    group = []

print(group_list)


Can i fill a solidify mod while keeping it as a modifier? I have a part that I would like to cut out of an object. however, the part is going to be 3d printed so it needs to have a small gap so that the actual part can slide into the cut space.
The solidify modifier with boolean works perfectly for cutting the gap to be a specific thickness. However, the mesh being solidified was already manifold, this means that when the boolean is cut, it only cuts out the gap and not the part that needs to be cut. I know that I could apply the modifier and delete the internal geometry but I don't know if the gap will be the right size so I would like to keep it modifiable.
Is there a way to make the result of the solidify modifier a solid object without applying the mod and deleting the internal geometry?

You can use a displacement modifier without a texture to widen your cutter object along the normals.
If you don't use a texture, the modifier defaults to 1.0 (white).
I'ts not as convenient as the solify modifier, as the strength doesn't directly translate to blender units. but if your cutter object is in fact just a cube, you can use the dimensions in the transform panel to get a somewhat accurate result.


How do I flip an armature to face the other way? I have a model that i realized was facing the wrong way, so I rotated it 180 degrees to face the opposite direction, but I can't for the life of me figure out how to make the armature face that direction as well.

Im a 100% noob so pretend i know almost absolutely nothing if you want to help me please.

Make sure you're in object mode. Then rotate the armature instead of the mesh. The mesh will rotate with the armature if you have it parented (and if it isn't, then the armature won't do you any good because it won't deform the mesh!). Then apply the rotation both on the armature and on the mesh using Ctrl-A.

To make your armature deform the mesh, first select your mesh, then your armature and hit Ctrl-P. Choosing "With automatic weights" from the resulting popup is a good first step.


How do I make objects collide with text? I'm a beginner in Blender, and I'm making an animation where an animated piece of text collides with balls in its path, causing them to roll.  I was just wondering if there was some way to tackle this with some kind of physics simulation.

Convert your text to a mesh as indicated in the image below to get more options in the physics panel.


After updating Blender from 2.79 to 2.81, all my bones don't work as they should So all my models are the same. When I try to rotate a bone in pose mode, the mesh kinda rotates faster than the bone. But if I make a new object using the same armature and weight paint it and all that, it works fine.

Here's a video of what happens https://youtu.be/kfsslGc6mSg, and the Christmas hat is a new object.

Delete the Rigid Body simulation.

It is good to Apply Object Transform

and parent the character to the armature,

so it will follow it.

I recommend you to transfer the character to the new blend file to get rid of the legacy scene settings.


How To Append a Node group from another Blend file Using Python Script How To Append a Node group from another Blend file that is Present in my D drive on my windows computer.
I wan't to Append a Material and path to my material is -
- D:\2.8\Test01.blend\Material\Test_Material
using a python script.

Can Anyone Help me Out ?

I finally got the answer of this problem
this scipt worked for me
 -

import bpy
path = "/Users/Rakesh\Desktop/wallpapers/FIRE SHADER/Fire Shader Advanced.blend\\Material\\"
material_name = "domain"
bpy.ops.wm.append( filename = material_name, directory = path)


Material not textured I'm having a problem with textures not being applied to the material as you can see in the picture. It is possible to get it to work by clicking on the white X and manually selecting the image but it's too time consuming. Thanks in Advance.

Managed to get it to work by selecting diffuse/color


Why won't this mesh let itself be weight painted? For some reason, this Mesh won't let itself be weight painted. No matter what I do, I can't really paint more weights on it, specially not in face mask mode which I kinda need.

Does anybody know why?

Sample file: https://a.pomf.cat/wtlzlh.blend

I see two reasons:

Mode is face selection masking: so you need to select faces (A or right click select)
The setting is to subtract and there is no weight to subtract


How can I light an object for a turntable animation? I need to make a turntable animation for an object, but I am not sure how to light it to get a consistent light all around? What is the best way to approach this?

One method is to add multiple spotlights surrounding the scene:

Since World light comes from all directions, Another method is to change the world color and increase the World light strength:

You can also experiment with different types of lights and angles to get the results you are looking for.

Here is the Wolrd lighting + 4 point lights plus a 3d mesh put in the middle:

Each light is 150w and the world lighting is pure white with a strength of 0.4.


Same Material, different results? I've linked to a blend file containing bits of two objects, both with a green material, and both (at least as far as I can tell) with the same texture. In fact the object on the left (named "water") was created from the object on the right (named "terrain") after the material was created. They look the same in solid shading. But in textured shading, they look different. The water still shows the green material, but the terrain does not. I obviously did something to the terrain object when I was paying insufficient attention, but I cannot figure out what would cause the same material to look different. Help, please?

FWIW, the rendering agent of choice here is Blender internal.

Found it. The terrain object has a UV map. This causes the diffuse color to be overridden in multitexture view, as the texture under the UV map is displayed instead. Apparently a blank texture appears as white.

This won't affect the render, but if you want the texture display to be consistent, remove th UV map in Properties editor > Object Data > UV maps.


Why does my PyDriver only update on frame-change? I have created a driver using this expression:
bpy.data.objects["e1"].location.x**2/5

It works whenever I change the frame but I'd like it to work on redraw. One solution that won't always be appropriate is to select the driven object along with the driving object. Is there a more universal solution?

Don't use bpy.data.*** because blender won't know to create a dependancy between the objects (this is why updates are not working properly),

Instead:

add a driver variable with the button Add Variable.
select object ID type.
then enter "e1" as the object name.
the location channels X axis are default.

Now you can use the variable name defined by the driver variable in place of: bpy.data.objects["e1"].location.x.


Use array values from a C++ program in blender I have a C++ program which creates an array and stores the z-coordinates of the objects blender. How do make use of these values in the python script of blender? I surfed the net and found boost Python but not sure if it would work in blender.

Please suggest ways of doing this.

You can print your cpp values to the console and execute the app with python's subprocess module. Here is a simple cpp program that outputs random x,y,z values:

#include <iostream>     // std::cout
#include <vector>       // std::vector
#include <ctime>        // std::time
#include <cstdlib>      // std::rand, std::srand

int main () {

  std::vector<float> z(10);
  float x = 0.171;
  float y = 0.324;

  // iteration to store random numbers
  std::srand (static_cast <unsigned> (std::time(0)));
  for (std::vector<float>::iterator i = z.begin(); i != z.end(); i++){
    *i = static_cast <float> (rand()) / static_cast <float> (RAND_MAX);
  }

  // iteration to print x y z values
  for (std::vector<float>::iterator i = z.begin(); i != z.end(); i++){
    std::cout << (*i * x) << " " << (*i * y) << " " << *i << "\n";
  }

  return 0;
}

The output should be something like this:

0.170636 0.32331 0.997869
0.0806884 0.152883 0.471862
0.0141332 0.0267788 0.0826505
...

Get the values

Use Popen.communicate() to read the output and split the lines as you like:

import subprocess

# path to the app
app = '/home/user/Desktop/app'

# communicate can read the data:
out, err = subprocess.Popen(app, stdout=subprocess.PIPE).communicate()

#  split the string by line
out = out.splitlines()
print (out)

# create lists
xValues, yValues, zValues = [],[],[]

# append the values to to the lists
for line in out:
    line = line.strip()
    columns = line.split()
    xValues.append(float(columns[0]))
    yValues.append(float(columns[1]))
    zValues.append(float(columns[2]))

# print the values
print (zValues)

Creating keyframes

Iterate through the z values, set the start frame, offset value (optional)  and use keyframe_insert in order to create keyframes for the selected object(s):

# get selected object
obj = bpy.context.active_object

# animation start frame
start_frame = 1

# frame value
frame_number = start_frame

# keyframe offset
offset = 3

# iterate through z values and apply them
for i in zvalues:
    # set the frame
    bpy.context.scene.frame_set(frame_number)
    # set new location
    obj.location = (0,0,i)
    # insert keyframe
    obj.keyframe_insert(data_path="location", index=-1)
    # add offset value
    frame_number += offset

Adjusting the timeline

To adjust the timeline use bpy.data.actions to get a list of actions in the scene and assign the last key value to bpy.context.scene.frame_end:

# get all actions
action_list = [action.frame_range for action in bpy.data.actions]

# sort, remove doubles and create a set
keys = (sorted(set([item for sublist in action_list for item in sublist])))

# assign new start frame
bpy.context.scene.frame_start = start_frame

# assign new end frame
bpy.context.scene.frame_end = keys[-1]

For more details see this answer: How to find number of animated frames in a scene via python?

Result


Problem with Texture on Plane I've got a little problem. I tried to put a texture on a plane, but now it looks like this.

It looks very buggy and its cut at the half of the plane. How can I fix this?

Thanks for your help.

There is a much easier way to project an image onto a plane.

Enable the images as planes addon under 'user preferences'
Press 'SHIFT + A' -> Mesh -> Images as planes

Then search for your image and voila!

This does not really answer your question but it should work out fine for you I guess.

If you really need to fix the problem you're facing:

Get into 'edit mode'
Select all (press 'A')
Go to top view in ortographic projection
Press 'U'
select 'project from view'
Go to image editor en scale your UV's if necessary
Done!

If you still have problems after these steps, try recalculating the normals.
(shortcut: 'CTR +N')


How can I enable dynamic paint in the viewport without the weight colors? I like to use dynamic paint to manipulate vertex groups between modifiers in the modifier stack (e.g. after an Array modifier to control a particle system).

By default it visualizes the weight colors on the object.  This is good for adjusting the DP settings, but otherwise impedes the visibility of the model's topology, and is generally ugly.  However when I uncheck the Display modifier in viewport button it not only goes back to normal shading on the object but also disables the actual DP results (in the viewport).  So all following modifiers use the vertex group as per pre-DP.

Is there a way of just turning off the weight color visibility of the DP modifier without disabling it's effects entirely in the viewport?

Under the Dynamic Paint rollout of the Physics panel (on the canvas object) there is a Display surface preview in 3D views eye-button next to each DP surface slot.  This does exactly what you are looking for.


Where can the stats at the main bar be changed? I would like to hide some of the "mesh info stats". Looked into space_info.py, but it only contains the menu items.

Thanks.

Those are defined in C in /editors/space_info/info_stats.c, they are not editable at all from/with python.


How to build building that is made of small pieces - how to correctly put rigid body over rigid body? I'm new to blender and actually amazed from the possibilities it provides. I successfully created a set of boxes (like domino tiles) that fall in a chain reaction. (Like in this answer: https://blender.stackexchange.com/a/7111/8260).
When I did this there was a tiny fall of the tiles (about 0.001cm) and very quickly they stood still.

OK, Now I want to build a +30 tiles height building (and see them fall :-) ), but even though I put the tile one over another with precise mathematical positioning they still have an initial shake, so a 5 floor tower stands, but a high tower just falls by itself.

The tower I am tring to build looks like this:
(this is an example of 5 floor tower, each floor has 2 vertical tiles and one horizontal)

__
||
__
||
__
||
__
||
__
||

So my question is - how can I position this kind of building with 30 floors or more without get the "initial shake" when starting the simulation - I want the building to fall only when it gets hit.

AFAIK Bullet (the library blender uses for rigid body simulations) is designed more for real-time speed over accuracy, so you might have to use some tricks.

Select all the objects in the tower and enable Enable Deactivation and Start Deactivated in Properties > Physics > Rigid Body Collisions.

Then right click on each setting and select Copy to selected.

This will make it so the tower will not be simulated until another active rigid body comes near it.
Increase the number of simulation steps in Properties > Scene > Rigid Body World:

The higher this value is, the more CPU time is needed to calculate the simulation. However, higher values will also make the simulation more accurate.

Result:


Trying to make it rain donuts using particles Im new to blender.
have created a low poly version of the blender guru's donut. I linked it to a particle system that drops down on a collision plane in an attempt to make it rain donuts on my kids.
problem is: the particles end up embedded halfway in the plane.
I tried to use size deflect but they stop midway in the air.
also, they don't behave as rigid bodies. they don't topple over and most cases just stick up sideways un-naturally.
is it even possible to make particles behave as rigid bodies?
I saw this older blender version tutorial
https://www.youtube.com/watch?v=G1ysjPeLKSQ&t=148s
which appears to do just that.
here's the blend file:
https://www.dropbox.com/sh/qofhga0gz0z2nq0/AAAno6xMNvYhfwMcKxPqWkZQa?dl=0
help would be most appreciated.

thnx

I'm not the expert, but I might be able to help...
I've had something like this, but not with doughnuts (unless that is why the cake... never mind). I would suggest some form of applying the particle system, prefferably somehow starting all the doughnuts in different positions mid-air. You may be able to randomize their positions with a script.


How to set up Vector for a radial Voronoi Texture without a Texture Seam does anybody know of a way to make a similar looking texture that scales from the centre outwards without having a seam (see picture)?

anything that produces a texture of some kind of cones that originate from the centre would work in my case.
any help or Ideas would be greatly appreciated
thanks in advance

Got it working now.

did it like @RichSedman post instructed and changed some things, now it looks like this:

compared to the old one:

now i wont get my knots cut in half where the texture used to have a seam:


Is losing my settings upon updating a problem with the steam version of blender? At the moment I use steam to keep blender up to date, but I think since 2.8 (or maybe 2.79 didn't update often enough for me to notice) I've been losing my settings with every update.  Is this just steam being the red headed stepchild of blender distribution?

While the steam version automatically updates, it still stores the add-ons and config files in the same place. Blender separates every version and stores it in a folder named based on the version.

Those folders can be found under:

C:\Users\"Accountname"\AppData\Roaming\Blender Foundation\Blender\

Should look like this, instead of the red bar, well you know your accountname better then me.

and you should find one or more folders with the different version numbers.
Most likely 2.81 and 2.82 now, you can then rename the 2.82 to 2.82-bak for example and rename the 2.81 to 2.82.

That way you should have all the settings from the 2.81 taken over. Otherwise you can go through the files and manually pick which files you may want to keep.

As long as you do not use files from 2.79 and before, you should be fine.


How to convert materials into textures in EEVEE? So, I made a very complex material (in my opinion) in EEVEE, using certain nodes that only apply to EEVEE like the Shader to RGB node.

I've come across certain tutorials in which they transform materials into textures, but they're using Blender 2.79 and below.

Youtube

Stack Exchange Question

Also, while trying to find some solution, i came across something they called "Principled Baker" in which I suppose it's an add-on to bake textures from the Principled Shader. The problem is, by my understanding, the Principled Baker only works with Cycles.

Principled Baker

So, I decided to ask "Is there any way to convert the material I have into textures?".

I'm not an expert on textures but I'd say it's probably albedo/base color, roughness and normal.

I'll leave my blend file of the object in question.

Blender File

Thank you for your time and hope to hear good news!

As of July of this year, you can't bake Eevee-specific elements to textures, since Eevee itself doesn't support baking.

There's a discussion about this on the blender community page

https://blender.community/c/rightclickselect/X0dbbc/

The main takeaway from the original post there is;

"Baking isn't currently available in Eevee in any form." -jpgarsemailbox

If you have an object that uses non-Eevee-specific nodes, you could bake it in Cycles (et al) and bring it back into Eevee. You might even be able to bake everything except the Eevee-specific parts, then layer those on top after backing in another renderer.


Mesh Not Following Curve I've been following this video and managed to do the hair correctly for the front part of my head, but for some reason I'm unable to get the mesh to properly follow the curve for the hair mesh meant to come down the side of the head.
The Mean Tilt for my curve is the same as the curve for my front-facing hair curve, and yes, the origin of both the curve and mesh are at the same spot.
The curve is set to -Z because I want the mesh to be upright when I'm editing it (see image), but this makes the mesh in object mode not curve downward along the curve to look like a hair. The mesh follows the curve perfectly if set to -Y, but then I have to work with my view turned on the side.
Its a bit confusing to explain, but basically, I want the mesh to be upright when I'm editing it, but I want it to follow the curve correctly from the side while it is in object mode (and downward vertically so it looks like hair) - I can't seem to have both.

i may be misinterpreting the question, but it seems to me that if you want the mesh to deform the the curve, you need to add some loop cuts going down, a mesh can only deform along a loop


How to detail my sword texture? Good day,

Ok, so here is my Claymore model. I put textures on the blade and hilt and I think it looks good but it needs extra details to bring it alive. I followed Blender Guru's anvil series and while those kinds of scratches work really well on an anvil, I feel they need to be a lot subtler on a sword. I am not sure what to add. I mean scratches yes, but what kind of scratches. They can't be very obvious like on the anvil. I also saw many people put rust but what kind of knight would let his sword go rusty?

Here is my sword

But I want it to look more like this.

The best way to go from here is to find some images of swords that you can refer to. From what I know, most swords would be kept well polished and mostly scratch free. If you're going a bit more stylized like you would find in a game, then some scratches on the edge from cutting things would be one of the first things to add.

Before you continue texturing though, I would recommend working on your lighting. One of the reasons the second image "pops" a bit more is due to the colored lights. The main light appears to be a warm off-white, and the second light is coming in from the left and adds a bit of blue to certain surfaces. I would suggest looking at some lighting videos or tips online to help you get started there. Lighting can often be what makes or breaks an image.

The final thing to do would be to add variations in the roughness, spectacular, and normal of your material. Once you have your final diffuse texture you can either use the compositor to convert the image to be able to control each aspect, or some other program to generate the maps from the diffuse texture.


Why are some objects visible in the outliner but not in the 3D view? In this scene I have banners on the pillars, it is also selected in the outliner at the moment, but I cant seem to find the banners? I don't know if I hid the object, or what but I cant find them at all anymore? I have tried unhiding everything, but nothing, this really confuses me as it is in the outliner and the texture for it is there.

As I said in my comment, the pillar object is on layer 5 and you only have layers 1 and 11 set to be visible. Showing layer 5 reveals the 'banner' (shown as pink due to missing textures):

I can see it is on layer 5 because the orange dot appears on the 5th square of the layers UI, indicating the layer the selected object is on:

You need to press Shift while selecting the 5th layer to make it visible along with the other layers. The squares indicating the layers go a dark colour when they are selected (or in the case of your Blender theme, blue), which is how I could tell only layers 1 and 11 are selected in your original screenshot.

For more information on viewing and managing layers, see the Layers section of the Blender Manual.


EXCEPTION_ACCESS_VIOLATION Blender 2.8 Python I'm running a script that appends a rig and parents it to a certain mesh but every time I run it I get an error: EXCEPTION_ACCESS_VIOLATION. I believe it has to do with too many bpy.ops.object.posemode_toggle()s because when I delete some of them from the code, everything works fine except for the places where I deleted them. I have been directed here: https://docs.blender.org/api/2.78b/info_gotcha.html#help-my-script-crashes-blender but it didn't seem to help. Does anyone know how to fix this?

Additionally, if I deleted the append lines, the code works fine.

Here is my code (it's very very messy): https://pastebin.com/SEd67Q9G

Do not use operators from Python, where possible. You will probably need to remake your code to just operate on bpy.types.Armature.pose.bones.

The problem I think comes from the fact that are you changing things like bone parenting from the pose mode context, while Blender expects that to be done in edit mode. But it is a bad idea to switch modes and do this with operators as they are slower than just assigning data with Python directly.


Problem using Multires sculpting! I am trying to Sculpt a character using multires and i tried to shape general forms in lower Sub and move on to higher subdivisions step by step but after forming the basic shape that I wanted subdividing cause this artifact!

Notes:

-Rot scale applied

-Base mesh did not changed in edit mode

-apply base makes it worse

Does anyone have any ideas?

Thanks for your time!

The problem was modifying overall shapes of a pre defined basemesh using "grab" brush.

changes in major shapes of a basemesh using grab brush creates artifact using multires
subdivision


Particle System in Pose Mode not working I have one sphere with a one Particle System, I'm trying to rig it. I Select The mesh, select the bone, hit Ctrl + P And Use Set Parent with Object(Keep Transform). When I go to Pose Mode and move the Bone, only the sphere moves with it, and the particle system asociated with this sphere stay in the same position. I need the particle system follow the sphere.

I don't know why the particle system dont follow the sphere, which have the particle system.

The armature modifier needs to be higher on the modifier stack than the particle system.
Like this:

Not this:

You can use the arrows next to the X to move the modifiers around.


Import Unity Model and Animations to Blender I try to import the ThirdPersonController (Ethan) which comes with the "Standard Assets" with all animations, to blender.

I imported the model "Ethan.fbx" to blender by using the FBX importer, with default options.

The bones are rotated weird, so I changed it to this:

Now I try to import all the animations into blender, so I can view and edit them. I tried to import the animation HumanoidRun.fbx (again with the fbx importer and default settings) but now another Armature was added:

How can I properly import Ethan to blender with all animations?

I know this is an old post, but if anyone experiences the same issue, it's very easy to fix.

To import fbx:

Go to File > Import > FBX

When importing the fbx make sure to

Select your fbx file
Select armature in Import FBX option Area
Select automatic bones orientation
Select import

If it's not working as expecting, play around the primary and secondary bones options, but usually, if your fbx is working in unity, the automatic option will do it for you.

Good luck, never give up - keep the good work :)


How to avoid n-gons while using the knife tool? I keep encountering a problem, I started modeling 3 months ago and I keep reachign dead-ends because of n-gons.
Currently I am working on something that should become a claw, but I am stuck:

I want to give it another split so I can extrude 3 claws without having to add a whole new loopcut, but when I cut it with the knife tool..

I end up with two ngons, one at the bottom and one up where the cut ends, is there any other way than to make a loopcut for everything?

Tap K to use the knife tool.
Click 2 or more lines, then Enter to complete your cut.

If you end up w/ unwanted n-gons, do the same operation, but cut across diagonal corners.

Another method is tap Alt-P to poke faces.

Alternatively, use the triangulate modifier.


Help make script work on all selected obj instead of just one Below is the code that is for flipping the vertex on an object. I want it so I can select all objects and run the script it does it to all the objects selected instead of doing them individually. If someone could edit it or tell me how to fix it that would be greatly appreciated.

import bpy

obj = bpy.context.active_object

for ipoly in range(len(obj.data.polygons)):
    for idx, ivertex in enumerate(obj.data.polygons[ipoly].loop_indices):
        ivert = obj.data.polygons[ipoly].vertices[idx]
        col = obj.data.vertex_colors.active.data[ivertex].color
        obj.data.vertex_colors.active.data[ivertex].color = tuple(1-x for x in col)

You can get all selected objects in:

objs = bpy.context.selected_objects

then just make a loop:

for obj in objs:

and then your code.

Done:

import bpy

objs = bpy.context.selected_objects
for obj in objs:
    for ipoly in range(len(obj.data.polygons)):
        for idx, ivertex in enumerate(obj.data.polygons[ipoly].loop_indices):
            ivert = obj.data.polygons[ipoly].vertices[idx]
            col = obj.data.vertex_colors.active.data[ivertex].color
            obj.data.vertex_colors.active.data[ivertex].color = tuple(1-x for x in col)


Is this face topology good for animation? Is the topology in this image good for animation. And can I move on to professional level with this kind of modeling

You should avoid tris and ngons in your geometry, even if its a game model (its ok for mobile game models though - depends on polycount)

The meshflow is ok, its not good around the nostrils. Here is a good edgeflow that I recommend, its from a Zbrush course:

 Source: Zbrush workshop with Ryan Kingslien
 Direct Source: Workshops with Ryan Kingslien
 Probably the Anatomy Of The Face (no guarantee)

You will know when you are ready for professional level, someone will just employ you. There are different levels among professionals too. Just practice and your confidence level will increase. You are basically ready when you know what you are doing.


how to define stair-like position to several plane objects? I have some objects that are plane, I want to transform it into a stair-shaped order, like: object 0 - Z: 0.01
object 1 - Z: 0.02
object 3 - Z: 0.03
but without having to do it manually, I can't use the array because they are different objects

Via the UI:
Some variation on this one, which has  all  steps in XY plane, and a top-step target vertex set up, ready?

Pivot: 3D cursor, at bottom step
Snap: To: 'Vertex' With: 'Active', and set to affect 'Scale'
Header Options: Affect only Locations

All steps selected, top step active, SCtrlAlt S .. Y to set the axis, Shear the objects' locations a lttle.
Once a regular stagger is achieved, SZ  scale them, with snap, to the target.

I don't think the Shear axes are what they claim to be in the manual, so there may be some playing required. This shear is executed in Global space, Main axis 'Z', Ortho, 'Y'.


How to see RGB and XYZ image info in Blender 2.8? Where is the rendered image info in Blender 2.8?

An example screenshot I found from Blender Artists highlights some info near the blue cube in the rendered image.  In previous versions of Blender there was a status bar with handy image info showing XYZ and RGB data.

In the Image editor, If you Right click on the image, you can sample the pixels of the image. A small window appears at the bottom of the screen where you can read the pixel information.
(for previous versions of blender: left click on the UV/Image editor window)

From Left to right you see:
$X$ (horizontal) and $Y$ (vertical) pixel position ($0$,$0$ is at the bottom left of the screen)
Z depth, in blender units.
Red, Green, Blue, Alpha information before the color management transforms (Scene Referred, Linear values).
Red, Green, Blue after the Color Management transforms (Display Referred, values)
Hue
Saturation
Value
Luminance


How to rotate (roll) the 3D view like I'm tilting my head? How would I rotate the view port along the axis from my forehead to the monitor, like as if I was tilting my head (but more like tilting the viewport)

It looks like you'd like to avoid viewport rotation lock around Z axis and to have possibility to rotate freely with RMB.

Option 1 - switch to Trackball rotating method

By default, Blender uses Turntable rotation method for manipulating view. It means the rotation in 3D Viewport will be locked to Z axis. See what the difference between Trackball and Turntable orbit styles.

To change that in File > User Preferences (or press Ctrl+Alt+U) choose Input page and find Orbit Style part.

After toggling it to Trackball the 3D Viewport will rotate freely.

Option 2 - use View Roll

Without changing anything in preferences it's possible to roll the view to change its angle. Hold Ctrl+Shift and rotate the mouse wheel(or by using the key shortcuts Shift+Pad4  / Shift+Pad6) to rotate left / right:


Transfer texture from one mesh to another with transparency? I learned that in order to transfer a texture from one mesh to another you use Cycles Bake in Emit mode and sending texture image to emission in the shader editor of principled bsdf, selecting one object as the 'from' and the next object as the 'to'. However, it does not preserve given texture transparency. It puts black wherever transparency is found.
I made a visual guide on how to do this, posting so it's clear what I'm trying to do.

Is there a way to bake with transparency?

Transparency is a mask, a black & white map (0=transparent, 1=opaque). You can store this data in the Alpha channel of an image (RGBA) or use a separate (b&w) image.
Plug this channel in the Alpha slot of the Principled BSDF to have transparency. (In EEVEE you have to set the Blend Mode in the material's Settings to Alpha Clip, Alpha Hashed, or Alpha Blend to see the transparency. With brush settings Erase/Add Alpha you can paint transparency in blender.)

Baking
With the Emission node in the material you can bake the Emit color to an b&w image. In Gimp or Photoshop you can add this b&w image as alpha channel/tranparency layer to the diffuse color image and save it as PNG file. This file format supports  RGBA/transparency.
Back in Blender, connect the Color slot of the ImageTexture node (with the baked image) to the Base Color of the BSDF, and the Alpha to the Alpha. Done :)