How do I properly set up a spotlight cone? I'm having a problem while rendering a searchlight-style spot lamp (i.e. I want to see the "light cone" in the final render ("Halo" option is checked), a.k.a. volumetric light).

It appears that the cone is not actually interrupted by other objects. Simplified example for illustration purposes:

point a spot lamp with a relatively narrow cone (e.g. 10° ) and "Halo" option enabled at the middle of a plane so that the spot is entirely on the plane.
render the whole setup from the side so you can see both sides of the plane
-> the spot's light cone will continue beyond the plane:

Is that a bug? If not, what would I have to do to stop the light cone from "penetrating" the plane? Note that the actual spot is only visible on the upper plane, not the bottom one. Also, if I place another object within the cone it will properly cast a shadow onto the next surface. It does not affect the "shape" of the light cone however, as I would expect...

I'm currently using Blender 2.69.8 Fastest Build from graphicall.org but also had this problem with the original 2.69 release.

(remainder of original text moved to new question: "Why do my spotlight's dimensions differ between rendered and non-rendered view?"

In order for the spot lamp to be blocked by other objects, you must set the Step to at least 1:


Why is soft body modifier always on top of modifier stack? It doesn't matter when I add soft body modifier, it is always the first modifier, and can't be moved down. Why is this?

If you can read the error message at the top it says, "Can't move beyond a non-deforming modifier". It basically means deformation modifiers are always on the top.


Layer not rendering correctly I've been following BlenderGuru's tutorials on making a donut and cup.

I've gotten right to the end and now when I click 'Render Image', I don't get the icing:

The particles (sprinkles) are displaying, but not the pink icing.  I cannot figure out why.

The blender file is here:
https://www.pastefile.com/xVhP4G

And a screenshot of Blender:

Can anyone help me figure out why?

I guess you need to select your icing, then go in the Properties panel > Particles > Render and  enable the Show Emitter option.


I am creating a waterfall and I want to have the fluid physics loop over a set of frames I am creating a small waterfall for an animation. I have the ground texture and rocks all created. I am specifically wanting to create an 8 second long animation that will be an endlessly looping video file.

I am well aware of how to work the fluid physics - create the realm where the fluid sim takes place, identifying an object for inflow, labeling the ground and other objects as obstacles, etc.

I found a number of guides and forum posts on blender.stackexchange on how to create a looping ocean, but not a stream.

I am assuming that I would take the fluid physics, duplicate, then scale back to earlier in the keyframes. I would then interpolate the meshes of both fluid physics at a point where its indistinguishable to the viewer. Since the waterfall itself would be the most dynamic aspect, I would assume that I interpolate the mesh before it falls and once it hits so the falling water streams don't show any glaring changes mid-fall.

I am unsure how to change the timing of a physics simulation along the animation strip, and how to interpolate the streams.

I know that I can add a Cyclic F-modifier to simpler animations, but would something as complex as a stream be able to have that work without a glaring seam?

Your best bet would just be to render out a 10 second sequence (ie. 8 seconds plus a little extra), and then cross fade the clips in a video editor. I don't think you're going to be able to actually loop the fluid sim files with any sort of precision.

You can physically duplicate the fluid sim files that you've cached. If your cache folder contained: fsim1.bobj, fsim2.bobj, fsim3.bobj, then you duplicated them and renamed them fsim1.bob4, fsim5.bobj, fsim6.bobj, then you would then have a 6 frame simulation with the original simulation repeating twice. Figuring out how to blend them would be the difficult part.


Rigging convention for limb joint dominant axis? Typically with bones you would use a dominant access for bending a limb (knee, elbow, finger etc).

When the roll is set you can choose to use the X or Z axis, (Y axis runs along the bones length).

Even though I realize you can use different rotation methods (Quaternion, Axis-Angle etc... which can be less restrictive compared to Euler rotation), its still convenient to have the manipulator aligned so an axis runs along the bones dominant axis for bending.

Is there a convention for rigging here? or does everyone choose differently?

In my rigs, the dominant rotation axis is always X.

It's consistent with Rigify's convention, and less a hassle when using X-Axis Mirror for faster alignment. Could be confusing, though, because visually it's always the Z axis that looks mirrored. So I'd just pay attention to the Z axis when orienting the bones.

For translation bones (like sliders) I use the Z axis, also because of the way X-Axis Mirror aligns symmetrical bone rolls. That is, if the animators use Gimbal transform orientation, they could focus on using the red (X axis) part of the rotation widget, and blue (Z axis) part of translation widget.


Non-wrapping rigid body rotations? The simulated transformations of a rigid body can be read out through .matrix_local, .matrix_world, and animation drivers set to "Transform Channel".
However, Euler rotations are wrapped to their lowest magnitude equivalents. E.G. 190° becomes -170°, 360° becomes 0°, etc.
Is there a way to get the full, unwrapped rotation, relative to the start of the simulation?

Matrices store rotations as quaternions (to_euler is only a method converting them), so if you get your data from a matrix, you know you lost information about the number of rotations. I don't think there's a way to read the euler values.
However, because 360° range is quite big, as long as your object is rotating slower than 180° per frame (or per simulation step, if you know how to access data in simulation process), you can remember previous rotation, get current rotation, and check the difference. A big (> 180°) difference suggests wrapping occurred, so you can unwrap the value, and add the difference to a variable that stores the real rotation.
rotation = deg(rotating_object.matrix_world.to_euler()[0])
difference = rotation - prev_rotation
if abs(difference) > 180:
    difference += 360 if prev_rotation > 0 else -360

real_rotation += difference
prev_rotation = rotation

Full code:
"""
Type in console:
mod = D.texts['drawhandler.py'].as_module()
mod.register()
"""

import bpy
from math import degrees as deg

view_handler = None
objects = bpy.data.objects
c = objects['Cylinder']
t = objects['Text']
prev_rotation = 0
real_rotation = 0

def callback():
    global prev_rotation
    global real_rotation

    rotation = deg(c.matrix_world.to_euler()[0])
    difference = rotation - prev_rotation
    if abs(difference) > 180:
        # rotation += 360 if prev_rotation > 0 else -360
        # difference = rotation - prev_rotation
        # shortcut:
        difference += 360 if prev_rotation > 0 else -360

    real_rotation += difference
    prev_rotation = rotation

    t.data.body = str(int(real_rotation))

def register():
    global view_handler
    view_handler = bpy.types.SpaceView3D.draw_handler_add(callback, (), 'WINDOW', 'PRE_VIEW')

def unregister():
    bpy.types.SpaceView3D.draw_handler_remove(view_handler, 'WINDOW')  # remove handler added on end of register() function

if __name__ == "__main__":
    register()

You probably want to use a driver instead of a dirty draw handler.


Texture Only Correct in Texture Paint Solid Mode I am working with UV maps and texturing in Blender 2.91. I've unwrapped the UV, exported, colored the UV map, and made sure the texture lines up with the UV map in Blender (it does). While in Texture Paint solid mode, the texture maps to the mesh correctly. However, in Texture Paint render/material preview modes, UV Editing mode, and Layout mode, the texture doesn't line up with the mesh. Under Shading, I've also made sure to use Texture Coordinate (UV). Any help would be appreciated.
Project:

EDIT: added .blend file

You have multiple UV maps, and you painted on another one while rendering (UVMap.003 <=> UVMap). Go to the UV maps, and set UVMap.003 active for rendering by clicking the camera icon. There you can also clean up and delete the unused UV maps. You can see the layout in UV Editing workspace.
(Multiple UV maps are useful when you want to change the texture layout. You can bake or transfer parts of the texture with the clone brush from one image to another.)

Switch UV maps (Material Preview mode)


Alpha not showing up in renders for textures painted with transparent png I want to paint the fassade of my building with some leaves here and there. The file I'm using as a brush is a png with transparent parts. It's working fine in texture paint mode, but in renders it always displays the alpha as black. I created the picture which is painted on with transparent background though, so I'm not seeing why this is happening. Any clues?

Thanks to @brockmann's hint I was able to resolve this issue. It was just a matter of connecting the alpha channel of the image node (got to shading tab) to the alpha input of the material node as such:
before:

after:

Apparently Evee does not render this correctly, so I needed to switch to cycles to see how it looks!


BVHTree.FromPolygons not accepting vertex list I'm having an issue using BVHTree.FromPolygons. It doesn't appear to be accepting my vertex list.

Documentation of the function: BVHTree.FromPolygons

Example:

import bpy
from mathutils import *
from mathutils.bvhtree import BVHTree

# This one doesn't work
verts = [Vector((0,0,0)), Vector((0,0,1)), Vector((0,1,1)), Vector((0,1,0))]

# Neither does this one
verts2 = [(0,0,0), (0,0,1), (0,1,1), (0,1,0)]

# Gives "TypeError: BVHTree.FromPolygons"
print (BVHTree.FromPolygons(verts, [0,1,2,3]))

It gives this very vague error message in the console:

Traceback (most recent call last):
  File "C:\planefromnormal.blend\Text.001", line 9, in <module>
TypeError: BVHTree.FromPolygons
Error: Python script fail, look in the console for now...

Anybody know what I'm doing wrong?

Oops, it wasn't the verts that was the problem. It was the polygons sequence. It requires a sequence of sequences:

BVHTree.FromPolygons( verts2, [ (0,1,2,3) ] )

Thanks lemon for the answer!


How to create a smooth surface onto a rectangle frame? Ok, so I am modelling a surface for a mac book pro, and I realized that it looks kind of "unrealistic". It seems to me, that apple used some trick to achieve that surface. It seems like a smooth rounded surface inside a rectangle form...

I tried to achieve this with extruding and model according to a background pic but that didn't do the trick.

What I felt like would be the closest to the original was to go into proportional editing and just pull a certain amount of vertices out. But that looked like as seen in the pictures.

Maybe someone can give me a hint if I am doing something wrong. I want to have the "frame" sticked to the grid and then just have the rest of the vertices to move and form the smooth surface...

U can see in the pictures what I did and what I want to have but smoother... Maybe u get an idea

Thanks for your help.

Greetz

You could use the bevel modifier to create the rounded edges on the unscaled standard cube.

Add an edge loop Alt-R in the upper part and delete the bottom vertices.

Select the beveled part and scale it along the z-axis S,Z
Note that you shouldn't scale the object to align it to the original model because this would distort the edges. Use select and grab instead.


Macro operator children are not called from python The Macro operator in the following code calls two other operators that log the calls of their invoke and execute functions. If the macro operator is called from the spacebar menu, the console output is what is expected:

TestOp1.invoke
TestOp1.execute
TestOp2.invoke
TestOp2.execute

However, if TestMacro is called from a python context (a script / addon / interpreter window), it returns {'FINISHED'} without calling the children operators TestOp1 and TestOp2.

What is the proper way to register a Macro operator ?

import bpy
from bpy.types import Macro, Operator
from bpy.utils import register_class, unregister_class

bl_info = {
    'name': "Test macros",
}

class TestOp1(Operator):
    bl_idname = 'wm.test_op1'
    bl_label = 'Test Op1'

    def execute(self, context):
        print('TestOp1.execute')
        return {'FINISHED'}

    def invoke(self, context, event):
        print('TestOp1.invoke')
        return self.execute(context)

class TestOp2(Operator):
    bl_idname = 'wm.test_op2'
    bl_label = 'Test Op2'

    def execute(self, context):
        print('TestOp2.execute\n')
        return {'FINISHED'}

    def invoke(self, context, event):
        print('TestOp2.invoke')
        return self.execute(context)

class TestMacro(Macro):
    bl_idname = 'wm.test_macro'
    bl_label = 'Test Macro'
    bl_options = {'REGISTER', 'UNDO'}

def register():
    register_class(TestOp1)
    register_class(TestOp2)
    register_class(TestMacro)

    TestMacro.define(TestOp1.bl_idname)
    TestMacro.define(TestOp2.bl_idname)

def unregister():
    unregister_class(TestOp1)
    unregister_class(TestOp2)
    unregister_class(TestMacro)

if __name__ == '__main__':
    register()

    # This doesnt call TestOp1 or TestOp2
    bpy.ops.wm.test_macro('INVOKE_DEFAULT')

The children operators need to be registered with their fully qualified internal name:

TestMacro.define('WM_OT_test_op1')
TestMacro.define('WM_OT_test_op2')


Booleans modifier glitching meshes I'm trying to use booleans to make a fake stylized fire motion . I have two meshes, both are identical, one is just smaller than the other to achieve the stylizied fire effect I'm going for. Both of them have two displacement modifiers, using empties and circles to move the displacement texture. Settings are the same for both of them and under both displacement modifiers I added a boolean modifier to both, tried to the same object so I can create holes for the desired effect I'm aiming for:-

The problem is that at random intervals the boolean modifier makes the mesh glitch out for no reason, I've tried moving the boolean modifier on top of both displacement mods but that only causes it to glitch even further, I've recorded it in motion so maybe it can help understand the problem better.

Change slightly Strenght value of first Displace modifier.
Or move vertices a bit on Y axis.
In this case t is caused by first Displace modifier that brings vertices in conflict position for boolean operation. Usually it is some overlapping geometry that creates weird cut that collaps all system :)
Sometimes helps to change Overlap Threshold value, but not in this case. In general just change a bit topology in any way.


