Rigging Car wheel, local axis and child of I have been following this tutorial on how to rig a car wheel:
Blender How to make a Tire Roll - Tutorial Constraints
I don't follow exactly the tutorial as I am using the local axis, so that I can drive my car in a straight line in all directions.
The problem I am having is that when I try to Parent the "WheelRig" to "MainController", the wheel stops spinning. So I used the constraint "Child of", and the wheel spins almost as expected.
The problem I am having is that if you rotate the "MainController" say 130 degrees in the Z-axis, and move the "MainController" in the local x-axis, the wheel spins backwards.
If I unparent "WheelRig" from "MainController" and rotate the "WheelRig" as above it works.
So what can I fix this? Why isn't the wheel spinning if I just use "Set Parent to ..."?
I have uploaded the .blend-file to my Dropbox, so you can download and have a look. (Just close the login to dropbox if you don't have and account and you can download the file)
Wheel_Rig_v01.blend

In the Transformation constraint on the Tyre object change the Mix entry from Add to Replace.
Edit: Oops, just noticed that messes up the rotation around the z-axis. But you can use a Driver instead.
First remove or turn off the Transformation constraint.
In the 3D Viewport select the wheel(s) object. Then click the Item tab of the the tool-shelf panel (or N-panel). Right click the relevant rotation axis (x in this case) and choose Add Driver.
In the Driver window click on the driver (X Euler Rotation in this case). Then click on the Drivers tab of the N-pannel. Set the type of the driver to Scripted Expression. As the Expression write -var * 1.72787". As Driver Variable Type choose Transform Channel. As the object choose the WheelController (or MainController) Object. As Type choose X Location. As Space choose Local Space.
Now the wheels should rotate according to tot the orientation an direction of their controller object (while not rotating around a unwanted axis when the controller object does so; sorry for my initial advice)


Loop cut and slide using python script in blender I have created a cylinder using python API of blender. This cylinder has only vertical strips. I want horizontal loop cuts in this cylinder so that it would have a perfect mesh shape of quads. How to do that using python script?

I found the answer, the way it is done is:

old_type = bpy.context.area.type
bpy.ops.object.mode_set(mode='EDIT')
bpy.context.area.type = 'VIEW_3D'

bpy.ops.mesh.loopcut_slide(MESH_OT_loopcut={"number_cuts":10, "smoothness":0, "falloff":'ROOT', "edge_index":1})
bpy.ops.mesh.loopcut_slide(MESH_OT_loopcut={"number_cuts":10, "smoothness":0, "falloff":'ROOT', "edge_index":0})
bpy.context.area.type = old_type

So you should be in edit mode, and VIEW_3D context, then use the loop cut to cut the edge "edge_index"


Changing settings of the 3D view with Python I am a beginner with python, and prompted by my previous question, I was trying to set viewport shading to Solid and View Only Render to True with python. (The goal being to get the script in that answer to work entirely from python without any need for interaction with the GUI)

however, simply typing show_only_render= True or viewport_shade= 'SOLID' in the console results in nothing happening.

From what I can understand from a lot of searching, is that the cursor needs to be in the 3D view for that object to be active.

It is suggested here to loop through all the areas to do this.

I tried doing this and setting the view to camera, shading to solid, and view only render to true.

However, what actually happens is that the view is set to camera, and the image is rendered without changing view only render to True.

Modified version of the script originally written by Adhi in my previous question, with changes suggested by Aldrik in the answer below:

import bpy
import sys                      # read argument from sys.argv
from bpy.app.handlers import persistent

@persistent
def do_render_opengl(dummy):
    for area in bpy.context.screen.areas:
      if area.type == 'VIEW_3D':
        area.spaces[0].region_3d.view_perspective = 'CAMERA'
      #if area.type == 'SpaceView3D' :
      area.spaces[0].show_only_render = True
      area.spaces[0].viewport_shade = 'SOLID'
    bpy.data.scenes[0].render.filepath="/tmp/glrender.png"
    bpy.ops.render.opengl(animation=False, write_still=True, view_context=True)
    bpy.ops.wm.quit_blender()

bpy.app.handlers.load_post.append(do_render_opengl)

Update:
I have changed the script with Aldrik's improvements, but when I run it with
blender -P gl_render.py example.blend, It returns:

File "/home/gandalf3/Blender/Opengl_render.py", line 11, in do_render_opengl
    area.spaces[0].show_only_render = True
AttributeError: 'SpaceInfo' object has no attribute 'show_only_render'

It seems that it's still not in the right context?

show_only_render and viewport_shade are attributes of the SpaceView3D. So for your usage example you'd make the following change:

-      if area.type == 'SpaceView3D' :
-        show_only_render = True
-        viewport_shade = 'SOLID'
+        area.spaces[0].show_only_render = True
+        area.spaces[0].viewport_shade = 'SOLID'


Weird intersection or gap when I solidify I'm trying to make a pizza slice in Blender.  However, I'm having some trouble with this, as whenever I apply the solidify modifier, it goes from this to this.  It does a weird thing at the corner.  How to I prevent/fix this?

It looks to me like you don't have manifold(closed) geometry. you might have 2 vertices right on top of each other which makes it look like its manifold even though it isn't.

Try going into edit mode, hit A to select everything, then from the mesh menu select cleanup, and then merge by distance. you might have to play with the distance setting.


Does image texture resolution impact rendering time? I'm trying to make a high-res bump map for human skin. I've seen many examples where there was quite a lot of detail on the texture, although it's mostly in portraits. I've downloaded and open the OpenEXR file that have the texture map included in it. The image resolution was at 8192 x 8192. Would such a size have an impact on rendering time, if so, does it vary by CPU/GPU? Also, will it affect the performance of the 'Texture Paint Mode' when the map is being painted directly on it?

Render time will likely be affected, but not much so, in theory it should make a negligible difference unless you are working close to your hardware limits.

It will however have a significant impact in memory consumption. If you have little memory resources available for rendering this may have a more noticeable negative impact, like for example while GPU rendering on a card with low VRAM amount.

Texture size will significantly affect painting performance


Bugged script reload in Blender 2.90.1 If I hit the "Reload Scripts" command in the most recent blender snap
latest/stable:     2.90.1 2020-09-23 (47) 187MB classic
I get this cryptic error message:
  File "<string>", line 1
    def fn():
      ^
SyntaxError: invalid syntax

location: <unknown location>:-1

location: <unknown location>:-1

This happens regardless of which .blend-file I open up and which Addons are within my load order.
This does not happen on the older
2.83lts/stable:    2.83.6 2020-09-09 (46) 170MB classic

UPDATE:
I managed to reproduce this error also in the (Linux) binary that can be downloaded from Blender's homepage.

Turns out this is actually a bug in 2.90.1 (see https://developer.blender.org/T81112).
It will probably be fixed once 2.90.2 rolls out.


Can selected elements be rotated in opposite directions? Is it possible to rotate e.g. the left selected edge counter clockwise and the right one clockwise?

In general no. But for cases where the mesh/armature is symmetrical. Then X-Mirror from the Options Tab can be enabled.


Can I export blender's drawing lines for using in clipstudio? I want to find to much easier way to what I make my web comics. so I found blender's surface drawing.
and trying to export drawing line for clip studio. but I can't.
Is this possible? clip studio's 3d object file form is *.fbx or *.obj
I want turn around my sketch lines without limits.

Convert the grease pencil to a curve or a mesh.

Then export as the format you need.
Note that the format will determine what attributes will get saved as part of the file, most likely only the outline.


How to have a script run from a keypress? I'm trying to get keymaps working in my script, but it's not working.  I want grid size of the current view3D to double if I press Ctrl-LeftArrow and halve if I press Ctrl-RightArrow.  Right now I'm just trying to print debug messages in response to keypresses.
Below is my code, but my operator is not being called no matter what key map items I add.  Am I doing this correctly?
import bpy

class GridRescale(bpy.types.Operator):
    """Change grid scale"""
    bl_idname = "kitfox.grid_rescale"
    bl_label = "Grid Rescale"
    bl_options = {'REGISTER'}

    def invoke(self, context, event):
        print("evt type %s" % (event.type))

    def execute(self, context):
        scale = bpy.context.space_data.overlay.grid_scale

        print("execute")
        self.report({'INFO'}, "Grid scale %f" % (scale))

        return {'FINISHED'}

# store keymaps here to access after registration
addon_keymaps = []

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

    # handle the keymap
    wm = bpy.context.window_manager
    km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
#    kmi = km.keymap_items.new(GridRescale.bl_idname, 'NUMPAD_0', 'PRESS', ctrl=False, shift=False)
    kmi = km.keymap_items.new(GridRescale.bl_idname, 'LEFT_ARROW', 'PRESS', ctrl=True, shift=False)
    addon_keymaps.append(km)

#    kmi = km.keymap_items.new(GridRescale.bl_idname, 'NUMPAD_0', 'PRESS', ctrl=False, shift=False)
    kmi = km.keymap_items.new(GridRescale.bl_idname, 'RIGHT_ARROW', 'PRESS', ctrl=True, shift=False)
    addon_keymaps.append(km)

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

    # handle the keymap
    wm = bpy.context.window_manager
    for km in addon_keymaps:
        wm.keyconfigs.addon.keymaps.remove(km)
    # clear the list
    del addon_keymaps[:]

if __name__ == "__main__":
    register()
```

Return a status set from invoke.
AFAICT the issue here is as simple runtime error, not returning a valid status set from an operators invoke method.  No return, returns None.
Pretty obvious from error message printed to system console on testing a keypress.
evt type RIGHT_ARROW
Python: RuntimeError: class KITFOX_OT_grid_rescale,
function invoke: incompatible return value , ,
Function.result expected a set, not a NoneType

Possible suggestion.
def invoke(self, context, event):
    print("evt type %s" % (event.type))
    return self.execute(context)

PS in a method where context is passed, common in operators and panels, there is never a need to see bpy.context


Way to use large textures in Blender without crashing? I've downloaded the largest size of the Blue Marble Next Generation textures from NASA. I was hoping to be able to do nice closeups of an earth scene, as well as good real displacement, but Blender crashes immediately upon opening large textures. Are there any way to use larger texures (32K and up?)

Thanks!

Unfortunately we are limited by the amount of RAM our computers have. A 21600x21600 image (at 8 bits per pixel and with RGB channels) takes up around 1.3 GB of RAM. Combined with geometry and other programs, this may be more than your GPU can handle.

How I understand it, the GPU, which has it's own set of RAM, is used to draw the blender interface and all the models - but the CPU is used to render the image (unless you specify to use GPU rendering) which uses your main system RAM. So it may be possible to setup the scene without actually trying to view the image in Blender, then render it (possibly from the command line) to ensure the image never loads into the GPU RAM.

However, this might not be enough.
A common method of zooming into something and seeing a high res texture in the animation is to use a bunch of layers:

This is an exaggerated example of course, but the parts of the image you won't ever see in high-detail don't need to be high-res. Cutting up the final image and lowering its resolution for each layer, cropping the high-res ones to show only what you need, will save a lot of memory.

To hide the seam better, use more layers with less of a change in resolution, or create an alpha mask to fade out each layer on the edges.


How to remove jitter on cloth simulation? Scene: A cloth (plane) falls on top of a stool (cylinder). Then the stool rotates 180degrees, and stops. The cloth continues to simulate after the stool rotation is complete. This is fine, but what is not fine is that instead of the cloth finding a state of rest, it just continues to jitter (oscillating around a rest state).

Question: How do I fix/remove this jitter in the cloth simulation?

I ended up increasing the "Cloth > Quality > Steps" from 5 to 10 and the "Cloth Collision > Quality" from 2 to 5. This helped with some of the jitter, but I can still see it at the end subtly.


Hiccup on looping lego walk cycle I have noticed that’s this topic seems to be a common theme but what ever I have seen on other questions doesn’t seem to help. My character starts in the middle with his walk cycle and using math walks perfectly, and when he restarts the cycle I just move the master bone so it mirrored the spot he was last in. He doesn’t jump or anything the issue is when viewing it on a really low frame rate you can see a slight pause. The key frames for him stopping and starting again have the same look so is the issue that the key frames need to be changed? If so how, I can’t figure out how to change them and still have the animation play!
Thanks for your help!
I had to re animate the character so his upper body is not animated!
EDIT : Here is my Blend

EDIT 2: Between these two images the character is in almost the same spot and so I think this causes the issue, I just don't know how to solve it!
I have to reset the master bone so the animation can be a cycle and not me animating over and over again. This image below shows the keyframes and the ones that double up every time is where it resets!
Thanks so much for your help again!

As you already mentioned (Edit 2) the hiccup is caused by 2 (or more) frames that are very similar when you move the master bone. A solution might be to shorten the walk cycle by one frame as described here: How to create a seamless animation loop in Blender?
In addition, the motion of the body does not appear to be constant over time. In some frames, when the legs are apart, the body has a fast forward motion. While it barely moves forward when the other leg passes the standing leg. This creates that "striding like at a wedding" effect. Maybe you can fix it by re-arranging the keyframes/poses.

I am not an expert on animation but I think you can create an action for the walk cycle and repeat this action in the NLA editor. So you don't have to animate it over and over again. Have a look here:  How should an animated character be moved while repeating a walk cycle?


Finding vertex locations at a given frame using python I have an issue where I can’t find the current location of a cubes’ global vertex location.  The cube is moved and key framed through code, but when I try to find the location (of any vertex) at each subsequent frame, it always returns the location of the cubes’ vertex at the start frame. Follow these steps to replicate the error:

Create a cube called Cube.001

import bpy
import random
Scene_Name = bpy.context.scene.name

def Move(Name):
    bpy.context.object.location[0] = bpy.context.object.location[0] + 2

def MovingVertex():
    C = bpy.context
    aObj = C.active_object

    if aObj == None:
        print('No Mesh seleted')
        return
    vts = aObj.data.vertices
    for count in range(0, 8):
        x = [i.index for i in vts if i.select==True][3]
        if x == None:
            print('1 Vertex selected at least')
            return
        wm = aObj.matrix_world.copy()
        aP = wm * vts[x].co

    print(bpy.context.scene.frame_current)
    print(aP)

for frame in range(1, 100):
    bpy.data.scenes[Scene_Name].frame_current = (bpy.data.scenes[Scene_Name].frame_current + 1)
    for Count in  range(1, 2):
        Name = "Cube." + str(format(Count, '03'))
        ob = bpy.data.objects[Name]
        bpy.context.scene.objects.active=ob
        Move(Name)
        MovingVertex()
        cf = bpy.data.scenes[Scene_Name].frame_current
        ob.keyframe_insert(data_path='location', frame=(cf))

Output of frame number and cubes’ vertex location:

1682
<Vector (3168.8081, -1.3707, -2.5711)>
1683
<Vector (3168.8081, -1.3707, -2.5711)>
1684
<Vector (3168.8081, -1.3707, -2.5711)>
1685
<Vector (3168.8081, -1.3707, -2.5711)>
1686
<Vector (3168.8081, -1.3707, -2.5711)>

What am I doing wrong, how can I get the location of the cubes’ vertex at a given frame?

Instead of setting scene.frame_current = frame, run scene.frame_set(frame),

The docs mention this since its a common issue.

Updating all objects animation state in a scene can be very heavy with complex scenes, so it was decided not to do this on setting the frame attribute.


How can I make a cone of light be more realistic? Any way I can make the light more realistic? Probably just a bit less opaque.
Probably some tips to reduce noise too, thanks!

The light is a cone with the nodes on the left. Lit up with spot. Made in cycles.

You could use the material created for this answer https://blender.stackexchange.com/a/72010/29586 and use an image to mimic the lens of a torch such as this :

Adjusting the material variables can produce a result like the following :

Blend file attached

To include the material in your own project, simply download the Blend file, open your own project, got to File, Append, select the 'torch' Blend file and navigate to the material ('Material'). Set the two Image nodes to your torch lens image (use the above one if you don't have anything more suitable) and adjust the various variables (the material nodes marked in Cyan) until you get the desired effect.


Can't use "L" Key to select an object, selects vertices instead. So I've got my character model divied up, and I can select all of his limbs that I've split with the "L" key. But when I try to select his left foot, it simply will not select the whole foot. The right foot is totally fine. But the left will only select a face if I press L over it. I've tried on all areas of the foot but it still will only select the individual face. Here is a picture of what the right foot does when I press "L" over it, and what happens if I do the same on the left foot.

It could be that you have double vertices; multiple disconnected vertices in the same location.

If each face in the left foot is separate, it would result in symptoms like these. Try removing doubles by selecting everything (A) and pressing W> Remove Doubles.


Transform matrix on a scaled object I have to create boxes, cylinders and spheres, to scale them and to rototranslate them in space by using a matrix transform. This is the code for a box:

myObj_TR = Matrix((
    (1, 0, 0, 0),
    (0, 0.707, 0.707, 0),
    (0, -0.707, 0.707, 0),
    (1, 0, 0, 1)))

bpy.ops.mesh.primitive_cube_add()
bpy.ops.transform.resize(value=(1,2,.3))

myObj = bpy.context.object
myObj.data.transform(myObj_TR)
myObj.data.update()

The problem is that in this way the box results sheared; it seems that the scaling is actually applied after the rototranslation.

I think that a workaround should be parenting my objects and then rototranslate the parent. Are there alternative ways?

Thank you

You are applying transformation at object level with bpy.ops.transform.resize() and on data level with myObj.data.transform(). The data transform is directly applied to vertices. The vertices' position simply is updated and the transformation is lost. When applying the transformation to the object the matrix is stored (if possible) in the translation, rotation and scale properties of the object. The object transform is applied on the vertex positions. In your case this results in objMatrix @ dataMatrix or scaleMatrix @ locrotMatrix.

You want to swap that order. I would advise you to either apply the transformation to the object or the data.

You can construct the final matrix separately first.

import bpy
from mathutils import Matrix

mat_rot = Matrix([[1,  0,     0,     0],
                  [0,  0.707, 0.707, 0],
                  [0, -0.707, 0.707, 0],
                  [1,  0,     0,     1]])

mat_scale = Matrix([[1, 0, 0, 0],
                    [0, 2, 0, 0],
                    [0, 0, 3, 0],
                    [0, 0, 0, 1]])

mat = mat_rot @ mat_scale

If you want to apply this matrix at the object level, use object.matrix_world.

bpy.ops.mesh.primitive_cube_add()
myObj = bpy.context.object
myObj.matrix_world = mat

If you want to apply this matrix at the data level, use data.transform().

bpy.ops.mesh.primitive_cube_add()
myObj = bpy.context.object
myObj.data.transform(mat)

From the comments: If you don't import your matrix, but are constructing them from scratch, use the Helper constructors from the Matrix class, such as Matrix.Diagonal or Matrix.Rotation


How to get the filepath to an imported mesh? I wanted to add some additional functionality to this Texture Map Batch Bake Addon (it's not mine, no longer maintained, and I take no credit for it whatsoever).

By default it exports baked textures to a //Textures/ folder in the same folder as the .blend file:

path = StringProperty(
    name='Bake Folder',
    subtype='DIR_PATH',
    default='//textures/',
    description='Save baked images from this object in this folder',
    )

In my case though I'll be using this addon on an imported fbx and it doesn't look like the addon keeps track of where it was imported from.

Do I have to somehow use the fbx_io operator to get access to the filepath of the fbx it imported?

I couldn't find any threads about how to get the filepath of an imported fbx post-export, and was hoping someone knows of a way to get it.

Thanks in advance!

I'm not an expert but the import addon gets the folder of the imported file (eg: "basedir = os.path.dirname(filepath)"), but its use is probably temporary to just read the file and other files (original textures?) in the same path, at import time. see 2.79's import_fbx.py "load" method, line 2273.

This original path, if I got it, could be saved in some imported object custom property, to allow later usage, like saving baked texture where the original file was when imported, but I guess it is not, now, so it is lost after the import operation.

So, unless you request (and get) this to be done by the importer maintainer, you could patch it yourself to read that path and save it into a custom property (unfortunately I can't help you with this, I'm not into this).

Another way could be to write a (custom) import log to a text file (maybe even inside blender text datablocks) so that you can later access it to know where/what you got when you imported the file...

Although, the original folder could (easily) not be "there" anymore, removed or renamed, or it could be readonly... so you can't take it for granted to be able to write there, unless you are following a well defined after-import workflow...

for sure you'll have to check if that (still) exist, is writable, and decide what to do if either things are false.


Why are some lines on my model drawn differently? When I look at my object in edit mode I see there are quite a few lines that look different to how they look normally (kind of striped instead of solid black).

Why is this, and do I need to fix it?

Those are edges that have been marked as "sharp". In the tool panel in edit mode (press T if not visible) you can find the tools to mark them as smooth again:


Export animation curve as values? I'd like to use the Graph Editor to create animation curves for use in another software package. Is there a way to export the value of a curve for each frame?

For example, I have a keyframe at frame 1 and one at frame 24. The first keyframe has a value of 0 and the second one has a value of 24. There's a Bezier interpolation between the two keyframes. I'd like to get the value for each frame in the curve.

Is this possible? Possibly a Python solution? (I'm comfortable with programming)

The fcurve class provides the .evaluate
 method to get the value for a given frame.

import bpy

action = bpy.data.actions['CubeAction']
for fc in action.fcurves:
    if fc.data_path == 'location' and fc.array_index == 0:
        break
val = fc.evaluate(5.5)


Can anyone explain while my coin toss in blender mostly falls on its edge Totally new to blender, I made this model yesterday, and find that my coin toss experiment mostly falls on edge.

What did I misconfigure? Or is there in blender physics that prevents the model I did to properly work. I find weird when running the animation to see the coin fall, tilt to fall then raise up again.

I 'll see if I can attach the blend file here, otherwise I'll put a link.

link : Blend file

The Rigid Body simulation uses each objects origin as the centre of mass. If you have objects where the origin is not the centre of mass you will get unexpected behaviour such as that which you are experiencing.

For objects that are constructed of a single substance (eg, coins made of a single metal) you can use the Set Origin option in the tool shelf (T) to get Blender to automatically calculate the centre of mass from the mesh by selecting 'Origin to Centre of Mass'. This will move the origin to the centre of mass based on the mesh and the simulation should behave as would be expected.

Note that you can position the 3D cursor and use the 'Origin to 3d Cursor' option to arbitrarily position the origin (centre of mass) as desired.


Is there a way to make word per word filling text effect like in AfterFX? Is there a way to buy a plugin or make a good text transition with the video editor, like the ones that after effects make?
Specifically a word per word filling text effect, like a text machine from the 70s.
I'm using blender 2.82.
Thank you in advance, I cannot pay the after-effects program.

You can indeed. If you just want to make the text move across the screen you can always keyframe the text position in the style settings.
Or you can try and make your own more complicated animations with the Text Effects plugin. In the 3D viewport you can create and render the text object to make complex and interesting transitions and animations.


my curve modifier does not modify my arrayed object around the curve? my curve modifier does not modify my arrayed object around the curve?

The curve modifier has deformation axis options :

Try to click on X, Y or Z. Or check you did not clicked on the "eye" button on the top of the above picture.


Render shows geometry that isn't there. Normals? I have been working on a light switch in Blender, and it had been going well until I used the Bevel modifier to create the screws. Then, when I did a test render, this came up.

I circled my problem in red. There are unwanted streaks coming off the top screw. The previous test-render looked like this:

I have been working on the light-switch more and have improved it, but it continues to have those weird streaks coming off the top screw.
Here are pictures of that screw in edit mode:

Currently I have the faces that it's happening on shaded flat.
Here is a screenshot of them shaded smooth:
So, I'm thinking those lines are happening because of normals. Is that correct? and how do I correct it?

Thanks!

The problem is your statement that the render is showing "geometry that isn't there."  It is...see this image?

All of those edges around the circumference of the screw hole are edges, so your polygon for the plate has like 72 edges.  Blender is trying to figure out the normals for a 72-edge polygon, but it's getting confused.  Just because Blender let you add that sphere doesn't mean that it's a good idea.  For fun, try selecting the faces of just the plate, and choose Mesh->Faces->Triangulate Faces.  I bet you'll get a ton of triangles on what you think is a simple flat polygon, like this:

And then with smooth shading turned on, you might get something like this:

That's a perfectly flat plane (with a hole in the middle), but Blender's trying to figure out how to smoothly shade those triangles.

The best solution is to separate the screw from the plate, and make the two into separate models.  See @Dontwalk's solution above for a way to model just the plate part with a nice hole.

In general, there is no good reason to model the screw and the plate as a single mesh.  If you want them to be together, you can group them.  By modeling them together as a single mesh you're making the topology of the plate way more complicated than it has to be.

Hope this is helpful!

As a side note, the screw head is not well-modeled either. It looks like you took a sphere and just cut the slot right across it at the angle you wanted, making some of the quads into triangles and turning the quads into trapezoids.  You could have modeled the slot straight across so that it followed the quads, and then rotated the head, and that would have given you a much cleaner model (of the screw head).


How to speed up Blender Video Sequence Editor rendering? When rendering a simple video in FullHD right now (one video track, one audio track), the encoding process takes about one second per frame. Let's say I'd like to render a 5-minute clip in 24fps:

5*60*24 = 7200 frames

1s per frame = 7200/60 = 120 minutes of rendering time.

It seems very slow to me. Is there a way to speed up this process? Mabye use different codec? Or maybe I should render to RAW file and then encode it using an external tool? Right now I'm using x.264 coded with default settings.

Using only colored effect strips and a track of music, I rendered 240 frames resulting in the following export times:
H264 = 16 secs
MP4  = 14 secs
xvid = 13 secs

This tests only the encoding engine. I would also suggest checking the dimensions of the media you are editing with. Any scaling (which the VSE will do automatically) impacts on render time. Try to make this 1:1 with the scene dimensions. Further to the issue of scaling you may want to alter the AntiAliasing value in the scene properties as well. Default is 8 samples.

Finally, in User Prefs, increase the 'sequencer cache' value to maximise your memory usage. And check that you are using the Sound Output Device SDL, in the same panel.


Smooth modifier cause gap/hole in landscape mesh I have a problem when using the smooth modifier on my terrain mesh. When used it cause a gap/hole in the terrain. See the images below before and after using the modifier.

I should also mention that I have previously split the mesh and then joined the mesh back together right where this gap occurs.

As far as I can see, all normals are pointing upwards and duplicate vertices have been removed.

I hope this is easy to fix!

Thanks!

Solution:

Select mesh
Go into Edit Mode
Ctrl + TAB and select Vertex mode
Select all vertices by pressing A
Press W and select Remove doubles
In the options panel, set a number greater than 0


My scale bar in transform is in orange color My scale transform is in orange color bar.If i apply the scale and save the project also,when i reopen it the scale is not applied and the orange color continues in the scale bar.I couldnt figure it out what mistake i have done here.So please help me to come out from this issue.

you have set a keyframe to scale. This happens e.g. if you press 'I' when the cursor is above the scale.
If you want to delete the keyframe(s), select your object which has the keyframes,  hover the cursor over the keyframe panel and tap 'X' and then delete all keyframes.


is this a Bug? particle hair color abnormal there are 3 planes, each plane has two particle hair systems. the particle hairs that on the same plane has the same material.
in blender 2.83 LTS. the color display as intended.
since 2.90, the particle hair looks different. when both hair system are active, the color is mix with other hair particle color of different planes, if disable either one of the hair system that on the same plane, the color return to normal.
as you can see in the picture below, I set the material to mix of primary color red green and blue with secondary grey color. in 2.83 it looks right, but in 2.90 and above, the blue and green materials also mix with red somehow.
here is a link to the blend file:
https://drive.google.com/file/d/1Ai8InP7sNN0hHDHC-sD8gvr5ZL9BCEz9/view?usp=sharing

I have no idea why you need two particle settings on each plane but if you don't need it really. If you delete the second particle system on each plane, it works.


Blender - Chevron Markings - Design Here's what I want to achieve:

I want to design chevron markings at different angles so this template has to be flexible (not sure if I should group or join the objects?):

EDIT: I forgot to mension, I want to keep the spacing between arrows as well.

Thank you!

EDIT:
I managed to do the chevrons but I got stuck when cutting them along the mesh. Actually I used 2 paths to restrict the border of cut. They are perfectly alligned. I'm stuck with them as I don't know how to convert them to a mesh.I tried ctrl + J and and alt + C but I'm missing the closing path to get the shape out of it. Almost there but as you see I'm missing something. Thanks a lot.

Starting with the default cube, scale it in the Z direction to make it quite flat (say to 0.05). Extrude two adjacent faces to make a chevron with very long arms.

Add an Array modifier and configure it to repeat the single chevron at the required spacing. You can use the Constant offset to manually adjust this.

Create a second mesh to enclose the region where you want the chevrons. This must be manifold - ie, it needs to fully enclose the space.

Select the original mesh (the chevrons) and add a Boolean modifier set to Intersect with Object set to the bounding mesh you just created.

Select the bounding mesh and Hide it by pressing H and you should now see just the chevrons that were within the bounding box.

Finally, you can Apply the modifiers and delete the bounding mesh as it's no longer required.


How to create physically accurate boat moving through water I am am making a short realistic animation of a sailboat going through the ocean.  I have an ocean modifier with the time animated. I have a plane shrink wrapped to the ocean and the sailboat model has a copy location and rotation to the plane to simulate the “floating” on the ocean.  The issue I am having is making realistic waves trail the boat and the water splashing and pushing on the front of the boat.  I tried the ubiquitous dynamic paint, but for some reason no matter what I do with that it work work.  I want to make it similar to this Houdini made video.  https://vimeo.com/72879742. I know blender just added FLIP fluid sim.  If possible, it there any way with the answer you may provide to make it seamless loop?  Such as to make the sailboat look likes it keeps sailing for ever with no visibility video seams.  If not, it is not a big deal.
Sorry I cant upload the blend file because it is too big.
Thanks for the help!

Well for the animation and the simulation you are looking for, I don't think blender is capable of doing it alone. I am not saying you can't do it in blender, you can but with the help of an add-on. You technically have 2 options. You can go with Flip fluids add-on but I won't say it is good for a project like this. It is good for water simulations, but for foam-like effects, not so much. I would say go with the advanced ocean modifier. It was created for these kinds of projects. It is the master at simulating foam and wave-like effects in water. Even though it is developed by just a handful of developers, it will defeat any other water simulation add-on for projects like these. Nevertheless, It is your choice but I would recommend Advanced Ocean Modifier, and it is nearly half the price of flip fluids add-on. Here's the link to both sites:
Advanced Ocean Modifier:
https://blendermarket.com/products/advanced-ocean-modifier?ref=247
Flip fluids Add-on:
https://blendermarket.com/products/flipfluids?ref=247
Hope it helps.


How to resolve data_path when inserting keyframe in my situation? def testAnimation():

  scn = bpy.context.scene
  arm = bpy.data.armatures["Rig"]
  rigobj = bpy.data.objects["Rig"]
  scn.objects.active = rigobj
  rigobj.select = True

  bpy.ops.object.mode_set(mode = 'POSE')

  boneSelect = bpy.context.object.data.bones['RThigh']
  boneSelect.select = True

  bpy.ops.transform.rotate(value=(0), axis=(1.0,1.0,1.0))
  boneSelect.keyframe_insert(data_path = "location", frame = 0.0)

  bpy.ops.transform.rotate(value=(math.pi*0.5), axis=(6.0,80.0,40.0))
  boneSelect.keyframe_insert(data_path = "location", frame = 100.0)

  bpy.ops.transform.rotate(value=(math.pi*0.5), axis=(1.0,0.0,0.0))
  boneSelect.keyframe_insert(data_path = "location", frame = 200.0)

  bpy.ops.object.mode_set(mode='OBJECT')
  scn.update()

I have tried placing many variables in data_path, but it comes up with a TypeError. What should I place in my data_path for it to take the new transformation?

Thank you for your time.

You need .pose in your path, like this:

bpy.data.objects["Rig"].pose.bones['RThigh'].keyframe_insert(data_path='location')

This is because the Edit bones and the Pose bones have separate data while sharing some common attributes.


How do I make a curved solid line? I'm a newbie to blender and I'm trying to make a curved solid line. I want it to be perfectly curved, as half a circle. I want it to have thickness and be round on the tips. Think of a sausage.
I've tried multiple ways, but couldn't do it.
Thanks for the help!

Set up a Bezier Curve to be a hemi-circle like this:

Building a "Hot Dog" shape by deforming a UV sphere (the red tube) and then applying a curve modifier to it should get what you asked for (the blue tube)


How to select outermost vertices in a shape like this? I have a mesh, in the shape of a geographical state, which I created (rather crudely) following these steps:

Keeping an image in the background,
Adding a plane with 1000x1000 subdivision over it
Selecting vertices which overlap the state image manually
Separating them to form a mesh

The end result looks like this:
Object Mode:

Edit mode (Vertices):

My question is: How can I select the outermost vertices to form a plane mesh with the given shape?
I would like to be able to bevel this shape (and others like it) to represent some sort of data in a WebGL application.

Select Boundary Loop.

First, A Select All
Then in 2 Edge select mode,
Select > Select Loops > Select Boundary Loop
At this stage an option is to PS Separate Selected, to make the boundary edge a new object... or

dissolve (or delete) internal verts to end up with one big ngon state
1 Vert select mode,
CtrlI Select > Invert
Then XD Dissolve Vertices.


Is there a way to create a loc/rot/scale shortcut in the context menu? This was a feature I got really used to in 3DS Max and I'm wondering if theres a way to create the same shortcut in the context menu instead of hitting the keyboard or mousing to the left of the screen when I want to change it. It was so convenient having it wherever I was at on the screen.

Addon update
The original tool set in the left hand side 3D view is extremely complicated so I would rather use a naïve method to add operator in both edit and object mode with following tool:

Tweak

Select Box

3D Cursor

Move

Rotate

Scale

Transform

The icon is not the one in tool shelf, that's a new stuff and I can't find a easy way to get those icon value. So I use some similar icon instead.
Indeed pretty handy after using it awhile, should be a useful feature in normal workflow.
...
def menu_func(self, context):
    layout = self.layout
    layout.label(text="Set Tool")
    for key, content in __toolset_list.items():
        if content:
            layout.operator(
                "WM_OT_tool_set_by_id",
                **content
            ).name = key
        else:
            layout.separator()
    layout.separator()
...

I put it in context_menu_toolset.py - GitHub so just go download it and run or install the script. If the addon didn't show up after installment, it should be in Test tab rather then Official or Community.
Non addon method
In Blender 2.83, use space bar can call out the operation panel if you set your space bar function to tools:

You can change your preference here:

You can also assign them directly into quick panel:

Then use Q to call out quick menu:

And you, still, can assign a short cut to the quick menu item:

Finally, you can directly assign the additional short cut in preference.


How to make simple Lambert in blender Open Shading Language? I'm beginner in osl
my problem is I couldn't find Light direction in osl documention to make lambert lighting model

shader Lambert(
output color Result = 0.
)
{
Result = dot(N,LightDir);
}

and this is my error:

Line 5: error: 'LightDir' was not declared in this scope

I need result like this:

You can't actually access the Lamp location directly within OSL (see Getting a light vector in OSL for Blender) but you can feed a Vector representing the lamp location into the shader to use in the calculation. The Vector can be captured directly from the Lamp location by using Drivers so that moving the lamp automatically affects the shading.

Here the Combine XYZ node has been setup with Drivers (right-click and Add Driver and then set up the driver to set each value to Lamp X Location, Y Location, Z Location). The Subtract Vector Maths node creates a vector by subtracting the Position of the point on the surface and the Normalize ensures it's of length 1. The result is passed into the OSL node to represent the direction of the Lamp.

Since the lamp location is captured using Drivers, moving the lamp automatically updates the Combine XYZ node to represent the new lamp location.

For multiple lamps you would need to add multiple Combine XYZ nodes, each driver by the respective lamp, and each passed into the OSL node on a new input to include in your calculation.


How to get rid of shadow from transparent area when background lighting only in Cycles I have a scene with a a few planes that have a transparency texture (alpha map) set up. Lighting is done with environment texture only.

Problem is that with 0 diffuse bounces I get shadow action from the planes even at the transparent areas. I am looking for an Cycles only (no compositing!) way to get rid of the shadow action with 0 diffuse bounces.

For comparison, change lighting from background to sun (add sun, remove any input from world output surface, or set background strength to 0.0), and you'll see there is no shadow action from transparent areas of the planes.

After asking around in IRC it turns out this is actually a bug with background light + transparent BSDF.

Reported https://developer.blender.org/T44599


Cycles Render Renders all white When I render in Cycles it turns into solid white.  I've spent the past 2 hours researching the answers to this online, mostly through this Blender Stack Exchange.

1.) All my layers are turned On
2.) My World is not emitting anything, it's just black. I have my camera facing the model (as you can see in the screenshots).

And after messing with it some.. it now renders in solid static (as seen in screenshots). Trying to upload the file now to tiny upload.. so hopefully during this weekend someone can figure this out for me. Ugh!!.. lol.
Thanks so much!

You have DOF enabled but haven't set a focus distance.  Turn off depth of field by setting the aperture size to 0.


Ridged body no physics I have a static object that flys through the air that needed collision. So i changed it to a ridged body but it still has physics and wont fly anymore. Is there a way to have a ridged body with collision with no physics?

You can disable gravity for Rigid Bodys in the "Scene" settings.


animating width of “distribute matrices” with float input is possible? I’m practicing animation nodes and
I would like to animate width of “distribute matrices” by float input or parameter itself.

additional edit

i would like to adjust entire matrix size, like keyframing width parameter of distribute matrices. and Time info can animate, but I think it will be complicated to set.

I found "Animate Float" and could get preferable result.


How do I make more complex LEGO simulations in Blender? In the lego movie, the fire, water, and smoke is made of lego bricks.  It's not just a simple method of having one type of brick, several different bricks and brick slopes are used to get a really nice effect.  Also, the location of bricks and the types of bricks changes over time.  I have no idea how to do this in blender. (I want an animated effect, not a still image.)  is there an addon, or some other way to do this in blender?

(I'm not expecting someone to have an answer that includes smoke, fire, and water, I just want one of them, I figure that any answer someone gives me can be transferred to another)

The final codes requirements are listed at the end of the post.
The tutorial by Ray Mairlot, which JBlock linked in the comments, is helpful for fluid simulations, or anything with a surface.
I will give insight into a method for volumetrics, specifically smoke, with different pieces. For professional use, you could include pyopenvdb (the install is complicated) functionality.
We can access the density_grid of the smoke with python. From [brickarchitect.com], we gather the dimensions of the smallest brick. (The smallest brick is a third of the heigt in the following image: 3.2mm.)

Click to enlarge
Distinguishing Slopes with Convolution
We will use convolution with the smoke simulations density_grid to decide, if we should use a sloped piece or not.
Im going to use the 2 (5) bricks. brick2 comes in 4 rotation variations, which all have their origin at the bottom left.

Click to enlarge
Understanding convolution is crucial, and I recommend Understanding Convolutions and then Intuitively Understanding Convolutions.
Consider two 2 dimensional 2x2 kernels (red and blue) and a 5x2 image (gray).
To do a single convolution step, overlay a kernel over the image, multiply the overlaying number, add them together, then place them on the image at the position of the top-left square of the kernel.

For the red kernel, the convolution of the first pixels, look as follows.

For each different shape [5 (rotated) bricks] we will create a kernel and convolve it with the image. Then, we will compare the kernels and choose the maximum value for each pixel. Looking at a single kernel, we compare if its convoluted image has the same value as the maximum image. If yes, we can choose the shape and place it at that pixel.
I noticed, that we will need higher resoluted kernels for the slopes and have chosen a 6x9x1 kernel for a sloped piece.
By changing the weights of each kernel, as well as the maximum image, you can easily adjust the ratio of each piece. In my first render, slopes were quite sparse.

Click on the gif for a higher resolution.

In practice, we can just construct the kernel as a np.array and divide it. The more we divide it, the less it will contribute.
brick_1.kernel = np.array([[[1, 1, 1]]]) / 8

Steps
Do a smoke simulation.
Import the usual helpful modules for python.
import bpy
import bmesh
import numpy as np
from mathutils import Vector
from math import floor, ceil
import scipy.ndimage

Get the smoke modifier settings off the domain object.
Get the density_grid and calculate the step size. I used a cube, with its bottom-left corner at the world's origin as the domain.
depsgraph = bpy.context.evaluated_depsgraph_get()
smoke_obj = bpy.data.objects['domain'].evaluated_get(depsgraph)
smoke_domain_mod = smoke_obj.modifiers[0]
settings = smoke_domain_mod.domain_settings

grid = settings.density_grid
thres = max(grid)/2
res = settings.resolution_max
max_dim = max(smoke_obj.dimensions)
x_step, y_step, z_step = 1/res, 1/res, 1/res
grid = np.array(grid).reshape((res, res, res))

If we construct a mesh from this data, and add vertices if the density_grids values are over a certain threshold, then we can visualize the data with vertices.
bm = bmesh.new()

for z in range(0, grid.shape[0]):
    for y in range(0, grid.shape[1]):
        for x in range(0, grid.shape[2]):
            if grid[z, y, x] > thres:
                bm.verts.new((x*x_step, y*y_step, z*y_step))

bm.to_mesh(bpy.data.objects['result'].data)
bm.free()

After this prototype, for real now. Create a class to sample an object once and instantiate later in another bmesh for the brick types.
In this class

store a brick bmesh
store a kernel
add a method to instantiate the bmesh in another bmesh, we can do this by looping of the vertices and faces in the original mesh and adding them to the new mesh
add a method to instantiate multiple copies. It takes a grid with True and False values as the input and operates in steps of X = 0.008 | Y = 0.008 | Z = 0.0096, the values we read from the original brick image.
as a bonus I pass along a "color_grid", which we can use to give certain faces a different material index. Currently, faces get assigned to two material slots, so make sure that the target object, which will hold the lego geometry has in fact two materials on slot 0 and 1.

class Brick(object):
    def __init__(self, name):
        self.bm = bmesh.new()
        self.bm.from_mesh(bpy.data.objects[name].data)
        self.bm.verts.ensure_lookup_table()
        self.bm.faces.ensure_lookup_table()

        self.kernel = None

    def instantiate(self, bm_target, at = Vector((0, 0, 0))):
        verts = [bm_target.verts.new(v.co + at) for v in self.bm.verts]
        faces = []
        for f in self.bm.faces:
            face_verts = [verts[v.index] for v in f.verts]
            faces.append(bm_target.faces.new(face_verts))
        return faces

    def place(self, bm_target, grid, color_grid):
        sx, sy, sz = 0.008, 0.008, 0.0096
        for z, y_ in enumerate(grid):
            for y, x_ in enumerate(y_):
                for x, value in enumerate(x_):
                    if value:
                        faces = self.instantiate(bm_target, Vector((sx*x, sy*y, sz*z)))
                        mat = 1 if color_grid[z, y, x] > 40 else 0
                        for f in faces:
                            f.material_index = mat

brick_1 = Brick('brick_1')
brick_1.instantiate(bm, Vector((0.2, 0.1, 0)))

Since the evenly spaced voxels are not the appropriate size for the bricks (which have different x, y, z dimensions), we have to resample the grid with scipys ndimage.zoom function. Note, that the original grid will have stored the values in z, y, x order, which we will work with.

Get the dimensions of the smoke_obj in the 3D space and reverse them.

Calculate the amount of sample which the smoke simulation has, by using the smoke_domains settings' resolution_max.

Calculate how many lego samples we require. I used the original bricks dimension and multiplied it with 3. Then we end up with a 6x9
dimensions = np.flip(np.array(smoke_obj.dimensions))
samples_smoke = dimensions / np.max(dimensions) * domain_settings.resolution_max
samples_smoke = np.floor(samples_smoke)
samples_lego = dimensions / np.array([0.0032, 0.008, 0.008])
samples_lego = np.floor(samples_lego)
zoom_factor = samples_lego / samples_smoke * 3
grid = np.array(grid).reshape(samples_smoke.astype(int))
grid = scipy.ndimage.zoom(grid, zoom_factor, order=1)

Example: If the z, y, x dimension of the domain cube are 0.51, 0.32, 0.32, and the resolution_max is 64, then the voxels are resoluted as 64, 40, 40. The amount of small (3.2mm x 8mm x 8mm) lego pieces in that area would be 159, 40, 40, which is stored in samples_lego. This results in a zoom_factor of 7.45, 3, 3 and a resampled grid the size of 477, 120, 120. We have to use ndimage.zoom with and order=1 interpolation, because with higher order interpolation, we could receive negative numbers.
I will construct the kernels for these bricks with numpy.

brick_1.kernel = np.array([[[1, 1, 1]]]) / 8
brick_1.kernel = np.repeat(np.repeat(brick_1.kernel, 9, axis = 0), 3, axis=1)
brick1_grid = scipy.ndimage.convolve(grid, brick_1.kernel)[::9,::3,::3]

brick2a.kernel = np.array([
                            [[-6, -6, -1, 0, 1, 1]],
                            [[-6, -5, 0, 1, 1, 1]],
                            [[-5, -3, 0, 1, 1, 1]],
                            [[-4, -1, 0, 1, 1, 1]],
                            [[-3, 1, 0, 1, 1, 1]],
                            [[-2, 0, 1, 1, 1, 1]],
                            [[-1, 0, 1, 1, 1, 1]],
                            [[1, 3, 1, 1, 1, 1]],
                            [[3, 3, 1, 1, 1, 1]]
                            ]) / 84
brick2a.kernel = np.repeat(brick2a.kernel, 3, axis=1)

The first kernel has dimensions of 9, 3, 3 and the second kernel has dimensions of 9, 3, 6, since it is a 2 slot brick.
Since we are using a grid, with a higher resolution than our brick size, we can adjust the step size through that grid to get to the discrete steps the size of our smallest brick.
brick2a_grid = scipy.ndimage.convolve(grid, brick2a.kernel)[::9,::3,::3]
brick2b_grid = scipy.ndimage.convolve(grid, brick2b.kernel)[::9,::3,::3]

To check which if the convolved grids, has the highest value, construct a max grid with a small initial value (0.065). Where there is no smoke, the other grids will have values of 0. When comparing them to our small number in each cell of the max_grid, the max grid will be larger. This results in no bricks filling those spots. No smoke -> no bricks.
For each brick, we check if it has larger values in its convoluted grid.
max_grid = np.ones(grid.shape, dtype=np.float)[::9,::3,::3] * 0.065

max_grid = np.maximum(max_grid, brick1_grid)
max_grid = np.maximum(max_grid, brick2a_grid)

If we compare a grid of a brick with the max_grid (brick1_grid == max_grid), then we get a binary array, which holds True for the positions, where we have to place the brick kind. For that, I use the place function which we wrote earlier.
bm = bmesh.new()
brick_1.place(bm, brick1_grid == max_grid, density_grid)
brick2a.place(bm, brick2a_grid == max_grid, density_grid)
...

For the rotated brick2's (brick2b, brick2c, brick2d), we can simply switch flip the kernel of brick2a and/or swap its axes.
Download the script here
The final code (github: smoke_to_lego.py) assumes

a baked smoke domain object named 'domain'
the brick objects brick_1, brick_2a, brick_2b, brick_2c, brick_2d
a target mesh object named result
an installed scipy module. You can install a module for your local python distribution, but I choose the unclean, easy way and simply did a pip install (python -m pip install scipy) in Blender 2.8 python executable directory.

After downloading the file, bake the smoke simulation. Then execute the script on a frame with smoke. The script takes approx 5-20s in the given resolution during which Blender is unresponsive.
To render all of the frames, simply call the wrapped operation while looping through all frames.
# call the method to generate the geometry for this current frame
if True:
    generate_lego_geometry()

# loop through all the frame to render all frames
# this will be slow and won't show visual feedback
if False:
    scn = bpy.context.scene
    for frame in range(scn.frame_start, scn.frame_end + 1):
        scn.frame_set(frame)
        generate_lego_geometry()
        scn.render.filepath = "//output/" + str(frame).zfill(4) + ".png"
        bpy.ops.render.render(animation=False, write_still=True)

I won't update the script in the .blend. The github link is up to date.


3d reverse masking of volumetric Is it possible to create a volumetric cube but mask only the space of that volumetric cube by a mesh?
Hence if I put Suzanne inside the volumetric I only see her?
The effect I am looking for is how at night with a torch if you shine it in smoke you only see the smoke as it passes through the light ray. I want to make shock wave torus rings that mask a volumetric cube with a random noise, so that the torus rings only expose the smoke.

Volumetric Cube catching Torus Light
Is this what you are looking for?

Cube with Principled Volume Shader
(Density 0.1 / Anisotropy 0.95)
Torus with Emission Shader
(Properties editor > Object > Visibility > Ray Visibility > Camera OFF)

So what you see is only light rays catching on Volumetric

Something more colourful ... Torus with Noise texture and Displacement Modifier.


Why the mesh get shrink with follow path I have a mesh and a curve. Selected the mesh and curve, Ctrl+P to follow path. Why the mesh get shrink down its original size. (Note : I have attach my file in that i tried to set the origins of the mesh and curve at starting). I tried with the array on the curve same issue. Any suggestion or help.

Your question was a bit misleading, you were using the follow path function, which is made for animation I suppose, when you were actually trying to duplicate your object along the curve without deformation.
Since 2.8, you can't use the Dupliframes method anymore, so here is another one:
Create a single vertex, give it an Array modifier with Constant Offset (not Relative Offset), give it a Curve modifier with the curve as Object:

Keep the single vertex object selected, go in the Properties panel > Object > Instancing and click on Vertices. Now select your pylon object and parent it to the vertex object, it should repeat like that (modify the pylon orientation if it's not good):

If you want the pylon to change its direction along the curve, choose a plane instead of a single vertex, and click on its Instancing > Faces insteand of Vertices.
Former answer:
You must have scaled your curve, because if you go into Edit mode you'll see in the N panel that its vertices have a Mean Radius of 0.239, you need to bring it back to 1. Now your object still rotates so make it rotate 90° on the X axis.


blender videoediting Use Python batch save mp4，Save all the cut small videos in batch A long video, divided into multiple small videos (soft cut using the K hot key).
Save all the cut small videos in batch
Save separately
use Python

For example, a 10-minute video, divided into two 5-minute. I need to click 'Animation' twice to output two videos. I want to use Python in accordance with the custom 'shift + K', fast bulk rendering output two videos.

If the strips in question could be selected before executing the strip, this task becomes fairly easy, since we can use the final_frame_end and final_frame_start attributes of each strip.

Make sure, the desired strips are selected.

Then execute the script. (Note, that there will be no feedback except for the console, so you will have a hard time tracking the progress of the render, except for checking on the filesize of the created files. Blender UI will freeze untill the completion of all renders intiated by the script.)

import bpy

seqs = bpy.context.selected_sequences
scn = bpy.context.scene

# store the filepath and original start and end
filepath = scn.render.filepath
start, end = scn.frame_start, scn.frame_end

# loop through all selected sequences
for s in seqs:

    # set the rendersettings start and end to the
    # current strips start and end
    scn.frame_start = s.frame_final_start
    scn.frame_end = s.frame_final_end - 1

    # add the strip name to the rendered movie name
    scn.render.filepath = filepath + s.name

    # start the animation render operation
    bpy.ops.render.render(animation=True)

    # write something to the console so we know
    # that a clip finished
    print("Rendered", s.name)

# REstore the filepath and original start and end
scn.frame_start = start
scn.frame_end = end
scn.render.filepath = filepath


How to evenly cover one object with instances of another? I am trying to cover a simple, but angled shape with jewels.

I need the jewels to evenly cover the shape, but I also need them to rotate with the normals/face angles of the base object.

As you can see from the picture the grid setting in Particle emitter lays the jewels out perfectly, but I can't rotate them with the faces normals - and the hair emitter rotates them perfectly but I can't align them evenly enough???

I have tried the tesselate addon, various array set ups... Is there a way to combine the rotation ability of the hair with the grid layout of the emitter?

In edit mode, subdivide your mesh a few times, so that the vertices are where you want your jewels to be placed. Then make note of how many vertices your object has (info bar at the top right). Using hair particles, set the number of particles to the number of vertices, make sure even distribution is enabled, and set the emitter to be verts, not faces/volume. That will place a jewel on each vertex, giving you perfectly even distribution, as well as correct rotation.


To what plane curve does a Catmull-Clark subdivision converge? 1 BU ×1 BU plane, 10 levels of Subdivision Surface modifier set to Catmull-Clark:

That's not a circle.

What is it?

(Mathematically, what's the limit surface of a Catmull-Clark subdivision?)

According to the original paper CATMULL, E., AND CLARK, J. Recursively generated B-spline surfaces on arbitrary topological
meshes. Computer-Aided Design 10 (Sept. 1978), 350–355.

For rectangular control-point meshes the Catmull Clark subdivision modifier creates a standard B-spline surface. Regardless of the number of subdivision it will not converge to an accurate circle, but with more control points the difference between a circle and the interpolated shape will be less noticeable.


How to export a .blend file to .MP4? I have a very slow school computer and the school year is wrapping up soon. I'm using the video editing part of blender, putting in my own music and videotaping for an English project. I rendered it with the default settings (because I don't know how to change them, started yesterday) and there's no sound. I went to go see what was wrong and opened my project back up, but the ability to edit the video or audio was completely blank. I just want my complete video rendered in .MP4 so my teacher can see it;; I'd like to save it so he can hear the audio as well, but when  I render it it saves as a .png and doesn't have sound.

You don't export a blend file to a different format.
You need to render the images or frames of the animation and encode them to a video format.

In the output settings select FFmpeg video as the file format.

there will be a new tab for Encoding options.

There you can select the container and the codec for the output file.

Container is the file format for the file, (Mov, Avi, Ogg, MP4, to name a few) sometimes is referred as a "wrapper".

Codec (short for Compression-Decompression) Is how the image is compressed. The picture quality, file size and processing power needed to view the file are largely determined by the kind of codec used and the settings used for it.

For 2.8

The interface is similar but it is further divided into Encoding and Video, but the same principles apply.

If you have already rendered the images as a .png image sequence. Then all you need to do is load those images into the VSE (video sequence editor), where you can also load the sound, then set the output to FFmpeg and the video container and codec of your choosing and render.


How to create correct tetrahedron (platonic shape) in blender 2.8? Following instruction on this post on stack, I managed to turn on add-on, but I can't find it in add function.
So, where should I look after it or how to even create tetrahedron on blender 2.8 (if its version related)?

Nothing has changed.

The Add extra objects addon is still there:

Then use add>mesh>math function>regular solid

Then use Source: Tetrahedron.


Deforming Grease Pencil Strokes in 3D I think I'm missing something elementary, but I'm unable to figure out how to deform
grease pencil strokes in 3D as demonstrated in the following videos:

https://www.youtube.com/watch?v=kpY-WVQUxYw (seconds 30-38)

https://www.youtube.com/watch?v=5FW3Lrnm5Eg (seconds 50-54)

I have managed to do something similar using bendy bones, but these
videos seem to suggest that is not necessary (and they don't explain
how to do it!)

TIA.

There's a new UI method intended for this (see below) but I find that the standard binding workflow actually works. In Object Mode, create a Grease Pencil object. Next Create an Armature object, and use Edit Mode to make whatever adjustments are needed to get them to line up as desired. Next, in Object Mode, select the Grease Pencil object, and Shift-select the Armature object, and from the Parenting menu (Ctrl-P), choose to bind with Automatic Weights. The Grease Pencil object will follow the bones.

The new UI for doing this is in Edit Mode for the stroke itself. First, create an Armature modifier for the Grease Pencil object, and point it to the Armature to be bound, as a target. Then in Edit Mode for the stroke, from the Grease Pencil Menu, go to Weights > Generate Weights > With Automatic Weights.

I assume these methods are the same and don't know why you would choose between them. But I think it's easier to use the old method.


Rigid body objects converted to mesh from a particle system don't get simulated I have created 100 cube meshes from a Particle emitter using Ctrl+Shift+A.
Then I have hidden the emitter.

However, when I try to play the animation, the new objects don't follow the Physics.
By the way, all the generated objects have rigid body properties.
So what am I missing here?

Attached the original blender file: link from Google Drive

If I understand correctly, you have originally assigned Rigid Body properties to your "reference" cube (the one that got duplicated by the particle system).

Even though this effectively assigns the Rigid Body properties to the child objects, it doesn't automatically add them to the RigidBodyWorld group, that is the group that the physics engine takes into consideration when baking dynamics (unless otherwise specified in the rigid body settings).

You can see that they are not part of a group by observing that their wireframe is not colored green.

There is a quick fix to this: select all your boxes and hit "Add active" in the "Physics" panel of the toolbox to the left of the 3D window.


Bezier curve won't join? I am making a track for Assetto Corsa using curves. Basically I am having a problem here with this bezier curve (cyan arrow). I want to join it with the control handle marked in yellow.
Tried C but that highlights vertices and F won't close it.

The last control point on one end is hidden, in edit mode  :

Press Alt+H to show all hidden points
Select the two end control points and hit F


How to make outside of camera view darker How do I make the outside of the camera view darker so I don't see what the camera doesn't see?
Thanks,
Rusty

The area is called a Passepartout and can be adjusted for each camera.
It's under Camera Tab > Viewport Display


PitchiPoy Rigify missing finger controls I have a problem, I am using the rigify tool in blender. Not the normal rigify but the one form PichtiPoy with the faceial controls. I love it but with the normal rigify tool you get the nice finger controls, where you just have to scale something down and the fingers wil close. I find thant very useful but I can't find it anywhere on the PitchiPoy version of the add-on.

Can sombody tell me what the problem is? What I'm doing wrong or how I could make it work?
I would love to hear it!

Thank you in advance

It's easy enough to switch.

First you need to select the Pitchiboy metarig and go into Pose mode. Select the root of the finger (3rd from the tip) and go to the Bone properties view. Under the Rigify Type view it shows that the bone is set to create a "pitchiboy.simple_tentacle".

Click the Rig type field and select "finger". You need to do this to each finger you want to change.

Now when you generate the rig, you'll have the default finger controls. The Rigify system is pretty flexible, allowing you to mish and mash rig controls any way you need.


Knife Project - Extrude through thickness? Is it possible to use the Knife Project tool to somehow cut through thickness and extrude the edges that are formed?
I'm trying to cut through these 4 faces (2 "cubes") but Knife Project only intercepts a hole into one face. I would like it to extrude the face through multiple planes.

Do I simply do this 4 times and connect the edges into faces manually?

Actually, you only need one single circle here instead of two.

First, after using Knife Project, find Cut Through on the lowerleft corner of the Toolshelf bar, or toggle it on the F6 panel.

Second, select each pair, then W ->  Bridge Edge Loops, to build faces between them (solidify the holes).


cycles filmic colormanagement to nuke I don't seem to be able to bring my filmic EXR to nuke without a shift in brightness or gamma. I'm rendering half (16 bit) and tried to import them in nuke as log. Do I need to customize my projects color settings in nuke? Or do I linearize the filmic log data in blender and import the EXRs linear in nuke? I did my shading without any LUT (basic contrast, ...).

I have tried different input color spaces in the readnode of nuke and I tried to load the filmic config.ocio into nukes OCIO settings, both without any success. The resulting image always looks clamped and blown out.

Maximeroz has made available filmic config.ocio files for Nuke and also an explanation on how to set it up:-

http://www.maximeroz.com/blog/#/filmic/

http://www.maximeroz.com/filmic-nuke

https://github.com/maximeroz/filmic-blender/tree/dev/extra

It is dated July and November 2017, so I don't know how current the information is.

There is also a config for Maya.


Specific object moves too much when moving it I have downloaded an .obj model of a bottle, and after importing it into blender, it behaves weirdly..(it's fine in edit mode) I have tried applying transforms. Here is comparison to object that is fine.
Moving it is truly frustrating.

sry for bad gif quality had to make it less than 2mib

Try setting the origin point of the object to itself
If that doesn't help, also try resetting its scale and location.


Is there a way to clear the "info" editor? Say there was a mistake in a script, it didn't compile. In an info area that's bigger then just a small strip, there will be one or more red error messages.

How to get rid of them with a keypress?

OK, I discovered the solution, press A twice to select all and then X or Delete to get rid of these lines.


Trying to make a handle I want to make a handle like the picture;

The highlighted one is made from a path and the one behind it is made with extruding etc. The one made with the path looks the best but I'm very new to blender and I want to make sure that my poly count isn't too high.

I'm making an armoured vehicle and as you can imagine this is a tiny object compared to the vehicle. I can't make all the details with a lot of polys because that will kill the server that has to run the vehicle (or I think that's how it works?)

Is there an actual disadvantage/impact to having a lot of polys when you make something for a videogame? How heavy is the path-handle on polys? All it shows are the verts I used to make the path, not the amount of faces etc it used to fill it up.

I would use the path; it probably won't be too hard on the game engine. The extruded one should also work, although I would make it out of simple rectangles to keep the poly count down, unless you need to see it up close.

That said, you probably don't even need a handle at all--you can just paint it into the texture on the side of the vehicle.


3D manipulator not pointing in the right direction I'm having hard time positioning a vertex properly because the manipulator direction changes depending on what vertex I select.

 I'm in the front view, but Y axis (green) is pointing at bottom-right.

Here it's pointing at bottom-left, isn't Y-axis supposed to be pointing down and/or up no matter which vertex I select?

Yet again, the Y-axis (green) is pointing down/up correctly and so the others, which is what I want.

How do I make the manipulator x,y, & z axis points in the right direction no matter which vertex I select?

I've tried these, but no luck:

CtrlAltShiftC > Origin to Geometry
load factory settings

The orientation of the 3D manipulator is determined by the setting of the Transformation Orientation control in the bottom of the 3D view.

You have set it to Normal which aligns the manipulator to the vertex normal. You might want to set it to Global or Local.


Update a shapekey Basis from another shapekey I am editing a character that has many shapekeys for facial expressions. I have made some changes to the character's overall face to adjust its features (no vertices added or removed though.) I have done these changes as their own shapekey for convenience.

I now want to add these changes into the Basis without breaking all my other expressions. I have found that I can move my changes to be second in the list after Basis and delete Basis, and my changes are now the new Basis. However, it does not work with my expression keys, as when I use them, it undoes the changes I made by moving vertices back to their position in the original Basis, even though these points are not usually moved by the expression keys.

My expressions currently work properly with my changes as their own shape key. How can I make the changes into my new Basis and also update my expressions to behave the same way?

Let's say you have 3 shapekeys: Base, new Face, expression.
The first is the old mesh, the second the new modified mesh, the third the old expression movement you want to preserve.
Select the object and the basis mesh, enter edit mode, select all vertices, Ctrl V "Blend from shape": in the toolshelf (T) in the bottom left of the 3D view you will have to choose the "new Face" shape key, and set an amount (Typically 1.0).
Exit edit mode and you should have your expression shape key working on the new face.

Once you understand the principle you will have to tweak the values and the shape keys, maybe propagating not all but only some vertices, setting the amount not to fully 1.0, or tweaking your old expression shape keys, but you will have a good starting point.


How to export UVMap to paint with external tools I'm searching all over for a way to paint my UVMap in external tool, in my case photoshop, and them load it back to the mesh in render.

The problem is I want to use that blender export feature that creates a basic surface in the uvmap so it would be easy to identify the parts and paint in photoshop.

that this feature just exists in blender render as far as I searched.

any idea how to do that in cycles render?

I hope I was clear, thanks

Once you unwrap your object. Use Export UV layout in the UV/Image_Editor

Then choose the format in which to export your image and the size you want:

Create your texture in Photoshop:


UV Mapping Plane Single Side I have applied an image to a plane in blender using UV Mapping however I want the image only on one side of the plane not both. I am not sure where the setting is for this.

This is the default or norm in Blender to have the texture appear on both sides. There is no setting to change this. This also doesn't need to be changed often as usually only one side of a model is showing.

The way I go around this to have the material appear only on one side is to use material nodes and have the base material on one side and a transparent material on the other.

It is a bit tricky if you don't have any experience with material nodes but just follow the node layout and it should work.

Just unwrap and texture as normal and setup your material and then add a second one, enable Transparency, set the Alpha to 0 and turn off the specularity.

As you can see below, both planes have textures but only one shows up when rendered. That is because I have added a transparent material to it along with the normal material and used the Geometry node to pass the materials to the different sides. One of the planes is on one side and the other is rotated 180 degrees around to the other side.

Here is the node setup for the material. (larger image here)


Bezier Curve - Edit Mode - how does the Spin menu item work? When you create a Bezier curve and enter the Edit mode, then you will see a greyed out menu item Spin in the Curve menu in the header.

How do i activate this menu item? How does it work?

The reason Spin is greyed out is because currently the UI file for that menu item is

layout.operator("curve.spin")

Which points to an operator written in C

source/blender/editors/curve/editcurve.c

void CURVE_OT_spin(wmOperatorType *ot)

Inside that operator is a poll to check if the current state of blender warrants showing the menu entry as clickable.

ot->poll = ED_operator_editsurf;

this sets the value of ot->poll to whatever the value of ED_operator_editsurf is,

source/blender/editors/screen/screen_ops.c

int ED_operator_editsurf(bContext *C)
{
    Object *obedit = CTX_data_edit_object(C);
    if (obedit && obedit->type == OB_SURF)
        return NULL != ((Curve *)obedit->data)->editnurb;
    return 0;
}

this tests if the object is in edit mode, it would be, and also tests the type of the object, which in that case is not OB_SURF, not a surface type curve.


Beveling edge problem How i can fix this beveling problem. i am using a bevel modifier in my object:

Wire Frame:

In "bevel modifier" under "Geometry" try changing "Miter Outer" and "Inner" settings. "Patch" or "Arc" usually gives better results. Changing "Inner" settings will blow up your mesh but you can dial it down from "Spread".


Problems with hard cutting videos when using different frame rates and speed control I'm trying to create a video in blenders video editor that involves a talking head in the corner that is "alpha overed" a power point slide using a transform. The two videos have different frame rates which is the first problem. I have addressed this problem by using speed control in order to "match" the two videos. After I do this the videos are synced correctly.

However, due to errors on the narrators part I have to clip certain parts of both videos at the same times to delete the errors. When I perform a hard cut in the area I want to remove footage from, the footage seems to shift. I don't see any clear pattern, but it is as though when I perform the hard cut the video section I wanted to remove changes and a different part of the video gets cut. This is extremely frustrating. Any advise would be incredibly appreciated. Let me know if there is any more information I can give to clarify the problem.

I strongly suspect this is a bit of a duplicate question, even though it isn't terribly clear to a cursory examination. That is, I have a hunch that your image and / or video is compressed using a relatively highly compressed codec. When this happens, especially with long Group Of Pictures codecs (long GOP), you can expect that your hard cuts will not be able to be maintained because you will likely have cut in the middle of one of these GOP runs. When this happens, your video is unable to properly sync because the precise frame cut position has happened in a place that is unrecoverable, and as a result the codec decoder must resume from the previous "whole" frame.

While this might not be apparent immediately, similar sorts of issues crop up with heavily compressed audio and the result is very similar.

So how to resolve this? Convert your entire stream or streams to a native image format or AVI JPG series, and audio to WAV format.

Why does this solve the issue? Because then, wherever you place a cut, the image and audio have an immediate ability to be resumed at wherever the cut point ends up, without requiring a "rewinding", which is causing the issue.

While I am not 100% certain, I would wager that there is a greater than 50% chance this is your issue. If it turns out to be the case, there are other folks that are vastly more capable at finding the duplicates and citing them here.


My image texture displays correctly in material preview but not in 3D viewport I have applied such image textures before without any problem but with the eyes of this character I simply cannot get the image texture to appear in the 3D viewport in either Eevee or Cycles. I feel sure I have done something daft or not done something simple but I have gone over everything several times and searched online yet cannot find what I am doing wrong.
I have attached an image showing my setup.
All help appreciated.

I am closing this request for any further comments since no more suggestions have been forthcoming and nothing I tried made any difference to the lack of display in the viewport. I reluctantly deleted the eyes and made new ones applying the same image texture, in the same way and they work perfectly well.
I guess I will never know what the problem was.
Thanks for looking.


Blender Rigify strange issue with weighting I have a weird issue with Blender and Rigify.

I've followed this guide to create bones using Rigify and then apply automatic weighting http://cgi.tutsplus.com/tutorials/create-an-animation-walk-cycle-in-blender-using-rigify--cg-17812

It all seems to go great until I apply the automatic weighting and then I get the strangest result as the mesh seems to mostly disappear. I can replicate this each time I perform the whole process.

Any ideas or feedback? I'm stumped.

This is a common problem. Up in the top right you will see that it says Auto-run disabled. You have to press the button beside it that says reload trusted, and it should resolve your issue.


How to create a very shallow rounded edges bowl shape in the side of a cylinder? I plan to do this multiple times for multiple points along the cylinder (like a spiral), so it would be good if the method is:

Easy and quick
Or: copy-able to other areas in the cylinder

I have a cylinder, and I want to insert a shape onto it, with a very very subtle inward push like so:

So if this is my cylinder, it would look like this from the side:

And most preferably it's also parametric so that I can later modify:

how deep the bowl is
the shape of the curve inwards
And have that affect all other bowls that are inside the cylinder.

I already tried doing this by loop cutting the cylinder so that I have a grid, then cutting a square, then making a circle extruding it, and shrink wrapping it to the cylinder, then joining it to the cylinder, then filling in faces for the empty parts, then subdividing (which introduces other problems as other parts of the cylinder I don't want subdivided a second time.)
Here are my awful and very work-intensive results (which I would not like to repeat):

Then subdividing which gets closer to the shape but introduces problems in other areas of the cylinder:

But even then, the circle is too deep and is not easily modifiable, nor copy-able, and as you can see has some awful looking holes that I just couldn't fix with adding faces.
Note: Beginner...may seem like I know something... I don't know anything! Please be detailed when responding

I would go about it something like this - it's not "parametric" per se, but it's rather easy to implement so it might be a happy trade-off. Since you only need a small influence to the "dent", I would recommend omitting the subtracting of faces and shrink-wrapping, and instead use Proportional Editing.
First step is to isolate the section of the cylinder where you want the "dent" to be:

Then add enough loop cuts so the individual "cells" are as close to square shape as possible (I take it you've already done this):

Pick a vertex in the center of your "grid" on one side (preferably one of the "cardinal" directions for ease of making the shape later). Turn on Proportional Editing (O), and select one of the edit options from the  top - I recommend Inverse Square (I know "sphere" is selected in the photo - ignore it) however feel free to try different options and see what works best for your project.

Grab the vertex (G) and move it along whatever axis it's aligned to (so it can move towards the center of the cylinder). The size of the blue edit circle controls the size of the edit influence - you can adjust it by scrolling the Mouse Wheel. Move the vertex inwards:

Final shape looks like this (with subdivision surface and smooth shading):


What do green/brown(orange?)/yellow attribute highlights mean? Shown here, a green (location (x,y,z)), brown (rotation (x,y,z)) and yellow (scale (x,y,z)) colored attribute highlight. What do these mean? (And where are they documented?)

These colors all have to do with Keyframes.
Yellow: Keyframe has been set on current frame
Green: No Keyframe on current frame
Orange: The property has been changed but a keyframe hasn't been set
I could not find where Blender actually documents these colors though.


blender's mirror modifier not working how I want it to Hi I am having a problem with blender mirror modifier,because every time I try to mirror my object, it just not directly mirror the object from the middle, I had also got the same problem with the auto mirror add-on, along with some code error. The clipping tool also seems to not be helpful for me either, when I have cut an object in half to be mirrored. I am using v2.81.16, please tell me what is wrong or if there is a simple fix, thanks.

Actually it was just because the pivot point was not at the middle of my object, because before I had deleted the vertices which did not delete the whole object keeping the pivot point at the same place.


transparent PNG image not working in cycles Hello blender community.
using Blender2.79b
I am working on creating leaf with PNG transparent image file.
but alpha part is not working as transparent part.
My node setup is wrong ? or any other cause?

You are not using the transparency node, but the translucency node

Transparency makes the area transparent while translucency let's some light throu but scatters it a little bit. A good example for this are the leaves on trees. If the sun shines on them, they are bright from both sides, while the trunk is only bright on one side, as it is not letting light pass throu


Is the render output linear color or 2.2 gamma? I know Blender can nowadays use a proper linear workflow. The thing that is unclear to me even after reading the support documents is whether or not Blender saves the output with linear color or does it convert the PNG files to sRGB while saving them?

In other words, when I render (in this case with Cycles) a PNG sequence, are they saved with 1.0 gamma or 2.2 gamma?

This question is not answered in the other topic. I have read it carefully. Can you point out the exact sentence in that topic that answers if the output files are saved as linear on sRGB?

The gamma of the output image depends on what the image format supports. Generally, output to PNG or JPG will result in a non-linear gamma correction (2.2). Usage of the OpenEXR format supports linear colour space, and you would keep your 1.0 gamma value.

Additional info: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management


Is it possible to setup eyelashes with uv texture without using shaders nor hair particle? I tried setup eyelashes with uv texture without using shaders nor hair particle system, because hair particle system is a bit naughty and I'm going to use it later on in three.js, which doesn't welcome complex shaders.
What I tried is assigning a transparent material then map the eyelashes to uv texture, but I can't get it working correctly. As you can see the eyelashes still has a bit translucent surface around. Also when I turn on 'receive transparent shadows' on face mesh, it somehow still receives a complete solid shadow. The light in scene is lamp-spot light. .

Update: drop the specular-intensity value & transparency alpha value to 0 will remove the translucent surface around.

If you have a .jpg/.jpeg texture for lashes/hair, set the material's specular-intensity value & transparency alpha value to 0 to show lashes correctly in Blender. The problem of this is that it will look fine in Blender, but if you export to .gltf/.glb file, the lashes/hair will be invisible.

So the only solution I found so far is to use a normal material but with a .PNG texture that has background removed. A little Photoshop work.


Why is the 'GPU compute' render option blurred out for me? I think it would be faster to render with my gpu, but I can't seem to select it.

My GPU is an MSI gtx 1050 ti

Press ctrl + alt + u to open the "User Preferences".

Switch to the "System" tab and change your compute device.

(I do not have a compatible GPU, but yours should show up here, if it is compatible.)

I recommend clicking "Save User Settings" so that this is saved for next time you open a new Blender file.

Your GPU should now appear under the GPU compute section.


How to find and delete extra UV layers on many objects? I have a scene with a few thousands objects and part of them, randomly, have 2 or 3 UV sets. I need to keep just the active UV because when exported in fbx they get mixed. Thanks!

Script

Removes non active uv layers from all meshes in blend.  As with all scripts that remove things, save first.

import bpy

for me in bpy.data.meshes:
    uvs = [uv for uv in me.uv_layers
            if uv !=  me.uv_layers.active]
    while uvs:
        me.uv_layers.remove(uvs.pop())

Removes all uv layers not marked active render.

import bpy

for me in bpy.data.meshes:
    uvs = [uv for uv in me.uv_layers
            if not uv.active_render]
    while uvs:
        me.uv_layers.remove(uvs.pop())


What is "Lightfield tools" plugin for? I know that in Blender we have a plugin called LightTools (or Lightfield Tools).

It basically adds a grid created from simple mesh, a bunch of lamps, and also some camera. I understand what it is doing, because I can investigate the scene in Blender, but what this is all about?

What are the benefits, usage examples, and what is an overall income from using this script?
I was unable to find the answer with google.

It seems this addon is for rendering Light fields.

From the wiki:

  Description

  This script helps setting up rendering of lightfields. It also
  supports the projection of lightfields with textured spotlights.

  Usage

  A simple interface can be accessed in the tool shelf panel in 3D View
  (T key).

  A base mesh has to be provided, which will normaly be a subdivided
  plane. The script will then create a camera rig and a light rig with
  adjustable properties. A sample camera and a spotlight will be created
  on each vertex of the basemesh object axis (maybe vertex normal in
  future versions).

  Vertex order

  The user has to provide the number of cameras or lights in one row in
  an unevenly spaced grid, the basemesh. Then the right vertex order can
  be computed as shown below.

  6-7-8
  | | |
^ 3-4-5
| | | |
y 0-1-2
  x->

  There is also a tool to create a basemesh, which is an evenly spaced
  grid. The row length parameter is taken to construct such a NxN grid.
  Someone would start out by adding a rectengular plane as the slice
  plane of the frustrum of the most middle camera of the light field
  rig. The spacing parameter then places the other cameras in a way, so
  they have an offset of n pixels from the other camera on this plane.

What are light fields?

Light fields were originally invented to allow advanced tweaking of a rendered image that would normally only be possible with defined geometry (i.e. a 3D model):

  Light fields were introduced into computer graphics in 1996 by Marc Levoy and Pat Hanrahan. Their proposed application was image-based-rendering - computing new views of a scene from pre-existing views without the need for scene geometry.

This even works for photographs taken with a special camera:

  LightField cameras (also called plenoptic cameras) have a microlense
  array just in front of the imaging sensor.

  Such arrays consist of many
  microscopic lenses (often in the range of 100,000) with tiny focal
  lengths (as low as 0.15 mm), and split up what would have become a
  2D-pixel into individual light rays just before reaching the sensor.

  The resulting raw image is a composition of as many tiny images as
  there are microlenses. Here’s the fascinating part: every sub-image
  differs a little bit from its neighbours, because the lightrays were
  diverted slightly differently depending on the corresponding
  microlense’s position in the array.

  Next, sophisticated software is
  used to find matching lightrays across all these images. Once it has
  collected a list of
  (1) matching lightrays,
  (2) their position in the
  microlense array and (3) within the sub-image, the information can be
  used to reconstruct a sharp 3D model of the scene.

  Using this model,
  you have all of the LightField capabilities at your fingertips: you
  can define what parts of the image should be in focus or out of focus,
  define the depth of field, you can set everything in focus, you can
  shift the perspective or parallax a bit, … You can even use the
  parallax data to create 3D pictures from a single LightField lense and
  capture. All of this can be done after you’ve recorded the image.


Texture is stretched on certain faces I'm currently modeling a football stadium, applying a texture to the stairs I created using the array modifier from a simple cube shape.

When I apply a texture to the stairs, the texture is clear on the flat part of the step, but the front of the step is stretching the texture horizontally, and does't look like the concrete surface I'm trying to achieve. Does anyone know an easy solution to this issue?

Without seeing your node tree this is my best guess. Under the texture image node change the projection from flat to box. You can also change the blend value but if your stairs are perpendicular it probably won't change anything

Edit: sorry picture is sideways i am on my phone.


All colors locked in blue hue - can't change hue Somehow suddenly when I want to edit colors anywhere in my project, be it in the color ramp, or the base or subsurface color of the principled BSDF, or the Bloom color picker of Evee, all the colors seem to be locked in a blue hue. But they render as the color I originally defined them to be.
When I now want to change the hue of one of these colours, it automatically jumps back to the blue hue. Also the color wheel only displays the blue hue.
In the ColorRamp of the screenshot, the right color is actually red and not a dark black. The subsurface color is actually also a saturated, bright red.

I suspect I did something in the color management tab, that causes this to happen. Here a screenshot of my color management tab:

That's how the color picker looks now:

Luckily the colors are more or less as they should be for the final render, but I would still like to tweak some a bit. And it would be nice to know what caused this to happen, so I know what to do next time...
Edit: The rendered image is only in shades of blue too... but in in the rendered view in the viewport it's as it should be.
Thank you for the help!

Ok, because I didn't expect this to be a bug, I didn't go through the usual procedures.
Simply restarting Blender did the job.
sorry for nooby behaviour ;)


How can I set edges to a specific length with the keyboard? For a long time I've been trying to find a way to set selected edges to a specific length.

Since I can only find old posts from years ago and "only measure tools", I need to ask this: Is there a way to set an edge/or multiple selected edges to a fixed length inserted via keyboard? I use version 2.78 and it would help me a great deal, because I can't get past the basic setup for my objects without this.

Of course, edges and faces can be drawn to a certain length and it will get shown by "Mesh Display", but the numbers are never accurate, so now I want to set those edges to have a very specific length. How do I do this, because I can't find any useful videos or posts that would show this?

No, you just cannot set the edge length by typing a number. I don't know why Blender does not add this feature, it's just stupid.

--Edit--

Just found an Add-on
https://developer.blender.org/T39999  After putting the .py file into your addons folder you can just use Shift-Alt-E to set the edge length


Creating transparent glass with an image texture w/ alpha channel I'm trying to create a glass block and have it so the light color changes according to the glass color.
I want a lighting effect like the blue glass (texture-less) block, but with the "streaks" of the glass blocks provided by the image, as well as the glass color.

Top: Non-textured glass block, with the intended lighting effect seen on the background
Bottom left: Blue Glass block w/ image texture
Bottom right: Glass Block w/ image texture
I want the blue glass block to cast a blue shadow, but it's casting a gray shadow.
The plain glass, however, is fine.  Both images have alpha channels.
Texture-less block node:
Glass block nodes w/ image texture:
I've used glass, transparent, and translucent shaders in a "mix" in various combinations with no luck.  The shadows remain the same.

I found a solution to your problem. The answer lays within the lightpaths. You want your direct rays with your texture and alpha and your indirect (Colored shadows) using a solid blue object. This can be done fairly easy inside the nodes.
So, this shadow:
With this texture:
This is your solution:
One material will be used when rendering the cube and the other one when rendering the shadow. The Lightpath node will output white when the ray is directly coming from the object to the camera. Black if it isn't.


'Adjust Last Operation' panel closes when trying to change values When you add a new mesh, the overlay appears in the bottom left of the screen allowing you to change certain properties. Recently, however, when I try to click on any setting, the box disappears. I've tried clicking, dragging and any combination of both, but the overlay doesn't respond and vanishes as soon as you release the mouse button.

Obviously you only get one chance to change these properties - so I'm stuck without it.

Could an add-on be causing the problem?

Problem Solved. For whatever reason, the Global Undo checkbox was not ticked (in Preferences > System). Once this had been set the panel started working again.