Why does refraction + volume scatter cause a much darker result? I've noticed that glass objects tend to turn really dark when adding volume scattering.

It seems the volume scatter shader gives a much different result when a refraction shader is used in the surface, even if the aforementioned refraction shader is theoretically doing nothing.

Here's a test, rendered with 1000 samples:

On the left is a refraction shader with the color and IOR set to 1, essentially just an un-optimized transparent shader.
Naturally, it looks like nothing is there (though some extra noise can be observed if you look closely at the ground where it should be)
On the right is a volume shader setup with a true transparent shader. Looks fine.
In the middle, the volume setup from the right is used with the "transparent-refraction" from the right.

As you can see, the middle looks much different from the right, despite the refraction shader making no change to anything in the left.

Exact setup for the middle Suzanne:

What's going on here?

Solution

Set Properties panel / Scene / Bounces / Volume value to at least one.

Explanation

Probably your volume bounces is set to zero because it is the default setting. That means only direct lighting on volumes are allowed, however caustics¹ are not. The same goes for the diffuse bounces value: If you set it to zero, caustics will not be present² and the perfectly transparent refractive object will cast shadow.

¹ Caustics is actually simply indirect lighting, but is handled specially due to its noisy nature.

² No recursive indirect sampling (also known as bounce, hence zero bounce) allowed.

Alternative Solution

You could also disable shadow casting on the refractive object and leave the volume bounces zero. The result will have less noise, but will lack proper caustical shadows. Or you could set up fake caustics like this one: https://urchn.org/post/fake-caustics-in-cycles


Rendering in GPU and CPU in different instances at once I am currently rendering an animation in cycles and I have another animation to render after it is finished. I am rendering the current animation with my GPU and was wondering if I could render the other animation using my CPU in another instance. Would this be efficient? Thank you.

Yes, mixing CUP and GPU rendering on two instances should be faster if you have enough memory to fit two instances of the rendering job. Just make sure you set the CPU rendering instance to a lower priority (using the task manager on Windows, or nice with Linux) so that it doesn't take any CPU resources away from the GPU instance. Otherwise the GPU instance might be starved for instruction from the CPU and cause a slowdown.

With Blender 2.79a, a built-in mixed CPU/GPU rendering mode is also available. Just need to enable it from the User Preferences:


Can a lens shader be made in cycles I'm curious if a shader can be made for a flat square that can act as an optical lens.
In the shader  be able to set a f factor, to set focus strength distance.

I guess the answer is yes, if you don't mind having a solidify modifier on the square to create a thin square plate.  The idea is to use a Glass BSDF with a network of nodes to calculate normals mimicking the curved surfaces of a real lens.

Specifically, if you have a solidified x-y plane and the camera is looking from the positive z-axis, the normal of the close face is pointing at (0,0,1), and the normal of the far face is pointing at (0,0,-1).  If you adjust the normal at each (x,y) point so that it points outward from the lens center on the close face, in the direction (c*x,c*y,1) and also outward from the lens center on the far face, in the direction (c*x,c*y,-1) for some value c (possibly depending on x and y), that should mimic a convex lens.

While it's far from obvious, it turns out that using a fixed value for c for all (x,y) gives a good approximation for a thin spherical lens that isn't too big relative to its focal length.  In fact, I think this "approximation" has less spherical aberration than a real spherical lens.  For glass with IOR=1.5, we will have approximately c=1/f for f the focal length.

The node network is a little more complex than this would suggest, because the "Normal" output of the "Geometry" node and the "Normal" input of the "Glass BSDF" node are in world coordinates, and we need to do our calculations in object coordinates.  Also, for the far face, the normal that the shader sees is not the usual normal pointing away from the viewer, but rather the flipped normal on the back surface of the face, so we have to consult Geometry->Backfacing to make sure we are adding the correction in the right direction to make both faces convex.

The full node network looks like this:

Some important notes on using it:

It should be applied to a solid object with two flat parallel faces placed close together, like a plane with the Solidify modifier.
The plates must be in the x-y plane.  If the object is rotated, the rotation should not be applied.  The lens won't work unless the normals of the lens faces lie along the object z-axis.
The input focal length (where 0.15 = 150mm)  will be scale-correct only if the scale of the object is 1, so you should apply the object scale.  As an alternative to creating a new material for every focal length, you can use object scale to adjust the actual focal length relative to the focal length in the material.
To adjust the actual size of the lens without changing its focal length --i.e., to set the f-stop-- just scale the lens in edit mode.

I have a 2.81-compatible .blend file attached at the bottom; sorry, but it just crashes on 2.80 or earlier.  The "FakeLens" material is a cleaned up version of the node network above.  Switch on the rendered view, and you should see three lenses like this:

The circular lens on the right is a true curved lens made from two slices of a sphere and using a pure Glass BSDF material.  The lens in the middle is a square with a Solidify modifier using FakeLens, and the lens on the left is a thin cube using FakeLens.

Here's the 2.81-only file:


I cannot get this cylinder to follow the bezier curve Hello guys, new to blender here. I cant seem to get this cylinder to follow the bezier curve spiral shape i created. When I move the cylinder along the curve its completely off and starts twisting and bending like crazy.

I used the curve modifier on the cylinder and as the object i chose the bezier curve. I already matched the centers of both objects as well along the x,y, and z. And for the curve modifier the deformation axis is set to X.

Any help would truly be appreciated!

Thanks!

see what I suggested above it could help, perhaps

set a bezier curve, and a little curve circle

then set the curve circle as bevel object of the bezier:

when finished (perhaps better keep a copy) you can convert to mesh with ALTC

edit: adding a less linear bezier

or a real spiral (see How to make flat spirals)


Indented letters? (embossed) I'm using v2.76, and I want to create a "stamp" effect with letters. I watched a video on how to do this, and the guy said to use the boolean modifier. I followed the steps exactly to the point where you select the modifier, and it does not show up. I was using cycles render, as was the guy in the video.

Examples:

https://365webresources.com/wp-content/uploads/2014/02/Leather-Stamping-Logo-MockUp-2.jpg

http://gadgetsin.com/uploads/2011/05/bullet_shell_cufflinks_1.jpg

The text object must be converted to mesh (ALTc -> "mesh from ..."), or you cannot use boolean on it. If you don't convert it, you cannot neither use the boolean on the other mesh which has to be embossed, because you cannot select the text as target object. When you convert the text to mesh, both can be done.

My suggestion, also, is to operate as logic suggests: select the "other mesh", apply the boolean modifier, as "difference", and select the (converted to mesh) text as target "object".


How do constraint and parenting interact with each other? Imagine simple setup: CubeA has a Copy Rotation constraint with CubeB as a target. CubeB has world's orientation. CubeA has different orientation (LocZ=GlobalX, LocX=GlobalY, LocY=GlobalZ). Constraint is set for World to Local Space copy. For now everything acts as expected (e.g. rotating CubeB around Z rotates CubeA around global X).

If I parent CubeA to CubeC everything changes: rotating CubeB affects CubeA as if it had global orientation. Rotating CubeC changes effect even more. Now CubeA rotation is similar neither to CubeB's nor to CubeC's.

I don't want to make this question too complicated but if I change the order and apply the constraint after parenting the objects then result is different again from described above though I still can't pursue its logic.

How do constraint and parenting interact with each other? How can one estimate the final child's orientation?

In the copy rotation constraint you say you have set the copy space as world->local, that means rotating CubeB on the global z-axis will rotate CubeA in it's local z-axis.

As you parented CubeA to CubeC and then rotated CubeC, Cube A is located below CubeC but you should also notice that as CubeC is rotated, CubeA is rotated using the CubeC location as the pivot point, this leads to the CubeA local z-axis now aligned to the global x-axis.

This leads to the local rotation that you now see, CubeA is still rotating on it's local z-axis but that is no longer aligned to the global z-axis, so it appears to rotate differently to CubeB.

If you use an object that is easier to see the orientation, what is happening will be clearer.


How can I bake multiple images (textures) into one image texture? EEVEE Using the MixRGB node, I mixed two images and its factor is another black and white image. I will mix some other images.

I would like to back all these images into one image. How can I do this with EEVEE?

My baking process is simple, it doesn't have emission or other properties that are hard to bake. I also added the images to a plane (terrain) which is not a complex mesh. It is like adding some images together using photoshop.

EEVEE currently doesn't support baking, so you would have to use Cycles instead.

Heres how:

Let's start with this simple hybrid texture

Add a new image texture node, click  + New  and give it an appropriate name and dimension.

Select this new node and find Bake Panel under Render Properties. If you cannot find it make sure you are using cycles.

Let's use the Combined Bake Type. Learn about them here. Click  Bake  and wait for it to finish

Connect the Baked Image node into the PRincipled BSDF Node. Its a bit dark since we did not have any lights in our scene. You can even export this baked texture.


Connecting NodeSockets of differing types If you check the docs, you can see under NodeSocket(bpy_struct):

  type Data type Is

  Type: enum in [‘CUSTOM’, ‘VALUE’, ‘INT’, ‘BOOLEAN’, ‘VECTOR’,
  ‘STRING’, ‘RGBA’, ‘SHADER’], default ‘VALUE’

What happens, if you connect sockets of differing types? In particular, RGBA connected to SHADER (Mix -> Material Output), and RGBA connected to VALUE (Image Texture -> ColorRamp)? Can someone tell how blender converts between the differing types?

RGB(A) to Value

It is neither a weighted sum nor the max channel (as is the case for Value in HSV) - instead it's something I don't understand at all, something to do with the black magic of color management, but I'm happy to write it here anyway :)

In node_shader_valToTgb.c is the function node_shader_exec_rgbtobw, which calls IMB_colormanagement_get_luminance(col). Inside that function, we have dot_v3v3(luma_coefficients, rgb) - the dot product of the input color and some apparently random numbers at the top of that file: luma_coefficients[3] = { 0.2126f, 0.7152f, 0.0722f };

Recreating that as a node setup in blender gives the same result as you'd get from plugging the color into a Color Ramp node or RGB to BW node:

The cube render is black meaning the difference = 0

Shader nodes are always only RGB and never include an alpha channel. However, in the compositor they do. When converting RGBA to a Value in the compositor, the alpha channel is simply ignored - only the RGB values are used.