Connect tail to fix position How can I fix the following problem?

The second bone most move from left to right and v.s. wen the first bone changed in angle. The tail of the third bone most be a fix position.

Best regards

Jean Nijhuis

If you want a fixed joint, you need a bone head in that position. Once you have setted the two joint bones, you can achieve the desired behaviour with constraints: IK, track to, stretch to, depending on the desired movements.

In my example a simple 2 bones IK chain targets toward the IK target bone, which will be extruded from the "fixed head" bone and setted as not deforming (uncheck its "deform" option).


Physical simulation of multiple scenes simultaneously I have created physical simulation of objects after initiating them from random positions. I am generating about 9 scenes and would like to view these simulations simultaneously on a blender screen as 3x3 matrix view of scenes together. I guess I might have to use viewport stuff, but didn't find anything concrete on what I wanted to do.

Any pointer would be of great help.
Thanks in advance!

It's not possible. The active scene (bpy.context.active_scene, I think) is shared by the whole blender session.

You could within one scene use several viewports without a problem (check the manual, you click and drag from the \\ section in the lower left corner to create a new viewport and set it to '3d view').

If what you want is a final render with a 3x3 matrix you could render them from separate scenes and merge them using the compositor in a new scene (using translations to move them and scale them to put them at different places on screen).


Completly beveling edges on model I am trying to get rid of all corners on upper part of my object, so it would be nice completely circular (blue line) while maintaining lowest possible number of vertices. Now there are many visible edges on the upper part, but I am trying to get rid of them. Also this upper part has many visible edges if I try to bevel parts of it even more. (image 2)

Tried with subdivision surface, but I get way to many faces
Tried playing with edge split and smooth operator
Tried beveling each edge, but then I get even worse result than on bottom image after cleaning a little.

Would really appreciate any advices on the most simple way to achieve this.

File:

If you do triangulate (ctrl+T) you can see why you have problems with your mesh structure (you have some Poylgon-faces there which will be exposed by this)

I would strongly suggest to do some manual retopology to clean the mesh base structure. It is really not that hard as it sounds.

The easiest way to do this would be to just select some points, copy and seperate them from that object and than connect them to make nice quad-faces, then you could use edge slide (press "g" twice) to make the positioning of the vertices more even if you need to... etc.:

So you can see how the geometry affects the subdivusion surface behavior here is a comparison: (your faces above, quick manual retopology below)

If you want to maximally reduce the real geometry you can apply the modifier, select the loop cut with Alt-select and delete it with "dissolve edges":


Is there a way to set the length of the Cyclic Extrapolation in the Graph Editor? So I am trying to do a running animation for my person and I have set the key frames for beginning and end of the movement for the calf and thigh and then set the high point in the middle. I need to have it be a cycle, but not for the entire animation, only for a certain amount of time when the person then stops. Is there a way to limit the length of the cycle that is made using extrapolation, or is there some way to make that cycle for as long as its needed?

I can provide more info if needed to understand what I'm trying to do.

A cyclic extrapolation is actually driven by an F-Curve modifier. In the Graph Editor, press N to expose the Properties panel and then go to the Modifiers tab and under Cycles click Restrict Frame Range and change the End value.


Best way to make a concept for a videogame model? Im working on a little videogame with some friends, but we want to learn how to work like pros. I'm the one who does the concept art, and we divide the modeling work between each one of us. This means that I will have to draw concepts that both I and them must look at when creating models. What's a good way of doing concept for videogame characters? Is the orthogonal projection the best or will it be fine with just a pair of sketches?

Edit: Maybe it will be better to ask this on a design forum rather than here?

I will do my best to answer your question within the bounds of the Blender Stack Exchange focus.

If you've ever seen professional concept art, they often have 3 view of a character/concept object.

-Frontal
-Profile
-close up

This is so the entire concept can be displayed. In blender, the frontal and profile views are often used in character modeling.

A common practice is to enable the "insert images as planes" add-on and place the planes in front of and next to the character you are modeling.

There are many tutorials and examples of this. A quick internet search will probably prove fruitful.

I hope it helps!


Rendering with direct lighting takes too long I'm using Cycles to  render a simple scene that consists of a simple house (4 cubes and 1 plane), which contains some furniture (see my file http://www.pasteall.org/blend/35552 ). Normally, using direct lighting allows me to reduce the render time considerably. So I fixed the bounce max and min to 1. I used path tracing integrator and limited global illumination as Light Paths option.

I have not used  any texture image for the furniture. I used just a diffuse material (diffuse BSDF node).

The rendering time is 20 s/ frame on CPU i7 dual core and 8 GB RAM. I think it is too long for direct lighting. Any comments?

For direct lighting in Cycles, you need to set bounces to 0, not 1, as done by the Direct Light preset. There is a bounce of indirect light in your render.

If you want to get performance closer to Blender Internal direct lighting, you can switch to branched path tracing, lower AA samples to e.g. 8, and increase the samples on the individual lights and world as needed to reduce noise.


Part of body not staying with armature when bone moved Whenever I move the beak bone for the mesh I am making it always moves way too much and moves the wrong part of the body. Here is a clip of an animation that I am not done working on:

The gif isn't a perfect representation but you can see what I mean.

I figured out that I had two bones affecting the same part of the mesh and I was moving both bones.


"Error Writing Frame" during movie render I'm brand new to Blender. I've made three short videos with the most editing done to them being fade ins and fade outs and added audio. Never had a problem rendering those.

My new project, however, is a 30 minute clip with some parts sped up using speed control strips. After I finished those edits, I grouped all the clips into a meta strip and added a "global" speed control to shrink the entire film down to ~8:20, to fit with a song I want to add to the video.

Problem is, at around 8% or 9% rendered, I start getting "Error Writing Frame". Here is a screenshot, which also shows my render settings.

I thought maybe I was running out of memory or something, but I don't know how to check if that's the case. The "Mem:" in the top right corner hovers around 1840M. I tried just rendering the video, without an audio track, but I still run into the same issue.

I'm not sure how to find output logs and stuff like that, and I'm not sure exactly what I need in order to get support. Any help is appreciated, thanks!

Needed to change render settings to a different output file as described by @R00t:

  a 30min lossless 60fps video will take a lot of disk space, and by
  default it will use an .avi container which won't handle >2GB file
  size, try ticking autosplit output

  h264 is a compression standard, x264 is an implementation of h264 and
  is the codec, but it's not a container.  blender will use the avi
  container when you set the output format to h264 since .avi is very
  well supported by most platforms and systems than, for example, MPEG-4
  or matroska. and yes you should use .mp4 container if you render large
  videos.


Start particles before animation I have an animation to render, and i want snow to fall. i've achieved that with particles, that are objects spawned from a plane high above, so it isn't visible when playing the animation. The problem is, i use a drag force field to prevent the snow particles from falling too fast and looking like rain, but they take a while to reach the ground. Can i do something so the first already at ground level when the animation begins?

