Move an object on a different object's local axis? I need an object to move along the local axis of a different object. This is more or less what my code looks like.

obj = scene.objects['obj'] #this being the object I want to move
look = scene.objects['look'] #the object with the axis I need
local = True #y'all know what this is for
or = look.worldOrientation
input = cont.sensors['input']

if input.positive:
obj.applyMovement([0.0,0.15,0.0], local)

Of course, this doesn't do what I want it to do, and replacing 'local' with 'or' just gives me an error in the console, so I'm stumped. Please help.

For a bit more context, the setup for the character basically has two parts: The controller(obj), which moves around and rotates the camera around, but whose y axis always looks away from the camera, and a directional object(look), which is parented to the controller and rotates the character around to look in the direction the controller is moving.

What I need is for the controller to move in the direction the directional object is looking at when the conditions (input) are met.

This is a question of the coordinate system you are referring to (the space).

What spaces do we have?

Scene Space

There is the scene space (world in the BGE). The origin is the scene origin. It defines the (1,1,1) scale and the orientation of the whole scene.

Object Space

There is the object space (local in the BGE). It expresses the relativ transformation (= position, rotation, scaling) from the parent. If there is no explicit parent, the scene is the parent.

Without any transformation the object would be at the parents location, facing the same direction, and having the same scaling.

You have several different object spaces within a scene (one for each object). They can be equal, they do not need to be equal.

Other Spaces

There are more spaces (vertex space, texture space, view space, screen space ...). I want to focus on the scene and object spaces as this is what you need to deal with your situation.

Purpose

Why do we need different spaces? We do not need them. We just need one, which is valid for all participants. The different spaces are used to make things easier e.g. it is much easier move "forward" when you can add step to a single axis.

Operations in different spaces

To operate with different spaces you need to know how to convert from one space to another (e.g. from scene space to object space).

Scene space and object space are the most used spaces. You have a different use case right now. You want a -lets say- "look space". To work with it you need to find a way to convert the coordinates of one space to your "look space" and vice versa.

Luckily you can combine conversions.

Convert from scene space to look space:

referenceObject.worldTransform.inverted() * positionInSceneSpace

Convert from look space to scene space:

referenceObject.worldTransform * positionInLookSpace

Move in look space:

To move along an axis of the look space you convert the current position in scene space to coordinates in look space.

Now you can apply the motion e.g. along the x axis. All operations are in scene space.

After the change you convert the result back to scene space and apply it to the object.

Sample code:

import bge

scene = bge.logic.getCurrentScene()
referenceObject = scene.objects["ReferenceObject"]

controller = bge.logic.getCurrentController()

if all(sensor.positive for sensor in controller.sensors):
    owner = controller.owner

    # get position in scene space
    positionInSceneSpace = owner.worldPosition

    # convert to look space
    positionInLookSpace = referenceObject.worldTransform.inverted() * positionInSceneSpace

    # modify in look space
    positionInLookSpace.x += .01

    # convert to scene space
    positionInSceneSpace = referenceObject.worldTransform * positionInLookSpace

    # apply position in scene space (as the object expects it that way)
    owner.worldPosition = positionInSceneSpace

This solution considers motion, orientation and scaling of the reference object.

Operations in look space

positionInLookSpace.x += 1 moves the object 1 BU along the reference object's x axis
positionInLookSpace = mathutils.Vector((0,0,0)) sets the object at the origin of the reference object
positionInLookSpace = mathutils.Vector((1,0,0)) creates an vector that goes one BU along the referenced object's x axis. After converting it to scene space you can apply it to applyMovement().

Convert from object space

Just for information: When you want to use localPosition rather than worldPosition:

convert from object space to scene space
convert from scene space to look space
change position in look space
convert from look space to scene space
convert from scene space to object space

So you need two additional conversions. Luckily the BGE already does that for you when you use worldPosition.


Is there a way to get all shortcuts of 2.79 back? I have a lot of trouble transitioning from 2.79 to 2.8 because I was so used to hotkeys in older versions. Is there a way I can recover all 2.79 shortcuts for blender 2.8x? I mean  all, really...

Things like:

ShiftZ for rendered mode
CtrlTab in edit mode for switching between vertex, edge and face selection
ShiftF for camera fly mode
Spacebar for searching
...

Q: How can I recover all 2.79 hotkeys?

While I made the same switch as you and felt like I had to relearn blender, I am now very comfortable with the new controls, and they are much more intuitive. However, if you do want to stay with they 2.79 controls, here’s how you do it:

Go to preferences>keymap. Next in the drop-down bar at the top that currently says blender, click on that and change the selection to “Blender 27X”. This should give you all the shortcuts from 2.79. Hope this helps!


What is it that makes some cycles materials not display in the "Textured" view? What is it that makes some cycles materials not display in the Textured view? By displaying, I mean showing with the textures, not like in the solid view.
I have tried un-connecting the glossy nodes, but that makes no difference. I have checked that the Maximum draw type is set to Textured.
The bottom image is one of my problem materials, that is not displaying in the textured view. The top image is just to show that some of the materials in the same scene are displaying in textured view.

nodes that are displaying in textured view

nodes that are not displaying in textured view

Textured view will only display the texture if the texture is an image node.

Noise is a procedural texture and will not be displayed. You need to change to 'Rendered' view to see procedural textures in the viewport.


Blender closes when rendering I just started learning blender and I have a problem when rendering my model. Sometimes when I change my viewport shading to rendered my Blender closes.

Here is my settings:
Cycles render
Device: GPU Compute
And I also set my system preference to Open CL > Tahiti

My computer specs:
CPU - AMD FX-6300
GPU - R9 280X

But when I rendered it using CPU it does work properly. Sometimes it also works using GPU, I don't really know what's the problem.

OpenCL rendering with Cycles is relatively young in Blender and largely experimental at this point. It is still feature limited, unstable, and prone to crashing as it currently stands.

Can you provide a blend file that crashes?

Try upgrading your graphics drivers, restarting and see if the situation improves. Otherwise it is probably a bug and should be reported in the bugtracker.


Adding more cuts not creating more round object when using curve modifier on specific object I needed more detail in this barrel that I made from flat plane and using curve modifier to bend it,
but when I add more cutts they are ignored when bending and the shape stays the same as if they were not there. Also when I fast created new model it works just as expected and I have no idea why on my original model they are not working. There is also a problem with both of them creating these vertical distortions when shade smoothing.
.blend if needed:
https://drive.google.com/drive/folders/1I_9nzNFiBAv7eToh8vH_j0HR5IoTEW5d?usp=sharing

Here is what I found-all that that unnecessary loopcuts were causing the issue. It is probably because you used mirror modifiers to make the barrel. Mirror modifier just make a duplicate of the mesh and mirrors it. It does not merge the vertices to the original mesh.
In your case the easiest way to solve it is by selecting all those edges (which you have beveled) except any one among them by  alt+shift + RMB and then delete them by pressing X.Dont forget to switch off all the modidifiers except curve modifier before selecting

(Select the edge and press Gtwice tp slide the edge)
Which will get u this:

To solve it in the proper way, you can apply the mirror modifier and box select the vertices and merge them with  altM > merge at center .(You wont even see the vertices cuz they are too close to each other).OR simply use the merge option in mirror modifier.


Copy location in local space I have rigged train wheels, and it works, except when you rotate the train. The piston's "Copy Location" is using world space instead of local space, which causes it to go all wonky.

I tried every combination of "Local Space" and "World Space" on the "Copy Location" constraint, but nothing works.

blend file: https://drive.google.com/open?id=0B9fajYcxL7pvUWF4T0tRZHdLcFU

I tried changing "piston" constraint settings a bit, setting

world <==> world
adding X as contraint axis

then I animated the train rotation, to check and it seems to work now,