RGB(A) to Vector

The alpha channel is simply discarded - Red becomes X, Green becomes Y, Blue becomes Z.

We can prove this by plugging a render into a Vector Curves node, and plugging that into a Viewer node - notice that the background becomes black (as the RGB values in that space were all 0):

Vector to RGB(A)

It's simply the opposite of what's said above. X becomes Red, Y becomes Green, Z becomes Blue. The alpha is always assumed to be 1.0.

Anything to Shader

This is the one exception - nothing is ever automatically converted to a shader, the result is always simply black, no matter what color or value you plug into it.

Personally I think this design is silly - if you plug a color straight into the material output (without going through any shaders first), you're expecting the result to be shadeless. But alas, this is not the case.

Value to RGB(A)/Vector

This is pretty obvious I think, but just for completeness: Whatever the value is becomes the same for each channel/axis when converted to RGBA/Vector (though the alpha channel simply = 1)

Have I missed anything?


Problem with mechanical Rigging How can I Rig these Bones that they stay in the axises of the red dots but also rotate completly in the direction of the green arrow? Any help would be appreciated.

Maybe you don't tell enough. But if you want to only move the left big bone (bone1) so that the other ones follow you could use this setup:

Give bone1 a Limit Rotation constraint so that it stays on its axis.
Give bone2 a Copy Rotation so that it copies bone1's rotation.
Give bone3 a Track To so that it keeps pointing at the tail fo bone2.
Give bone4 a Copy Rotation so that it copies bone3 rotation.


save avi files in blender using python script I have created an animation using Blender. Does anybody know how I can save .avi file of the rendered animation using a python script?

My second question is that I want to run the animation with different parameters and save the video. Basically, I want to reset the animation and run it again with a new force and save a separate video file. I want to do these automatically instead of manually. Is it possible to do that with scripting?

bpy.context.scene.render.filepath contains the filename that the render will be saved to, you can change this and then use bpy.ops.render.render(animation=True) to render the animation to the specified file.

import bpy
bpy.context.active_object.material_slots[0].material = bpy.data.materials['Red']
bpy.context.scene.render.filepath = '//red.avi'
bpy.ops.render.render(animation=True)

bpy.context.active_object.material_slots[0].material = bpy.data.materials['Blue']
bpy.context.scene.render.filepath = '//blue.avi'
bpy.ops.render.render(animation=True)

The // at the beginning of the filename puts the file in the same folder as the blend file.


How does this normal map create surface imperfections instead of elevations/bumps? How do you create a normal map similar to this?

In this polyester texture I just purchased, I noticed that the normal map (instead of roughness) is creating the silky look as well as the surface imperfections. This normal map looks flat and has patches of different colors Instead of bumps/elevations. How can I re-create this effect without using a texturing software?

I know how to make different PBR maps in Photoshop using only a diffuse map, but I'm not able to re-create a normal map similar to the image above. No matter what pattern (scratches, smudges, etc.) I use to try and make a normal map from, it ends up creating bumps/elevations instead of surface imperfections.
How do you achieve this "silky" look along with surface imperfections using a normal map? How can I use a diffuse map of different patterns to create a normal map like this?

You can bake textures like this in Blender. After setting up all the components of the shader you want to bake in the Shader Editor:

1 - Create a new image in the UV Editor

2 - Add an Image Texture in your Shader Editor and select the image you created in step 1 as the image being referenced

3, 4, 5 -  In your Render Properties tab, select Cycles, select your Bake Type (Normal in your case), and hit the Bake button

6 - A normal map will be generated consolidating all normal elements present in your shader as the image in your UV Editor


Blender 2.78 VSE : How to display keyframes presence? I'm using the VSE and adding keyframes for opacity, it's working.

The only place I can see if there is keyframes on my timeline is by moving the cursor on the timeline and looking in the Edit Strip menu for Opacity bar to change color.

How can I display visual indications of the presence of keyframes on my video strips? Or where can I find a panel where I can find all my keyframes?

Thanks

You can find the keyframes in Dope Sheet, Graph Editor and NLA Editor.


What is the simplest way to increase volume of mesh? This hand looks too skinny. What is the simplest way to make it fatter, especially the fingers?

In Edit Mode, you can use the Shrink/Fatten tool. ⎇ AltS
It is limited to the selection.

You can also add a displacement modifier and change the strength value.
For more control assign a vertex group to it. Create a the group and go into weight paint mode ⎈ Ctrl↹ Tab to paint the weights.

It seems the gif progress bar got messed up. Sorry.


When I use array modifier to the bezier curve, the last part of the curve was not covered I was trying to make ice cream, the array object doesn't cover the full curve, whatever I do the last part is not covered. I tried scaling, deleting the last vertices of curve but none covered till the last segment.

Since your shape is uniform along length, consider using the star as a bevel.
Then you don't need the array modifier, and you have overall better control.

Convert your star shape to a curve (Mesh > Convert to > Curve)
Select the spiral, and choose your star shape as a Bevel object
Adjust to your needs