You can make the start frame negative. I would suggest changing the gravity settings on the particle to slow it down though, or use the particle's drag itself.


Logarithmic curve with spiralling cross-section I'm trying to make a logarithmic curve with a rotating cross-section.

I have created a curve object following the instructions at
How to create this kind of spiral tube?, giving me the curve shown below, which has an elliptical cross-section that increases in size along the length of the curve.

However, as well as the size of the ellipse increasing along the curve, I would like it to twist, giving a 'corkscrewing' final result that will superficially resemble fusilli pasta.

It seems like this should be a simple thing to do, but I can't see a way to do it.  Can anybody help?

Have you tried the tilt property of the curve's control points?

If you select one or more curve vertex and press Ctrl + T you enter tilt editing mode where you can control the twisting effect of the curve.

Depending on how your curve was built you can control this for one or more vertex at a time.

If you need to make a smooth gradient across a multitude of points you can use Proportional editing O key to affect adjacent vertex. Use Mouse wheel  to adjust the affected radius.


Convert a partial loop of faces to an edge ring with python I'm creating a script that converts a loop of faces to an edge ring.

This is super easy if the faces loop all the way around because I just subtract the border loop and I'm left with the inner ring, but doesn't work in this situation.

How can I do this for a partial loop of faces with python? (see image)

This might not be the most elegant way of doing it but it works.

Also, I added a lot of extra stuff to account for odd situations, for example: when you have a partial loop of faces that suddenly changes direction (like an "L").

The point of all this was to integrate it into a bigger context sensitive tool that splits/subdivides your selection with a single edge loop and selects it (regardless of what your initial selection was) and that I can call with a single hotkey.

Next step... Modal operator!

Here it is:

import bpy, bmesh

context = bpy.context
ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)

sel_mode = bpy.context.tool_settings.mesh_select_mode[:]

vert_sel = [v for v in bm.verts if v.select]
edge_sel = set(e for e in bm.edges if e.select)
face_sel = set(f for f in bm.faces if f.select)

#FACE MODE
if sel_mode[2] and len(face_sel) > 1:
    #Store the selected loop of faces as an edge ring
    contained_edges = edge_sel - set(e for e in bm.edges
                            if e.select and (e.is_boundary or not all(f.select for f in e.link_faces)))

    #Store the border loop of edges as well
    bpy.ops.mesh.region_to_loop()
    border_edges = set(e for e in bm.edges if e.select)

    #We're have to do some extra stuff just in case we only selected a partial loop of faces
    #or a partial loop that changes direction
    bpy.ops.mesh.select_all(action='DESELECT')
    for e in contained_edges: e.select = True

    #Extend and store the full ring because (contained_edges) is missing the first and last
    #edges of the ring if you only selected a partial loop of faces
    bpy.ops.mesh.loop_multi_select(ring=True)
    ring_edges =  set(e for e in bm.edges if e.select)

    #Extending the full ring gives us some corner edges we dont need if we changed direction so lets get them!
    bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='FACE')
    bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
    corner_edges = set(e for e in bm.edges if e.select).intersection(border_edges)

    #Update our ring edges. Still just in case we had a partial loop of faces
    ring_edges -= corner_edges

    #Lets just create a new Set at this point and do everything we need in one line. It works though!
    final_ring_sel = (border_edges.intersection(ring_edges) - corner_edges).union(contained_edges)

    bpy.ops.mesh.select_all(action='DESELECT')

    #Subdivide the final ring
    new_edges = bmesh.ops.subdivide_edges(bm, edges=list(final_ring_sel), cuts=1)

    #Select the new edges we created and extend the loop because there's a missing edge
    #whenever we have a corner
    for e in new_edges['geom_inner']: e.select = True
    bpy.ops.mesh.loop_multi_select(ring=False)

bmesh.update_edit_mesh(me)


How can i animate multiple objects to give an explosion effect? I have an object with multiple separate parts and i would like to know how i can animate the object to open up (explode) and show all the different parts inside. Is there a way to do this? :>

For a 'dumb' explosion effect, you could try keyframing the objects, then scale their centers, so they all move away from the center. This would give some control over the speed of the 'explosion'. But, this technique has no dynamics. So, the shrapnel would not react to other objects. but it might work well for mechanical drawings.

make sure the 'Manipulate Cneter Points' button is checked.

select all the objects. (I used Cube, applied 3 array modifiers, and separated loose parts.)

Add a keyframe with I-Key. select location.

Move to a later point in the timeline and Scale larger.

Add another keyframe.

The objects are 'exploded'.

If you have an object on center (0,0,0), it will not move. You can change this by scaling from the 3d cursor.


Why does boolean cut out some shapes and not others I want to design a TV unit and for that I am using a Boolean modifier to cut out different elements.
I have two symmetrical geometries (they are in the same object) and one of them works perfectly and gets cut out, but the other one not:

After several tries to solve this issue I have extended the length of the geometry of left one (as you can see on the picture) and after that it works perfectly.

Why this is the case? Why do I have to extend the length of the left one to make the cut out possible? As you can see on my first picture the length of the original geometry is basically long enough to cut through the whole geometry.

Boolean operations have issues with number precision as they are stored by computers. Booleans are sensitive to overlapping geometry and vertices or other mesh elements being very close to each other.
In general Booleans should be avoided as much as possible while modelling precisely because of the issues you are experiencing.

You could try to switch between different modes and using different solvers, also to adjust the forms of the objects slightly to see if you get better results, but it might also be a very good idea to just choose another method for modelling what you need as you will get nicer topology as well if you model everything using other modeling tools.
Sometimes Booleans just do not work as expected - this is common in most surface modelling applications, not just Blender. So if they work for you in your situation, that's great, if they don't, just use something else.


Selecting Negetive frames in timeline I am having a weird issue. I can select every frame 0-4 except the negative frame (-1). I am not sure why I can't select it? any one know? the red arrow points to the keyframe I can't select? these are keyframe eyelid positions from BlenRig

Go to File->User Preferences...->Editing
and check "Allow Negative Frames"


I created a sphere on a chain link of meshes but it falls when in play mode New to Blender. I'm trying to recreate a scene with a wrecking ball attached to a chain link. However after creating the sphere and placing it at the bottom of the chain link (other meshes) it just falls straight into the ground.
Also I was able to reorder the meshes in the collection but now I'm no longer able to.
Thanks

The chain is just clipping through the sphere. You should make it in a way that is actually realistically possible so what you could do is put a whole through the sphere so that the chain can hang from there.


Cap a beveled curve with a half-circle I have a curve beveled with a rectangle. I want to cap this curve with a half-circle as shown on the right. The capped curve should be a single object (even if the curve must be converted to a mesh).

Note: to achieve the capped curve in the example, I cut a cylinder in half and manually rotated it until it somewhat matched the angle of the curve's termination point. Obviously, this solution is far from ideal. Thanks.

You can do this with an array modifier and a curve modifier.

Similar to this post:

How to avoid objects intersecting eachother

Make 2 pieces, a straight section and the end one, and a curve to control the way the array curves and twists.

Move the main piece so that the object and the curve have their origins on the same spot.

Use an array modifier, set it to use the curve.

Then add a curve modifier, so that the array follows the curve.

In the array modifier you can set Start and End caps. Set the end to use the endcap object.


Why is my blender file now not rendering the current frame My file

http://www.pasteall.org/blend/38528

keeps rendering the old image, not the changes I've made. A similar questions was answered at

Came back to a blender file, now not rendering ,

but I can't find where the problem lies.

old question, I guess you figured out meanwhile, but here is the answer
You have a shapekey Shin that you must set to 0 :
in edit mode it will show you only the active key that you are editing, as soon as you leave Editmode, the final model taking in account the overall shapekeys mix will be displayed (and rendered in your case)


Are there downsides to increasing viewport samples? By default the viewport samples are 32 (at least on my machine). This gives me a rough render fairly quickly when the viewport isn't changed. But are there downsides to increasing this number? Obviously when increasing the render samples, it takes longer to render, but gives you a higher quality image. However, in the viewport it renders progressively and I don't see any reduction in performance after increasing it to 256 or 512. The only downside I can think of would be more wear and tear on my GPU, but is there something I'm not thinking about?

The only disadvantage I see is that it will take longer (as you said) and your machine might run hotter due to the increased time taken rendering, which could after a while decrease the life of your battery, fan, GPU etc. The rate at which your cooling system(s) is running is a good indicator of how much the rendering may be slowing down and/or decreasing the life of your components. Just make sure the rendering not causing the cooling system to run excessively high for long periods of time.


How can I resize my chroma key mask? I am trying to place a green screen video on top of another video. My issue is everytime I add the Keying menu my background image turns black.
What could be causing this issue?

The size of the output image  is determined by the image connected to the background.

If you plug in a scaled (or differently sized) image as foreground, it will mess up the sizing of the composite.

In this case your setup is correct but the keying node is filling the frame with a value of black information (0) around the image, and a value of 1 in the alpha channel, creating full opacity.

The way to fix this is making the Black clip be a value that is not 0, so that the alpha channel becomes transparent to that value.
Changing the value to 0.00001 will make the transparency come back:


Is there a node like MixShader but for the displacement slot? So I want to apply two different materials and their displacements to an object but I was only able to keyframe the shaders using the mixshader node. Is there a similar node which can be used to keyframe two displacements? Any help would be appreciated!

You can use the factor of a Color > MixRGB to switch from an image to another, and plug the MixRGB into the Displacement node.


Particles they fly over the mesh I have an uneven shape and on it I would like to "plant" the grass, but it comes out so that one grass flew in the air and the other grows well.

I would like to get the effect of growing from mesh grass.

I think it is because your using a group. If you make each different grass blade an individual object and gave each of them a different particle system, you may avoid grass that floats in the air.