see the attached file. (btw, next time please use the same service I used, here http://blend-exchange.giantcowfilms.com/, it helps preserving example files for others in future).

edit:
as you say in commenmts, there were other issues on different train's movements.

I tried and probably you just need to add also Z axis to the piston contraint, and then ALSO add a location contraint for piston on Z, limiting max Z to its "deafult" Z location in local space, like this:

and it seems to behave well (hopefully) on all desired train movements...


Fire doesnt render in internal render I'm trying to render a fire inside a lamp.
The crystal of the lamp is the domain.
I have added the material to the fire but nothing shows up during the rendering.
The fire shows up in te 3d view.
Here some screens:

EDIT: The blend file:

Your issue here is that the volumetric material has to be applied to the domain object, not the source of the fire. Since you need to still see the glass for the lantern, you will need to duplicate the glass object and add a volumetric material to that. To control the density of the fire so that it looks like fire and the whole domain isn't just full, you will need to use a voxel data texture.

If you add a new object and go to the Object menu at the bottom left, then Quick Effects >Quick Smoke you can get an idea of how the material should be set up.


How to make the Glossy material in Blender not too dark? I was making a 3D eye and when I added a glossy material to the model, the light looks great, except for the fact that the model looks too dark. Is there any way to fix it? Maybe add a better material setup for it? (I need a fast/quick material, not a complex one, I have very little time)

You need the change your background. It is currently reflecting the sky, wich is that dark grey color. I would recommend adding an HDR image To add reflections etc.
Without HDR:

With HDR:

No lights or materials were changed in the setup.
Adding A HDR Background:

Set the works "color" to environment texture. You may need to raise the strength to make it bright enough.
You can still have the grey background with a little hack if you need it:
Simply add these nodes to your world material.

Not-Ideal HDR work around
In the case you don't have an HDR, you can use this workaround. The reflections will be less realistic, but it still works well.
Add these nodes to your world material:

Result:


Need help with creating a globe in Blender I'm a beginner, and I'm trying to create a globe like in this gif

http://pitchinteractive.com/images/projects/details/brexit-detail-gif.gif

But I don't know where & how to start, right now I only have some basic knowledge about Blender. Please show me the direction or steps to create it, I really appreciate it.

Thanks

First, you need the sphere. I suggest you start with a cube. This way you get almost evenly spaced quads all around the globe.

Add a subdivision surface modifier to the cube and crank up the view subdivision to 4. Click "apply". It should look like this:

Go into edit mode with Tab.

Go into Mesh select mode: Vertex with Ctrl+Tab and selecting Vertex.

Select everything. Hit A until all vertices are orange.

Make it a true sphere. Hit Shift+Alt+S. Type 1 and then Enter.

Use the knife tool to cut out pices of the sphere. Start the knife tool with K. Click around until you are satisfied. Finish with Space.

Go into Mesh select mode: Face with Ctrl+Tab and selecting Face. Right click all the faces you have cut out. They are still part of the big sphere. Hit Y to make them separate from the sphere. Hit E to extrude them out from the surface.


Is it possible to do projection mapping with blender I was trying to find information about how can I do projection mapping with blender on real surfaces/objects. Found some tutorials but they didn't help much. Most of them were talking about creating objects/animation and then project them to a surface using other tools like HeavyM, MadMapper, etc. I found out Blam and fSpy and I was wondering if I can use these. Is it possible to use only Blender (with Blam) for matching my objects/animations or anything to a real surface?

Sure you can, and it works like a charm. Follow Robin's link. If you want to use fSpy (because its better). You need an extra step. Based on the the example in the previously mentioned link by stuffmatic, the workflow is as follows:

CREATE A PLACEHOLDER IMAGE: Use any drawing software that allows you to work in full screen mode. This is a must. For example Blender:

Open Blender, set the render size to match projector.
Go to Blender-> UV/Image Editor, create a new image matching the projector and render size, enter paint mode, set radius to 1 and paint stroke to line (choose high contrast background/line), and draw diagonals precisely to mark center and corners.
-While still in the UV/Image Editor; go to View -> Duplicate Area into New Window.
-Drag that window into the second display (the projector).
-Enter full screen with the following commands alt+F9 and alt+F11.

DRAW GEOMETRY ON THE PLACEHOLDER IMAGE:
The idea is to place yourself inside the projector so you can obtain an image of what the projector "sees". Now you must draw lines that will help you understand the scene when you import the image into fSpy. While watching the real, scene that should now have the placeholder image projected on it, trace as many straight lines as you can. Keep in mind that you need to define 2 or 3 sets of vanishing points (lines that are parallel in reality but that would eventually converge when projected to 2D perspective. Save the image.
CALIBRATE IN fSpy:
Open the image and use fSpy to calibrate focal length, camera position, center point. Keep in mind the number of vanishing points you have, different options will give you different results. Save the fSpy.
IMPORT CALIBRATION INTO BLENDER:
You have to install the plugin for your version of Blender. Once you import the fSpy file you should have a new calibrated camera in the scene looking at the center of the scene (which should correspond to the center point as you placed in fSpy).
RECREATE GEOMETRY:
Set your placeholder image as a background image and. Model the surfaces you want to have mapping content, and create your motion graphics content.
MAPPING:
Go crazy using realtime or rendered video output for sweet open source mapping. The best part is that if anyone moves your projector, you can simply repeat the calibration and match the scene with no need to alter the content.

P


How to make such a strange file has no active object? I have gotten a blender file confused me with two issues.
This time I will ask about one of them.

The file has three objects, Camera, Lamp and Face.
In object mode, selectecd objects has bee "Face" only.
But active object is nothing!
How can I make such a file that has no active object?

How to make the scene without any active object.

Since the issue is solved, I will explain by myself.
Consider the case where are two objects "Cube" and "Cone" exist.
"Cube" is selected and on the first layer. But the layer is turned off. On the other hand, "Cone" is active and on the second layer turnd on.
When "Cone" is deleted, active object will be None. However, "cube" is still selected.
If you turn on the second layer, the scene is completed.


How do I make a script to set object index for every object? I wat to make a script that will, for every mesh in the scene, set a different object pass index so I don't have to select every mesh in my scene to assign a different number. I know this is possible via scripting, but I have no idea how to go about it.

A simple way to do this would be:

import bpy

pi = 0
for obj in bpy.data.objects:
    obj.pass_index = pi
    pi += 1


Constraints and Inverse - Needs Some Explaining So, when I have an object that is a child of another object using the Child-Of constraint, there is this thing that I don't entirely understand: inverse. The little button that says "set inverse" and "clear inverse," they aren't at all self explanatory. So my biggest question is, when I have a character that is holding an object, and I want to set the object down on a table for instance, how do I break the constraint (via "influence" parameter) and have the object with the constraint stay in the exact same position? Touch the influence parameter and it goes to some irrelevant location nearby. That's not very useful, is it. This inverse thing appears to screw a lot of things up.

If you use set inverse:

the object get parented as it is
the child won't be affected by the initial transformation of the parent

If you use clear inverse:

the parent transformations get cleared (momentarily)
the object get parented
the transformation of the parent get is restored (as if you have parented then transformed the parent which will effect the child)

all this is just setting the matrix that relates the child to the world space

To keep the object transformation inherited from the parent, apply the visual transformation and set the influence to 0 (or remove the constraint).

Example: two cubes one at the center (will be used as parent)
initial state: (no constraints yet )

the parent transformed: (no constraints yet) the cube moved scaled and rotated

after this we add the child of constraint to the smaller cube

child of constraint with set inverse: child is not affected by the parent initial transformation

child of constraint with clear inverse: child is affected by the parent initial transformation


How to register a popover panel that doesn't show anywhere else in the UI I'm using
layout.popover(my_panel) to draw a panel in a box when it is clicked on, but I don't want that panel to be visible anywhere else in the UI. Just removing the bl_category setting from the panel class simply puts it in a category named "misc".
I realise that one solution could be to change the bl_region_type to something different, but if I change it to something like "TEMPORARY" it just gives me an error.
Is there a correct way to do this, or would it be better to do it from say the invoke method of an operator?

Add 'INSTANCED' to panel options
Edit   Credit to @Nilson  (finally twigged)
How to hide a panel that appears twice?

I found the solution .. and it was very simple. Just use: bl_options = {"INSTANCED"}. The popover menu is just an instance of the panel

If the 'INSTANCED' option is added to the panels bl_options  the panel is not drawn directly in the UI, it is rather instanced via the popup call.
PLEASE Note. If the region is set to 'UI' a "Misc" category tab is added, which when selected shows no panels (No others  in region and uncategorized) and  (for me) segfaults blender when selected.  The 'WINDOW' region appears a safe bet.
Test script using the Text Editor > Templates > Pythone > UI Panel Simple script modified to add to view3d UI (N) region. Making only the options edit confirms the panel no longer renders in the properties region.
import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_options = {'INSTANCED'}
    #bl_options = {'INSTANCED', 'DRAW_BOX'}
    bl_space_type = 'VIEW_3D' # 'PROPERTIES'
    bl_region_type = 'WINDOW'
    #bl_context = "object"

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

        obj = context.object

        row = layout.row()
        row.label(text="Hello world!", icon='WORLD_DATA')

        row = layout.row()
        row.label(text="Active object is: " + obj.name)
        row = layout.row()
        row.prop(obj, "name")

        row = layout.row()
        row.operator("mesh.primitive_cube_add")

def draw(self, context):
    self.layout.popover("OBJECT_PT_hello")
def register():
    bpy.utils.register_class(HelloWorldPanel)
    bpy.types.VIEW3D_PT_view3d_cursor.prepend(draw)

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

if __name__ == "__main__":
    register()

Tip. If set an enum to a garbage value can look at the error message to get allowable values
TypeError: validating class: enum "FOO" not found in
('WINDOW', 'HEADER', 'CHANNELS',
'TEMPORARY', 'UI', 'TOOLS', 'TOOL_PROPS',
 'PREVIEW', 'HUD', 'NAVIGATION_BAR',
 'EXECUTE', 'FOOTER', 'TOOL_HEADER')

Fwiw 'HUD' adds panel to operator redo panel.


Missing properties in properties window Hi guys, I don't know how it happened, it might be some shortcut that I don't know about. Everything is okay when I open up a new project but when I load my previous file it looks like that.

Also, I have a problem with modifiers.

It just disappeared after deselecting the object. My bad. But modifiers still won't work and there's a few of them.

Most tabs in the properties panel are only displayed if the active object is a certain type. If there is no active object, most of them will be hidden, as you have discovered. It's a bit uncommon to have no active object, but it is possible; deleting all objects in the scene, or creating a new empty scene are two ways. It's also possible to set it in python (bpy.context.scene.objects.active = None), and indeed some addons will (intentionally or otherwise) introduce such a state.

Similarly, not all modifiers can be applied to curve objects. Hence, not all modifiers are available in the drop down while a curve object is selected.


Cycles SSS seemingly incorrect colour for thin surfaces or small objects I'm trying to get a similar material to the plastic of a 3D print which is largely dominated by subsurface scattering (SSS):

However, a very simple SSS test in cycles produces this:

There's an awful lot of lot of blue (I assume back-scattered light) at the corners that I can't get rid of. The same happens at smaller detailed bits of geometry in other tests.

A simple answer is I've buggered up the properties and just need to change some numbers. If this isn't the case,

Is this simply a failure case of the current SSS method in cycles or the lack of some other physical phenomenon that isn't being modelled?
Can this be avoided easily? If it's necessary to set up a complex network of nodes to hide the effect then maybe it's not worth the effort.

[EDIT]
OK, it doesn't look like forward/back scattering has anything to do with it. Small objects simply have the wrong colour, as in the following image. I'm pretty sure if I shaved off a chunk of my model it wouldn't turn blue/green.

Objects on the left have 0 sharpness while objects on the right have 1 which seems to alleviate the problem a little. I would have thought this is the wrong way round given the look (maybe sharpness should be roughness instead).

Without seeing your current setup (what you've already done), it's a little hard to say exactly what is going on and how to change it..

Here's what I came up with after a bit of fiddling (just trying to match the reference image by eye):


How to get rid of deformations of poles caused by sub division? How can I get rid of the weird poles artifacts seen at the nose?

This method greatly reduces the impact the poles.

Add a knife cut close to the front of the nose.
(enable cut through z and angle constraint c)

Final Result


3d Volume from 2d Texture is it somehow possible to generate volumetric information from a 2D Image Texture?

I experimented already quite a bit, but with no succes. I thought about using the RGB, or better said, the BW-Information to generate the missing vector.

An alternative which i thought would work, was to use the image as a input Position for a gradient (spheric), since the gradients are all volumetric by themselves. Also, with no succes.

The mockup was created by using an empty and its object coordinates as gradient input vector.

Thanks in advance!

Here's a clunky sort of first step (maybe not towards where you want to go):

Make a height-map of the subject (Mist Pass, 0-1, front to back of a containing cube)

Set up a node tree something like this:

Where each shading point asks whether, in 0-1 generated texture coordinate space, its Z value is close to the R value in the depth map for its XY. If it is, it lights up.

(Sorry to be confusing, but here, XY has been mapped to XZ, and Y checked against the map, to get Suzanne facing down Y)

The 'Close to' node group just returns 1 if Value1 and Value2 are within Delta of one another, 0 otherwise.

The 'Less Than' node checks if the Y value is close to 1, to get rid of the background, 'beyond everything' values in the depth map.

This is the result:

I tried projecting height-maps down X and Z as well, which could be encoded in G and B of the texture, but they were not automatically calibrated for position or scale, I may just have slipped up somewhere.

But I thought , anyway, it would be better to go for a spherical height map: bake a displacement map of the subject from an enclosing sphere, and store it as, say, a Mercator projection? And then, instead of using Z as the lookup, use the shading point's angles, theta and phi from the origin, to look up the point in the texture to check against.

Then you could use Alpha to store depth, and R,G and B to store R,G and B, to get colored (but not fully covered) volumes.

But since there will be lots of gotchas, and I'm not @Rich Sedman, that may take a while.


RX 590 IN Blender and Cycles Render I don't know why, but I cant render anything in CUDA and OptiX but OpenCL work fine. I cant use Cycles render because it's very laggy.
I have newest  version of Blender and an RX 590 Red Dragon 8gb.
Why does that happen?

How can I turn on my gpu?

AMD Radeon cards do not have CUDA cores or OptiX, those exist only in some Nvidia Cards. Blender cannot enable what doesn't exist in your computer.
Your hardware is based on a different technology by different company.
Your only option to render ion cycles using GPU is OpenCL.


Cycles baked AO too bright Using a simple cube in Blender Render, it's easy. The color of the material directly affects the baked texture (Bake Mode = Ambient Occlusion).

In cycles I'm getting pure/full intensity white on the baked texture, despite the fact the material>surface>color is dark grey (.2,.2,.2). Even if I set it to pitch black, and the world surface color to black, it'll still turn out full white. (With the scene and/or world settings all at default, or not, the result is exactly the same; 100% white.)

Note: I'm getting black to white gradient when I bake a proper (character) mesh. Getting no gradient is not the problem. The problem is that I don't know how to adjust the overall color/brightness of the entire map.

I just want the AO map range of color to be darker (from RGB 0 to RGB .8, instead of RGB 0 to RGB 1 as it is now). Similar to how it is in blender render.

In the end these AO maps are gonna be used on game assets. (I'm not an artist. One of the artists I work with prefers greyer AO maps because it makes the dark areas less pronounced.)  I could change the brightness of the image in ps/gimp/whatever easy, or in the UE4 material, but that's a step I'd like to avoid if possible.

Answer:
Thanks to Jerryno and Mentalist I understand now that the reason why the Cycles AO map is too bright is because unlike in Blender Render, materials in cycles don't affect AO bakes - rather a more physically correct lighting model is applied in cycles.

Other Solutions:
Metalist gave me the following info/solution (unfortunately, I haven't tried either because I don't know how to get them to work in a batch bake addon I'm using):
- Cycles materials can be used in Blender Render
- It's possible to create a cavity map using the "Pointiness" property on the geometry node for the mesh, and combine that result with the AO map.

I'm using an addon someone made a couple years ago to bake these AO (and normals), but it only works with cycles. I'll try to get help on converting it to work with Blender Render.  That, or I'll try to modify the addon to insert a semi transparent grey layer over the AO before it saves it out.


Using geometry nodes, is it possible to transform vertices, that are in a specific vertex group? Let's say I create object primitive plane and I create a vertex group. I add one vertex of the plane into the group but leave the other 3.
Is it then possible to transform that one vertex in the group using geometry nodes?

It's possible and really really easy to do. You just need two nodes to make it happen
Demonstration:

Node Setup:

Note that test is the name of the vertex group. Also the vertex group should have weight of 1
(I am using blender 2.93)
To change material_index follow this node group:

Demonstration:

P.s. For it to work, U have to select the target faces(editmode)-> right click-> shade smooth them


How to change camera movement speed on Path during animation Im making a animation in blender that requires the camera to change speeds while moving along a path. I'm using the Curve/Path for the path. I need the camera to move at a certain speed going between 2 places, and then slow down while moving around something its focusing on.

Make Sure you create Keyframes for the Offset value in the Follow Path Constraint.

Insert Keyframes on the [Follow Path Constraint].  Use [Fixed Position] TRUE.  The image belows shows two keyframes in the timeline and the dopesheet.

By using keyframes to directly and easily change position, you will change the speed, usefully and indirectly.  The object can also stop moving by using the same value of keyframe at two different frames. You can also reverse direction. You will be specifying the positions (0 = start, .5 = mid, 1.0 end) along the curve.  There is no direct settings for distance per frame and this is not a large problem under many scenarios.
There are also many tutorials at video sites that will visually explain this.  Consider searching Blender Tutorial Follow Path Constraint.


How to turn off moving objects without gizmo or shortcut? Can I turn off moving objects/vert etc. when clicked and dragged on empty space?
I want to be able to use only gizmo or shortcut, to prevent me from moving my stuff accidentally.

I know I can change threshold, but I'd like to remove it for good.

You can do so by disable the Move Tweak Keymap in the Preferences.


I can't change the parameters of a primitive after creating it in Blender 2.8 In Blender 2.7 you could achieve it like that: How to edit Parameters for an Object after it is created?

In Blender 2.8, when I create a cylinder for example I see the window to change the parameters of the primitive but I can't interact with it.

Try this: Top menu > Edit > Preferences > System > Enable Global Undo


How to avoid violating energy conservation when making shaders and node groups? Recently a user on here offered a tip to be careful when making shaders so I don't violate energy conservation. Blender stores colors in the value range of 0-1. If you go above 1, then more light is being reflected than is being received and you get physically inaccurate results.
From the documentation:

In order for materials to work well with global illumination, they should be, speaking in terms of physics, energy conserving. That means they cannot reflect more light than comes in. This property is not strictly enforced, but if colors are in the range 0.0 to 1.0, and BSDFs are only mixed together with the Mix Shader node, this will automatically be true.

So my question is, what scenarios would break energy conservation (other than what is mentioned in the documentation)? When do I need to be vigilant about this?
I've been making utility node groups for myself - an example is my Falloff Map node shown below:

And this "texture adjustment" node group:

I'm a little concerned that my node groups could be outputting values higher than 1. For instance in the falloff map node group, I have an exponential "power" math node that then feeds into an RGB Curves node. Wouldn't the power node have the potential to output values above 1?
Another example with my "Texture Adjust" node group: I have three MixRGB nodes set to screen chained together for an alternate way to lighten a texture than simply adjusting brightness.
Is it possible that I am violating energy conservation with either of these node groups?
I am also aware of the ability to clamp values, but I usually leave it unchecked. Should I be clamping values as I go about building node groups?
I've attached both node groups so you can download and test them yourself.
Texture adjust nodegroup:

Falloff Map nodegroup:

Thanks so much for any advice or help.

It is impossible to say whether the groups you show conserve energy, because whether or not they conserve energy depends on what values you send them, and they don't output shaders anyways.
If you want to conserve energy, and you don't want to clamp unless you have to, there are only various things to know:

If you send a shader a color outside of the 0,1 range of color, you probably don't conserve energy.
If you use emission, you don't conserve energy.  (Emission creates energy from nothing.)
If you use an add shader node, you probably don't conserve energy.
If you use specular values outside of the 0,1 range in a principled shader, you probably don't conserve energy.
If you use sheen or clearcoat in a principled shader, you probably don't conserve energy.  (Not 100% sure about sheen, but 100% sure about clearcoat.)
If you send a mix shader a fac outside the 0,1 range, you probably don't conserve energy.

That's a lot of "probably"s.  Because there are corner cases.  Is it safe to add shader a 1,0,0 diffuse to a 0,1,1 diffuse?  Yes.  Because the output cannot exceed 1,1,1.  Is it safe to add 0.1 clearcoat to a 0.9 diffuse principled?  Yes, because the output cannot exceed 1,1,1.  Is it safe to mix shader a 0.5 diffuse shader at fac 2.0 from a 0.0 diffuse shader?  Yes, because you cannot exceed 1,1,1.
I'm sure I could have missed some examples.


Add colour to a cut meshface in animation EDIT NOTE: This thread had two question in it. One was answered, the the other was not. I split the question into to separate questions and the other one can be found here.

I want to animate cutting open a machine with a mesh with a boolean modifier (or something that does the same). And I want to colour the cut face.

What I want to create is something like this:

In the animation I want to create, eg. the walls should be red, and other parts of it should have different colours.

https://streamable.com/uwbif

This is actually what I want to get. An animation, then some kind of boolean modifier cutting away the mesh and the cutface has a different colour.

This video is a part the How It's Made show ( https://www.youtube.com/watch?v=6qnuQw3DFj0 )

I maybe think about this in the wrong way, but what I would like to have it that so I can specify that obejct X has has the matrial Y and if cut, the new face should be colour Z.

I can imagine how it could work: You could create a very thin layer over a mesh that is made up of a different material. So the coloured part is not really the colour of the cut face but the actual original mesh colour. The colour you saw before the cut is just the thin coat that serves no function.

As you can see in this prove of concept video ( https://streamable.com/5s6dv ), it would work up to some point. These are two cubes inside each other. The white one is a tiny bit larger as the red one (solidify modifier with a thickness of 0.01). The white cube is hollowed out using the red cube and a boolean modifier. However, as you can see in the end there seem to be some problems. Moreover, I think it's more like flub work, since you need an extra mesh that actually does nothing.

My Question:

If not clear, my questionis: How do I do this?

How can I add a colour to a cutface that is created with something like the boolean tool and can be used in an animation.

This works out of the box with the boolean modifer:

add your boolean modifier, don't apply it (this way you can use it in animations)
add a second material, the one to be assigned to the cut-off parts
change the order of the material so that the one created in 2. becomes the first material in the list.

This way, it will be assigned only to the cut-off faces created dynamically by the boolean modifier:


Lip sync animation with rigify+pitchipoy armature and papagayo I would like to configure the lip sync and the eyes movements on my character rigged with the rigify/pitchipoy armature and papagayo. I don't like the shape keys. I prefer to use bones and pose library. So,I found this script :

lip sync script

and I tried to follow this short tutorial :

short tutorial

Now,the problem is that it is too short and some important parts are missing ? Infact it starts with the pose library full of phoenemes,but I don't know how to add them into the library. Or better,generally I know how to add a pose,but in this specific case,I don't know which kind of phoenemes are those and how to create them. I have exported the dat file from my audio file and this is the content :

but now,starting from these phoenemes,what should I do ? Should I create a pose for each phoenemes moving the mouth bones ? But in which ways ? Does the script make the pose automatically based on the phonemes that it finds in the dat file ?

Please take a look at post of lipsync script that you referenced - https://morevnaproject.org/2015/11/11/automatic-lipsync-animation-in-blender/. It says:

  use a Pose Library to define a mouth poses for the face rig of your
  model. Each pose should be named as corresponding phoneme in your
  lipsync breakdown – “MBP”, “AA”, “O”, “EHSZ”, “etc”… (just inspect the
  .dat file produced by Papagayo to figure out which phonemes you need).

So, just open your .dat file and see which phonemes it uses. Then open your model file and create Poses for your Pose library. Each pose should be named in the same way as phoneme. I.e. for “O” phoneme you need to set bones of your character’s lips in the same way as he says “o”. Then save this pose into the Pose Library under the name “O”. I hope that helps.

P.S. The lipsync script works with any armature. The link referenced in your other answer points to different script.


How to install the Avid codec for use in Blender This might sound like a fairly uneducated question, but I'm asking the question because I'm uneducated.  My uncle works in the visual effects industry, and he told me that Avid makes a video codec that has great quality and can even render with an alpha channel.  Does this codec exist (I haven't been able to find it)? If so, how can I install it on a Linux Mint machine for use in Blender?  Thanks!

The later era Avid format is DNxHD, with the more recent DNxHR.

FFMPEG is capable of decoding DNxHD. If using proper libraries, Blender would import DNxHD as an 8 bit per channel image, likely sub-optimal. Blender relies on swscale from FFMPEG to convert the (typically) YCbCr planes to RGB, at 8 bits per channel.

DNxHD is not a reliable format for visual effects, nor is any codec for that matter.


Blender 2.71 Preview Showing Incorrectly I am tinkering with UV mapping a skybox onto a cube (sideways T shape image)

So with the UV map settings and the actual render working correctly, I've been noticing the preview box in cube. It looks like this:

How do I fix it to show the texture wrapping around?

The preview is unlikely to match the finished render because you are using UV mapping. To have the preview cube match the finished render would require the preview cube to be using the same uv mapping that you are using. The preview isn't able to do this because it isn't aware what object the material is being applied to and has no connection to your object.

The material preview is used to answer the question "What would my material look like if it were applied to different objects?" but not "What will the material look like on my specific object?" The fact that your object, a cube, looks like the preview, also a cube, is just coincidence.

Setting the viewport to 'Rendered' shading mode is the best way to preview how the material will look on your object.


How to render voxels? I have a voxel representation of a model of the human body in numpy and would like to render it directly in Blender.  Is there a file format for this?  Most of the ones I've seen use polygonal meshes (ie. .obj files).  In other words, could one render Minecraft directly in Blender?  (or if not, in Unity3D, Maya, UnrealEngine, or any other popular modeling 3-D software?)

While there are several file formats used for voxel data, they are used for volumetric data, such as smoke and fluid, which I doubt will help you.

As you have the data in numpy, I would suggest letting numpy save the data to file using numpy.save, but if you are using numpy to generate the data you can use numpy in blender and not use a file format at all.

By creating your selection of block types, you can then use a script to duplicate a block into each position.

import bpy
import numpy as np

objs = bpy.data.objects
scn = bpy.context.scene

scene_objs = [
        objs['sand'],
        objs['grass'],
        objs['water'],
        ]

voxel_data = np.array([
        [1, 1, 1, 1, 1, 1, 1],
        [1, 0, 0, 0, 0, 0, 1],
        [1, 0, 2, 0, 2, 0, 1],
        [1, 0, 2, 0, 2, 0, 1],
        [1, 1, 0, 1, 0, 1, 1],
        [1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1],
        ])

for x in range(voxel_data.shape[0]):
    for y in range(voxel_data.shape[1]):
        obj = scene_objs[voxel_data[x,y]].copy()
        scn.objects.link(obj)
        obj.location = (x*2.1, y*2.1, 0)


Text information about parameters in the picture (render result) I would like to test a few different render parameters like nr of samples on the same scene. It would be much easier for me to be able to actually show the parameter information in the picture as a small text somewhere at the bottom of the image. Is there any way to do this?
I've prepared an example result of what I am looking for:

You have the text for output in metadata chapter of render tab in properties editor. You can access it from your script. I've used something like this to output some values:

import bpy

def driverFunc():
    'it returns clamp indirect value based on frame number, also changes text in the stamp'

    frame = bpy.context.scene.frame_current
    samples = bpy.context.scene.cycles.samples
    cli = bpy.context.scene.cycles.sample_clamp_indirect

    cli = 30.0
    #set stamp text
    bpy.context.scene.render.stamp_note_text = "s" + str(samples) + "; cli" + str(cli)
    return cli

    if (frame == 1):
        cli = 0.0
    else:
        if (frame < 11):    #first ten = +1.0
            cli = (frame - 1) * 1.0
        else:               #all next = +10.0
            cli = (frame - 10) * 10.0

    #set stamp text
    bpy.context.scene.render.stamp_note_text = "s" + str(samples) + "; cli" + str(cli)

    return cli

bpy.app.driver_namespace['driverFunc'] = driverFunc    # add function to driver_namespace

I added driver for clamp value, you can use some unused property of some object just to get this work on render. Otherwise it will not update the props. In the driver expression I used this driverFunc() call, (which value could matter or not), but it has a side effect - it sets bpy.context.scene.render.stamp_note_text.
Just create the empty text with ".py" extension, paste the code, fix it to show your own values, run the script, and then you can use the name of the function in any driver.
Do not hesitate to output metadata, it will show only in combined layer of render result. When you save the multi-layer exr, for example, no source layers contain the text, so you can freely compose them to the final image.
Hope it will help.

And I used it for an interior as well :-)


Weight paint against current pose? I want to add some new mesh object to my posed avatar.

But by default weight paint is against rest pose. So when paint in current pose, the new mesh would "fly" away.

Is it possible to treat as if the current pose is the rest pose, without actually setting the pose as rest pose?

It's absolutely common and default to weight paint over a  posed character. If I understand your question, try using this buttons while editing the mesh, which enable the armature action during edit mode of the mesh.


Missing faces on model I'm new to blender, I started today and I created this model.

As you can see it's missing faces, any way to fix this? I created the face by the extrude tool.

It's doing this every time I use the extrude tool

As far as I can see in the attached image, looks like you are doing the extrude using Vertex as the sub-object in edit mode, there's nothing wrong with that, except that you need to select all the vertices that are shaping the face before extruding. Alternatively, try using Faces instead as the selection method, by pressing Ctrl  + Tab while in edit mode, then choose Faces. The weird colored faces are simply faces with flipped normals, to unify the faces normals, select all faces, then press Ctrl  + N


How to duplicate an object and rename the original to have the "_high" suffix and the duplicate the "_low" suffix I'm trying to duplicate an object and add a _low to the duplicated object and _high to the one it was duplicated from. For example, if I had "cylinder" I want the duplicated object moved to the side to be "cylinder_low" and the one it was being duplicated from to be "cylinder_high"
import bpy
for obj in bpy.context.selected_objects:
    suffixL = "_low"
    suffixH = "_high"
    act_obj = bpy.context.view_layer.objects.active

    bpy.ops.object.duplicate(linked=False, mode='TRANSLATION')
    obj.location[1] += 5

    if suffixL not in act_obj.name:
        act_obj.name = act_obj.name + suffixL

    elif suffixH not in act_obj.name:
        act_obj.name = act_object.name + suffixH

This is what I have but when I run it it works, but the original one is named "Cylinder.001" instead of with the suffix "_high".

For question code above put act_obj = context.active_object after the duplicate operator call.  Then it will be the duplicate of obj. if only one object is selected and active.
However also at play is the duplicate operator duplicates all selected objects. Try running with more than a single object selected.
You are only renaming the original obj if and when it is act_obj
However possibly much easier to use API calls and keep a ref to the newly created object and rename both based on original base name.
import bpy

context = bpy.context

for ob in context.selected_objects:
    name = ob.name
    copy = ob.copy()
    copy.data = copy.data.copy() # linked = False
    ob.name = f"{name}_high"
    copy.name = f"{name}_low"
    ob.location.x += 5
    context.collection.objects.link(copy)


Is there a workaround for the known bug in dynamic EnumProperty? So I was making an addon with a dynamic EnumProperty and apparently ran into a known bug when trying to use Expand = True for this property in the panel. Although everything works fine when not using Expand = True, for my addon, it is essential to have the options expanded and not collapsed in a drop-down menu. The bug can be found in the documentation:
https://docs.blender.org/api/master/bpy.props.html#bpy.props.EnumProperty

This is the most compact example I could think of (add a few objects to the scene to see the bug in effect):
import bpy

def getEnumStuff(self, context):
    return [((obj.name, obj.name, "")) for obj in bpy.context.selectable_objects]

class OBJECT_PT_example_panel(bpy.types.Panel):
    bl_category = "Example"
    bl_label = "Example"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_context = "objectmode"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.prop(context.scene, "stuff", expand = True)

classes = (
    OBJECT_PT_example_panel,)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.Scene.stuff = bpy.props.EnumProperty(
        name = "stuff",
        items = getEnumStuff,
        description = "")

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

I tried a lot of things, such as making the list global before returning it from the getEnumStuff function and copying the name strings in order to have them point to a different address than the original object names. Nothing I tried improved the results so far.
The question is, is there even a workaround for this bug? Is there another way to have the options expanded in the panel while still being able to select them (not only printing the name)?

The Warning in the documentation states the EnumProperty should have a permanent handle on the items. One way I see, without resorting to a global variable, is to add an attribute to the getEnumStuff function. See relevant PEP 232. And then "manually" update the values before drawing the col.prop drawing call.
By the way, if you pass the context in a function, you should not use bpy.context afterwards but rather the context parameter because there could be a mismatch between the two, resulting in an incorrect context error.
import bpy

def getEnumStuff(context):
    getEnumStuff.enum_stuffs = [((obj.name, obj.name, "")) for obj in context.selectable_objects]
getEnumStuff.enum_stuffs = []

class OBJECT_PT_example_panel(bpy.types.Panel):
    bl_category = "Example"
    bl_label = "Example"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_context = "objectmode"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        getEnumStuff(context) # Update enum items before drawing them
        col.prop(context.scene, "stuff", expand = True)

classes = (
    OBJECT_PT_example_panel,)

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.Scene.stuff = bpy.props.EnumProperty(
        name = "stuff",
        items = lambda self, context: getEnumStuff.enum_stuffs,
        description = "")

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

Result :


What is causing splotching on rendered image? I have been trying to troubleshoot this for some time now. Whenever I use an HDRI to light my scene, I get the following effect on my objects after rendering in cycles. A patchiness that I cannot seem to get rid of. This doesn't occur when I use standard lighting in my scene. Only when I light my scene with an HDRI. I am using the most recent 2.8 (at least as of this writing).

There is nothing fancy about the HDRI setup, nor is there anything unusual about the textures on the floor. The walls have a principled shader on them with nothing else applied. I am perplexed at what is causing this and would very much like to eliminate this.

Thanks ahead of time.

This kind of noise is usually caused by denoising. Lighting scenes with HDRI requires more computing and renders tend to be noisier for longer. What we see here is likely denoiser failing to cope with increased amount of noise. You should increase sample count and use light portals to combat this issue.


Animation Node-start of effect I'm using Animation Nodes add-on to create typing effect for Text object. It works good, but I don't know how to change when the effect starts. In default it starts in frame 1 ( and I want it to start in frame 120).

Current setup:

Scale and Bias BAN, Blender Animation Nodes

We see your your nodes depicted in your question. Merci Mille Fois.
Two different approaches

Custom Property FCurve referenced in BAN
Only BAN Math Nodes
You need only one approach for results.  Two for your education.

Custom Property FCurve Approach

BAN Nodes focusing on Custom Property FCurves. Image Above.

Bias and Scale in your Custom Property Graph.  Image Above.  The intended units are number of characters. Example. [0, 20].  Not a percentage. (Approximate.  Please Improve)

Method 1. Using the Custom Property FCurve.  Curve that you would see in Graph Editor.  This Custom Property Curve is introduced below.

The Yellow Colored Nodes show the essentials. We take the zeroth [0] curve for the text object. We ask for its evaluation a number, which in my case is a range [0, 8] meaning the length of a string, not a percentage.  Debug Nodes show the numeric value and Data Path or less formally the Custom Property Name.  The name is displayed to verify correctness. Debug Name matches graph editor name which is good.
Debug Nodes are for the BAN writer.  They do not affect render.  Delete is desired.
You will need to take adjustment for your particular context.  Some cleanup work on my part is needed.

BAN Math Nodes Only Approach

Gain and Bias with the Animate Float Node.  Please improve.  Approximately 2 nodes.  Attach in similar fashion to previous Trim Node.  Units in characters. You can judge for yourself if you like the absence of keyframe.  Image above.

Trim text node has start value zero.  Lets assume this is correct or a good start.  Possible improvement can come later.
Lets assume text with trim node value [Start End] (0,0) is the empty string
Trim text node needs a new [End] value. Now add math nodes to create the formula indicated below.
Add a Math Subtract Node, Maximum Node, and Minimum Node. Connect them correctly.  Show your new nodes a soon as possible. Perfect or Imperfect.
Its better for you to show your nodes for your education.  You have already demonstrated your epic knowledge of Custom Property for an object.  I like approach one F-Curve better at this juncture.  So Math only nodes are a optional excercise for the reader.
In the discussion below you can substitute your number 120 for 10 below and make adjustments
An Object can have Custom Properties such as a number with Keyframe values. Keyframe creation implies a curve viewable in the graph editor.  Frame 10 may have value 0.00 and Frame 80 can have value 1.00  Blender can conveniently interpolate for you.  Blender has created a curve in the graph editor for you.  You have the full visual power of the graph editor at your command.

Custom property with Keyframes. Above image.

You might consider setting a percentage related to the current frame.
Using Math Functions. Example. Minimum(Maximum(Frame - 10,0), 80)/(80) produces ....

Value 0.0 in the frame range [-infinity , 10]
Linear ramp values 0.0 to 1.0 in frame range [10, 80]
Value of 1.0 for frame range [80, infinity]
Scale and Bias (Shift).  Offset ramp by 10. Ramp to 80 with division scaling (/)
These values should be consistent with the graph above
BAN Blender Animation Nodes may have an equivalent visual graph or other useful nodes for this purpose
[a,b] denotes a range from frame a to frame b, requiring a <= b
More abstractly, Minimum(Maximum(Frame - offset,0), end)/(end)

These values can for example determine the range of characters used for display
Please forgive the lack of mathematical exactness and formatting above. Above is pseudo code.  You can find the exact function names such as Min.
Old Statement. Seeing your nodes would be an improvement.  Lots of details missing.  Lets forge ahead.


How to hook up Blender Python script with Arduino? I am trying to make a hologram were a series of propellers spin and emit lights to give off the hologram. I was planning on making the lights come on when they are touching an object inside Blender. What I mean by this is on each "propeller" a strip of lights are on each blade and it simulates this in Blender with accelerometers in 3D space. I want to know how to hook Blender up with the Arduino online editor and be able for them to correspond and transmit messages and signals.

You cannot 'hook Blender up with the Arduino online editor', however you can have a program running on the Arduino that would communicate with a Python script running in Blender over serial connection(USB). Have a look at pyserial. You might probably be interested in application handlers in Blender as well.


How can I rename value node animation references in the dope sheet editor? I made a simple material animation, and the animated value nodes are represented in the dope sheet and graph editors as Default Value (Value)

which is not very specific, I had renamed and relabeled my nodes, but it did not effect the dope sheet editor?

So how I can rename the Default Value (Value) lines?

I don't know how to rename the "Default Value (Value)" labels directly. However, you can put them in a group. Select the references then press Ctrl+G to create a labeled group.

The groups are highlighted green in this image


Boolean not changing geometry as expected I posted an earlier question about this issue (Boolean applied, but not changing geometry), and using the advice given to me, resolved most of the issues, except the following:

My object to cut:

The cutter object:

The two objects overlaid on each other, plus my boolean settings:

Results of the boolean operation:

The geometry of both objects is manifold, per the 3D printing toolbox.

I was able to get this to work two ways:

Set the Overlap threshold to 0

I don't know exactly what this setting does or why it works. I suspect the setting might be related to this old carve bug, given that the bmesh method was recently added to replace carve, but that doesn't explain why it fixes anything in this case. You might want to report a bug with this file, as I'm pretty sure the bmesh method should work without messing with this setting.

Use the Carve boolean method

Your cutter object has a negative Z scale, which, consequently, means the normals are inverted despite appearing correct. This makes carve act up (bmesh is fine with it though). To fix it:

Apply the scale with ⎈ CtrlA
Switch to edit mode (↹ Tab)
Select all (A)
Recalculate normals (⎈ CtrlN)


I want to loft/bridge through a series of different profiles to produce a car shape but cannot select all the profiles I am trying to create a 3d object with cross sections in the xy plane which vary along the z-axis.
As a simple starter (I am unfamiliar with loop tools) I have created three mesh circles at z=0,1, 2.
What is the order of selection for generating a lofted figure?

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

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


Why my mesh is getting messed up? Is it because weight paint or is it something else? I have tried making it right with weight paint but it's still not working. Should I add more geometry to the leg part? Like adding few more vertices around the knee?

Your mesh is super messy, you have a lot of inner faces + you need to join vertices to make nice quads and edge loops all around the legs.


Merge or join surfaces generated in sverchek . Curves made by Bezier Initially I created bezier lines in Blender. Then applyied Sverchok.  Visually I devided a shoe into some areas(6-7)  and according to these areas I generated surfaces through Sverchok. Now the problem is - how to join these surfaces together into one?  Because between generated surfaces I get some holes. So there is a way to fix it ?  to merge ?

for now it is one solution
http://nikitron.cc.ua/sverch/html/nodes/surface/blend_surface.html
but we need sewing node, that will do it between zero-space between surfaces.
https://gist.github.com/23349d01c4df05934ef8833d92d27629
try this gist as example


How Do You Start Animation At A Specific Frame? For example things might happen in an animation for a few seconds like a flag starting to wave etc. etc. that you don't want anyone to see but you want recording to start 5 seconds into the animation but still have the effects of the wind (or whatever affects) as if that five seconds prior was rendered?

How do you do this?

Thanks guys

Setting the Render Range

What you need to do is to start your render 5 seconds into your animation. You can accomplish this by setting the start frame to 5 seconds worth of frames into your animation.

To determine how many frames are in 5 seconds of your animation, look at the Frame Rate setting in the Dimensions section of the Render tab:

Here we see that the animation's is set to have 25 frames per second (fps). So, to determine how many frames are in 5 seconds, simply multiply 25fps x 5 seconds = 125 frames.

Then, just set your Start Frame to 125:

Another way to specify the Start and End Frames for your animation are in the Timeline window:

For a detailed description of how to set the Start Frame and End Frame for your animation, see the answer here.

You can also read more about render output settings in the Blender Manual.


I can't see objects added from the menu When I add objects to my scene from the add menu at the top I cant see them. They are toggled as visible in the outline and they are positioned so that I should be able to see them. However if I use ShiftA I can see them fine. This isn't a problem except that when I try to add an imported model it is also invisible.

EDIT:
Here is my blend file. You can see everything except for the cube object. The cube however is set to visible in the outline and it is in the first layer. It doesnt show up in either the 3D view or the render
http://www.pasteall.org/blend/33167

EDIT 2:
I was just playing around with some other stuff and the cube randomly just showed up in the render, but it is still not in the viewport


Blender not working in Windows 10, any suggestions? Yesterday, I upgraded to Windows 10 from Windows 7 and I had Blender version 2.75a installed before the update. Went to load blender and I get that script box that pops up to load blender and then nothing happens. The box does not show anything and then it just closes. Any suggestions?

I have tried reinstalling blender after the update. Same thing happens.

I've been using Blender one Windows 10 for a while and have not had any problems.

Some tips:

Run the latest version
Run as Administrator
Try the installer instead of the zip, or the zip instead of the installer


How do I enlarge outliner font? Please let me know how to enlarge outliner font, Icon display. + and - bottom does NOT work on outliner.

You can change your UI font size, and then use Numpad - where you want smaller font.
Preferences > Themes> Text Style > Widget


Grid Alignment in Viewport when Numpad Keys are used I have some experience with 3DS Max, and am switching to Blender. I am a retired Software Developer, so this is solely for self-education and mental exercise. I have an object I originally created in 3DS Max which I have imported into Blender as a .obj file.

I have done some experimentation in Blender with this model in both object and edit modes, and I seem to be making progress, but I notice that when I use the Numpad 7, 1, and 3 keys with this object, the Grid is not aligned, it appears sloped in all three views. By contrast, when I do a File->New and load the default cube, the 7, 1, and 3 keys all show the grid as exactly aligned to each axis.

I assume I have caused this myself, but I'd like to know how to correct it.

As Mr Zak says in his comment:

  Try to press Numpad 5 to enter Orthographic mode for those preset views.


How to duplicate object along extracted curve? I have a curve that I extracted from my main object - a boulder. Now I want a "step" object to duplicate along that curve, but I get some weird, unexpected, undesired results using Array+Curve mods. I have applied transforms to both objects.

No modifier required when using a curve:

create your curve, make sure the radius, weights, tilt along the curve are as desired (otherwise it will scale/rotate your mesh...):

assign your object to the curve and clear the origin (Alt-O)

For your model, select Duplication/frame, uncheck "Speed" and set the number of instances you want in the "end" field

For the curve, set the same number of frames as in 3. in the Path Animation section, set the Evaluation Time as 0 and check Follow if you want your mesh to have its direction follow the curve (I guess you want to uncheck it in your case):

select your original mesh then Shift-Ctrl-A to "Make Duplicate Real".


How to join two 2D objects into one? I want to join heart into plane. Both meshes are 2D (0 value in Y axis). I know that i could join one by one edges with alt+M but i have heck of A LOT EDGES, it would take ages to finish. How can i merge those two objects to be connected with edges. Thanks for all effort to help me.

First apply transformations to your objects (Ctrl+A-->Loc, Rot&Scale). Select your heart mesh, then the plane in Object Mode, then enter the Edit Mode of the plane, press Spacebar and type Knife Project. Extrude the plane a bit and give it a Remesh Modifier being in Object Mode. Apply the modifier, then delete extruded vertices. Finally join meshes with Ctrl+J. Correct some vertices position (merge them with Alt+M).


Shifting local rotation axis of objects new to blender, but eager to learn, and spending lots of time with blender now.
I am trying to make a simple solar animation in Blender 2.79, Cycles engine.

The earth spins around the sun's (scene's) Z axix, but earth also has a constant tilt of 23.4 degrees to the sun. I need to keep this earth tilt constant and make the earth spin around it's own Z axis.

I cannot figure out how shift the earth-mesh-objects coordinates.
Even if I set the transformation orientation to Local, the earth still spins around the global scene's Z axis when I try to animate or rotate the Z axis of the earth.

I have googled and searched but cannot find an answer.
BTW! I don't want to change the angle of the sun to the earth to achieve the same effect. I also suppose I could manually apply rotations to all axis of the earth to simulate this, but this complicates things as I also have other objects I need to apply this to.

Any tips on how to separate the earths axis from the scene and being able to apply separate/local rotations? As you see in the attached picture the sun and the earth mesh has different axis, but still, when trying to animate the earth it rotates around the scene/suns axis and shifts the poles of the earth around.

I thought I solved this. Using custom transformation from another object, eg. the axis I have through the sphere. The only thing is the earth mesh still seem to be calculating the coordinates from the global scene, and aligning to the custom transformation object. It would be nice If the X and Y axis would be kept at Zero (0) and only the Y axis changing values when I rotate the Y axis.

If I lock the X and Y axis, and now try to drag or change only the Z axis of the sphere, or to animiate it, it still spins around the global axis.

SOLUTION: Found out I had to change the Rotation from XYZ Euler to ZXY Euler, now rotating the Z axis gives me what I wanted.


Problem with retargeting BVH bones I am trying to retarget bones (armature) from BVH file to my armature of the low poly model and I have a small problem. After retargeting my bones twist in the wrong direction. How to fix this? I created second bone skeleton (armature) and I retargeted bones from BVH file and for this new skeleton (blender default), everything works fine.
I think in my skeleton for low poly character rotation transforms are wrong, but I might be wrong. The animations seem to be ok but the bones placement and rotation aren't syncing.
Is there any option or method to fix this?
Thank you for help in advance :)

Problem with my armature.

Good version with defult blender armature.

First try Makewalk from Makehuman Blender Tools. It works beautifully.
If you didn't skin the rig yet, you can adjust Roll of bones, that tend to rotate wrong. In my case also helped using DAZ friendly BVH instead of Max or Motion Builder friendly ones. If you have problem only with end bones, which are not parents for any other bone effected by the animation, you can also adjust the rotation in Graph Editor by moving all frames of the channel with wrong rotation up or down.
Hope it helps, cause fighting with bvh's can be really annoying.


Emission node not rendering at all in Cycles nor Eevee I've been modding this model to use in my animations, and thought it would be cool to add an emission shader to the pupils of the eyes (the model is a robot). I was fine with just having the pupils glow, though I do plan on trying to find a way to condense the light into a laserbeam type style later on, but when I added an emission node (not from the principled BSDF), it would not show up at all in the render. Annoyingly, this problem is the same for both Eevee and Cycles:

Even weirder, as seen by the picture above, the emission clearly is working in the material preview. but look at the picture below, where I go into the rendered preview:

It does not render. Obviously, this is not just the preview I'm talking about; I'm getting the same results when I hit F12. Like I said, whether it be Cycles or Eevee, I'm still getting the same results, so I do not believe that the render engine is the problem here.
Thinking that it might have just been a problem of that specific material on my eye model here, I opened up a new .blend file with just the default cube (no lights). To that, I added an emission node and turned up the strength to 1000000 (which is, of course, useless, but it effectively demonstrates my point), and checked the rendered preview:

Same results for both Eevee and Cycles. As one more test, I tried just simply turning on the emission in the Principled BSDF, and was surprised to see that the emission was suddenly working again:

Not only that, but it was working just as it should in both render engines (showing up in Eevee renders, and actually illuminating surrounding objects in Cycles). This led me to believe that there is a problem with my node setup, not the render engines or anything else.
And I suppose that makes sense; I feel like I'm missing something from my material that is supposed to make the emission work, but I'm not sure what it is. I checked the normals for my mesh, too, but nothing was flipped. I'm not sure what else to do. Can someone please help me with this?
.blend file: https://drive.google.com/file/d/19OLOnKs4F2CHZ5Y2gCsV-KMPAkh-TNS3/view?usp=sharing

Note: the solution I found, for whatever reason, only works in Eevee. So, if anyone has a better answer that also works in Cycles, please share it :D
Thanks to all the people who commented on my question, I figured out that the emission was converted to color and thus wouldn't emit any light. The only way to get the pupil to emit light again was to turn it back into a shader. Here's how I did it:
Take the "B" (in my case) from the separate RGB > Emission (strength) > Shader to RGB > Emission (in the Principled BSDF) (put color to color, not alpha to color)

Like I said, this only works in Eevee. The result should look something like this:


Cant export projext as .fbx When ever i try and export my project as an .fbx i get this error. Im new to blender so i may have made an error on the model that makes this error appears

Blender file

I can't tell you why this is, but if you go to the Object Data Properties tab, go to UV Maps, and remove the UV map (click the 'minus' button next to it), it will export. I don't know why.


How to create a UFO pickup light (ray)? So I'm creating a UFO, but I want to create that eerie transparent light when they're abducting someone. This is the best that I've come up with, but the light doesn't exactly go through all the way down when it's rendered.
Does anyone know a better way to create this?

Another way to create  a volumetric light beam (without the need of volume container) is to connect the output of an emission shader to the volume input of the material.

Multiply node controls the strenght of the beam, gradient texture creates light falloff, mapping node for sizing and placing the effect.


How can I remove a reflection onto an object but keep the shadow? I tried isolating the two objects via layers, but that removes the shadows as well:

When I don't isolate, I get these little single-pixel reflections on the image material for the background object:

See them?
They're annoying. Is there any way to remove them without removing the shadows?

Blend file

Those single pixel reflections are commonly known as fireflies.
Fireflies can often be removed by disabling caustics, as they are usually a result of an unlikely indirect sample of a lamp.
If you don't want or need caustics, then simply enable No Caustics in Render settings > Light paths.
Clamping
If you want to keep caustics, you might try using the Clamp options in Render settings > Sampling.
The clamp options will ensure a sample does not return a higher value than the clamp value, but be aware that this can potentially affect highlights and other intentionally bright areas of the render.
To help avoid this, in 2.70 you can now clamp indirect samples (where fireflies are usually found) separately from direct samples.

Also see:

How to reduce fireflies in Cycles?

the Reducing noise section of the wiki.


Can I use the VSE to append multiple strips? Can the video sequence editor be used to add several image sequences together, on top of each other?

Here's how I'd do it outside of Blender with Imagemagick in a bash loop:

for f in render1/*png; do
    frame=$(basename $frame)
    convert -append render1/$frame render2/$frame ./stitched/$frame
done

...then import the frames from stitched into the sequencer.

Would take two frames like these:

And turn them into this:

Can the equivalent operation be done directly in the VSE?

Sure! My result from just the VSE is the following. Note that you could use the same method for movie strips.

The first thing that you will have to do is adjust the dimensions to make sure there is no distortion in the Properties panel > Render tab > Dimensions dropdown > Resolution: settings.

With two 1080p images, one might use these Dimensions:

In the VSE, you can add two image strips on top of each other and then add an Effect Strip > Transform to each by selecting one, keying Shift + A > Effect Strip > Transform and repeating for the other one. Make sure that whichever Transform strip is on top has Alpha Over set in the VSE Properties Panel > Edit Strip dropdown > Blend: selection. This is what my strips look like in the VSE:

Whichever image you want to show on top should use these Transform strip > VSE Properties panel > Effect Strip dropdown settings:

Whichever image you want to show on bottom should use these Transform strip > VSE Properties panel > Effect Strip dropdown settings:

Here is a .blend for reference:


What's the meaning of color of rhombus in keyframe? After I make frames as keyframe I found yellow colored rhombuses at keyframes in timeline editor. I clicked one of them out of curiosity and then the others turn to white. What's the meaning of the color ('yellow' and 'white')of rhombuses respectively in timeline editor?

Yellow means active (selected). White is inactive.
While a keyframe is selected, you can move, scale and do whatever to the keyframe. You can also select multiple keyframes by holding shift.


How to change Alt + B Passpartout Bounding Box Color We can hide the geometry of a mesh/object basically edit and object mode by clipping it with a bounding box using the Alt+B hotkey. Yet, I really find this clipped space a bit distracting when modelling:

I basically want this to be the same color as the viewport, not something a bit darker, is there a way/setting to change that?

Go to Edit > Preferences > Themes > 3D Viewport and set the color for Clipping Border to your liking.
If you use the Eyedropper tool in the color settings you should normally get the original background color by clicking on it, but for me it looks a little brighter. So maybe you have to adjust it manually.


How to add keyframe for data value with script? I have the following script:

import bpy

for ob in bpy.data.objects:
if "_hitbox" in ob.name:
    ob.follow_bone = False
if ob.pose is not None:
    if ob.pose.bones is not None:
        for bone in ob.pose.bones:
            if ".IKC" in bone.name:
                bone.constraints["IK"].influence = 0

At the moment, this script simply sets the values for the entirety of the animation.

How do I make the script keyframe these values? For example at frame 1, follow bone is True, and then I execute the script at frame 20, creating a keyframe where follow bone is False.

Completed script:

import bpy

curr = bpy.context.scene.frame_current;

for ob in bpy.data.objects:
if "_hitbox" in ob.name:
    ob.follow_bone = False
    ob.keyframe_insert("follow_bone",frame=curr)
if ob.pose is not None:
    if ob.pose.bones is not None:
        for bone in ob.pose.bones:
            if ".IKC" in bone.name:
                bone.constraints["IK"].influence = 0
                bone.constraints["IK"].keyframe_insert("influence",frame=curr)

To add a keyframe, simply set the value like usual - for example,

bone.constraints["IK"].influence = 0

And then add a keyframe for that value on the current frame (see top of full script for "curr" variable).

bone.constraints["IK"].keyframe_insert("influence",frame=curr)

It is possible to set a keyframe on any frame. For example, if I wanted a keyframe at frame 27:

bone.constraints["IK"].keyframe_insert("influence",frame=27)


Objects behind glass appear too dark It's so dark that the eyes are invisible.

Blend file:

There are several things causing this:

Lenses have no thickness (as pointed out by Jerryno)
Rendering caustics is hard

Lens geometry

In the real world the lenses are likely solid objects separate from the goggles, merely fastened into place within the goggle frames by some means.

So model virtual lenses separately and put them in the virtual goggle frames:

Start by making the goggle frames solid on their own, without any lenses:

Then model a separate lens mesh and put it in the frame. It shouldn't be connected to the frame (if you hover over it and press L, it and only it should be selected):

Ensure that the eye mesh doesn't intersect the lens:

Caustics

Even with all that, a normal glass shader will still likely look dark without lots of samples. This is due to the fact that the only way for light to get behind and illuminate the eyes is by refracting through the lenses then reflecting back out, which is a fairly unlikely path for a ray to take.  See this question for more detail.

To work around this, use a setup like the one described in How to illuminate the darkness inside glass objects in Cycles?:


How to color (a different color) duplicated items in blender 2.91? I know in the previous versions we there is a number 2 (at the red arrow shown in the picture) so that we can color the duplicated object another color. But how to do it in blender 2.91? I tried pressing the button shown in the picture but the duplicated object's color is still linked to the original object.

You need to link the Materials to Object, so they're no longer synced.
Mesh Data are synced, so any change affects all of them.
It's the Object/Data switch in Material tab.


How to bake one texture for one mesh with multiple textures blender 2.8 I'm trying to perform material merging into one texture in accordance with the solutions:

Baking two textures into one
and
Baking multiple materials into one texture

But due to differences in Blender 2.8 interface I can't find 'bake' option in Render menu. And 'Texture atlas' wasn't found.

Could you kindly provide some steps to perform this task?

Thanks,
...I feel that it should be simple but hours spent and I was not lucky in this...

Due to changes in Blender 2.80, the Texture Atlas add-on might have become obsolete.

In Blender 2.7x it was only possible to edit one object at a time, thus you were only able to see one UV layout at a time.
In Blender 2.80 it is possible to edit two or more objects at the same time.

Start with UV-unwrapping the individual objects, just don't move or place the UV islands to minimize texture space.

When both objects are unwrapped, select both objects, go into edit mode, move your mouse to the UV Editor, select everything and go to "UV - Pack Islands".

Now every UV island from every object should have its own UV Space and also roughly the same texel density.

You can now either modify the UV layouts further (optimizing texture space, sorting UVs, etc.) or you can continue to bake your materials.

As for now (Blender 2.80 Beta), baking textures only works in Cycles. Go to "Properties - Render - Render Engine" and switch to Cycles.


Export multiple animations to .json I'm trying to export cube to .json which has multiple actions (bouncing, scaling...).
But every time in json file I get just one animation that was actually selected, which name in json is "default".
I saw other projects with rigging, which had different actions as well (idle, walk, run...) and it was expotred and named by the name of action (not "default ")
Is it possible to expot my model the same way? Thanks.

Blender v. 2.79
JSON exporter 1.5.0

You'll probably want to try using this Blender exporter, exporting to glTF, and loading into three.js with GLTFLoader. Many other workflows have trouble handling multiple animations.


Set existing animation start frame with script I have an object, which has two keyframes to make a short animation.

I have a script which duplicates this object and its animation and changes the start frame of the animation. I currently have this code :

line = duplicateObject(bpy.data.scenes["Scene"], "Line", bpy.data.objects["Line"])
line.location[0] = value[0]
line.hide = False
line.animation_data_create()
line.animation_data.action = bpy.data.objects['Line'].animation_data.action.copy()
frame_range = line.animation_data.action.frame_range
line.animation_data.action.frame_range = mathutils.Vector([frame + frame_range[0], frame + frame_range[1]])

Which doesn't work because I can't assign the frame_range variable, it's read only.

Any suggestion?

You're right. Since frame_range is read-only, you can't modify it directly. It gives you the range over which all fcurves of that action are defined. AFAIK you'll have to change fcurve values of that action. Here's a small snippet of how to do that:

>>> for f in line.animation_data.action.fcurves:
...     for k in f.keyframe_points:
...         k.co[0] += frame
...         k.handle_left[0] += frame
...         k.handle_right[0] += frame

...where I assume you have predefined value for frame (e.g. frame = 10)

Here each of k.co, k.handle_left, k.handle_right, have 2 components: frame number and value. We have incremented the frame number of each keyframe (to translate all keyframes by constant amount). You can also play around with advanced things such as scaling or resampling.

Happy PyBlendering! :)

PS: Please note that if inside your duplicateObject(...) function if you're calling bpy.ops.object.duplicate(...), then you don't need to separately create animation data or action, since it is done automatically by the operator.


How to select "in between values" with Math nodes I like to take age values of particles between 20 and 40 and change color of an object in between these values. How can I do it?
Thanks

Presumably, you want their age-- their lifetime is their total lifetime, determined at birth, not the current time since emission.
To map color to some particular range of ages, first map your age range to a 0,1 range, then use a color ramp:

All particles younger than 20 frames are green.  All particles older than 40 frames are red.  Between, we gradate (by linear RGB, as set by the color ramp.)


What does "tweak left" mean? In Object Mode, the "Select" menu drops down to "Box Select."  The keyboard shortcut shown for this is "Tweak Left."

What does "Tweak Left" mean?  How am I supposed to use this keyboard shortcut (or mouse shortcut)?

You probably have a test build with a tweak patch. Yes, tweaking involves mouse.

  (...) drag and let go via either left or right click, which most applications have.

This means you click on an object, drag it while holding down the mouse key and release the key when you're done.

You may also read the posts by a pansi and Fligh users


How do I force Graph Editor to show drivers for my Materials I've rigged this face, adding drivers to shape key values and particle systems. So far so good, but when I add drivers to some node values they don't show up in the Grap Editor when viewing Drivers.

If I create an new empty scene and try to reproduce the issue, it's working as suspected. The material show up beneath the object, and I can expand all the driven inputs.

It's just not working in my previous scene with the face :(

Ok I was stuck there, but removing the drivers back and forth, and adding them not on the node but on the N-panel value forced the Graph Editor to update and I could see the drivers there.


Blender exported to UE4 Gun Animation Skeletal Mesh is Twisted The Summary

I imported this Blender animation to UE4 and the the skeletal mesh is all twisted up. It is just a pistol reload animation that I have been working on. The mesh is comprised of multiple parts that are joined together. At least, I believe so. The armature consists of the trigger bone, the slide bone, the barrel bone, the magazine bone, and finally, the frame bone, which is the root. I made a parent to the hand so that the mesh would move with the hand, rather than having to select all of the bones in order to move the model. I exported the model while the mesh is parented to the right hand. The animation looks fine in Blender but in Unreal Engine 4 the mesh's movement and and the mesh itself is twisted and contorted. I have all of the mesh parts joined together. It might have to do something with the bones, not the mesh parts themselves. I assigned each vertex group to a bone and the vertex groups are weight painted.

In Blender, It looks fine.

In Unreal Engine, in the animation viewport, the mesh is twisted up.

The model I was using did not have a frame bone attached I reimported a model with the frame bone attached which is also the root bone. This solved my problem, I guess this is what happens when you import to unreal engine 4 without a root bone attached to the skeleton.


Packed images used as background don't show up when reopening the file I have seen a single (1) mention of View port background images disappearing when the .blend file is saved and reopened.  However...the answers are not relative to what I am experiencing.

I go through the trouble of setting up four images (top, side, front, back) and then pack these images using External Data > Pack all into .blend and then I save the .blend.

I save the file, open it back up, and the background images are all gone. Open up properties panel, look to see background images check box is unchecked, click add image, and choosing the open drop-down arrow...the data paths still show the list of images (packed into a specific folder textures).  They are still there, the data set is intact.

Why is It that I have to set this up each and every time I open the file.  It seems like earlier versions <2.76B saved the images and saved the file with the background images check box checked without the need to set this up each time the file is reopened.  This is getting very frustrating due to the fact that a few of the background images mus be set up using Blender's rotate, scale and move tools to align the background image up with the model I have already fabricated.

Thanks!

Do you have Load UI unchecked in the User Preferences -> File tab?  That is the only way I can reproduce this.

Re-checking Load UI, will make blender open a file using the layout of when the file was last saved, including background images

From the Blender Manual:

  Load UI

  Inside each .blend file, Blender saves the user interface arrangement. By default, this saved UI is loaded, overriding any user defaults or current screen layouts that you have. If you want to work on the blend file using your own defaults, start a fresh Blender, then open the file browser and turn off the Load UI button, and then open the file.


How to remove blue dashed line with numbers attached to it I was trying to model quickly and ended mashing some keys (at the WASD end of my keyboard) and did something to create the blue line as shown in my screenshot. The line expands and contracts whenever I move the viewport and the numbers increase from 0 to XXXX as the line lengthens. What is this line and how do I remove it? Any help would be appreciated.

Looks like the MeasureIt addon. In the Tool Shelf (T), go to Display / MeasureIt Tools and click Hide.


Aditional shortcut for Grab+Axis I want to speed up the process of modeling. So, instead of using G and then choosing the axis (X or Y) I want to use the Key 1 and then 2 or 3 (which are close to each other and I do not need to see the keyboard)

But There are two problems.

I know how to change the Grab shortcut (Right clicking on the menu) But I do not know how to add the shortcut instead (I do not want to disable the default G shortcut)
I dont know how can I add a shortcut to the X and Y axis.

I'm using Blender 2.8.

Additional bindings for existing operations can be added in the Keymap Preferences.

Open up Edit > Preferences, and on the left column select 'Keymap'.

You can search for operators by name, although that doesn't help if we don't know the name, of course. It appears the one you're looking for is under:

> 3D View > Mesh > 3D View Tool: Move >

Under a plethora of options for this tool, there's a section further down that says 'Transform Modal Map', which lists all the bindings for all the sub-parts of the move tool. And at the very bottom of that binding list, there's a button 'Add new' which allows adding extra keybindings.

Set your new binding to the desired keys, performing the same actio that the existing G, X, Y and Z keys are set to already.


Bridge edge loops not bridging to nearest vertex on adjacent edge loop? I have two edge loops which I am trying to bridge.

The edge loops do not have an equal number of vertices. My assumption was that the Edge Loop Tool would just bridge to the nearest vertex.

Given that this doesn't appear to happen, would I be right in thinking that it cycles through the verts numerically and creates an edge each time? i.e select vert1a + vert1b then create edge,select vert2a + vert2b then create edge etc..

If so, is there a way around this either in the form of a smart bridge tool that will join to nearest corresponding vert on adjacent edge loop, or any other non-manual workaround?

An easy way to create face between the loops is to not treat the as edge loops.

⇧ Shift RMB select two opposing edges and delete the X > Edges.
Select the opposite "end" vertices each and connect them with an edge F. You now have a single loop.
Selec this loop ⎇ Alt RMB and fill it F with an n-gon.
Triangulate the ngon with ⎈ CtrlT.
Select the four vertices which we disconnected at step 1 and fill the face F.


How to move head of bone to 0,0,0 and have the other selected bones and mesh move equally with it? My apologies if I have worded this poorly. I would like to move everything I have selected in this image, and I would like to move it all by the bone joint that I have the cursor set to. Is there a way to move this all with setting the bone joint to 0,0,0 and it all shift at once?
I have a feeling there is a button or option I am missing somewhere and I just don't know what it is called. Thank you

This is when attempting Fjoersteller's recommendation in Edit Mode, only the bone moves but it's positioning looks correct, I just need the mesh to move with it now. (When having both selected in Object Mode and 'Selected to Cursor' nothing happens)

I don't think you want to move your mesh or armature in edit mode; then you will move them away from their Origin, which can cause all kinds of weird behavior. Go to 3D Viewport > Object > Set Origin and pick one (Origin to Geometry for instance), or use it in combination with selecting stuff, Shift + S, and the 3D Cursor to get it in the best location for you. Origins can only be moved in Object Mode. Make sure the Object Origins are the right place, and move your rigged body as a whole in Object Mode.


Lock part of an object so that it doesn't scale I'm trying to draw an object that has a lot of tubes of different heights. Those tubes are all exactly the same, with a hole on one side at the bottom.
The holes of all the tubes should be exactly the same, and only the height of the tube change from one to another.

Tube looks about like that:

Now, the question, since all the tubes are the same, I'd like to have them linked, so that if, in the future, I'm modifying something on one, it affects the others. But, if I do Alt+D and try to scale the tube, the hole at the bottom gets elongated, which is something I don't want.

So, is there a way to "fix" the size of the hole, and having the scale change the height of the tube, without deforming the hole.

EDIT: To make it a bit clearer, a very important point is that I want a linked-copy of the tubes. I want that if I change something in the tube, for example the shape of the hole, this change affects all the tubes. The only difference that the tubes will have will be their height (above the hole).

I created the dynamic length pipe with two objects. The first object is one unit long, only large enough to house the hole at the end. The second object it just the tube, easy to change the length, via scaling or inputting dimensions.

The way I link the two pieces, is with a Child of Constraint (scroll down to the bottom of answer).
Normal parenting would influence the scale, but with a child of constraint (CoC) each of the transform operations and channels are selectable.
Add a CoC to the hole object with the Target set to the main pipe.  Uncheck all the Scale boxes.

Blend File
You will move the tube from only the large main section. However when you duplicate it, you will need to duplicate both objects.


Animation nodes falloff How to make the center of circle scale down again after scale up? Like a O shape.

There are two ways to do that effect.

By controlling the object falloff with Curve Interpolation node,

Blend File 1:

Using the Spline Falloff node which gives you more flexibility with the shape (O or something else),

Blend File 2:


How to change image dimensions of a generated image from Python? Say I have an image created like so:

 img = bpy.data.images.new('imageName',1024,1024)

Now later on I would like to change the size of this image to be something else, say 2048 X 2048.

Is there a way to change the size of the image itself without removing the image and then calling new again?

Note,  the image is used to store a baked texture so it does not matter what happens to the content of the image as it will be overwritten.

To change the size of a generated image:

img = bpy.data.images.new('imageName',1024, 1024)

# ...

img.generated_width = 2048
img.generated_height = 2048

Otherwise, call image.scale(w, h) to preserve existing pixel data.


Repurposing vector (speed) render layer for optical flow I'm trying to compute optic flow in my Blender scene using the "speed" render layer (appears as "vector" in the outliner window). This render layer is supposed to return the speed and direction of movement in the scene. Its primary purpose, according to the documentation, is to enable vector blur computation during rendering.

Since this layer is computing what is required for optical flow computation, I would like to output this information as images in HSV color space. In this color space, Hue should be direction of motion (defined in angles around a color circle), and Saturation should be the magnitude of the motion.

There are example of this done with blender, so I know this is possible:
https://www.youtube.com/watch?v=ZmiBI4tPk_o#t=75

However, the output the "speed" render layer is very poorly documented for purposes outside of vector blur.

My questions are:

How can I tease apart the direction and magnitude information in the
speed layer?
What are the ranges of these values and how can I remap
them (ie linearly or nonlinearly?) onto values that can make sense
for the output image formats

Here is a .blend file that contains my progress up to a certain point. Tips and ideas are appreciated

Found the solution.
The trick is to enable the desired render layer (ie "vector") and then save the render output as OpenEXR file. That format will save all the desired render layers (in this case, motion information in 4 channels) in a single file, which could then be accessed through various interfaces like Python and Matlab.