Animated glowing textures - how? A common effect I'd like to understand is how to achieve moving, glowing lines. An example is on Robert Hodgin's "Taxi, Taxi!". (I don't know what he uses, but have an idea it might be Houdini). Another is Cristóbal Vila's beautiful animations (e.g. Nature by Numbers - Mobo).
I have coded a Python script that lays out geocoded spline curves on DEM terrain together with Open Street Map building data (see here), but the material for the moving assets is stumping me. I'd like to replicate Robert Hodgin's animation - can anyone explain in outline how this effect might be achieved in Blender?
Many thanks.

You can use curves, give them some extrusion and an emissive material. Then animate the bevel start and end factors, like in these links:
How to create light streaks
How to make an object appear/visible along a path
The main problem you will face is that you need to separate the curves created by OpenStreetMap or create new ones. OSM creates multiple segments on a single curve object and that would not work for animating Bevels.


Texture repeating problem I have a texture on my model and the problem is that when I made any changes on one side it appears on the other. I believe the reason of that is that while unwrapping my parts of model doesn't fit on the texture. One way I could think of is to increase the dimensions of texture but to make it as big as I wan't would make the size of picture around 20GB. The other is to reduce dimensions of my model parts but that way I would lose quality and it won't look how I want. So I need that the texture would repeat independently

All those islands should be in the 0-1 space. There are some reasons to move things out of that area, as an example, if you want the texture to repeat or if you want to exclude part of a model from a texture bake operation.

For what you are doing there, I think it's best that you do what is shown in the following image.  While in Edit mode, move all the UV islands into the light grey area that is displayed with the grid.

The dark grey zone is out of bounds.


No GPU utilization with CUDA devices [cycles] I'm trying to render a cycles scene. On a computer with an RX480 card it renders fine with (almost) 100% GPU utilization. The exact same scene is rendered slower on a computer with 8 (!) Titan-X GPUs . GPU-Z reports almost no utilization on those GPUs, somewhere between 0 and 2%.

Initially I had the same problem with the RX480. I played around a bit with the settings and suddenly Blender was reloading the render kernels and then everything worked. It seems I am not able to force blender on the Titan machine to do the same?

I tried to disable all but 1 GPU on the Titan machine but it didnt change a thing: Rendering time is the same, utilization on all GPUs the same. (Which makes me think that the GPUs are not really rendering anything)

I downloaded the benchmark scene with the 2 BMWs and got a rendering time of about 3:27, GPU utilization still below 5%.

Is there a way to force a render kernel reload/recompile? Are there any other options I could try?

One last thing: The Tesla machine is accesed via RDP session (windows 10 x64) which means I had to put an opengl32.dll file into the installation directory to allow Blender to start in legacy mode. While this makes Blender itself reaaaally slow, I dont think it should impact CUDA performance in any way.

I am using Blender 2.79 RC2 on both machines.

I would upload the Scene, however it is almost 300MB in size due to some funny dude (me) applying all the modifiers.

As said above in comments, I suspect(ed) RDP is doing much more that just remoting frames, and it could tweak the remote session to not use GPU, at least not with blender cycles... and by default. There are similar questions on other QA sites (https://serverfault.com/questions/880922/gcloud-machine-doesnt-see-gpu-over-rdp).

RDP is a highly efficient Remote Desktop Protocol, not just a remote video/audio frame repeater: it creates a new session, which can have more or less features, but imho it could try to "optimize" the viewer experience and, for some reason, not expose the GPU to the session.

VNC or Teamviewer are different: they don't create a new session, they "just" transmit an existent session "frames" (but the session is running as it was local, with all its features), trying to optimize the transmitted video/audio for the remote transmission...

It's probably a somewhat more "neutral" way of remoting a session, but also RDP could be much more efficient, and give better performances if you can work with the session "features" it allows/exposes to your client.


Armature Uneven deforming with Modifiers? I've had a very vexing issue for some time now and I can't seem to find a fix.

I have an armature set up with a mesh (mostly done) but some parts of the mesh deform entirely out of sync, and this changes depending on which of my modifiers are on. I have two armature modifiers on the mesh, one allowing it to deform, and the other makes the mesh track to the armature properly. Both have vertex groups and envelopes on, and preserve volume. The problem is the spine of this model works perfectly with the one modifier, but completely breaks when i turn on the second one. Without the second, the rest of the armature is very messed up.
I've done the weights manually and have tried several layouts for the weights and the bones themselves, but the problem persists. I've even removed the spine completely and remade it from scratch and it still has the same problem. The rest of the bones behave fine so long as the modifiers are on. I have no idea why it would only be one or the other being messed up, since they are both part of the same structure.

I can try and post some pictures if need be, its just very messy at the moment.

Edit: Never shared on here but lets see if this works

One can't parent a mesh to multiple armatures, and 1 should realy be enough.
If there are some small morphing you'd like to do who are because of their detail movement not easily done with bones, you can add shapekeys for that.

Notice its also possible to use bone constrains (often with empties as helper objects) to control you bones, ea i did that in a car rig, just telling because i dont see any reason why 2 armatures would be needed. I made way more complex armatures but have never had a need for it, so it puzzles me why you want it.
Its a but unclear to me, what you try to achieve with it, perhaps if you can explain i might think of another way to do that.


Parenting Object Instancer into Matrix of Flipping Polygon Faces It might have been answered but not sure. Anyways:
- I setup this Flipping Poly Face, basic one
- I made duplicate of Suzanne head and place it on the Center of each Face

Need to do parent to each Poly Face, but my setup is not working as expected. Probably Matrix basic, but need some pointer.

In short:
How to parent object into Poly Face ensuring when the Face is rotated, the Object follows like Vertex Parenting?

Thanks!

I found out that I made a mistake up there where I am using the SOURCE Mesh Data to place and rotate the Instance copy where in fact I can easily use the TARGET Mesh Data and Polygon Info node to have the effect I need.

Case Closed.


How can I execute a .bat file when Blender starts? I have to start a postgresql server when blender starts. To start the server I use a .bat file I start manually.

I want to automatically start the server (execute the .bat) when Blender starts. I tried this script but it not working. ideas?

import subprocess
filepath="C:\Users\PORTABLE\Desktop\pgsql_binaire\pgsql\test.bat"
p = subprocess.Popen(filepath, shell=True, stdout = subprocess.PIPE)
stdout, stderr = p.communicate()

Would it not be simpler to start both blender and postgresql using the same .bat file. Then point any blender shourtcuts/links you have at that file?


Editing verts via script like in editmode: scale, rotate How do I scale or rotate the selected verts of a mesh using blender python?

Relevant sections of the api documentation:

bmesh
bmesh.ops
mathutils

# See Text Editor -> Templates -> Python -> Simple Bmesh Editmode
# This example assumes we have a mesh object in edit-mode

import bpy
import bmesh
import math
import mathutils

# Get the active mesh
obj = bpy.context.edit_object
me = obj.data

# Get a BMesh representation
bm = bmesh.from_edit_mesh(me)
face = bm.faces.active

# Modify the BMesh, can do anything here...

# Rotate - (global)
center = bpy.context.scene.cursor_location
rot = mathutils.Euler((math.radians(45), 0.0, 0.0)).to_matrix()
bmesh.ops.rotate(
            bm,
            cent=bpy.context.scene.cursor_location,
            matrix=rot,
            verts=face.verts,
            space=obj.matrix_world
            )

# Scale - (local) - no space matrix passed
scale = mathutils.Vector((2.0, 1.0, 1.0))
bmesh.ops.scale(
            bm,
            vec=scale,
            verts=face.verts
            )

# Show the updates in the viewport
# and recalculate n-gon tessellation.
bmesh.update_edit_mesh(me, True)


How would I recreate this arched pillar from Vanishing Realms? This is from the first room in Vanishing Realms:

The part I am concerned with is the top section that goes from a straight column to this kind of splayed out effect, not sure of the correct term. Anyways in SolidWorks you would loft this in a couple of seconds, how can I do this in Blender?

Thanks in advance.

Final result:

Modeling:

It's extremely simple.

Just add a Cube. Go to Edit Mode. Select bottom face and extrude (hit E) it down in the Z axis, after extrude - scale it down (hit S). Repeat for every segment.

After that make object Smooth and add Autosmooth or Edgesplit Modifier.


Custom shortcuts for selecting brushes? i went to user preferences, 3d view, sculpt, then i scrolled down a clicked on add new, but how can i add a bush short cut? the existing bush short cuts look different than the one that i added. Any suggestions?

thank you, here was my attempt.

By default, pressing C in Sculpt Mode will select the Clay brush.

Similarly, pressing ShiftC will select the Crease brush.

You can simply change either of these shortcuts to the Clay Strips brush instead. Or you could add a new shortcut of your own using the same syntax.

In the screen shot below, notice how I've changed the function of the second shortcut to trigger the Clay Strips brush instead of the Crease brush.

Let's say you want to add your own instead of modifying the existing shortcuts. It's as easy as clicking "Add New", pasting in paint.brush_select, setting the Paint Mode to Sculpt, then selecting which Sculpt Tool you want. And of course specify the key, and the modifier key(s) if any.


Where does console output go I'm trying to debug a Python script by placing a print("foo=" + foo) statement in my code.

But where does the output appear?

It doesn't appear on the Python Console, and it doesn't appear on the area that appears when you drag the lower edge of the infobar downwards (what is the name for this area? My script errors show up in red here.)

It's printed to the system console. If it's not opened, go to Window > Toggle System Console.
Note that this option is only available on Windows. On other OS, start Blender from a terminal.
See here: https://docs.blender.org/manual/en/latest/advanced/command_line/introduction.html
You may also use this script:
Is there anyway to make blender print errors in the UI?


Select everything inside the UV 0-1 I have a problem that I can't solve on my own. I want to select (or in my case deselect) everything that's inside the UV 0-1 space. I have a specific workflow that I follow and all my objects are placed in a number of UV quadrants. I want to select everything that's inside the first quadrant without selecting anything else.
The bpy.ops.uv.select lets you only select a single vertex located at the given coordinates, so that's the only workaround that I have at the moment, but this could be slow and, considering the following operations, is not really an option.
The other thing I looked at is the bpy.ops.uv.select_box. Unfortunately, this one works with mouse coordinates instead of 0-1 space coordinates which makes it totally useless.
I'm still looking but kind of running out of ideas.
Thank you in advance!

Have a look into the python templates that come along with Blender. There is an Operator Mesh UV template you can modify to your needs. Based on that, all you would have to figure out is how to set the select state of each UV vertex you're iterating on, by searching in the docs.
import bpy
import bmesh

def main(context):
    obj = context.active_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    uv_layer = bm.loops.layers.uv.verify()

    # adjust uv coordinates
    for face in bm.faces:
        for loop in face.loops:
            loop_uv = loop[uv_layer]
            # Select UV vertex if in certain range
            if 0 <= loop_uv.uv.x <= 1 and 0 <= loop_uv.uv.y <= 1:
                loop_uv.select = True

    bmesh.update_edit_mesh(me)

class UvOperator(bpy.types.Operator):
    """UV Operator description"""
    bl_idname = "uv.simple_operator"
    bl_label = "Simple UV Operator"

    @classmethod
    def poll(cls, context):
        obj = context.active_object
        return obj and obj.type == 'MESH' and obj.mode == 'EDIT'

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

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.uv.simple_operator()

Performance: Using the bmesh method above takes 0.433614 seconds for a vertex count of 175,979 on my machine while iterating through the object data takes 1.514 seconds.

If you want to (de-)select the vertices of the actual mesh as well (keeping both in sync), you can set the selection state per vertex of the loop you are iterating on using BMVert.select_set() call:

Mesh vertices in Edit Mode (left), UV Vertices in the UV Editor (right)
class CUSTOM_OT_uvSelectBmesh(bpy.types.Operator):
    """Select UV and Mesh Vertices if in given range"""
    bl_idname = "uv.select_verts_bmesh"
    bl_label = "Select UV vertices (Bmesh)"

    @classmethod
    def poll(cls, context):
        obj = context.active_object
        return obj and obj.type == 'MESH' and obj.mode == 'EDIT'

    def execute(self, context):
        min, max = (0.0, 1.0)

        obj = context.active_object
        me = obj.data
        bm = bmesh.from_edit_mesh(me)

        uv_layer = bm.loops.layers.uv.verify()
        for face in bm.faces:
            for loop in face.loops:
                loop_uv = loop[uv_layer]
                # Select UV vertex if in certain range
                if min <= loop_uv.uv.x <= max and min <= loop_uv.uv.y <= max:
                    loop_uv.select = True
                    loop.vert.select_set(True)
                else:
                    loop.vert.select_set(False)

        bmesh.update_edit_mesh(me)
        return {'FINISHED'}

Performance: Selecting the UV vertices and the actual mesh vertices using the operator above takes 0.517211 seconds for a vertex count of 175,979 on my machine.


Creating trails using Animation Nodes by delaying the frame of the following polygons I would like to create a trail of polygons that follows an animated object. Initially, I used the following node tree:

To create the edges that should compose the trail, it produces the following result:

This was created in an old version of AN to make use of the frame option of the Input Transforms node. I then used the method described here to create the polygons.

Modern version of AN don't have the frame option, so I was wondering if there is a solution that would work for Animation Nodes 2.0.

EDIT:

I've transferred his answer to the version of AN I'm using. So I've changed up with some nodes (for AN 2.0 in Blender 2.79b):

You can use F-Curves. F-Curves are functions that describe the value of attributes in Blender. So by evaluating the F-Curves of transformation channels at a certain frame, we can get the transformation of the object at that frame.

First, we create a group that computes the transformation of an object as a matrix and returns it. We will assume that only transformation channels are animated and that they are in order for simplicity.

We then create a loop that iterates over a float list that represents the frames we want to evaluate at.

Then we will replicate a line of matrices based on the output matrices of the loop, where the input frames are arithmetic sequence starting from the current frame. We use the indices data from a Grid Mesh to create the polygons between the replicated matrices.

In this node tree, the step size of the sequence controls the length and direction of the trail:

Blend file for AN 2.1:


merge vertices at center bmesh I have a script that makes 2 circles extrude them then bridge loop them and finally solidify.

After solidify is done I noticed that the inner vertices are overlapping instead of merged. (See screenshot.)

I tried Automerge editing but does not work.

I tried bmesh.ops.remove_doubles but I am getting this error:

TypeError: verts: expected (BMVert), not 'list'

The variable that holds all the vertices (multiple variables) looks like this:

[<BMVert(0x0000022F5872FC20), index=96>,
 <BMVert(0x0000022F5872FC58), index=97>,
 <BMVert(0x0000022F5872FC90), index=98>,
 <BMVert(0x0000022F5872FCC8), index=99>,
 <BMVert(0x0000022F5872FD00), index=100>,
 <BMVert(0x0000022F5872FD38), index=101>,]

The vertices that needs to be merged are coming from 2 different variables.

I tried to convert the list to an array but this did not work either.

If I take a look at the API https://docs.blender.org/api/master/bmesh.ops.html?highlight=bmesh%20ops%20bridge_loops#bmesh.ops.remove_doubles
it says:

  bmesh.ops.remove_doubles(bm, verts, dist)

  Remove Doubles.

  Finds groups of vertices closer then dist and merges them together, using the weld verts bmop.

  Parameters:

  bm (bmesh.types.BMesh) – The bmesh to operate on.
  verts (list of (bmesh.types.BMVert)) – input verts
  dist (float) – minimum distance

So I give remove_doubles a list but it errors out on me. How can I solve this?

In the screenshot you see 1 circle (blue) that is how the vertices are now and the square is how I want it:

This is the remove doubles as how I tried it:

bmesh.ops.remove_doubles(bm,
                         verts=[myarray, myarray1],
                         dist=d)

Selecting the edge loops and then merge by distance gives the correct result
So if that is possible that would be great

It's a python type error

Python error is telling you that a type in this line is wrong.  It's getting a list instead of BMVert

Note this piece of code comes from your question and is WRONG

verts=[myarray, myarray1]

since verts is expecting a list of BMVerts (as pointed out in the documentation you linked) without even seeing your code it suggests  myarray, myarray1 are both lists.
Agree with sentiment here to post code

Recommended change

If both myarray, myarray1 are lists of verts sum them

verts = myarray + myarray1

  I did google for few hours and could not find any usefull help Anyway
  your code gives me the same error verts=[myarray, myarray1] TypeError:
  verts: expected (BMVert), not 'list'

  I used your piece of code to combine the variables vertstomerge =
  [verts_start_a, verts_start_b, verts_start_c] Then I did this
  bmesh.ops.remove_doubles(bm, verts=vertstomerge dist=0.001 ) Error
  TypeError: verts: expected (BMVert), not 'list'

No I recommended adding them together.  Could it be that type(verts_start_a) b, c, d is a list?, if it is it will lead to a type error, getting a list, expecting a BMVert.
.

Tip: Search stackoverflow, or google on the cause of errors.  Probably find the solution quicker than writing this question.


Window cut pinching after bevel applied to windows edges I tried to search an answer to my question, but didn't find a solution so far, so looking for Your help.
I'm trying to create a modular sci-fi corridor.
As You see in the first screen shot - this is the topology resulted, when I cut window in the simple shape, and after apply bevel to window edges - there is some pinching arises as seen in other two screen shots.
What can I do to eliminate those pinching?
I want to keep it low poly - I need to transfer this item to Unity.

Blender file: https://drive.google.com/file/d/1KkKK7gSejsb-GbL_0kJa2EZMsFYSdx2N/view?usp=sharing

It looks like this topology is better looking:


Animated Screw Modifier has different results in (render) viewport and rendered version Hello blender community,

I am playing around with the screw modifier for the first time. My aim for this test is to create a very simple loading animation.

Start point is an edge. With the screw modifier I can create different shapes (triangle, square, star, etc.) by increasing the angle over time. This is the whole animation (the pentagon around the star is another object I don't want to talk about, as it's unimportant for the problem [as I think]).

However. In the viewport (no matter whether solid or rendered) it behaves as expected. The shape in the middle of the frame I rendered in the following picture for example were a star originally (actually I wanted to show you a pic of the expected behaviour (in solid view), but thanks to the reputation system I cannot add multiple pics).

So for some reason I don't know the final render result is NOT the expected star, but this:

Are there any ideas out there how this can happen? There are no more objects that might be hidden in viewport and rendered later.

Blender file:

I am thankful for every help and wish you a good day

Jaspa

Alright, I am dumb.

The problem was the different between "Steps" (5) and "Render Steps" (16) in the modifier. That lead to a different result after rendering, ofc.

Still thanks to LukeD for the tip how to upload files.

Greets
Jaspa


Texture greyed out in render I was trying some textures out based on Blenderguru's tutorial and this is what I came up with. Does anybody know why parts of the wood look grey and how to change that?
Thanks!

The greyed parts of texture are the parts with high reflection, so they reflect black background and this cause this effect.

Glossy shader is connected to bottom input, so value 1 in Fac slot make material pure glossy, value 0 is pure diffuse. This values are stored in texture as a colors: 1 = white, 0 = black.

What do you need to do is change white to grey, so from value 1 to smaller one.

One way how to do it is plug ColorRamp node between texture and Fac slot on  Mix Shader Node.
Now you can control values by colors. In this case you need to change white to appropriate gray = change value from 1 to less than one.

Also you can moving slides closer together and adjust contrast.

As second - for nice reflections you need something to reflect. Usually hdri environment map. You have black environment in your scene = black color in reflected from your materials = ugly grayed reflections.


Distorted wood texture The left hand wood cladding panel in the image above is perfect but the right one looks fragmented and distorted. This happens continuously no matter what I tried (scaling, transforming). Any ideas what Im doing wrong? The texture used is the recommended one (blenderguru) from Poliigon.

Try to recalculate normals = shift +n for me, some have ctrl+n, in edit mode. I had edges that became stripes instead of texture and did this.


Rotating my Earth in an animation I would like to animate my earth model by rotating it around an axis to be able to see all sides of it during the animation. I can't seem to figure it out. I would appreciate any help, as this is a project for my 3D animation class. Thanks! You can get the file here.

If you know what keyframes are, this will be fairly simple. If you don't know what keyframes are... that's a bit beyond the scope of this site.

Basically, you'll make a keyframe at the beginning of you animation (usually frame 1). To do this, press i and select "Rot." This will record the rotation of your planet, and make sure that the rotation IS that value, until it gets changed by another keyframe.

Next, scrub a few frames later (30 frames is 1 second, so 30-40 frames will be fine). Then rotate your planet on whatever axis you are wanting, and then press i again, and select "Rot" again. This records the new rotation, and makes sure that the rotation IS that value ON that frame. In between this frame and your first keyframe, Blender will automatically "blend" between the two rotation values, and you'll get rotation.

If you search YouTube for "beginner Blender animation" you will find lots of good results.


None of my dimensions never come out the same size? (Units-Inches) I have certain dimensions and measurements that need to be applied to an object. The height is 79 inches.

Whenever I add a cube and go S-Z-79-ENTER, the sizes are never correct.

As you can see in the screenshots, I have one modeled cube that was entered as 79, then once I added another it's so much smaller.

What am I doing wrong?

You are scaling the cube, not changing its dimensions.

When you scale an object, its dimensions are multiplied by the number. So your dimensions are not 79 inches; they are 79 times their original size.

To set absolute dimensions, change the numbers under Dimensions.


Use denoiser on certain frames of animation Denoiser wastes quite a time on empty renderlayer (about 2 mins for 1080p), but its checkbox can't be keyframed and even LMB's Copy data path is greyed out (so, no scripting I guess).

Animating renderlayer visibility is no option for me, because it messes Multilayer EXR a lot.

Ended up with this code, where denoiser starts working on specific renderlayer only on certain frames.

import bpy

scene = bpy.context.scene

def denoiser_control (scene):
if scene.frame_current in list(range(66, 90)) + [1, 20, 50]:
    bpy.data.scenes["Scene"].render.layers["RenderLayer"].cycles.use_denoising = True
else:
    bpy.data.scenes["Scene"].render.layers["RenderLayer"].cycles.use_denoising = False

bpy.app.handlers.frame_change_pre.append(denoiser_control)

range(66, 90) stands for some frame range and [1, 20, 50] defines single frames.


Blender Python: Detect New Scene? Very simple question from a very new add-on developer. How would one go about detecting when a scene is started fresh or loaded from file?

For example, if you have some add-on preference variable that is related to the scene in some way, you may want to process that variable when the scene is dramatically changed. I believe this would primarily happen when a new scene is started or when one is loaded from file. Anyone know of a simple way to detect when that happens?

Thanks for any information

You can use application handlers which can be executed before or after specific operations. For your case there is a load_post handler, kicking in after the blend file is loaded and even a load_pre handler kicking in before the file is loading. Simple add-on example using bpy.app.handlers.load_post handler:

bl_info = {
    "name": "Load Handler",
    "author": "Your Name Here",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "category": "Development"
}

import bpy
from bpy.app.handlers import persistent

@persistent
def load_post_handler(dummy):
    print("Event: load_post", bpy.data.filepath)

def register():
    bpy.app.handlers.load_post.append(load_post_handler)

def unregister():
    bpy.app.handlers.load_post.remove(load_post_handler)

if __name__ == "__main__":
    register()


How to switch all lights on/off at once in Cycles? In cycles, lights intensity can be modulated by varying their Color values.

Is there a way to do this for multiple lights at once without using individual keyframes (keying a single object is ok). My need is only to have two states (black, white) if this is more simple to obtain.

You could just use instances. (Copying with Alt + D)
Or, after the fact, assign the same Data Block to every light here:

Alternative with Drivers:

Add a driver like this to the Strength of every lamp. That way you can maintain more control over individual lamps.

This uses the zLocation of an Empty and multiplies it with the Strength. You would simply use the same Empty for all Lamps. That way you can control them all at once.

Update for Color

Here's an example to control the color in a similar way.

This is the node setup for the Lamp.

Then add the following drivers accordingly.

This is relatively intuitive to use.


Two Questions: How do I move faster in Blender & My Object Keeps Moving Away So I'm trying to set a camera point in a picture render and I'm doing Ctrl+F so I can move to the right spot I want to and it's too slow.

Another thing is sometimes one of my parts get moved away when I do that. It really ticks me off. Any help?

1st: Speed Increasing / Decreasing with mouse wheel

2nd: Increase Camera Clipping --> N in 3D View --> View --> Clip --> End --> Increase Number here


How can I make a old metal material? I have this model of an airplane transporter and I need a material for it. I already tried bunch of tutorials and even downloaded ready material, but it's all for smaller objects and my plane is supposed to be enormous. How can I achieve the effect of an old material on a really big object (I want that look you have on all big machines in films (like that flying fortress in avengers etc.) and in other people's models)?
here is my plane (about 50m ground to top)

I can't just scale the texture up, because at this size it is clearly visible that the texture is repeating itself all around the model, no matter if the texture is seamless or not. Is there a way to tell blender to slightly modify the texture each time it is repeated?

@Aky-her, you write that you have "tried a bunch of tutorials"; if this one on youtube was not one you tried, it looks to me like the first four steps discussed here would be worth watching, and the fifth step on lighting if this is a display model, as opposed to use in a game. I suspect that if it is for use in a game, the lighting of an aircraft will be dependent upon the Game Engine you are making to model for use in.

But you also write that your model is 50 meters high; that suggests to me based upon the screenshot you provide with the answer that the length is on the order of magnitude of 200 to 300 meters, and that the wingspan is 250 to 300 meters. This would require a really, really large piece of metal to make it all from the same texture!!! Other vehicles on the same order of magnitude are some of the ultra-large cargo ships, like the Malaccamax and Chinamax sizes. But these ships are not made from a single piece of metal; they are fabricated from many much smaller elements, so a repeating texture might not be such a bad thing, in this case. If it were me, I'd suggest finding a number of textures, perhaps 12 or more, and use those at random to texture smaller parts of your object. These not be 12 separate textures; rather you might use a texture that is larger than what you intend to use, and map different elements of your model to different parts of the texture. Thus gives the model an overall visual cohesion, but still reduces the appearance that you are using multiple exact copies of the same texture.

In fact, I would suggest that using a very large texture that would be convincing, would be unconvincing in the long run, because viewers would expect to see some repetition in any very large object.


How to Connect a Convex Face To a Concave Edge That Fits its Shape Perfectly I could not think of a different title that would make sense, so I apologize for any confusion. I'm modeling a fishing rod and am currently working on the reel handle. The face the handle will be extruded from is A, but it's staying as a just a single face this entire question. The long oval shaped piece that connects the handle, A, to the rest of the rod is C. This is the piece that allows the full motion of reeling, having a pivot point on both ends of it. My problem is that I need A to fit into B, which is the concave edge on on the inside of one side of C. When done, I can then fully extrude A out into a handle. Currently, I can't seem to find a solid solution of taking A and its convex circular shape and snapping it inside B and its concave shape. The vertices match up on one side of A and the convex edge of B, and I can fill in the gap left in C after A is inserted no problem, but its that inserting of A inside of B I can't figure out. I know I can Alt + M on the points that connect inside B no problem, but only half the points of A will be connected in properly. with the other half not flush and perfectly shaped and on the same plane, and leaving A not a perfect circular flat plane. I apologize that this is a confusing question, I can't figure out another way to explain it. I'll answer any questions I can to help explain it if needed.

You can get it there using Vertex Snapping

Enable vertex snapping
Set it to Active (this will snap the active vertex)
Select the circle and snap it to place

(You end up with some double vertices that need to be merged.)


How do I fix a defect in the freestyle render if there are no apparent causes? I am once again posting this question, because it was not answered properly. My motion blur is in fact not on and the instruction provided for the solution in a similar question is not specific enough to apply to my case. As I tried to state before, when I checked the freestyle option with a thickness of 0.2, it does not render as it usually does, which was in time with the character animation. It is ahead one frame, but only in some frames. Is there an actual solution to this problem? Or am I supposed refer to an answered questioned from four years ago?

To fix this problem in Blender, I added my claw, which was the cause of this issue, into a separate collection by pressing M in the viewport and selecting New Collection. After this, I renamed the layer where all my objects were then, I created two additional layers. Then, I went to each layer and hid the object that I didn't want in that layer  by right-clicking that collection and going to Layer and clicking disable from View Layer. I went to each layer's properties and checked Use for Rendering under View Layer. I added a new freestyle line set for the two new layers and clicked on the box that said collection, then I marked the collection that I wanted to have the freestyle lines on, which was the object visible in that layer. Afterward, I went to the composite tab, added an additional render layer, and plugged both layers into an Alpha Difference node. I hit render and turned the images into a sprite sheet in another software. Here is evidence that the problem was fixed:

BTW this is in Blender 2.92, so to create a new layer, you must go to the very top of the window, and right next to the Scene selection buttons, there is a set of layer management buttons. All you have to do is press the button that looks like two papers stacked on each other to make a new layer.


Blender remove fireflies (Substance painter node) I have a problem here on my last project with noise. For some reason I have some white dots on this render, do you have any idea how can I fix it?

On my scene, I have bean used portal lights for each window, and HDRi image for the lights and this render is done with 20.000 samples, and still I have noise.

I've been searching a way to remove this so I've tried some advice from 7 Ways to Get Rid of Fireflies Once and For All and nothing works for me.

Afters this I found out that the responsible for these fireflies is my Substance Painter node, removing that node and putting just a simple node like Diffuse on his place and everything will be fine.

Do you have any idea what should I do to solve this problem?
Thanks

Really good question Duarte! This is a common problem that I have faced many times. There is a despekle node built into the Blender compositor, as well as other third party softwares that can help you with this. Try rendering with a higher sample count. 20 is very low. GIMP is a free image editing software that you can use to remove fireflies, as I have many times! Video tutorial on removing fireflies in blender - Remove noise in GIMP I have included an image below on how to get rid of fireflies in GIMP. Hope this helps you some!


same mesh (edit mode) boolean intersection gives an error I recently learned from another user (here https://blender.stackexchange.com/a/83002/919) about the "mesh > intersect (boolean)" command, maybe I forgot about it from some release log, but as I tried to use it (both on 2.78 and 2.78.5) it always gives me an error: "no intersection found".

I tried with a few very simple setups but every tim eit seems to fail for some reason.

See what happens, here on 2.78.5 - aka 2.79 testbuild1 - (only default addons):

Doing this the system console logs:

bpy.ops.object.editmode_toggle()
bpy.ops.mesh.duplicate_move(MESH_OT_duplicate={"mode":1}, TRANSFORM_OT_translate={"value":(0, 0, 1.01412), "constraint_axis":(False, False, True), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False, "use_accurate":False})
bpy.ops.transform.resize(value=(0.574256, 0.574256, 0.574256), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.ops.mesh.select_all(action='TOGGLE')
bpy.ops.mesh.select_all(action='TOGGLE')
bpy.ops.mesh.intersect_boolean()
bpy.data.window_managers["WinMan"].(null) = 'UNION'
bpy.ops.mesh.intersect_boolean(operation='UNION')
No intersections found
bpy.ops.mesh.intersect_boolean(operation='UNION', use_swap=True)
No intersections found
bpy.data.window_managers["WinMan"].(null) = True
bpy.data.window_managers["WinMan"].(null) = 0
bpy.ops.mesh.intersect_boolean(operation='UNION', use_swap=True, threshold=0)
No intersections found
bpy.ops.mesh.intersect_boolean(operation='UNION', use_swap=False, threshold=0)
No intersections found
bpy.data.window_managers["WinMan"].(null) = False
bpy.data.window_managers["WinMan"].(null) = 'INTERSECT'
bpy.ops.mesh.intersect_boolean(operation='INTERSECT', use_swap=False, threshold=0)
bpy.data.window_managers["WinMan"].(null) = 'DIFFERENCE'
bpy.ops.mesh.intersect_boolean(operation='DIFFERENCE', use_swap=False, threshold=0)

Am I doing something wrong? Is the setup wrong?
How can I make it work?

Since no answers were added, I add one of my own to help others that like me, without reding the manual, may be stuck understanding how this kind of boolean works:

as MrZak and Nghillaz pointed out, I was selecting both part of the mesh, hoping that the "intersect (boolean)" edit-mode command would find an intersection in the selected geometry.

Instead, the assumption is that you only select one of the mesh part that are supposed to be part of the intersection, not both.

See how it works, really:

The default behaviour is to do a boolean difference, but on the left side operation panel you can tweak the mode at your like.


My Cloth Sim with Pressure is Acting very Unusually So I've been making this scene with some balloons. They have been absolutely fine until now. The sim plays through absolutely fine (sort of) and then the 2nd time around, even if I bake the sim, it starts going all crazy and i have no idea why. I think it's a bug. I've made the scene exactly the same before, it had self collision and collision with other objects and they were all interacting fine. Then all of a sudden the animation wasn't playing back and kept crashing blender. So I remade this scene and now this is happening.
Here's a link to the blend file
And Here's a link to a video of the problem: https://vimeo.com/549503971/9e965b00bd
Here's a link to another video with exactly the same setup and it's working fine: https://vimeo.com/549505660
Hope someone can help because it's driving me nuts. Remade this project a few times and goes fine for a while then starts going nuts for some reason.
Many thanks!

i got a "good result" by changing this:

change back gravity on "F" to 1 and applied scale for your cloth object

change gravity speed z on world settings to 10

changed pressure to .1

then i tapped delete all bakes, and bake

got this:


SVG file with curve modifier possible with curves? I would like to edit my imported SVG file with a Curve Modifier. However, the bottom line of my g does not match the rounding of the circle and on closer inspection this problem occurs with every letter. Unfortunately the problem cannot be solved by adding more curve points to the file or by increasing the resolution of the curve file. My question now would be whether there is a possibility to easily adapt the SVG file to a circle without having to convert it to a mesh? Attached you'll find the blender file v2.79b - https://we.tl/t-7ijI7Ads1S

I don't think you can achieve this if your logo is a curve, I guess you need to convert it to a mesh, so:

Delete the Curve modifier.
Convert your curve to mesh with an altC > Mesh from Curve.
To clean your mesh, go in Edit mode and press X > Limited Dissolve.
Now as your mesh is supposed to bend you need to give it back a higher topology, you'll use the Remesh modifier (maybe there's a better way though).
Extrude your mesh with E.
Give it the Remesh modifier with Octree Depth > 8 and deactivate Remove Disconnected Pieces.
Apply the modifier. Now you have a high poly. Only keep the top surface.
You can give your object a Curve modifier with the curve as Object. It works.


non-linear scaling of STL-files along the Z-Axis I have an STL that is about 400mm in Z.

I would like it to scale for example 2% for the first 100mm and 1% the rest of the 300mm. This should work for objects that are shorter than 400mm but still scale 2% for the first 100mm.

i am willing to use python to solve this issue.

How do i go about to tackle this issue?
I just started learning python and i have gotten a hang of the basics, i just downloaded blender and i see great potential to solve this issue with the two combined.

best regards,
Oskar Z

You would need to import the file first. If this is only about different sized separate objects, that would not be very difficult. You would just need to loop through all the objects in your scene, check their size and scale them accordingly. Could look something like this:

import bpy
from mathutils import Vector

for o in bpy.context.scene.objects: #bpy.context.view_layer.objects in 2.80
    if o.dimensions[2] >= 1: # change the 1 to anything (dimensions[2] is Z)
        scale = Vector((2,2,2)) # change the scale to anything
        o.scale = [a*b for a,b in zip(o.scale, scale)]
    else:
        scale = Vector((3,3,3)) # change the scale to anything
        o.scale = [a*b for a,b in zip(o.scale, scale)]


HSV to RGB conversion let's take the hsv color 0.4, 0.8, 1.0

everywhere I looked this converted to Hex 33FF85 - even in Blender

when I convert it to RGB(using python colorsys, python Color from math, webservices), it is 0.2, 1, 0.52 - but Blender shows me this:

what I'm doing currently is this:

bpy.data.materials["name"].diffuse_color = colorsys.hsv_to_rgb(0.4, 0.8, 1)

how do I apply the hsv color to my object correctly? If I convert the color to rgb it obviously does not work as it should...

The RGB values in Blender use a linear color model while the Hex values use gamma corrected non-linear color model.

To convert between these two, you would have to manually do the gamma calculations using the transfer function of your color profile, wich is set in the Color Management section of your Scene – set to sRGB by default.

The excact conversion is listed in the sRGB Wikipedia article.

def linear_to_srgb(r, g, b):
    def linear(c):
        a = .055
        if c <= .0031308:
            return 12.92 * c
        else:
            return (1+a) * c**(1/2.4) - a
    return tuple(linear(c) for c in (r, g, b))

def srgb_to_linear(r, g, b):
    def srgb(c):
        a = .055
        if c <= .04045:
            return c / 12.92
        else:
            return ((c+a) / (1+a)) ** 2.4
    return tuple(srgb(c) for c in (r, g, b))

import colorsys
col = colorsys.hsv_to_rgb(.4, .8, 1)
# (0.19999999999999996, 1, 0.5200000000000002)

srgb_to_linear(*col)
# Values to be set in the RGB tab of the color picker:
# (0.03310476657088504, 1.0, 0.23302199930143835)

While the HSV tab of the color picker doesn't give any indication as to whether the values are gamma corrected, this ticket does indicate that the displayed HSV values actually are gamma corrected as well. This would explain why the Hex representation does match the Hex value shown by various color converters.

So, to apply a non-linear HSV color to your object, would have to call

col = srgb_to_linear(*colorsys.hsv_to_rgb(0.4, 0.8, 1))
bpy.data.materials["name"].diffuse_color = col


Looking for Blender source code of version 2.79.7 Where can I find the source code, corresponding to this exact build 2.79.7 blender-2.79 e045fe53f1b0 ? - https://download.blender.org/release/Blender2.79/latest/

The source code of blender is available in a git repository, as documented in the blender wiki, which explains how to build the code for your operating system:

  git.blender.org/blender.git

There is also a mirror of the code repository on github: https://github.com/blender/blender

The version tags may be used to navigate through history and pull the desired version.


Boolean modifier difference between curved objects not working well I tried to make difference between the two concentric cylinders. The boolean operation works well for the straight ones. But after I added the curve modifier to both cylinders, and did the difference again. There were some redundant faces left for the large cylinders.
Why did this happen? Could someone give some hint or advice? Thanks!
My file can be downloaded here:
https://www.dropbox.com/sh/l1vw12idg72vccn/AACewT_XSUhBMdP1CqA8L5zsa?dl=0

enter image description here

select your cylinder.005

go to edit mode

select only the end circle of your cylinder

press CTRL-E -> extrude along normals

make it a bit longer with mouse

same procedure on other side

result: (boolean to exact)


Applying modifiers in a script I've seen a couple of good examples of creating modifiers and applying them to objects, but they don't seem to be working for me. Or at least are only working part way.

My function takes a modifier type (in my test case, 'UNION') and a list of objects. The first object is the target and the rest are going to be the modifications.

When this executes, my target still has the stack of modifiers attached to it. I have to manually push the Apply button in the UI for each one. How can I make that happen in my script?

def applyModifier (self, mod, items):
    target = items[0]
    for i in range(1, len(items)):
        objB = items[i]
        boo = target.modifiers.new('Booh', 'BOOLEAN')
        boo.object = objB
        boo.operation = mod
        bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Booh")
        bpy.context.scene.objects.unlink(objB)
    return target

The subordinate objects do unlink from the scene, so I know that bit of code is executing properly.

Since you're using something from bpy.ops, you need to get the editor state right (this is the failing of most of bpy.ops).

You probably need to set bpy.context.scene.objects.active = target

and in 2.8+

context.view_layer.objects.active = target


Weight paint color influence in Blender I know that with Blender weight paint, BLUE color means no influence. My question is : which color can only move the mesh and not deform it?

When dealing with robotic and mechanical animation, you should assign every vertex of torso to the torso bone  ONLY, the hip vertices to the hip bone ONLY, and so on. As long as a group of vertices are assigned to a bone/vertex group ONLY, they will move exactly with their bone, without distortions and deformations (and the value of the weight is not important, you can set it to 1.0, but any other value is OK). Deformations will occour when there are difference between the weights of different vertices, which tipically occour when using automatic weighting. So use instead parenting with "empty groups" option, then select the hip vertex group, select all hip vertices and click "assign" under the vertex group properties tab. Do the same for all the others vertex groups.


Installing Python 3.6 on any version of Blender I am trying to install Python 3.6 on any of the recent versions of Blender. I cannot use Python 3.5 because I need to use the python package mne. Upgrading to Python 3.7 as in Blender 2.8 results in a failed build and conflicts with packages such as vtk.  Therefore, other major packages such as sklearn fail to build.

Is there a way to install Python 3.6 specifically with Blender?

Thanks in advanced.

It’s to do with setting the PYTHONPATH in blender somewhere.  Two min and I will see if I can find it on my phone...

Edit I can’t find the exact answer on my phone. Search for “change python version blender” and you will get the answer, it’s been asked a few times but not for 2.8 as far as I can see.

Also the answer varies depending on OS.

Here it is... Change Python version used by blender


Cycles Node to tell Distance from an Empty I'm using Cycles to make a procedural texture on an object, wanting to use the distance from an Empty in part of the calculation.  I will use several Empties, in fact.  Which node can provide this distance?

If possible, I'd also like the distance from a line, or other geometric measures involving objects other than the one I'm texturing.

You can use Drivers to do this.

Add a value node, then right click on the number button and select Add Driver

In the Graph editor, switch to drivers in the header:

Select the driver on the left panel, then set it to Sum values or Averaged value to avoid your driver being blocked by the python security features. Then set the variable type to Distance and select the empty and the object to which the material is assigned. Unfortunately there doesn't seem to be a way to reference the object(s) to which the material is assigned without specifying them individually with separate drivers.


Reduce file size and choose ideal file type I have several stl files that are rather big (70 MB and more) and messy(surface scans that have been converted to stls, holes and uneven surfaces) and would like to understand better the process of reducing the filetypes and choosing the ideal file type for the best size/quality ratio because I would like to make them available online/download (Blend4web).

I know about the decimate modifier but don't have a complete understanding of the workflow (so I can tweak and optimize each step) to choose the right filetypes, reduce the polygons, smooth the surfaces (keep the overall shape but remove holes) and export to the ideal format. If there are scripts that automate this I would like to know about them.

If anybody would be aware of a good tutorial or script that does this please let me know.

Thanks for your help.

Decimation will reduce amount of geometry but also can severly affect its quality. Process of retopology would provide decent results but it is for the most part manual, time consuming and can get boring. (On the bright side - at least it is not extremely difficult)

Retopology would give you full control of how the model will end up looking, something automatic solutions wont be able to deliver.


2.80 Addon zip file installation Will 2.80 support zip file installation of addons? What are the requirements for the zip structure and its contents? I have tried multiple directory structures (as noted in this related question), all of which fail to import in 2.80 (my addon is a python package/directory, containing an __init__.py etc).

EDIT: It seems like I should be using the "Install Add-on from file" button in the user preferences to perform the install, not dropping the zip in the blender addons folder. That also gives an error message, see the bottom of this post for that.

Working/runnable: Contents of the actual package, NOT IN ZIP FORMAT (normal py package/dir), verified to run/import in 2.80 (git.351f537fa83):

Broken: Addon as a zip file, structure 1 (__init__ and all files directly inside top level of zip file).

Also broken: structure 2 (named package folder containing __init__ and all files directly inside top level of zip file)

The error message is the same in both cases:

Install via button, also broken: "Install Add-on from file" button in the user preferences, using a zip file in "structure 1" format above.

make sure your add-on is specifically written for 2.8, Blenders API had been drastically changed and most add-ons if not all are behind re written to be compatible. it seems your add-on is using a function that had been replaced or merged. correct me if I'm wrong.


How to properly render emissive and transparent materials (fire) for compositing I am rendering a fire to a multilayer EXR and then composite it using the method described in this answer ontop of my footage.
One comment states that it is difficult to work with my EXR because I only have a beauty pass and my emissions and transparency aren't separated. I also get all sorts of wired effects compositing my exr when I try to pre divide/post multiply. But if I do not do that everything tourns with.

Here it gets blocky
Nothing I was just trying to bring the highlights of the fire a bit down but it messed the image up so I pressed premultiply / post divide and then it messed the rest up. I am wondering how blender outputs the exr is it already premultiplied or is it straight?
Reference files:
https://drive.google.com/drive/folders/1HatjWYAmmXHfEiaTNYChJYBK0PZVvMo7?usp=sharing

As @troy_s stated in this case a normal alpha over should be used. In Resolve, this translates to a merge node with the Alpha Gain turned to 0.


Is it possible to change the local orientation of an object without joining it to a "helper" object? I am creating a building for export to an external game engine. Before exporting, I need to ensure the doors of the building are separate objects and have their local axes aligned to the the plane of their normals. The doors are initially created from the main part of the model (to ensure correct positioning and orientation) and then separated.
The issue, of course, is that these doors have local axes aligned the same as the original model, rather than reflecting their own individual rotation:

Before exporting, I need to correct the local rotation to match the actual orientation, so that i can script it in the game to slide along its local x axis.
I have had to face this issue many times in the past and having given up trying to find the correct way to solve it, have resorted to a kind of bodged workaround to fix it which involves orienting my view to the plane of the door, creating a cube as a helper object aligned to that view, joining the door to the cube and then deleting the faces of the cube, as in the picture below:

The issue with this, of course, is that the object then takes on the name and properties of the cube, rather than keeping its original properties.
Having used this method for years and driving myself insane with the tedium of having to rename every single object after performing this "correction", it occurred to me that there must be an actual "real" way to simply flip the local orientation of an object to match the normal of a specific plane in the object .....
... can anyone tell me what that "real" way is please? (or suggest a different workflow to achieve my goal with less tedium!)
Thank you!

Nowadays, it's:

(Object Mode) Header > Options > Affect Only > 'Origins'.
(Edit Mode) Select a face/3 verts (Z normal) or edge/2 verts (Y along) you want to align to, and create a Custom Transform Orientation from the selection. (That's the little '+' in the Header > Transform Orientations dropdown)
(Object Mode) Header > Object > Transform > 'Align to Transform
Orientation'.

Depending on version, you may have to go into the F9 'Adjust Last Operation' panel on the alignment, to select the right orientation.


Render a layer only once for all 1800 frames? I tried searching, but I honestly don't really know what to search for, because I'm a total noob and this is my first animation.

I made a planet a few days ago (see this Reddit post, which includes the tutorials I used), and right now I'm working on a simple animation that spins the planet 360°.

I made the planet using two UV spheres, one for the surface of the planet including the image texture and some surface cracks, and then another UV sphere for the atmosphere scaled to 1.001 times the size of the planet.

Then, in compositing, I do the glare and blur effects to get a nice atmosphere. Only the planet spins in the animation though, so what I'm wondering is if I can just render the atmosphere ONCE, and then composite each frame of the planet to that one atmosphere render layer frame, instead of re-rendering the same atmosphere for all 1800 frames, which would cut down on my render time by a significant amount.

EDIT1:

I tried the method @cegaton suggested, rendering only the camera, sun, and atmosphere layers as an EXR (I also tried PNG), saving and then importing that into the compositor, replacing the render layer input node with an image node.

Here are the results of that method (again, using an image input node in the compositor)

And what it's supposed to look like (using a render layer input node for the atmosphere):

Obviously I've misunderstood, but I can't figure out where I'm going wrong.

EDIT2:

I think I figured it out. Okay, so I rendered all the layers together the first time, but with compositing checked off. Then in the image result viewer I selected only the atmosphere render result (which rendered properly, with the planet terminator superimposed), and saved only that layer as a PNG. Then I deleted the atmo object, and the materials. Now only the planet is being rendered, which is good, but the compositing seems to be taking a bit longer using the image node than the render layer node.

Still, it took 5 minutes 11 seconds to render 27 frames, and the old method took 8 minutes 17 seconds to render as many frames. So, looks like my nigh 14-hour render will take closer to 9 now. Was hoping for more of a reduction, but that still strikes me as pretty good.

Okay, so I rendered all the layers together for the first frame, but with compositing checked off. Then, in the image result viewer I selected only the atmosphere render result, saved that layer as a PNG, and then imported that PNG into the compositor as an image input node, replacing the atmo render layer input node and its connections.

Then to render the animation, I will uncheck or entirely delete the atmosphere object and render layer from the project, and Blender will now render the planet for each frame and composite that render layer with the single atmosphere image.

I did a quick test of render time for 27 frames (just an arbitrary number of frames I decided to stop on), and for this method, the render time was about 62% that of the old method.

Many thanks to @cegaton for the help, I feel weird answering my own question though.


Why does my object increase and deform when i first select the object, then the armature and afterwards go to Set Parent With Automatic Weights? Recently i've downloaded the Minecraft-Character-Rig from Rymdnisse, but i was a bit unsatisfied with the the backbone of the armature (it had altogether only 2 bones). At the beginning it wasn't possible for me to rotate the pelvis. But i was able to solve it. However, the upper body was affected too heavily, so i had to add another bone. So i selected the bone for the lower body in Edit-mode, pressed W and subdivided it once. Then i adjusted my modification (Clear Parent etc.) so that everything works fine.

But there was one problem. i had to adjust the weights for the three bones that had been affected by this modification, otherwise nothing would have been changed.
Therefore i first selected the object, then the armature and afterwards i selected with ctrl + P Set Parent to / With Automatic Weights, but there was a very strange result. The whole body was increased ~10 times, shifted a bit down and two places were completely deformed.

I also tried to use Set Parent to / With Envelope Weights or With Empty Groups, but the result remained the same. Even after i've deleted all Vertex Groups, Physics, Modifiers and Shape Keys, the result was still the same. So i conclude that there might be a problem with the object, but i'm not sure about it.

How am i able to solve this problem or are there any other options to adjust the Weights properly (but not manually since it's not very accurate)?

Here is the Minecraft-Rig i've used: https://rymdnisse.net/downloads.html (i've used this file: Minecraft_Character_Rig.blend )

This is the object with my modification (3 bones now).

Here is the object after i selected Set Parent to... (Head and armature remain in the same place.

Before parenting, apply the scale (Ctrl+A) to both your rig and your character.


Using loop cuts to smooth out a mesh I was wondering if it is better or not to use loop cuts on a mesh when they are not really necessary to the shape of the mesh while using a subsurf modifier to make the spaces between each vertex approximately even, and to make the model smoother.

Here is an example: on this sword I'm modelling, there is quite a big gap on the blade without loop cuts because I don't need them for the shape of the blade.

Should I use those loop cuts to make the model cleaner or can I leave it as it is?

Thanks for your help!

Don't add polygons for the sake of having more polygons, you are looking for a special shape. So would do better having a really simple shape to start with, bevel the edges that you want to be sharp and then apply a subsurface modifier. Add loopcuts afterwards if you need more details.


No painting strokes showing when Texture painting I have done texture painting before a few times, so I'm not totally unfamiliar with it. This time it's just not working and I can't figure what I could be missing.

I am using a testing file with a simple plane.
1. UV mapped the model already.
2. In the Slots tab of Texture Painting switched to Image in Painting mode. Then created newtexture. It seems the recommended size is 2048.
3. Created its respective Image Texture node and plugged it to the Diffuse node. And left it selected.
4. Opened same texture in an UV/Image Editor window.
5. Go in the Texturepaint mode and stroke on the object.
6. Just in case I saved changes in the UV/Image Editor window.
Yet nothing happens, nothing changes, basically no changes were registered.

Any ideas?

Never mind!
It may have been that having the Fill brush, the cursor won't change into that little circle it shows when you use most other brushes, so it must have confused me. Either way, it's all good now :)


Convert Annotations to Grease Pencil There is obviously an answer to the question of converting GPencil from 2.79 to 2.8 here. Convert old GP to new GP

And this works but only if you open a 2.79 file with Gpencil in it. The Gpencil shows as annotations and you can use the same datablock on a Gpencil object.

However if you create an annotation inside of 2.8 you can't use the same datablock for the Gpencil.

I don't know if this is a bug or intended but it sucks :-)

Does anybody know of this issue and can help me report it to a dev? Or is there a solution?


How to match the camera to the current 3d view without the cropping? I want to set a camera so what the camera sees is exactly what I see in the viewport.

I know that Ctrl+Alt+Numpad0 will move the camera to my 3D Viewport location, but it also severely crops the sides and sometimes does not show all geometry.

3D Viewport:

Camera view after pressing Ctrl+Alt+Numpad0:

Hitting Ctrl+Alt+Numpad0 crops the camera view, zooms out, and clips off the plane in the background.

How do I make it so that hitting Ctrl+Alt+Numpad0 actually sets the camera view to the 3D Viewport view, without distorting it, clipping geometry, or otherwise altering the view?

Just use Ctrl + Alt + Numpad0 and then move the camera back on the Local Z axis (double tap Z for local). You may also want to adjust your clipping on your camera. To do that go to the camera settings in the property panel and move the end distance back until everything is there, i.e. not clipped...


Baking low poly mesh hair I set up hair in Blender and transformed it into a mesh with the 'screw' modifier, then decimated. The result is shown in the top left corner of the picture. Then I sculpted a low poly 'cap' (top right of the image). Then I used bake normals to create the lower left map which indeed shows hair strands.

However the resulting render is total crap, with super dark areas, and areas that appear totally flat, that is regardless of normals flipped or not flipped, and light direction and source.

Is this a completely misguided approach or should it work in theory?

Solution: I had to add thickness to the mesh created by the screw modifier. Still looks like crap, I think this may not be a good solution.


Set active collection by selected object Blender 2.83 I cant find this simple function in blender:

Press button  - set active collection by select object

Like in 3ds max: set active layer by object

With J key in Outliner or in View in Object Mode it switch collection to active by selected object.
It can't be implemented as always on, because you can't change active collection then, it will be always related to active object which in some cases problems.
    # ##### BEGIN GPL LICENSE BLOCK #####
    #
    #  This program is free software; you can redistribute it and/or
    #  modify it under the terms of the GNU General Public License
    #  as published by the Free Software Foundation; either version 2
    #  of the License, or (at your option) any later version.
    #
    #  This program is distributed in the hope that it will be useful,
    #  but WITHOUT ANY WARRANTY; without even the implied warranty of
    #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #  GNU General Public License for more details.
    #
    #  You should have received a copy of the GNU General Public License
    #  along with this program; if not, write to the Free Software Foundation,
    #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    #
    # ##### END GPL LICENSE BLOCK #####

    import bpy
    bl_info = {
        "name": "Switch Active Collection",
        "location": "3D View / Outliner, (Hotkey J)",
        "version": (0, 1, 0),
        "blender": (2, 90, 0),
        "description": "Switching active Collection to active Object selected",
        "author": "APEC",
        "category": "Object",
    }

    #Recursivly transverse layer_collection for a particular name
    def recurLayerCollection(layerColl, collName):
        found = None
        if (layerColl.name == collName):
            return layerColl
        for layer in layerColl.children:
            found = recurLayerCollection(layer, collName)
            if found:
                return found

    class OUTLINER_OT_switch_collection(bpy.types.Operator):
        bl_idname = "outliner.switch_collection"
        bl_label = "Switch Collection"
        bl_options = {'REGISTER', 'UNDO'}

        @classmethod
        def poll(self, context):
            ar = context.screen.areas
            __class__.area = next(
                (a for a in ar if a.type == 'OUTLINER'), None)
            return __class__.area

        def execute(self, context):
            obj = bpy.context.object
            ucol = obj.users_collection

            #Switching active Collection to active Object selected
            for i in ucol:
                layer_collection = bpy.context.view_layer.layer_collection
                layerColl = recurLayerCollection(layer_collection, i.name)
                bpy.context.view_layer.active_layer_collection = layerColl
            return {'FINISHED'}

    addon_keymaps = []

    def register():
        bpy.utils.register_class(OUTLINER_OT_switch_collection)
        wm = bpy.context.window_manager
        kc = wm.keyconfigs.addon.keymaps
        km = kc.get("Object Mode")
        if not km:
            km = kc.new("Object Mode")
        kmi = km.keymap_items.new("outliner.switch_collection", "J", "PRESS")
        addon_keymaps.append((km, kmi))

        km = kc.get("Outliner")
        if not km:
            km = kc.new("Outliner", space_type="OUTLINER")
        kmi = km.keymap_items.new("outliner.switch_collection", "J", "PRESS")
        addon_keymaps.append((km, kmi))

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

        for km, kmi in addon_keymaps:
            km.keymap_items.remove(kmi)
        addon_keymaps.clear()
```


In Blender 2.80, when i try to bake a fluid simulation using flip fluids, it gives me the error 'Cannot find fluid engine library: libblpyfluid.dll' When I bake a fluid simulation in FLIP Fluids(which a built from source using Visual Studio 16 2019),it shows the error

  Cannot find fluid engine library: libblpyfluid.dll.

I really want to use flip fluids and mantaflow seems to be less powerful.

On https://blog.dodslaser.se/Building-and-Installing-the-Blender-FLIP-Fluids-Addon-from-Source/ I did try to change

if system == "Windows":
    libname = "libblpyfluid.dll" to

if system == "Windows":
    libname = "blpyfluid.dll")

Specs:
OS:Windows 10 insider build 18956
Blender version: blender 2.80
CPU: Intel(R) Core(TM) i7-4610M CPU @ 3.00GHz
GPU: using integrated graphics with PHDGD Skylake v2.9 custom driver(i tried it without it and same error)

wanting t build it to see if any limitatios are not in the build one(RLGUY could you update your answer for this?)

According to a note on the the GitHub repository, the Microsoft Visual Studio Compiler is not officially supported:

  WARNING: Compilation using MSVC (Microsoft Visual Studio Compiler) is experimental and not officially supported. Building with MSVC may result in errors and performance issues.

When building the FLIP Fluids addon for Windows, the MinGW compiler should be used to avoid potential errors and to ensure the simulator runs correctly.


Only one sculpt brush showing up Only one sculpting brush shows up on startup.
How do I get all the ones back that come with Blender?
Thanks

I hate loading factory default because of all the settings/theme that I would have to reset.
Downloading and installing a new version did not fix the problem either.
So, I had Blender on another computer with it's startup.blend on dropbox, I just opened that and saved it as the new start up file.
All brushes were there now.
Thanks for the answers.


Fluid not filling container completely I am using 2.70 with Cycles to recreate Ian McGlasham's "Alice Blender Fluid Cycles".

However, for some reason my fluid does not fill the entire text -- for some reason it only fills part of the text:

Previously, this gap was much larger and I made the gap much smaller by increasing the Final Resolution of the domain object from 65 to 200. This was a HUGE improvement, so I assume maybe I need to increase the Final Resolution even more to have the fluid finally touch the walls of the container. However, when I see how finely the fluid mesh is already divided, it's surprising that's not enough resolution/faces to be able to conform fully to the container walls.

Since the fluid mesh looks like it should have enough resolution (small enough faces) to conform to the shape of the container, I am wondering if maybe I need to change the Surface Smooth and/or Surface Subdivisions settings in the Fluid Boundary section, or do they need to be used at all? As you can see in the picture, I have Surface Smooth set to 1.0 and Subdivisions set to 3. I read that increasing these can greatly increase the render time and may also cause Blender to crash if you run out of RAM, and I only have 2GB of RAM.

So, in order to get the fluid to fully conform to the container, do you think I should:
- increase the Final Resolution
- increase the Surface Smooth
- increase the Subdivisions
- or some of each, and if so which ones

Also, do I need to have the Surface Subdivisions set to 3 or can I turn that back down to 2 or lower? It takes so long to bake on my computer that I'd love to understand these settings and not have to learn by days and days of trial and error, so any help would be greatly appreciated!

Thanks!

Also, here is my current blend file.

The issue is (as already pointed out by Vader) your mesh is not manifold, basically meaning that it can't exist in the real world.

You can select non-manifold geometry by pressing CtrlShiftAltM in edit mode:

The reason all those edges are selected is because your mesh as no thickness. This will cause the fluid simulator (and a good many other things) to have problems.

You can partially fix this situation with a Solidify modifier (note that modifiers must be applied for the fluid simulator to take them into account), however there are still a few other problems.

I think you are better off starting over than trying to salvage this mesh, as even with the solidify modifier I don't think it will do what you want (I assume you want to have fluid everywhere except inside the letters).

An easy way to make hollow manifold text is by setting the Fill to None and adding a solidify modifier.


How to use numpad / on a keyboard without a numpad? I've just got into Blender, and I like it a lot. But as I just switched from a stationary computer to a MacBook, I've got some new problems regarding the numpad. I can use 1-9 perfectly, But I have no idea how to emulate buttons like / (used to enter local view). I've searched the web for an answer, but I can't find any.

When Emulate numpad is enabled in User preferences > Input, \ (often the key below the ⟵ Backspace key) will act as numpad /.

Blender 2.8x

Blender 2.7x

Emulate numpad will also make the number row above the main keyboard act like the numbers on the numpad.


How to fix "bone heat weighting failed to find solution for one or more bones" I tried everything! I have tried every solution i could find here and nothing seems to be working. I'm a beginner I only know the basics. Can someone help me with it?

Here is the blend file:

https://drive.google.com/open?id=10Y7lKjOV4p28ZmlqfE-aOFoxmD8g8PuU

If someone can fix it i would be so grateful.

Edit: i tried Remove Doubles, didn't work.

i find the error come from your hairmesh
this may solve the problem


How to recover the 3D view? I pulled one of the lower sections of the blender to the top, and now I am completely unable to do anything.  I tried pulling the top down, but it's not the window I am looking for.

here is a picture of what it looks like.

Click and drag the handle in the upper right hand corner of the timeline down to split the view, then set the new timeline to a 3D view by clicking on the editor selection menu in the left side of the header:

See How to close view windows? and the wiki for more information.


Change material of object by using python I want select a material, which already is define, of en object by using script.

How can I do that?

Example: This works but make everytime a new material. (Material.001, Material.002, ect..)

#******Material******
bpy.ops.object.select_all(action='DESELECT')
object = bpy.data.objects['Cube']

mat = bpy.data.materials.new("Material")
print (mat)
me = object.data
me.materials.append(mat)

I have solved the problem by:

#***Set color***
D = bpy.data
Color_material = D.materials["Material"]
cube = D.objects['Cube']
cube.active_material = Color_material


Wrap curve around sphere I couldn't find this anywhere, which is really strange, but I'm trying to wrap a curve, imported from a .svg made with a vector image program around a sphere to create the Earth.

Basically, this is what it currently looks like:

I'd like to wrap the curve of the outlines for the land around the sphere in the middle of the scene.

I don't mind converting the curve to mesh at some point in the process, but it will be beveled or extruded first.

I tried Lattice (which didn't work because I couldn't get a result that matched the sphere's shape), I tried Curve modifier with a circle curve but that only made the map cylinder-shaped, I tried Simple Deform, Shrinkwrap and Warp but couldn't get these to make what I wanted either.

When using Shift+W here's what happens:

Using the exact technique used by Leon Cheung in this answer: How to animate morphing a rectangular plane into a sphere.

Using two empties and two simple deform modifiers in bend mode.


Blender mirroring not working I'm trying to use the mirror modifier in blender, but when I do, the duplicated half won't change with the normal half. I made a video about it

https://www.youtube.com/watch?v=UtCjKHoL2uw&feature=youtu.be

Please help

You applied the modifier, that's why.

I only have a short time to explain, but I'll try:

Modifiers are non-destructive while they have been added to an object, but not yet applied. Once a modifier is applied, the effect is committed to the mesh permananetly. It's kind of like flattening layers in GIMP or Photoshop. It's a one-way street.

There are times when you want to apply a modifier and times when you don't. If, for example, you had sculpted a symmetrical body using the Mirror Modifier, but then wanted to sculpt spikes on just one arm, obviously you would want to apply the modifier and then do the non-symmetrical parts.


Material won't project on spherical mesh? recreating Earth I'm recreating the earth using NASA's data, now that I have a displaced mesh ready, it won't show materials in render.
I displaced a smoothed subdivided sphere close to IRL measurement of earth, converted to mesh, UV unwrapped it, imported back into blender.
I did it this way because I had a lot of trouble trying to use a generated projection of a bump/disp map in blender with the displace modifier... and the experimental True displacement in Blender 2.79 stops working after applying a large scale to an object.
For example 12756 km (x & z) by 12713.6 km (y).
My material using generated for vector always worked before,
but below you'll see it won't on this mesh

I checked all normals, they're all facing the correct direction.
What could the issue be?

I figured it out...
Was ridiculously simple..
Projection needed to be flat not spherical and use UV instead of generated.
I don't know why the need to switch to flat as it's entirely counter intuitive because every tutorial I've come across says to use spherical for sphere shapes.
I also had an unrelated issue with the UV map in the wrong rotation position.
I fixed that and re-imported and changed project to flat.
Then everything worked! lol weird.


Noob Question - Why does my screen look like this? Hey Blender Community,

I have a noob question. It's very hard to google my specific question because I seem to lack the correct terminologies to things.

Here is the question. When following a tutorial online, I realized that my render viewport looks all greyed out- not sure if this is the right terminology. From the tutorial, I'm noticing that the backdrop is darker than the file I have opened.

Here is an image of what my screen is looking like.

Here is what another file looks like. As you notice, the background is a "darker grey"

Try each of these 4 viewport shadings, and the drop down menu will change according to the mode. From left to right: Wireframe, Solid, Material preview, and Rendered (means the scene will look close to what it will look like when you render them).