How can I stops background freestyle lines from showing through thin foreground objects when near in zdepth? I have two separate objects both using Freestyle lines. They need to be near each other in zdepth. Being cylindrical, the outside one is both in front of and behind the inner one. The Freestyle lines of the inner one show through the outer one randomly at different places. How can I stops background freestyle lines from showing through thin foreground objects when near in zdepth?

P.S. - I'm using test build 1 of 2.72, but I've had this issue before. Is there a setting somewhere that I can use to eliminate this artifact? Something like.... handling zdepth with higher numeric precision?

The reported problem sounds like another case of a known issue documented in the following page:
https://developer.blender.org/T36350

If that is the case, subdivide big faces of the outer object into smaller faces and see if the visual artifacts are resolved.


How do I rearrange/sort/organize objects within the same level in the outliner (without collections/parenting) Is there a way to drag and drop objects within the outliner? What I'm looking for is similar to middle click dragging like in Maya, or left click dragging layers around Photoshop's layer stack.
I tried unticking alphabetical sort, but that forces it to be arranged by order in which they are added.

That is what collections are for. You Organize things under collections. There are some good tutorials for that.


Need to export animations into FBX without interpolations (need just keys solely ) Im creating animations in Blender (2.77) to export the model into FBX file to read it later using Assimp library in c++ to do calculate interpolations while run-time, but the problem is I can't understand the proper way to, or better to say, NOT to export interpolated data, I need just key translations and rotations. I found one way to do that - to use Key-> Interpolation Mode->Constant, it exports the keys the way I want to BUT the time value retrieved is quite wrong and doesnt match the timeline at all, and I need exact time (ticks) as it is in Blender for my animation code. Is there any ways to make it works, by ways I mean - or straight option to create animations without interpolations exported, or keep the correct time ticks while exporting the model with constant interpolation mode? Thanks for any tips :)

I seem to find out this time values order - while exporting constantly interpolated animation every framekey is presented as a pair, the first one's tick is -1 by number then the actual frame's tick in dope sheet and it contains the translation and rotation BEFORE the actual frame tick value, while the second data in this framekyes pair shows actual trnslation and rotation at the actual time in dope shit, to clarify:
3 actual framekeys with constant interpolation:
Assimp gives 6 stored keys, first couple is, lets say, 8th tick first  and 9th tick second, this first keys means BEFORE 8th time value all previous ticks the model has translation and rotation it contains. The second one, that shows 9th tick is actual framekey change...Following this the next pair will contain, lets say, 18th and 19th time ticks, and that means that between 9th and 18th tick the bone had stable translation and rotation while at the 19th tick its going to change again. Every second framekey data will repeat every first framekey data in the next couple - this is just an interval where bones were not transfromed because of constant interpolation. Every second is actual translation/rotation of the bone. Just in case someone faces the same strange at first sight Assimp FBX loader behavior :)


Build Abstract (Parent) Shader I'm modeling a large set of similar objects (a deck of cards) and I'd like to have a "master" shader that takes an image input. Is there a way to create an Abstract (programming term) shader that I can instantiate in each card shader so I can adjust the look and feel of all the cards while not messing with the UV maps for my images?

Basically I'd like to replace PrincipaledBSDF with MyCardWhichIsAPrincipaledBSDF shader. I can copy and paste the variables to 54 objects one at a time but I'd love a better workflow in the future.

Add a reroute beween your principled BSDF and your texture
Select both the bsdf and the reroute
Go to Add > Group > Make Group (CTRL + G )
Link the group input to your color and delete the reroute

Go back to the shader with TAB or the arrow in the top right
Now you can plug your image in the group
Create another shader, delete the principled, add your group with Add > Group > NodeGroup and plug your other card image
Example with procedural textures but it can be used with image textures :

Note the "2" on the right of the name of the node group. That means that it currently has 2 users. If you want to make a hard copy and edit it independently, click on the number and the name should change. The resulting node group will not be shared with the other ones.

If you want to tweak the roughness for example, select the node group and tap TAB to edit it.


How to cut a .obj file in half? I might seem stupid and my request may seem obvious (that's what I hope) :

I found a .obj file of a wolf head i like a lot. The thing is, for what I'm trying to do, I would only need half its head. See the wolf there :

I tried following this tutorial : https://www.youtube.com/watch?v=U3J-oYFdyqQ ; but didn't get the results I hoped : on one side, only the silhouette was kept, no more details (vertices?); and on the other that's all that was left. See there :

If you're still with me now you probably guessed : I never used Blender before. Now as a perfect newbie I'm hoping there is a way to just cut trough that wolf like it's a cake. Is it the case ? Or am I gonna have to "try hard"? (How?)

Wishing anyone who read me all the best !

Stay safe.

Kendrick

EDIT : I managed to cut my wolf following Jachym's advices. So i do now have half my wolf :

My problem is now that when i export it, i lose every detail ! I only get the shape :

Are there any export settings i should consider ?

You can use the Bisect Tool for that.
It's pretty simple.

In Edit Mode, select the whole mesh through Select > All
Use the Bisect Tool and adjust the parameters to your needs
Enable X-Ray Mode and select the parts you want to delete

Note: If you don't need a sharp cut, step 3. should be enough :)

Use the Bisect Tool to cut the object in half

Then enable X-Ray mode and select the parts you want to delete


Showing mouse event in blender info panel It is interesting to see that the api for all operations happening in blender is shown in the info panel. Is it possible to show the mouse operations also, such as stocking with mouse during texturing painting?

Finally i could find that there is an option in blender called "debug_wm" which can be enabled by typing

bpy.app.debug_wm=True

in the python console which lets you see the those function calls linked to the mouse. Make sure that you launch blender from the terminal as the logs are written to the terminal on which blender is opened.


How to set multiple camera views in one scene? Is it possible to have several different views of one scene and set them as named "presets"?

Yes.

You can create new cameras with ShiftA> Camera, or you can just duplicate an existing camera with ShiftD.

To name them, enter a name in 3D view > Properties region > Item, and optionally enable  Name in Properties editor > Object > Display to display the name in the 3D view:

The active camera (the one used when you press Numpad 0 or render) is the one with the solid triangle.

To set a camera as active, select it and press CtrlNumpad 0, or select it in the scene panel with a search-able list drop down:

Another useful shortcut is CtrlAltNumpad 0, which snaps the active camera to the current view.

You can lock the transforms of the camera object to prevent moving them in the 3D view:

However you can still move them with the transform sliders in the interface.


How to make mesh lights work in Blender Eevee? The closest I can get to making mesh lights affect their environment in Blender Eevee is giving them an Emission material and turning on "Bloom". But this isn't emitting proper light, it just looks like it is, but it doesn't light the surroundings whatsoever.

I would like to be able to light a scene with meshes without having to put point lamps everywhere just to make them emit light.

Mesh lights can be used with EEVEE but they require an extra step to work: baking indirect light.

Here is a scene with a Light-type object (correctly lighting a receiver plane) and two Emission meshes (currently doing nothing)

We should add an Irradiance Volume object, and make it encompass the volume that is affected by the light that we want to capture. This object has a Resolution option that should be adjusted depending on needs: the finer the grid, the most spatially accurate the description of the light in the scene.

To finish, in the Scene properties, under Indirect Lighting, we must hit "Bake Indirect Lighting". This will compute how much diffuse light is bouncing around each one of the "dots" of the Irradiance grid.

Now the mesh lights are contributing to the lighting in the scene! Moreover, once the lighting is baked (and if the lights are not moved), objects can still be moved around and will be correctly lit by the baked light (they won't cast shadows though!):

As far as I know, the Indirect Light cache doesn't have frames so the animation of mesh lights isn't possible at the moment.

In the manual: Irradiance Volumes - Indirect Lighting Cache


Apply scale moves objects I have a set of eyeballs made up of 2 meshes joined together, a pupil and an iris. When I apply rotation and scale, it moves them in different directions. How can I apply rotation, scale etc. without changing an object's transformations? .blend file is below

Take a look into the Properties panel > Object > Transform > Delta Transform, you've accidentally given Delta Transform values to your objects. Delta transform is used to move, rotate or scale the objects without affecting their original location, rotation and scale, it can be useful sometimes.

If you apply the LocRotScale of your object, it looks like it applies its Delta Transform values as well, but it doesn't reset them, so the object undergoes these Delta Transform values again, therefore it may automatically move, rotate or scale, that's what happens here.
I don't know if there's any easy way to fix the issue, as I'm not sure there's any way to apply the Delta Transform values alone (?), so you probably need to bring these values back to their default value (0/0/0 - 0/0/0 - 1/1/1), then move, rotate and scale your object to correct its new location, rotation and scale, and at last, apply.


Setting up mechanical linkage of levers Since I'm new to Blender (I made the model and rigging with gMax), I find myself stuck trying to set up a linkage for the reverser of my steam locomotive. I was finally able to set the pivot point for the lifting arm using the iv constraint (reverser 1a).

When attempting the function the arm moved correctly but the bones disconnected and failed to raise the reverser arm. None of the constraints could remedy this (reverser 1b).

Further attempts kept the bones together.

However I was never able to keep the last bone attached to the linkage.

Any help would be greatly appreciated.
Have a great day.
TOM

Addendum:
I have been able to answer most of my questions through a lot of trial and error. I am trying to model this steam locomotive for use in TRAINZ.

A short video of my progress can be seen on Youtube.

I was able to do the linkage with an armature starting at the reverser lever. Using IK constraints with limited chain length I could connect to various objects. Everything works great when running forward:

The problem is when shifting into reverse since the radius and valve rods are location constrained to the Y-axis of the expansion links pivot point, the motion is no longer correct.

I have tried everything I could think of, including the clamp to constraint, without success. I would be grateful for any ideas. Have a great day. TOM

I've been at it over a month. I have a 99% solution.
The pictures show what I have done in Forward and Backward gear.
The solution isn't perfect because the travel between gears is on a circular route. I posted a video on Youtube. The first 30 seconds are still photos and then the action starts. If anyone has an idea how to make a straight route let me know. Thanks. Have a great day.
TOM

https://youtu.be/L5k6kLqcca4


Copy UV Islands to another UV set? Can you copy UV islands from one set to another on the same mesh? I have two UVs that are mixed up and I want to separate them.

Maybe UVMagic addon already in Blender. You can copy from objects to other objects, faces etc. its simple to use, hope it helps!
Features

11:40 Copy/Paste UV (Among faces in UV/Image Editor)
0:07 Copy/Paste
UV (Among objects)
0:51 Copy/Paste UV (Among faces in 3D View)
1:51 Transfer UV

Tutorial and feature list here

https://www.youtube.com/watch?v=BKZX3Xac7X4


White sheen over texture I'm very new to blender, so please go easy on me. I've had this issue in other files and I am at my wits end trying to figure it out. Essentially, the lighting seems to be adding a milky sheen over my ground texture, it's not happening to my grass textures. It's as if there's a layer of frost over the ground. When I turn down the light it gets better, when I change the colour of the light it changes along with it (Still undesirable as in the real world light does not create a milky layer). I am using an HDR, so still get the white layer even when mixed with coloured light.

I am sure the answer is very simple and I havent stumbled across the solution yet. Any help is greatly appreciated

Image 03 This is the texture I'm trying to use - nice and dark

Image 02 This is a snip of the texture in blender. Notice how the grass isn't washed out, but the ground is. I know this is zoomed in, so will appear different - but when I zoom in on my texture in Gimp it's not milky

Image 01 This is my node setup for the ground

it seems to me that you are using a glossiness texture in the roughness input.
you can read about different texture maps here

try to invert your gloss map and maybe remove your reflection map.

the invert node can be found by pressing Shift + A >color>invert


How to make a simple one image + music mp4 video? so, what I want to do is very simple : I'm a music maker/composer (industrial and dark ambient)and I want to upload a track on Youtube.

So, what I have to do is this : have an audio track, and a picture that lasts the time of the track, and export it in a video format (mp4, AVi, whatever). This was extremely easy to do with Windows Movie Maker, but the thing is, there is no Windows Movie Maker on Windows 10. So, I downloaded Blender as it seems to be the best open-source video-editing software around. But, I don't get how am I supposed to do a task that should be so simple :

I go into the video editing screen, I add my track, I add the image, but then what? I don't find how to set the dimension of the image, nor of the video, and have no idea on how to export it as, let's say, a mp4 file.

Any simple tutorial on how to do such a basic thing?
Thanks

You can do that even with Blender, although it will not be extremely simple for a program novice. Here is something you need to know:

you have to create a "sequence", composed by sound track, and an image that is shown for all the sound track length.
then you have to "render" it, as an "animation" to a video+audio output format
blender sequences are created as frames, not "seconds": the binding between frames and duration depends on the "animation" frame rate you decide, eg: setting it to 25 f/s would mean that you need

25 f/s * 60 s/minute * 3 minutes = 4500 frames of Blender animation to get a "video" 3 minutes long. You need to tell Blender how many frames your animation needs to be. Later on this.

You can show seconds instead of frames in the "timeline" changing  this setting:

The output format of an animation can be everything from an image sequence (1 every frame) to a video file container like an .avi, with many codec (as supported by th bundled FFmpeg libraries, so many formats available).

you set start and end frame in render setting > "frame range"
you set the frame rate in render settings > "frame rate"
every frame size will be what you decide in render settings  > "resolution"

you set the output folder, filename, container file, video and audio codec in render settings > "output" and "encoding"

You will need some practice with all this.

I would do:

setup desired resolution, frame rate, output and encoding settings
switch to video layout and load the audio in a strip, position it so that it starts from frame 1
Note its length (eg: 4446 frames) in the right-side edit strip that appears when you select the imported audio strip. You need to tell Blender that your animation will be 4446 frames long
set this value in as resolution > frame range > end frame (start frame should be 1 of course), but also in the bottom timeline. This resizes "working area" from the default 250 frames to enough frames to contain all your sound file.

Now add another strip, with the image you choose. This will result in a little strip (a few frames long, just enough to allow you to select it)
You need to position the image strip so that's starting at 1 and then extend its end until it reaches last frame of the animation (4446 in the example above). To do this right select the whole little strip, and in the right-side edit strip change its end frame from what it is (eg: 26) to the same last frame of the animation (4446 in the example)

more or less it should be done: you will end with something like this ( I also show here how you can display the waveform - hint: you could also edit its levels...)

you just need to tell Blender to "render the animation", that for you will mean "create the video".

It will be slow, compared to similar specialized softwares, but it should work well (this slowness is a small price you have to pay but Blender can - .in the future - allow you, apart this basic video editing usage, more possibilities that only a few expensive other programs can allow you).

I also suggest you to start with shorter frame range (eg enough for a 30 seconds video) to practice.

To be honest, although it could be simpler than it looks, it will need a bit of practice with standard Blender basic commands like grab, zoom. But it is well worth imho, and if you like the workflow, and the possibilities, there is a lot more you can do, it's just a sort of a "primer".

Hth.


Is marking and labelling topo points possible? I have a topo surface created by using a a heightmap as displacment modifier which does a nice job as below. My question part A is can I add a marker (say like the circle, or it could be just a dot) to the surface of the topo that will remain attached even as I change the strength or position of the topo surface? Second, and more ambitiously, would be an attempt to emulate Sketchup by having a label and arrow where the arrow would follow the point on the topo. My goal is to create block diagram of terrains where the terrain can be viewed from different angles but the labels will remain facing the viewer. I am not experienced in Blender and will be happy for a general suggestion for developing this technique.

First, enter edit mode on your surface object, select the point you want to and assign them to a new vertex group via CtrlG.

Create your Circle object. Give him a Child Of constraint, set your topo as the target, and specify the vertex group you just created as well.
You can also add a Track To constraint, with your camera as target, "To" on Z and "Up" as Y, so that your circle always faces your camera.

For the arrow, I think it should do with the Hook Modifier. I never use this one so I'm guessing in the dark here, Bu I guess you need to create a vertex group with the vertices you need to stick on the circle, then add the hook modifier on the arrow object, set the circle as target and specify your point's vertex group.


How to make my sculpting smooth? I just started blender yesterday and begin sculpting a face. I used dyntopo to add more poly to the mesh, but why is it still pointy? How to smooth it even more? I tried the smooth brush and increasing the dyntopo number but it deformed my sculpting. Help me please?

"Dyntopo" stans for dynamic topology optimization. Which means that topology is refined only under the brush.
If you want the polygons to be more finely resolved, you should try the "subdivision" or "Multiresolution" modifiers. Be aware though that they will subdivide even your finest polys, so it may be best to use a "retopology" modifier beforehand.
However, I think the most useful hint right now for you would be to enable smooth shading for your mesh - Doesn't affect your topology but gets rid of the "blocky" look of your model. To enable this, go to Object Mode, click the "Object"-Dropdown menu and click "shade smooth".


How to get my file back in 2.79 after saving with 2.80 series? I was experimenting with a file in 2.8 and accidentally saved it.
When I opened it back in 2.79 I can't see my model. It disappeared with the error

File written by newer Blender binary.

How can I get my model? I can see my model in 2.8 but nothing in 2.79. I tried to export it  in .obj, but I lost all my modifiers, material and camera setting.

Restore your file from a backup. Check whether there is still a .blend1 or .blend2 next to your .blend, or pick a backup from another source.

If you didn't make backups before using a Blender 2.80 beta, you'll probably have to manually restore by trying to copy-paste bits and pieces between 2.80 and 2.79.

Note that the download page said Do not use in production nor save important files with it for a good reason.


Vertices behaving like parented bone is rotating when neighbouring bones rotate e.g. When I rotate the character's upper shin bone, the vertices behave as if her lower thigh bone is also rotating.

The vertices around the lower thigh are not weighted to anything else but the thigh bones and I only have one armature modifier. I'm fairly certain it's reacting to that unmoving lower thigh bone but just don't know why.
I don't even know what to google for this problem!

I have used many many bone constraints on this rig but as far as I can tell no constraint should result in a mesh deformation without the bone actually moving.
Does Blender just become glitchy when you use too many bone constraints?

[edit] I also want to add that this problem is absent when I import the model and animation into Unreal Engine 4 so it's looking more and more like a bug or a Blender feature that I'm not aware of.

Okay so I fixed it, I think. I just dissolved the lower thigh bone and subdivided the upper one and gave the new one the same name as the old lower thigh bone so the weights would sync up.

I still have no idea what the problem was but it's gone now.


Bone Layers in Edit Mode are Different Than in Pose Mode I can't figure out why this model won't show all of the bones in pose mode. I think it has to do with the bone layers, but I don't know how to move them. Even with all of the layers selected, only some of the bones appear.

This image shows what pose mode looks like:

And this is what edit mode looks like:

No bones are hidden. Alt-H does nothing. The problem may also be related to bone groups.

Any help would be much appreciated.

It looks like your bones have custom shapes, if you go in Pose mode, select a bone, go in the Properties panel > Bone > Display > Custom Shape, some meshes are used to display the bone in another way than a classic octahedral shape. Press on the little X to delete. I don't think you can delete them all at the same time.


Having Troubles Modelling A Car I can always put so much work into making a car but I always get stuck on making the roof go inwards and the hood. I can't find any tutorials that help me with this. To better explain say you are looking at the car from the front the car goes inwards at certain points I can't do that does anyone know a good tutorial or care to explain?

subsurface modifier, in short. Dont think this can be answered with a quick answer though. You'll need to work your way through numerous modeling videos either on youtube or the many great training videos DVDs that exist for blender.


Object Not Following Bezier Curve Properly There is no topic for 'paths' so I figured this would probably be a basic issue that someone can help me solve.

I have a spaceship that I modeled. I also have a camera positioned in the distance. I am trying to get the spaceship to follow a bezier curve and fly in front of the camera. I used the "Parent -> Follow Path" method. The problem is when it runs, the ship just goes straight down with a dashed-blue line that points to the path.

I also tried that Add Constraint to follow path, but that was even worse and I don't like having to add all the keyframes so if I can solve this with Parent->Follow Path that would be best (in my book).

For your convenience, I have uploaded the file to gdrive for review

https://drive.google.com/#folders/0BxVGCeUMKMptVEZWaHNUY3hUcUU

The problem is that you added rigid body physics to your spaceship. They conflict with the animation.
To make the ship follow the curve either make your rigid body animated or remove rigid body physics alltogether.

But "Parent->Follow Path" will only set the object's position. Your ship will not be rotated along the curve. The better solution is using a "Follow Path" constraint. To make the constraint work correctly, you will have to clear the ship's translation by selecting it and pressing [Alt+G]. Set the forward axis of the constraint to '-Y' to make the ship point into the correct direction. The rest of the settings should be OK.

You can also edit the way the ship's upward direction is pointing by selecting the curve, going into edit mode and modifying the tilt of the curve's control points until their orientation suits you. Just select a control point and press [Ctrl+T]. By moving the mouse you can rotate the direction the curve interprets as 'Up'.


2.8 Principled glass shader doesn't show any thickness? I've got a principled glass shader and I've got the “screen space refractions” turned on. The glass has a thick base but you wouldn't know it to look at it? It's transparent ok and refracting the light ok, but the thicker base isn't apparent at all. Any ideas?

The principled shadernode looks like this

Wireframe shows that the cup has a base that isn't apparant in the render.

Right figured this out, sorry my fault it wasn't actually a transmission issue (that was set to 1, I must of been fiddling with it when I took the screen shot). So the issue did occur even with a transmission of 1.

The problem was I think with everything being a bit flat. So I added a few edge loops and added a bit of curve to the base, making it more parabolic(?). Also, made sure I didn't have any extra faces hidden in the base.

Also used all the setting recommended above (thanks everyone, much appreciated) ie.

blend type to "Alpha Blend" in settings for the material
See if mesh object doesn't have negative scale and has its normals calculated inside
“screen space refractions” turned in settings for the material


How to get rid of purple lines-crease on an object? Does anyone know how I can get rid of that crease? Is there any possibility to make it a smooth face like the other faces? I am modeling a cup of coffee (online tutorial) and when duplicating the interior side to create the liquid I get that look at the level of the areas where the handles rise from. Even so, after duplicating, I am not sure if there is any way to get rid of that and make it a smooth object overall. (You can see the purple lines too)

(Beginner here :D )

To get rid of the crease, first select the purple edges. Then, in the sidebar (with the cursor in the 3D Viewport, press N to toggle it), set the Mean Crease value to zero.

Thats it!


Help with moving an object in bge randomly via script? I'm pretty new to blender and I'm trying to move an agent (in this case, a cube) randomly in bge. This is what my code looks like at this point:

import bge
import random
from mathutils import Vector

def main():
    cont = bge.logic.getCurrentController()
    owner = cont.owner
    function = cont.sensors["Always"]

    width = bge.render.getWindowWidth()
    height = bge.render.getWindowHeight()

    def set_object_pos(width, height):
        owner.localPosition.x = random.randint(-1*width, width)*0.007
        owner.localPosition.y = random.randint(-1*height, height)*0.007

    current_frame = 0

    loopnumber = range(100)
    loopnumberlist = []
    for number in loopnumber:
        loopnumberlist.append(number)

    for number in loopnumberlist:
        set_object_pos(width, height)
        print (owner.localPosition.x, owner.localPosition.y)
        current_frame += 1
        number += 1
main()

I just randomly created a loop because it would only print out 1 location no matter for how long the simulation ran. The problem I'm running into at this point is that the script will print out random locations but only moves the agent the first time the loop is run....any way to get the cube to move every time the loop is run? Or, better, is there any way to just call this function every frame? I thought using the Always controller would help but it hasn't worked that well...

Thanks!

Cause

I think you do not understand the concept of the BGE logic. In your Python code you describe the behavior within a single frame. This means it runs exactly once per game loop iteration.

Your loop will not executed "over time". It will run within one frame resulting in overriding the object location and printing to console 100 times. The effect is: 100 messages per frame and a waste of processing time (as only the last location change will be visible).

Solution

Design the code in a way that it describes ONE iteration rather than 100. Run the code when you want to change the location. This might be

constantly (Always with true level triggering),
at key press (keyboard sensor)
random interval (timer property + property sensor + random actuator)
...

here is a sample code - demo.py

import bge
import random

def setAtRandomPosition():
    if not allSensorsArePositive():
        return
    owner = bge.logic.getCurrentController().owner

    owner.localPosition.x = random.randint(-10, 10)
    owner.localPosition.y = random.randint(-10, 10)

def allSensorsArePositive():
    for sensor in bge.logic.getCurrentController().sensors:
        if not sensor.positive:
            return False
    return True

call it with Module mode: demo.setAtRandomPosition

I hard-coded the limits from -10 to +10. You see this code is very simple as you only care one frame. How you keep the object within the camera frustum is up to you.

Try this with an Always Sensor [True Level Triggering] Frequency: 20

or use the keyboard sensor to set a new position at each  press

I hope it helps you


Access image pixel data WITH color management settings When accessing pixel data of a bpy.types.Image object, I only get the color information of the image before the color management settings are applied. This is regardless of whether the "View as Render" option is enabled or not. If I choose this option in the image editor, however, the image is displayed with the color management applied. So, the pixel data must exist somewhere in memory.
Is there a way to get the pixel data AFTER the color management settings have been applied via python?
Or alternatively: Is there a way to apply the color management settings to the pixel data manually? (maybe via OpenColorIO?)

The only way I know to do this is:

create a temp scene
set the temp scene's color management as desired
save the image with image.save_render(path, scene=tmp_scene)
read the file at path back in as an image and access its pixels

Maybe someone else will have a better answer though.


Reflection color (Blender 2.8) Where do I find the Blender 2.8x equivalent of the "Mirror reflection color" found in 2.7x (as in picture)?

To use Glossy node and change color to pink?


cycles orthographic render with gradient background I created a basic rainbow gradient background in cycles with the colour ramp set to constant. With the standard camera this appears as expected.

But when I switch to orthographic camera I only get one colour.

I can tweak the Z location in a mapping node to move the gradient around and the changes are represented on a glossy Suzanne correctly. but the background is only one colour, at a time.

I change the position of the colour ramp stops and even using 6 decimals points of precision can not get more than one colour to appear on the background at a time.

I get that the orthographic camera is flattening the background and causing a greatly reduced angle of view but should I be able to set up the background to to be a very small colour ramp rainbow?

I also thought about using the compositor, but found the images in this answer to low-res to read. How to create a gradient backround in the compositor?

Orthographic camera means 0 degree angle, so, the camera can only show one pixel (the smallest unit) of the background. Compositor seems the way to go for your desired effect.


The Final Output is Different (In terms of world background) than the 3D EEVEE viewport blender 2.92.0 I Setup the following scene in blender in the 3D EEVEE real time viewport

The following output comes when I hit f12 or render the image (BOTH in CYCLES and EEVEE) then a weird grey background comes. What is the reason ?

ok, then make that cube.001 hide in render view too.


2 GPU different technologies Maxwell and Pascal Rendering Together is it possible to use 2 gpus with different technologies for final render. specifically Maxwel Titan X and Pascal Titan XP.

Yes it is possible. Nvidia CUDA is supported for GPU rendering on Nvidia graphics cards. Supported graphics cards start from GTX 4xx (computing capability 2.0). Both of your listed cards have compute capability 2.0. For them to work all you should need is the latest Nvidia drivers.

Source: The Blender Manual


Properly meshing a metaball I am new to metaballs and I want to mesh a metaball, so that I can export it. For a simple test I just added a metaball to a cube. This is how I created my strange metaball:

Add a cube

Add a metaball

Select the metaball and then while holding shift select the cube

Ctrl P to parent to object

Go to the Cube settings > Instancing > Faces

After looking up how mesh it I went under Object > Convert To > Mesh from Curve/Meta. This creates a mesh but isn't what I really want.
I don't know if I did something wrong, I just followed a tutorial on how to use metaballs. Here is the produced mesh:

But I just want a mesh that looks like the unmeshed metaball:

Here is my blend file:

I think I'm starting to understand what is going on. Correct me if I'm wrong, but I think you parented the meta-ball to the cube to change it to the desired shape.
A mesh with this shape is inside the weird thing with the seams.
I converted your meta-ball in the file to a mesh. Then selected it and removed it as a child from the cube. 3D viewport > Object > Parent > Clear Parent (or press Alt+P). The thing with the seams disappears, and then i'm left with the mesh I believe you want.
Since this was, as you described it, a simple test, I hope (but am unable to tell if) it also works in a more complicated scenario.


My character with soft body still go through wall a little (animation) I have

A character with softbody (and ik armature if you are wondering),A wall,Collision enable

The character deforms itself on the wall as i want but some of the mesh still passes through the wall.

This would not be a problem but the fact is that my wall is a transparent glass and i do not want anything passing trough it since it kills the effect i want to make.

I tried a lot of tweaking with softbody(since tutorials are non existant) but a small part of the mesh still passes through  no matter what.

To put it more simply , how to make a wall that cannot be penetrated by anything , all other things are secondary.

The blender physics simulation doesn’t work with absolutes, only forces so it is not possible to give a mesh a property that will absolutely prevent anything penetrating - give something enough velocity or enough force and it will pass through a surface.

However, there are some simple general things you could try - in particular, make the simulation work with smaller intervals so that forces and velocities are proportionally smaller. This should result in the collision having an effect before the impactor manages to get through. This can be achieved by increasing the ‘Steps per second’ setting for the simulation. For very fast simulations or extreme forces (such as a soft body string wrapping around another mesh) you may need to increase the steps per second by orders of magnitude (perhaps from 60 to 6000 or more). Increasing the steps will provide a more accurate simulation at the expense of requiring more simulation CPU time.

Other options are to ensure your Normals are set correctly and to adjust the collision bounds (eg, Soft Body settings) to be appropriate to teh mesh. For example, see How to get the physics engine to wraps a string around the moving part of a motor constraint


How can I align the 3D cursor to a face / polygon with python I'm currently trying to align the 3D Cursor to a face / polygon with python on Blender 2.8, to snap one object on the surface, but I don't know how can I achieve that, currently I'm using this as a test with the default cube, but it doesn't work as I expected:

import bpy
from bpy import context

scene= context.scene

obj = bpy.context.active_object
face = obj.data.polygons[0]

scene.cursor.location = face.normal
scene.cursor.rotation_euler = face.normal

rot = context.scene.cursor.rotation_euler.copy()
loc = context.scene.cursor.location.copy()

bpy.ops.mesh.primitive_plane_add(location=loc, rotation= rot)

Yes, I know, I can do this with the Blender's snapping functions, but I would like to know how can achieve this with Python.

Hopefully, could someone please bring me some help?

Thank you so much!

So, an important thing to know here is that a normal is only a vector, so it, in a way, represents a single axis of the rotation. The script below pretty much guesses an x and y heading and uses the z direction as the up axis for the cursor. Here, I'm finding the location and normal of the selected face and assigning it to the location and up axis of the cursor. I've simplified this script a lot. It doesn't use the bmesh data, which means you may need to make your face selection in edit mode, and switch back to object mode and then back into edit mode before you run the script.

import bpy
import mathutils

C = bpy.context
cursor = C.scene.cursor
obj = C.active_object
p = obj.data.polygons

#get the normal and center of the selected face
normal = obj.data.polygons[p.active].normal
center = obj.data.polygons[p.active].center

#generate a quaternion rotation from the normal vector
up = normal.to_track_quat('X', 'Y')

#set the cursor to the center location and rotate it to match the up vector
cursor.location = center
cursor.rotation_quaternion = up

And then back in object mode again carry on with getting the cursor location and rotation and creating the primative like in your example above:

#get the object world matrix
mat = obj.matrix_world

#generate the location and rotation
rot = cursor.rotation_euler.copy()
loc = mat @ cursor.location.copy()

bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.mesh.primitive_plane_add(location = loc, rotation = rot)

You have to get the object world matrix and use it to offset the center location because any vertex, edge, or face location will be based on a distance from the object center, not the world center. Of course, you don't have to use the cursor as a step in between and can just apply the rotation and location of the face directly using:

rot = up
loc = mat @ center


GPU function in Blender I'm currently building a pc for sole purpose of blender. I was just curious as to what the function of the gpu is in blender So I can decide which GPU to buy. I have a rough understanding of CPU function but not sure GPU other than it can be used to render

GPU can be used for faster viewport display, more vertices count. A PC with a powerful GPU can handle Millions of vertices and faces, but Consumer Notebooks cannot be used to get that performance. GPU can also take over some functions of CPU in rendering, it can handle Volumes , Procedural Textures better than CPU, specifically GTX is mostly used for Realtime, and is famous among gamers, and RTX is for  has specific algorithms for raytracing, (useful for Cycles in blender). When you set Your GPU in the CUDA section in Preferences , you let the GPU do most of the calculations in blender(after setting to GPU Compute in Render settings) and it can do somethings faster than your CPU.


Uv Maps Faces Objects Materials And Image Texutres.png In a nut shell I just don't get it when I start unwraping multiple faces on one object. I don't see how the UV/Image Editor the UV Maps, the Nodes and the materials are logically connected.

If the UV images editor said "You are editing the material named such and such" then I would see what was going on. I don't understand what I am affecting when I click on the UV Maps under data object.

Are the UVMaps connected to the unwrap via osmosis?
(repeated in comment)

You don't edit materials in the UV Editor, you only edit coordinates for applying textures.

These sets of coordinates called a UV Map are created through the process of Unwrapping can be used in any number of textures for any materials, modifiers, for texture painting, or any other use you desire.

They are not tied to any particular material or texture for that matter, and each object can have any number of different sets of coordinates for different purposes.

Each object can have any number of materials applied to it's faces called Material Slots. Each slot can hold exactly one material, and each face can be assinged to exactly one Slot at any given moment.

Each material can make use of any number of textures, and each different texture must use at least on set of coordinates. These coordinates can be automatic like Generated or Object, or manually created through UV Unwrapping like UVMaps

Now go watch some tutorials about Blender unwrapping


Use alpha of one texture node to mask another texture node I have two texture nodes for my object. I'm using the "normal" node to create a bump map by connecting the "color" output of texture1 to the "normal" input of the "normal" node and taking the output to the "displacement" in "material output".

Now I need to apply the displacement only to those areas that are transparent in texture2. How can I use the alpha channel of texture2 to mask out texture1 before it goes to the input of the normal node?

I think I got it:

I used a mix RGB node and put my texture1 into the upper slot and a transparent color into the lower slot. Then I put the alpha of texture2 into the "fac" of the mix node.


Stacking cycles renders in the compositor? There's a blog post going around about a plugin that uses ImageMagick to stack Cycles renders together.

Why can't we do this in the compositor, and with a still frame?

Is there a way to "get ahold of" the image that's in the buffer before it gets refreshed?
Is there a way to average that image with the next refresh IN the compositor?

I've tried separating RGB, adding the components and dividing by two, and re-combining the RGB, but I think there's some clipping going on because that makes a very dark image.

It's relatively easy to animate the seed value, render a bunch of the same image, and average them together in GIMP, and that looks nice, but can we do this in the compositor and/or as we're rendering? I.e. average one sample with the previous one.

You can use the File Output node to do this, however there are some issues.

Node setup: (click for full size)

The pink highlighted value in the Math node is a Driver that returns the current frame number. You can quickly create this driver by typing #frame in the value field:

You can also do this for the Seed value in Render settings > Sampling as a quicker way to get a different seed each frame than animating.

Creating:

Add the composite nodes and #frame drivers.
Set the file output node Base Path to a directory that is not the main output location set in Render settings > Output.
Optional. Change the subpath (i.e. the name, though you if you have / or, in case of Windows, \ characters in the subpath field, blender will create new sub-directories accordingly.) of the output image slot by selecting the file output node and pressing N> Properties region > Properties > File path in the Node editor:

Render the first frame. All that is actually necessary is that a file called image0001.png (where image is the subpath of the output image slot in the File output node, 0001 is the scene Start frame, and .png is the file extension for the output format selected in the File output node) is created in the location specified in the file output node.
Click Open on the Image node and navigate to the placeholder file in the File output node output location, and click open.
Change the image source to Image sequence, set Frames to the number of frames in the scene and set Offset to -1.
Render the animation (CtrlF12)
The last frame in the output location specified in the File output node will be the finished image.

How it works:

This node setup uses this solution for averaging the images:

  If you render 5 images with 10 samples each, the second image should be mixed with the first with a factor of .5 (or an alpha of 50%). This will effectively result in a 20 sample image (as you pointed out, it's not quite the same as 20 rendered samples, but it's reasonably close), so the second image should be mixed with a factor of .33 (alpha of 33%) and so on.

The node setup uses the File Output node to output the averaged result of the previous frame and the next frame to a separate directory.

The images written to that directory are read by the Image sequence node on the next frame and used for averaging with the now current frame. The result is again written to that location with the file output node, read again, averaged with the current frame, written again, and so on.

Problems:

On the first frame there is no image for the image sequence node to read, this should not be a problem since on frame one the mix factor is 1/1 = 1 so only the raw render will be used.

However, there is a bug/limitation that causes the file output node to output a completely transparent (or black if you are only saving RGB channels) image for frame one, due to the lack of an image for the image sequence node to read. The image sequence node then gives a transparent result, which sets the transparency of the mixed result to 0.

Also see this related post.

This causes a problem next frame when the image is mixed with the false black/transparent image, which causes darkening/decrease in opacity. This darkening will be quickly mixed out to be unnoticeable in subsequent frames, but it does mean that the image is not 100% accurate.

As a workaround, you can either:

Add a Mask node and an Alpha Over node to to ensure the top input of the Mix node is always filled and always 100% opaque: (click for full size)

Or render the first frame by itself and replace the incorrect black image with the raw render of the first frame manually. Then render the animation starting from frame 2.

Result:

Rendering 15 frames at 10 samples gives this result:

A single 10 sample frame:

The final combined result:

A 150 sample render:


create in python a specific F-curve Recent versions of Blender do not generate any type of F-curve.

In particular, after inserting a key position image on the object, I would like to enter:

-for Xposition: f (t) = 8 * cos (t ^ 3)

-for Yposition: f (t) = 8 * sin (t ^ 3)

-for Zposition: f (t) = 0

which is impossible with an F-curve modifier, to create on the object a circular plane motion of radius 8 and accelerated

All that remains is Python.

1) A python script for this?

2) More generally, I'm looking for a tutorial elaborating a Python script to enter any type of mathematical function of a single variable, representing an F-curve related to any keyframe insertion.

Thank you for your help

The Driver System

Can use the driver system for this.  An fcurve is a series of frame, value points. The value of an fcurve at any frame can be found via FCurve.evaluate(frame) A scripted expression driver evaluates its expression at each frame.  context.scene.current_frame is already known to the driver namespace as frame, as are a considerable number of math methods and properties including sin, cos and pi

Type simple expressions directly into the property preceded by a hash "#".

Will show as purple if all is Ok.  Can edit at any time by clicking on the driver.


The Shader Editor Show Up Blank When reopen it So I'm still learning about texturing in blender. Then after googling around i found about shader editor and uv editor. When i first open shader editor to make material the node show up okay. Then after that i go to uv editor to aligning the textures to my object. But, when i go back to shader editor to messin around with roughness and heightmap, the nodes that's there before is gone and just show up blank like this

I think that you set up your nodes for the brick material, yet because you are in object mode, you have the default material showing up to be edited, not the brick. Change which material is to be edited at the top of the shader editor window.


Beginner question: Increasing poly density for a single side of a cube I am new to 3d-modeling, so please bear that in mind and if you find some fundamental flaw in my explanation below, do not hesitate to tell me.

The mesh I want is a cuboid with a lot more faces on one of its sides compared to the others. I inserted a cube, scaled it and applied  transformations, subdivided it once and added a few edge loops to help subdivision. The resulting mesh then looked like this:

(Up until this point everything worked as I expected)

In order to get more polys on one of the sides I selected its four inner faces and subdivided them, the result was that adjacent faces "degenerated" into n-gons, which I want to avoid (because the target application does not like them). This is the resulting mesh, where I selected the resulting ngons using select->facesBySide:

This of course makes sense, because these adjascent faces now have more than 4 vertices, but I am not really sure how to proceed from here. I currently see only two solutions to this problem:
1) Either subdivide the whole mesh evenly (which is actually not a solution at all, because the resulting mesh will have the same poly-density on all sides)
2) Connect all the new vertices of the adjascent faces (the ngons) to a "corner vertex" by creating new edges for each, which results in a set of many ugly stretched out triangles.

Both solutions seem undesirable to me. So how would a more experienced poly-modeler approach this?

Thanks in advance!

ps. I realize that this is a beginner's questions which probably has been answered a million times. Unfortunately I did not find anything, but if you know a post or a tutorial explaining these things, it would be great if you could post the link.

I am glad you asked that question. I see many meshes from beginners with triangles or Ngons (polygons with more than 4 vertices) when it's not necessary. In most cases it's easy to change mesh density using only quads--once you know how.  The image below shows some examples to get you started.  Good luck.


How to build a 3D spiral (not a helix)? I've been looking for ways to build a 3D spiral in Blender, but every time I search for it, I find techniques for building a helix.  I'm not looking for a helix; I'm looking for a 2D spiral, extruded up into the 3rd dimension.
Does anyone have any pointers for creating one?

Here is a tutorial for this:
https://youtu.be/-ckk8GVGv6o
Basically you use the shrinkwrap and the screw modifier to do this.

build a circle
use modifier screw and apply it
build a cone and scale and move it as you need it in the screwed circle
now use modifier shrinkwrap with object cone on your circle
scale z value to 0 so that you have "flat" screw


How to scale multiple faces without moving them towards each other? I am making a hand on this model and for fingers, I want to scale individual faces of the fingers without moving those faces.

When I try to scale them I got the following results...

Instead of that effect, I want them to be scaled in place, without them moving closer.

So is there any shortcut key or other solution?

Set the pivot point to individual origins.
You find that on the bottom bar, the 2nd one on right of the mode selection.

(Turned this into an answer from a comment by lemon, with explicit permission.)

Note:
In order to turn the cube in the picture into something similar to the hand in yours, use "Extrude individual" on the two selected faces (or your fingers).
Then scaling them by individual pivot point has the effect I think you want to achieve.


Creating high poly from low poly model I have created a low poly mesh in Blender.
Now I would like to texture it in a different program.
Therefore I would need a high poly model.
When I add a "Smooth" modifier, nothing happens, my model still looks blocky.
I expected my model to become smooth and the jagged edges would go away:

Can somebody tell me how I would do this?
Thank you!

To make it LOOK smooth, select the object, hit 'W' and select 'Shade Smooth'

To ADD POLYGONS, you can optionally select all faces (in face select mode) and hit 'W' then 'Subdivide' This will quadruple your face count. Once that's done, you might want to hit 'W' then 'Smooth' (which actually moves vertices to achieve a smoother mesh).

Or, you can go add a Subdivision Surface Object Modifier, adjust the 'view' and 'render' values until you like the mesh. Apply the modifier to get back to a fully editable mesh again.


Bake mesh to plane results in flipped image I'm trying to bake the top face of the cube(with text) to the upper plane like below,

Then I place the plane on top of the text and do a ray cast,

The end result is a flipped over result,

I'm curious what happened, I used to bake from high poly to low poly, but this is the first time I bake a chosen high poly face to a plane, could you suggest me a right way of doing this, thank you my friend, I just want to bake a simple decal.

Seems like the uv shell of the plane is flipped. Try scaling the shell in the uv editor in -X.


Coloring bevel curve with vertex color I'm working on a visualization problem.

I'm given a curve with a list of vertices. There is a color assigned to each vertex.

My question is "how do I generate the bevel curve by linearly interpolating the vertex colors?"
Any ideas?
It seems like I need to write some python scripts to achieve this.

Thanks!

With a Python script you can populate a Color Ramp in the material according to the color specification. With the curve's UV coordinates you can color the bevelled curve with the correct color.

I start with a manually created Bezier curve with its bevel object set and the material assigned, as well as the node tree for the material. It's also possible to create the whole curve object in Python, just as I think it's possible to set up the node tree.

In the Data tab of the bezier curve under Texture Space activate “Use UV for mapping”.

I supply the coordinates of the curve's points and their color values in a csv file called point_data.csv within Blender. If your files are stored in another format or in an external file, you'll have to modify the code accordingly. Perhaps you might also want to supply the handle positons instead of using auto-handles.

x, y, z, r, g, b, a
-1, -1, 0, 1, 0, 0, 1
-2, 0, 0, 0, 0, 1, 1
-1, 1, 0, 1, 0, 0, 1
2, 0, 0, 1, 0, 0, 0

This is the script that was used to generate the image above. The coordinate grid was added manually to check if the color positions are correct.

import bpy
import csv
from itertools import tee
from mathutils import Vector

material = bpy.data.materials['Material']
ramp = material.node_tree.nodes['ColorRamp'].color_ramp
# Clear the color ramp of all elements but the first
# which can't be removed
for e in reversed(ramp.elements[1:]):
    ramp.elements.remove(e)

# Modify an existing curve object instead of creating new one
curve = bpy.data.objects['BezierCurve']
curve.data.splines.remove(curve.data.splines[0])
spline = curve.data.splines.new('BEZIER')

# Read color info from internal csv file.
# Could also load from external file.
point_data = bpy.data.texts['point_data.csv']
lines = (line.body for line in point_data.lines)
reader = csv.DictReader(lines, skipinitialspace=True)
reader, line_counter = tee(reader)
line_count = sum(1 for line in line_counter)
for i, line in enumerate(reader):
    vals = {k:float(v) for k,v in line.items()}

    ramp_position = i / (line_count-1)

    if i==0:
        ramp_element = ramp.elements[0]
        ramp_element.position = 0
    else:
        ramp_element = ramp.elements.new(ramp_position)
        spline.bezier_points.add(1)

    ramp_element.color = [vals[c] for c in ['r', 'g', 'b', 'a']]

    spline_point = spline.bezier_points[i]
    spline_point.co = Vector(vals[c] for c in ['x', 'y', 'z'])
    spline_point.handle_left_type = 'AUTO'
    spline_point.handle_right_type = 'AUTO'


Add a new edge snapping to a vertex and with an angle constraint? How would you add a horizontal line without interference to the other edge?

As shown on the image,

In edit mode press K, that will start the knife tool. Simply LMB  click on the vertex you want the cut to start from, and left click again on the other edge. Snapping for the cut is enabled by default. If you want the new edge to be straight then activate angle constrain by pressing C.  Once you like how the new cut is press Enter to finish the cut and exit the knife tool.
If you look at the 3d view header, you will see all the options for the knife tool and what button to press.
(click on image for full size)


How to replace an orphaned external file by an existing one? (all instances) I used a video file in the VSE which is cut into many parts.
When the project grew, I needed to reorganize the linked files. I renamed this video file. Now Blender doesn't see this file anymore.

In Motion5, there is a function "Replace Media" that lets you replace external files used in many strips by new ones for the whole project.

Does something similar exist in Blender by default or does anybody know a script that can do this?

You can set the filepath attribute on your sequences with python:

import bpy
for seq in bpy.data.scenes['Scene'].sequence_editor.sequences_all:
    if 'image_a' in seq.elements[0].filename:
        seq.elements[0].filename = "image_b.png"

You can optionally change the files location setting seq.directory if needed.


How to make a Dithering effect in blender? How to make a dithering effect in blender?
Something like this:

By the nature of the render engine, it does produce some kind of dithering, but How to get more of it? Is there a way to do that?

The picture on the right is dithering (dithering is a process of colour effects that the computer makes to make an image, video or animation to look like a higher resolution. The resolution is the same, but the effect is chеаting the eye like it is).

I assume you are referring to this kind of dithering:

  Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and digital video data, and is often one of the last stages of audio production to compact disc.

Basically, it's used to break up bands that appear when you have too few colors in your image. For example, the image on the left is without dithering, the image on the right is with dithering:

You can turn up the amount of dithering noise in Render settings > Post processing, however this is really only meant for removing banding artifacts which sometimes occur in certain lighting setups (without reducing the number of colors).

For example (click on image for full size):

Note that blender can output full floating point deep color EXR images, so unless you plan on reducing the number of colors later (in which case you would want to dither the image when you reduce the colors), I'm not sure that more dithering would really do anything more than what the render settings option already does (breaking up subtle banding artifacts).


Bake Texture from procedural Shader to multiple Objects from Array Here's my problem (2nd attempt at explaining it btw :D)

I got a wooden panel thingy. I selected two array modifiers (x and y axis). Those are not applied yet.
I did build a shader (see below), and did adjust it, so that it makes for a reasonable wood texture. I.e.: I did tweak the parameters to achieve just the kind of texture I want across the whole array. The Shader is using procedural Textures and Object Mapping.

The Problem:
I need to apply the Array modifier to be able to modify individual objects.
When I apply the Array modifier though, the whole texture is messed up (scale and distribution among different objects)

The kind of Solution I hope for: Any way to bake the whole thing "as is": I want just the stuff I got on my screen in preview to be applied as image textures to the individual objects after applying the array modifier.

Any directions on how to solve this? Thanks!

Edit: Here's a screenshot of the Shader and the multiple wooden panels still with an unapplied array modifier.

I'm afraid the Array modifier needs to be applied before any texture baking.
Or it will only bake the original tile - which is not what you want.

Another solution:
Use Object or UV coordinates for both your textures

the Noise Texture uses Generated coordinates, when it's not
connected to anything
but Generated coordinates change when you apply the Array modifier
use Object coordinates instead, for both textures, and they will stay the same